臺達(dá)PLC串行通訊應(yīng)用原理
本文根據(jù)串行通訊的基本原理,以臺達(dá)PLC與松下變頻器通訊為案例,詳細(xì)討論臺達(dá)PLC的串行通迅功能及在項目中實際應(yīng)用。主要介紹如何使用臺達(dá)PLC完善的通訊功能完成各種實際應(yīng)用,體現(xiàn)了臺達(dá)PLC強大的通訊技術(shù)特性。
關(guān)鍵詞:串行通訊 PLC RS485 MODBUS協(xié)議 變頻器、自由口通訊 EASY LINK
1 引言
隨著計算器技術(shù)的發(fā)展,通訊傳輸在工業(yè)自動化控制領(lǐng)域得到越來越廣泛的應(yīng)用。由于串行通訊方式具有使用線路少、成本低、簡單易用,特別是在遠(yuǎn)程傳輸時,避免了多條線路特性的不一致而被廣泛采用?,F(xiàn)在各PLC生產(chǎn)廠家都極其重視通訊在PLC推廣中的應(yīng)用,并且各具有優(yōu)勢特點,合理利用PLC串行通訊功能將極大的降低自動化項目成本,提高產(chǎn)品競爭力。
2 串行通訊簡介
計算機通訊即是不同的設(shè)備通過線路互相交換編碼數(shù)據(jù),其主要目的在于將數(shù)據(jù)從某端傳送到另一端,實現(xiàn)信息的交換。通訊通常有并行和串行兩種方式,由于并行傳輸方式在數(shù)據(jù)電壓傳送的過程中容易衰減互擾,并且線路工程費用較高,而串行通訊方式則能很好的解決這些問題,因此在工業(yè)應(yīng)用中絕大多數(shù)使用串行通訊。
串行通訊的基本接口方式分為RS-232和RS-485兩種標(biāo)準(zhǔn)。
2.1 RS-232接口
(1) RS-232-C接口連接器一般使用型號為DB-9的9芯插頭座,只需三條接口線,即“發(fā)送數(shù)據(jù)”、“接收數(shù)據(jù)”和“信號地”即可傳輸數(shù)據(jù),其9支腳位的定義如下表1所示。
表1 RS-232-C接口連接器定義
(2) 在RS232的規(guī)范中,電壓域值在+3V---+15V(一般使用+6V)之間稱為“0”或“ON”;電壓在-3V----15V(一般使用-6V)之間稱為“1”或“OFF”;計算機上的RS-232“高電位”約9V,而“低電位”則約-9V。
(3) RS-232為全雙工工作模式,其訊號準(zhǔn)位是參考地線而得,分別作為數(shù)據(jù)的傳送和接收;實際應(yīng)用中其傳輸距離可以達(dá)到15米。只具有單站功能,即一對一通訊。
2.2 RS485接口
(1)采用正負(fù)兩根信號線作為傳輸線路。
(2)RS-485的電氣特性:邏輯“1”以兩線間的電壓差為+(2—6) V表示;邏輯“0”以兩線間的電壓差為-(2—6)V表示。
(3)RS485為半雙工工作模式,其訊號是正負(fù)兩條線路訊號準(zhǔn)位相減而得,是差動式輸入方式,抗共模干能力增強,即抗噪聲干擾性好;實際應(yīng)用中其傳輸距離可達(dá)1200米。具有多站能力,即一對多的主從通訊。
3 臺達(dá)PLC的串行通訊功能
臺達(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通訊功能:
3.1 自由通訊方式
該方式通過串行數(shù)據(jù)傳輸指令RS來完成主站與從站之間的數(shù)據(jù)交換,可以實現(xiàn)無協(xié)議的自由通訊。許多接口設(shè)備如變頻器、儀表等…若配備RS-485串行通訊,且該設(shè)備之通訊格式也有公開即可由PLC使用者以RS指令設(shè)計程序來傳輸PLC與接口設(shè)備之間數(shù)據(jù)。
3.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.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通訊方式。
3.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)降低傳輸速率會得到更好的傳輸效率。
(4)正確編制通訊程序。PLC通訊程序的編制在實現(xiàn)串行通訊中也是非常關(guān)鍵的一步,一個合理的通訊程序能夠提高通訊效率,而不完善的通訊程序則會導(dǎo)致通訊效率下降,甚至通訊失敗,使PLC出現(xiàn)運行錯誤。由于RS485通訊采用半雙工的工作模式,因此通訊程序的編寫主要是對通訊指令的分時處理程序,在此用以下兩個通訊程序來描述如何合理編制PLC通訊程序,程序主要是PLC通過485通訊方式讀寫三臺變頻器的頻率,均實際測試運行過:
3.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死機,參見圖1。
圖1 錯誤讀寫,紅圈部分信道D200數(shù)據(jù)變?yōu)镵3000,應(yīng)該是K1000
(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í)行下一個通訊指令,有效利用了時間,參見圖2。
圖2 正常通訊監(jiān)控畫面
4 臺達(dá)PLC與松下變頻器通訊案例
采用臺達(dá)ES系列PLC,用通訊方式來改變松下VF0C系列變頻器的設(shè)定頻率,PLC端使用485口,無協(xié)議方式來模擬VF0C變頻器的通訊協(xié)議。
4.1 通訊協(xié)議
VF0C系列變頻器留有485通訊口,并提供內(nèi)部通訊協(xié)議如下:
寫:% [站號] #WD [功能號] [起始地址] [結(jié)束地址] [數(shù)據(jù)] [BCC] \CR
讀:% [站號] #RD [功能號] [起始地址] [結(jié)束地址] [BCC] \CR
如果寫正確,返回:%01$WD BCC\CR
如果讀正確,返回:%01$RD [數(shù)據(jù)] BCC\CR
分別規(guī)定了字節(jié)數(shù),在以下表格以寫數(shù)據(jù)為例做詳細(xì)說明:
在松下VF0C系列變頻器中,站號默認(rèn)為01,通訊格式為9600、N、8、1,通訊方式是ASCII方式,數(shù)據(jù)為十六進(jìn)制,存儲模式為8位模式。設(shè)定頻率的地址是DT237,而讀設(shè)定頻率的地址為DT133,而且在DT237和DT133的數(shù)據(jù)都是以0.01Hz為單位的。下面以寫頻率為例,來做詳細(xì)說明。
4.2實例說明
假設(shè)要寫入的頻率是43.5Hz,那么需要寫入的數(shù)值應(yīng)為10FE(4350),變頻器的存儲模式為8位模式,應(yīng)從低位開始寫入,那么應(yīng)該先寫FE后寫10。校驗碼是把從起始碼到數(shù)據(jù)碼所有的字節(jié)進(jìn)行異或所得。
XOR:%01#WDD0023700237FE10=52(HEX)
那么得出以下所有通訊格式碼:
%01#WDD0023700237FE1052\CR
通訊方式是ASCII方式,數(shù)據(jù)是十六進(jìn)制格式,把這些格式碼按正確的次序發(fā)出,就可以把數(shù)據(jù)43.5HZ寫入到變頻器設(shè)定頻率DT237中。
4.3 梯形圖設(shè)計
在PLC中,無協(xié)議通訊也是從低位開始發(fā)送數(shù)據(jù)的,可選用8位模式和16位模式傳送,不同就在于發(fā)送數(shù)據(jù)寄存器中的8位數(shù)據(jù)還是16位數(shù)據(jù),在這里以16位模式做說明。梯形圖如下:把格式碼數(shù)據(jù)253031235744443030323337303032333745463130520D按照從低位到高位的順序依次存入到D0~D11中去,占用12個連續(xù)的數(shù)據(jù)寄存器,就是說有24個字節(jié)的數(shù)據(jù)。設(shè)定通訊參數(shù)9600,N,8,1,ASCII方式,16位模式。當(dāng)M0接通一次,就可以發(fā)送一次數(shù)據(jù),寫一次頻率。
4.4 程序優(yōu)化
如果再加上讀頻率的程序,就可以做成小閉環(huán),完成讀寫頻率的程序優(yōu)化。因為在寫頻率的數(shù)據(jù)發(fā)送成功后,可做延時3秒后讀頻率,在讀成功以后,把讀回的頻率數(shù)據(jù)和要寫入的頻率數(shù)據(jù)做比較,如果相等,則通訊程序停止,如果不相等,再執(zhí)行寫頻率——>讀頻率——>比較。
5 結(jié)束語
綜上所述,臺達(dá)PLC具有強大的串行通訊功能,且相關(guān)應(yīng)用指令豐富,能夠很好的完成各種通訊需求,合理利用通訊功能將大大降低設(shè)備的制造成本,節(jié)省配線,提高抗干擾能力,由于臺達(dá)產(chǎn)品均符合MODBUS協(xié)議,因此可以把臺達(dá)產(chǎn)品通過通訊方式整合在一起,實現(xiàn)各種各樣的功能要求。
參考文獻(xiàn)
[1]臺達(dá)PLC編程用戶手冊.臺達(dá)電子集團(tuán)
[2]VF0C系列變頻器使用手冊.松下電工(中國)有限公司
作者簡介
袁斌(1972-) 男 常德紡織機械廠電氣開發(fā)設(shè)計人員
評論
查看更多