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