臺達PLC串行通訊應(yīng)用原理,臺達DVP系列PLC各型主機均內(nèi)建2個通訊口的標(biāo)準(zhǔn)配置,即一個RS232和一個RS485通訊口,其RS232口主要用于上下載程序或作為與上位機、觸摸屏通訊,而RS485口主要用于組建485網(wǎng)絡(luò),實現(xiàn)通訊控制。
正確編制通訊程序。PLC通訊程序的編制在實現(xiàn)串行通訊中也是非常關(guān)鍵的一步,一個合理的通訊程序能夠提高通訊效率,而不完善的通訊程序則會導(dǎo)致通訊效率下降,甚至通訊失敗,使PLC出現(xiàn)運行錯誤。由于RS485通訊采用半雙工的工作模式,因此通訊程序的編寫主要是對通訊指令的分時處理程序,在此用以下兩個通訊程序來描述如何合理編制PLC通訊程序,程序主要是PLC通過485通訊方式讀寫三臺變頻器的頻率,均實際測試運行過。
臺達PLC通訊程序要點:
(1)“固定時序通訊程序”是臺達PLC通訊技術(shù)工程處理通訊常用方法,利用固定計時的方法來實現(xiàn)分時通訊,這樣的寫法比較容易造成通訊時序上的問題。Modbus 通訊規(guī)格是采用主/從模式,也就是主站發(fā)通訊命令給從站,從站收到之后再回應(yīng)主站,這一收一回才算完成一個完整的通訊資料交換,該程序有使用到M1127來判斷,但是決定下一個通訊指令是否運行的接點開關(guān)卻不是由通訊旗標(biāo)來決定,而是由100ms 的 timer來決定,這樣很容易有問題生成,因為通訊的整個時間包含通訊資料在線上傳輸?shù)臅r間加上通訊資料在主/從站處理的時間,若這時間超過100ms,那就很容易造成從站回傳,而主站送資料出去,造成資料在線上碰撞,因而影響傳輸?shù)恼_性,如果把timer時間延長,還是會碰到有問題,因為這種寫法,通訊旗標(biāo)的動作與決定傳送的旗標(biāo)本身并未同步,因而會有時間差,造成資料不正確。該程序在EH機型上測試,發(fā)現(xiàn)通訊速度比較慢,且讀回來的數(shù)據(jù)有時會發(fā)生交叉的現(xiàn)象,即從站2的頻率讀到從站4的寄存器上,錯誤讀寫的情況可見圖一。使用這種編程方法在通訊正常時沒有問題,一旦當(dāng)通訊數(shù)據(jù)錯亂時,就會造成數(shù)據(jù)傳送錯誤,嚴重時甚至導(dǎo)致PLC死機。
(2)“通訊旗標(biāo)方式程序”是調(diào)整后的程序,可以比較一下,其主要區(qū)別在于Modbus Read/Write 指令在程序使用上搭配M1127, M1129, M1140, M1141 來判斷,由這幾個旗標(biāo)的狀態(tài)來決定下一個通訊指令的運行時間,能夠很好的處理串行通訊的時序問題,保證通訊的可靠及效率,正常通訊監(jiān)控畫面如圖二。在用固定時序通訊中,即使通訊正常完成,那末也要等到100MS以后做下一個通訊,比如寫指令通訊完成耗時20MS,則需要等待80MS,降低了通訊效率,而采用通訊旗標(biāo)會在通訊完成或出現(xiàn)錯誤的情況下轉(zhuǎn)入執(zhí)行下一個通訊指令,有效利用了時間。