最近一直在研究通讯,突然感觉懂了一点,写写自己对于modbus 通讯的体会:
1. 经常听说的485,232,422,是指的是物理端口,modbus是通讯协议,也就是通讯的规则,就好象社会上有很多潜规则,服从这些规则才能混下去。
2. modbus通讯分为主站和很多编了号的从站,例如主站对从站说,3号从站你家的第三个房间里住着谁?话音刚落,1号,2号,4号从站心里想:反正没有喊我,不关我的事,就通通装 死,3号从站听到后,回答说,我家的第三个房间里住着一条狗,这样一个通讯过程就完成了,跟主站读取从站某个寄存器的内容很类似。如果是广播命令,就是每个从站都要听着,不需要作出回答。
3. 通讯主要是通过 报文发送出去执行的。 地址+功能码。。。。。。西门子plc中有通讯库,三菱台达plc有通讯的方便指令,我通过串口调试工具测试,最终还是发出来标准的 报文,只是方便大家使用的。通讯的具体地址要看每种设备原件的厂家是怎样定义的,会应用就可以了。
4. crc校验就是为了防止在通讯过程中会出现数据的丢失或者出错。就好象在生活中,甲对乙说:我还你5个硬币你数一数,乙收到钱后数了一下硬币,只有四个,乙就说你给的不对。
如果有能力用plc自己写个自由口通讯的块,或者单片机开发个通讯那就是大神了。