臺達(dá)dvp系列plc各型主機均內(nèi)建2個通訊口的標(biāo)準(zhǔn)配置,即一個rs232和一個rs485通訊口,其rs232口主要用于上下載程序或作為與上位機、觸摸屏通訊,而rs485口主要用于組建485網(wǎng)絡(luò),實現(xiàn)通訊控制。尤其值得一提的是eh機型可通過通訊功能卡擴充一個rs232或rs485通訊口,使得在組建多重通訊網(wǎng)絡(luò)更加方便。
相對于通訊口的硬件配置,臺達(dá)plc在軟件指令上對通訊的支持也是相當(dāng)豐富和便利,主要通過以下三種方式完成485通訊功能:
1.自由通訊方式
該方式通過串行數(shù)據(jù)傳輸指令rs來完成主站與從站之間的數(shù)據(jù)交換,可以實現(xiàn)無協(xié)議的自由通訊。許多接口設(shè)備如變頻器、儀表等…若配備rs-485串行通訊,且該設(shè)備之通訊格式也有公開即可由plc使用者以rs指令設(shè)計程序來傳輸plc與接口設(shè)備之間數(shù)據(jù)。
2.modbus通訊方式(gb/z 19582)
modbus協(xié)議是目前國際上公開的標(biāo)準(zhǔn)串行通迅協(xié)議,也是中華人民共和國國家標(biāo)準(zhǔn)化指導(dǎo)性技術(shù)文件gb/z 19582:基于modbus協(xié)議的工業(yè)自動化網(wǎng)絡(luò)規(guī)范。臺達(dá)plc通訊符合modbus協(xié)議,并且臺達(dá)其它產(chǎn)品如變頻器、溫控儀、司服控制器等485通訊均符合modbus協(xié)議,對于符合modbus之通訊格式的產(chǎn)品,臺達(dá)plc提供了更加便利的通訊指令modrd 、modwr、modrw來實現(xiàn)數(shù)據(jù)的讀寫,程序編寫中不需關(guān)注傳送的字符,校驗碼的轉(zhuǎn)換等等,只需要確定通訊地址及寫入讀出的數(shù)據(jù)即可,不過在多指令讀寫時需要考慮通訊時序問題,避免通訊沖突。
3.臺達(dá)plc最有特色的通訊命令easy link
基于modbus通訊協(xié)議,臺達(dá)ep/eh系列plc機型提供了更為方便快捷的通訊方式——easylink。easy link通訊是臺達(dá)plc最有特色的通訊命令,可以提供主站與32個從站通訊,每個從站讀寫各100項數(shù)據(jù)的能力,且不需要復(fù)雜編程即可高速快捷的完成通訊控制,節(jié)省大量的編程時間。
綜合比較上述三種通訊方式,自由通訊方式的編程最為復(fù)雜,但它可以與非modbus協(xié)議的設(shè)備通訊,設(shè)備選擇自由靈活不受限制;modbus通訊方式的編程則簡單的多,且也具有一定的編程靈活性,如可優(yōu)先與某個從站通訊;而easy link通訊方式是針對符合modbus協(xié)議互連設(shè)備最簡單的通訊方式,幾乎不需要編程即可完成,不需要考慮半雙工通訊方式中通訊時序問題,只需要指定讀出寫入數(shù)據(jù)的寄存器和數(shù)據(jù)項數(shù),啟動link連接即可完成設(shè)備之間的數(shù)據(jù)通訊。因此對于符合modbus協(xié)議的設(shè)備建議采用link通訊方式。
4.串行通訊工程要點問題
在工業(yè)自動化控制中,有許多數(shù)據(jù)信號需要采集、處理,特別對于遠(yuǎn)距離的設(shè)備,一般的傳感器電壓訊號如果傳輸距離過遠(yuǎn)的話,會造成訊號的衰減,如此一來,將得不到正確的結(jié)果,因此,采用傳感器訊號就地處理,而數(shù)據(jù)傳輸通過數(shù)字通訊方式能夠有效的解決這一問題,保證數(shù)據(jù)的正確性與準(zhǔn)確性;但通訊同樣也會受到外界的干擾,使得通訊質(zhì)量下降,甚至根本無法建立通訊。要保證通訊正常,在組建通訊網(wǎng)絡(luò)時應(yīng)該注意以下幾點:
(1)保證通訊協(xié)議一致,所有聯(lián)機之從站接口設(shè)備波特率及通訊格式需與主站相同,合理分配各從站的站地址,避免地址沖突。
(2)合理布線,減少外界干擾對通訊的影響。走線走得好,可以很大程度減少干擾的影響,提高通訊的可靠性,走線應(yīng)遵循兩個原則:遠(yuǎn)離電源線,變頻器等干擾源;當(dāng)網(wǎng)線不能與電源線等干擾源避開時應(yīng)與電源線垂直,不能平行,并采用質(zhì)量高的雙絞線走線
(3)通訊速率的選擇,一般來說提高通訊波特率能夠提高通訊效率,但并非一味的提高就肯定好,傳輸速率的提高同時加大了傳輸錯碼率,使傳輸質(zhì)量下降,特別是在工業(yè)控制場合外界干擾比較大的情況下,有時適當(dāng)降低傳輸速率會得到更好的傳輸效率。
?。?)正確編制通訊程序。plc通訊程序的編制在實現(xiàn)串行通訊中也是非常關(guān)鍵的一步,一個合理的通訊程序能夠提高通訊效率,而不完善的通訊程序則會導(dǎo)致通訊效率下降,甚至通訊失敗,使plc出現(xiàn)運行錯誤。由于rs485通訊采用半雙工的工作模式,因此通訊程序的編寫主要是對通訊指令的分時處理程序,在此用以下兩個通訊程序來描述如何合理編制plc通訊程序,程序主要是plc通過485通訊方式讀寫三臺變頻器的頻率,均實際測試運行過:
5.臺達(dá)plc通訊程序要點
(1)“固定時序通訊程序”是臺達(dá)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ù)傳送錯誤,嚴(yán)重時甚至導(dǎo)致plc死機,
?。?)“通訊旗標(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í)行下一個通訊指令,有效利用了時間。