现用ET200SP的CM PTP模块对多台设备进行modbus通讯,有几个问题想请教:
查看了《Step7中使用ET200MP/SP PTP模块的Modbus RTU通信入门》,在初始化的时候,FB640的引脚MB_DB需要引用modbus_master(FB641)指令背景数据块中的静态参数“MB_DB”,
假设我有两台设备,先和设备A通讯,编程时调用FB641,假设所用背景数据块为DB641,按照手册所写,初始化时FB640的MB_DB引脚填的就是P#DB641.DBX40.0;与A通讯完后,再和设备B通讯,再调用FB641,此时调用的FB641的背景数据块还是填DB641吗?如果不是,那么假设为DB642,而FB640初始化时的引脚只能填一个,它只指向DB640,怎么在和设备A通讯完成后来指向DB642?
如果设备A和设备B都用DB641作为背景数据块,只是改变FB641的DATA_PTR值,(200是这样做的,不过200没DB,所以没涉及到这个问题),用A的完成作为B的触发,那么假设A的DONE或者ERRO付给M200.0,B的DONE或者ERRO付给M200.1,在和A通讯完成后,M200.0=1,此时M200.1会不会也为1?
哪位有轮询的程序可以参考一下,谢谢!