我刚好有个项目是300的软冗余做modbus通讯。
我的情况是,315-2pn/dp,挂一个352-5做冗余。远程et200m 。在远程挂CP341.
目前测试,在主站ob1中做了modbus master通讯程序。从站中没有程序。具体情况是,FB8发送,用db20.dbx0.0 发送,db20.dbx0.1发送成功。在冗余区。发送命令的地址之内的不在冗余区。
发现结果是,手动置1 给db20.dbx0.0 发送成功(用串口调试助手接收到命令正确,切远端有反馈)。但是,done却不置位。done是一个周期有效。我用他做了db20.dbx0.0的复位。。。结果就没法复位了。。
由于一共需要发送12组轮询指令,而且还有4组数据输入指令。所以必须要用发送完成、接收完成来做轮询。。
我后来拆掉备机和主备之间的冗余线,只用主机,清空内存,将上述程序完整拷贝到干净的主机里面。轮询正常。。。
请问有啥经验处理没有???