浔之漫智控技术(上海)有限公司
主营产品或服务:西门子PLC , 西门子变频器 , 西门子数控系统
西门子CPU416-3代理商

西门子CPU416-3代理商

西门子CPU416-3代理商

我给你一个在用设备的通讯组态参考,西门子s7-200 smart中的modbus rtu通讯

s7 200 smart做为主站,从站为一个环保数采仪,从站地址为1:9600:8:无:1

1、主站读取从站的三个模拟量:400001(float),400083(int),400085(int)

请问主站如何设置指针地址以及寄存器地址,需要做轮询吗,如何做。(多从站需要轮询,这种单从站的如何读跨度较大地址的数值)

1、400001-400085 这一片连续区域读,仪表允不允许读,这个要看说明书;

 即使允许读,数据量大,有效数占比很少,无用数多,会增加通讯负载;

     所以建议分次读,用多条指令,轮循的方法。

     如 400083-400085 都允许读,则用二条主站读指令

2、同一个从站,从站地址为1,基于上面

DY条 MBUS_MSG 主要管脚

Slave    1   从站地址

RW       0   读写请求:0 = 读, 1 = 写

Addr     400001   读写从站的保持寄存器起始地址

Coun t  2   数据个数,这个数据类型是浮点数,点2 个字

DataPtr  &VB0, 则VD0为读来的从站 400001 保持寄存器数据


第二条 MBUS_MSG 主要管脚    

Slave    1   从站地址

Addr     400083   读写从站的保持寄存器起始地址

Coun t  3   数据个数,400083-40085 是3个字

DataPtr  &VB4, 则VW4为读来的从站 400083  保持寄存器数据

                               VW6为读来的从站 400084  保持寄存器数据

                               VW8为读来的从站 400085  保持寄存器数据

3、如果要改成三条,参考上面给出的方法,也是可以的。

4、参考资料

展开全文
拨打电话 微信咨询 发送询价