quote:以下是引用一天到晚游泳的猪在2011-08-02 14:35:38的发言:
说说我的modbus调试经历
第一次是用cp441-2(在400h上,配两块,带硬件dongle)做冗余的slave与一个rtu(两个串口)通讯,西门子的modbus slave做从站还是比较简单的,配下就行不用编程。不过现在想想这种方案太奢侈了,应该在400h挂的et200上面配两块cp341
第二次是用cp341(不带硬件狗)以modbus ascii协议与仪表通讯,配成了ascii驱动自己写LRC校验啥的
第三次,用cp341实现modbus rtu的主站通讯,一块cp341带了硬件狗,另外一块没带(因为从站的通讯要求有点怪,配成ascii驱动比较符合要求,然后自己写crc校验等等),通讯对象是空压机,能发控制命令
感觉调试modbus最好要掌握modbus的通讯原理,尤其是能看懂报文内容,这样就可以用串口调试软件分析故障原因
另外,西门子plc实现modbus通讯并不是仅仅用cp340、341或者cp441-2,还可以用其他方法:
1、et200s带的串行模块,master/slave可以灵活配置
2、用dp/modbus网关,要求plc有dp接口,不过这种网关一般会有点限制,比如报文的数量、长度等等