AWTK 串口屏内置MODBUS Client 模型,支持用 MODBUS 协议从远程设备获取数据。不用编写代码即可实现对远程设备数据的显示和修改。
在 AWTK 串口屏中,内置了 MODBUS Client 的模型,支持用 MODBUS 协议从远程设备获取数据。不用编写一行代码即可实现对远程设备数据的显示和修改。
不用编写代码,实现对远程 MODBUS 设备数据的访问。
从模板创建项目,将 hmi/template_app 拷贝 hmi/modbus_client_input_registers 即可。
第一个项目最好不要放到其它目录,因为放到其它目录需要修改配置文件中的路径,等熟悉之后再考虑放到其它目录。路径中也不要中文和空格,避免不必要的麻烦。
用 AWStudio 打开上面 modbus_client_input_registers 目录下的 project.json 文件。里面有一个空的窗口,做出类似下面的界面。
绑定属性 | 绑定规则 | 说明 |
v-data:value | {url} | url 表示远程设备的 URL |
绑定属性 | 绑定规则 | 说明 |
v-data:value | {connected ? ‘connected’ : ‘no connection’} | connected 表示当前是否连接 |
绑定属性 | 绑定规则 | 说明 |
v-data:value | {湿度} | 湿度 在配置文件中定义,参考后面的配置 |
绑定属性 | 绑定规则 | 说明 |
v-data:value | {温度} | 温度 在配置文件中定义,参考后面的配置 |
绑定属性 | 绑定规则 | 说明 |
v-model | modbus_client(name=modbus_demo) | 配置文件名对应于 modbus_demo.json |
modbus_client 是内置的模型,name 是配置文件的名称,不需要加后缀。
配置文件路径 design/default/data/modbus_demo.json
{ "url":"tcp://localhost:502", "channels" : [ { "update_interval" : 3000, "name" : "read_input_registers", "access_type" : 4, "read" : { "offset" : 0, "length" : 4 } } ], "variables": { "温度": "read_input_registers.word[0]", "湿度": "read_input_registers.word[1]" }}
• url: 远程设备的 URL
• update_interval: 更新间隔,单位毫秒
• channels: 通道列表
• name: 通道名称
• access_type: 访问类型
• read: 读取配置
• offset: 偏移
• length: 长度
• variables: 变量列表
• 温度: 映射到 modbus 通道的 word[0]
• 湿度: 映射到 modbus 通道的 word[1]
无
运行 bin 目录下的 demo 程序:
点击 Update 按钮,可以手工刷新数据
使用TCP协议时,如果使用modbus slave工具配套测试,需要将unit id设置为255。
全部0条评论
快来发表一下你的评论吧 !