最近一直在研究通訊,突然感覺懂了一點,寫寫自己對于modbus 通訊的體會:
1. 經常聽說的485,232,422,是指的是物理端口,modbus是通訊協議,也就是通訊的規則,就好象社會上有很多潛規則,服從這些規則才能混下去。
2. modbus通訊分為主站和很多編了號的從站,例如主站對從站說,3號從站你家的第三個房間里住著誰?話音剛落,1號,2號,4號從站心里想:反正沒有喊我,不關我的事,就通通裝 死,3號從站聽到后,回答說,我家的第三個房間里住著一條狗,這樣一個通訊過程就完成了,跟主站讀取從站某個寄存器的內容很類似。如果是廣播命令,就是每個從站都要聽著,不需要作出回答。
3. 通訊主要是通過 報文發送出去執行的。 地址+功能碼。。。。。。西門子plc中有通訊庫,三菱臺達plc有通訊的方便指令,我通過串口調試工具測試,最終還是發出來標準的 報文,只是方便大家使用的。通訊的具體地址要看每種設備原件的廠家是怎樣定義的,會應用就可以了。
4. crc校驗就是為了防止在通訊過程中會出現數據的丟失或者出錯。就好象在生活中,甲對乙說:我還你5個硬幣你數一數,乙收到錢后數了一下硬幣,只有四個,乙就說你給的不對。
如果有能力用plc自己寫個自由口通訊的塊,或者單片機開發個通訊那就是大神了。