AWTK 串口屏内置 MODBUS 从站模型,不用编写一行代码即可让串口屏提供 MODBUS 服务,让远程设备通过 MODBUS 协议访问串口屏上的数据。
让串口屏提供 Modbus 服务:
从模板创建项目,将 hmi/template_app 拷贝 hmi/modbus_server_registers 即可。
第一个项目最好不要放到其它目录,因为放到其它目录需要修改配置文件中的路径,等熟悉之后再考虑放到其它目录。路径中也不要中文和空格,避免不必要的麻烦。
用 AWStudio 打开上面 modbus_server_registers 目录下的 project.json 文件。里面有一个空的窗口,做出类似下面的界面。
绑定属性 | 绑定规则 | 说明 |
v-data:value | {url} | url 表示远程设备的 URL |
绑定属性 | 绑定规则 | 说明 |
v-data:value | {unit_id} | 设备 ID |
绑定属性 | 绑定规则 | 说明 |
v-data:value | {当前湿度} | 当前湿度 在配置文件中定义,参考后面的配置 |
绑定属性 | 绑定规则 | 说明 |
v-data:value | {当前温度} | 当前温度 在配置文件中定义,参考后面的配置 |
绑定属性 | 绑定规则 | 说明 |
v-data:value | {预设湿度} | 预设湿度 在配置文件中定义,参考后面的配置 |
绑定属性 | 绑定规则 | 说明 |
v-data:value | {预设温度} | 预设温度 在配置文件中定义,参考后面的配置 |
指定窗口的模型为:
绑定属性 | 绑定规则 | 说明 |
v-model | modbus_server | 配置文件名为 modbus.json |
配置文件路径 design/default/data/modbus.json
{ "url": "tcp://localhost:502", "channels": [ { "name": "bits", "writable": true, "start": 0, "length": 100 }, { "name": "input_bits", "start": 0, "length": 200 }, { "name": "registers", "writable": true, "start": 0, "length": 300 }, { "name": "input_registers", "start": 0, "length": 400 } ], "variables": { "当前温度": "input_registers.word[0]", "当前湿度": "input_registers.word[1]", "预设温度": "registers.word[0]", "预设湿度": "registers.word[1]" }}
无
运行 bin 目录下的 demo 程序:
全部0条评论
快来发表一下你的评论吧 !