大神们,小弟求教啊
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
专家置评
已阅,最佳答案正确。