当前位置: 主页 > PLC控制

CP341 de 通讯问题

大神们,小弟求教啊

ASs='html_titleimg_p' STyle='text-align:center;'>ac5f56ddbe6ffa7d1eafb148f2dd5999

CP341做主站,需要和现场52块温控表用MODBUSRTU通讯

请问我能不能在OB1中同时多次调用FB7和FB8,
就是同时往52块温控表发送指令,同时接受数据,
这样就不需要轮询了一块一块表的读数据了,
这样也就节省了时间

第二个问题
请问【读取】温控表数据的命令帧格式我指导
1从站地址
2功能码
3温控表变量起始地址
4寄存器数量

这个寄存器数量指的是什么?

第三个问题

请问【写】入的命令帧格式一般是什么?

小弟想是不是这样
1从站地址
2功能码
3写入的起始地址
4写入的数据

第四个问题
做通讯的时候读取命令帧需要接受数据
那么写入命令帧以后还需要调用FB7再次存放数据吗

最佳答案

1、可以使用间接寻址的的方式来编写程序,这需要你对通讯协议有有一定的基础才可以。可以多次调用FB7和FB8。也可以使用轮询方式。
CP341ModbusRTU多站点轮询
htTP://www.ad.siemens.com.cn/download/docMessage.aspx?ID=3472&loginID=&srno=&sendtime=
2、寄存器数量是指你要读取的变量的个数。
3、你写的是对的,不过最后还有一个CRC校验。
4、根据你的需要,如果需要判断数据是否被真正写入了,可以使用FB7。

提问者对于答案的评价:
xiexie

专家置评

已阅,最佳答案正确。

  • 关注微信

猜你喜欢

微信公众号