恭喜,你发布的帖子
发布于 2025-12-07 15:53:19
10楼
西门子这个冗余通讯程序有点小贵
。简单的做法就是当成两个通讯,发送和接收数据都是指向同一个区域。
理解了西门子实现冗余的方法,自己写冗余。博图中因为西门子提供了ModbusTCP的通讯程序,自己写相对简单,无非就是管理几个现成的modbustcp的通讯块。金典STEP7中因为连通讯块都没提供,还需要自己写TCP通讯数据解析的块,难度大一点。
西门子冗余实现方法:1. 建立多个连接;比如2对1,每个网卡和对方建立一个connection。2. 检查连接状态,通过连接正常的发送/接收数据,如果不成功,通过另外一个连接发送/接收数据 ,发送和接收数据都是指向同一个区域。3 . 对错误的连接进行处理,通常需要reset连接(重新尝试建立连接并清除接收缓冲区的数据)。
当然,最好还要加入轮询,实现多任务。
请填写推广理由:
分享
只看
楼主