AWTK 串口屏内置MODBUS Client 模型,支持用 MODBUS 协议从远程设备获取数据。不用编写代码即可实现对远程设备数据的显示和修改。
在 AWTK 串口屏中,内置了 MODBUS Client 的模型,支持用 MODBUS 协议从远程设备获取数据。不用编写一行代码即可实现对远程设备数据的显示和修改。
1. 功能
不用编写代码,实现对远程 MODBUS 设备数据的访问。
2. 创建项目
从模板创建项目,将 hmi/template_app 拷贝 hmi/modbus_client_input_registers 即可。
第一个项目最好不要放到其它目录,因为放到其它目录需要修改配置文件中的路径,等熟悉之后再考虑放到其它目录。路径中也不要中文和空格,避免不必要的麻烦。
3. 制作界面
用 AWStudio 打开上面 modbus_client_input_registers 目录下的 project.json 文件。里面有一个空的窗口,做出类似下面的界面。
4. 添加绑定规则
4.1 URL
绑定属性 | 绑定规则 | 说明 |
v-data:value | {url} | url 表示远程设备的 URL |
4.2 连接状态
绑定属性 | 绑定规则 | 说明 |
v-data:value | {connected?‘connected’:‘noconnection’} | connected表示当前是否连接 |
4.3 湿度
绑定属性 | 绑定规则 | 说明 |
v-data:value | {湿度} | 湿度在配置文件中定义,参考后面的配置 |
4.4温度
绑定属性 | 绑定规则 | 说明 |
v-data:value | {温度} | 温度在配置文件中定义,参考后面的配置 |
4.5 窗口模型
- 指定窗口的模型为
绑定属性 | 绑定规则 | 说明 |
v-model | modbus_client(name=modbus_demo) | 配置文件名对应于 modbus_demo.json |
modbus_client 是内置的模型,name 是配置文件的名称,不需要加后缀。
5. 配置文件
配置文件路径 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]
6. 描述需要持久化的数据
无
7. 编译运行
运行 bin 目录下的 demo 程序:
点击Update按钮,可以手工刷新数据
8. 注意
- 本项目并没有编写界面相关的代码,AWStudio 在 src/pages 目录下生成了一些代码框架,这些代码并没有用到,可以删除也可以不用管它,但是不能加入编译。
- 完整示例请参考:demo_modbus_client_input_registers。
使用TCP协议时,如果使用modbus slave工具配套测试,需要将unit id设置为255。
-
MODBUS
+关注
关注
28文章
1801浏览量
76958 -
开源
+关注
关注
3文章
3323浏览量
42473 -
串口屏
+关注
关注
8文章
532浏览量
37423
发布评论请先 登录
相关推荐
评论