博途组态好后,创建存储用数据,用字(word)类型数组来存,有时我们不只读一个字,可能要读很多个字,这里创建0到10,即11个字为例。
设置模块通信方式为“半双工”,如下图所示。它默认是0。
程序编写,在通信相关的指令中找到“MODBUS(RTU)”文件夹,有两组指令,下方没有(RTU)的是较老版本的指令,使用时有一些限制。
拖入加载通信参数指令,会自动创建用的DB块。
拖入作为主站的指令,自动创建的存储DB块。
指令说明。这里加载通信数用程序开始就接通一个扫描周期的M1.0来触发,此特殊触点需在属性栏中勾选才生效。“269”是串口模块的硬件标识符。注意的是:MB_DB引脚是选主站通信指令自动创建的DB块中有MB_DB字样的数据。也就是说要有主站通信指令这个引脚数据才能选。
主站通信指令引脚说明,“40791”的由来:是0316H(电能表频率地址,在手册可查)转成十进制后为790,再加上40001后的值。串口通信保持型寄存器是从40001开始的,这是让地址一一对应。如果还要写入数据,则复制一个主站指令,MODE改成1,指定写入数据和数值。两条指令要交替执行,即轮询。
辅助程序,用来看程序运行时的数值。
加载通信模块指令各引脚解释:
作为主站通信指令引脚解释
程序监控:
程序监控:
程序监控:
数据转换,用电脑自带的计算器把收到的16进制数转成10进制数。
本人在东莞从事教育培训行业,欢迎广大工控爱好的朋友一起学习,共同进步。如有想进一步了解和交流,加小编微信进工控学习群。同时欢迎关注转发,让更多朋友一起学习智能制造。