摘 要:本文根據串行通訊的基本原理,以台達PLC與鬆下變頻器通訊為案例,詳細討論台達PLC的串行通迅功能及在項目中實際應用。主要介紹如何使用台達PLC完善的通訊功能完成各種實際應用,體現了台達PLC強大的通訊技術特性。
隨著計算器技術的發展,通訊傳輸在工業自動化控製領域得到越來越廣泛的應用。由於串行通訊方式具有使用線路少、成本低、簡單易用,特別是在遠程傳輸時,避免了多條線路特性的不一致而被廣泛采用。現在各PLC生產廠家都極其重視通訊在PLC推廣中的應用,並且各具有優勢特點,合理利用PLC串行通訊功能將極大的降低自動化項目成本,提高產品競爭力。
計ji算suan機ji通tong訊xun即ji是shi不bu同tong的de設she備bei通tong過guo線xian路lu互hu相xiang交jiao換huan編bian碼ma數shu據ju,其qi主zhu要yao目mu的de在zai於yu將jiang數shu據ju從cong某mou端duan傳chuan送song到dao另ling一yi端duan,實shi現xian信xin息xi的de交jiao換huan。通tong訊xun通tong常chang有you並bing行xing和he串chuan行xing兩liang種zhong方fang式shi,由you於yu並bing行xing傳chuan輸shu方fang式shi在zai數shu據ju電dian壓ya傳chuan送song的de過guo程cheng中zhong容rong易yi衰shuai減jian互hu擾rao,並bing且qie線xian路lu工gong程cheng費fei用yong較jiao高gao,而er串chuan行xing通tong訊xun方fang式shi則ze能neng很hen好hao的de解jie決jue這zhe些xie問wen題ti,因yin此ci在zai工gong業ye應ying用yong中zhong絕jue大da多duo數shu使shi用yong串chuan行xing通tong訊xun。
(1) RS-232-C接口連接器一般使用型號為DB-9的9芯插頭座,隻需三條接口線,即“發送數據”、“接收數據”和“信號地”即可傳輸數據,其9支腳位的定義如下表1所示。
(2) 在RS232的規範中,電壓域值在+3V---+15V(一般使用+6V)之間稱為“0”或“ON”;電壓在-3V----15V(一般使用-6V)之間稱為“1”或“OFF”;計算機上的RS-232“高電位”約9V,而“低電位”則約-9V。
(3) RS-232為全雙工工作模式,其訊號準位是參考地線而得,分別作為數據的傳送和接收;實際應用中其傳輸距離可以達到15米。隻具有單站功能,即一對一通訊。
2.2RS485接口
(1)采用正負兩根信號線作為傳輸線路。
(2)RS-485的電氣特性:邏輯“1”以兩線間的電壓差為+(2―6) V表示;邏輯“0”以兩線間的電壓差為-(2―6)V表示。
(3)RS485為半雙工工作模式,其訊號是正負兩條線路訊號準位相減而得,是差動式輸入方式,抗共模幹能力增強,即抗噪聲幹擾性好;實際應用中其傳輸距離可達1200米。具有多站能力,即一對多的主從通訊。
3 台達PLC的串行通訊功能
台達DVP係列PLC各型主機均內建2個通訊口的標準配置,即一個RS232和一個RS485通訊口,其RS232口主要用於上下載程序或作為與上位機、觸摸屏通訊,而RS485口主要用於組建485網絡,實現通訊控製。尤其值得一提的是EH機型可通過通訊功能卡擴充一個RS232或RS485通訊口,使得在組建多重通訊網絡更加方便。
相對於通訊口的硬件配置,台達PLC在軟件指令上對通訊的支持也是相當豐富和便利,主要通過以下三種方式完成485通訊功能:
3.1自由通訊方式
該方式通過串行數據傳輸指令RS來完成主站與從站之間的數據交換,可以實現無協議的自由通訊。許多接口設備如變頻器、儀表等…若配備RS-485串行通訊,且該設備之通訊格式也有公開即可由PLC使用者以RS指令設計程序來傳輸PLC與接口設備之間數據。
3.2MODBUS通訊方式(GB/Z 19582)
MODBUS協議是目前國際上公開的標準串行通迅協議,也是中華人民共和國國家標準化指導性技術文件GB/Z 19582:基於Modbus協議的工業自動化網絡規範。台達PLC通訊符合MODBUS協議,並且台達其它產品如變頻器、溫控儀、司服控製器等485通訊均符合MODBUS協議,對於符合MODBUS之通訊格式的產品,台達PLC提供了更加便利的通訊指令MODRD 、MODWR、MODRW來lai實shi現xian數shu據ju的de讀du寫xie,程cheng序xu編bian寫xie中zhong不bu需xu關guan注zhu傳chuan送song的de字zi符fu,校xiao驗yan碼ma的de轉zhuan換huan等deng等deng,隻zhi需xu要yao確que定ding通tong訊xun地di址zhi及ji寫xie入ru讀du出chu的de數shu據ju即ji可ke,不bu過guo在zai多duo指zhi令ling讀du寫xie時shi需xu要yao考kao慮lv通tong訊xun時shi序xu問wen題ti,避bi免mian通tong訊xun衝chong突tu。
3.3台達PLC最有特色的通訊命令EASY LINK
基於MODBUS通訊協議,台達EP/EH係列PLC機型提供了更為方便快捷的通訊方式――EASYLINK。EASY LINK通訊是台達PLC最有特色的通訊命令,可以提供主站與32個從站通訊,每個從站讀寫各100項數據的能力,且不需要複雜編程即可高速快捷的完成通訊控製,節省大量的編程時間。
綜合比較上述三種通訊方式,自由通訊方式的編程最為複雜,但它可以與非MODBUS協議的設備通訊,設備選擇自由靈活不受限製;MODBUS通訊方式的編程則簡單的多,且也具有一定的編程靈活性,如可優先與某個從站通訊;而EASY LINK通訊方式是針對符合MODBUS協(xie)議(yi)互(hu)連(lian)設(she)備(bei)最(zui)簡(jian)單(dan)的(de)通(tong)訊(xun)方(fang)式(shi),幾(ji)乎(hu)不(bu)需(xu)要(yao)編(bian)程(cheng)即(ji)可(ke)完(wan)成(cheng),不(bu)需(xu)要(yao)考(kao)慮(lv)半(ban)雙(shuang)工(gong)通(tong)訊(xun)方(fang)式(shi)中(zhong)通(tong)訊(xun)時(shi)序(xu)問(wen)題(ti),隻(zhi)需(xu)要(yao)指(zhi)定(ding)讀(du)出(chu)寫(xie)入(ru)數(shu)據(ju)的(de)寄(ji)存(cun)器(qi)和(he)數(shu)據(ju)項(xiang)數(shu),啟(qi)動(dong)LINK連接即可完成設備之間的數據通訊。因此對於符合MODBUS協議的設備建議采用LINK通訊方式。
3.4串行通訊工程要點問題
在工業自動化控製中,有許多數據信號需要采集、處chu理li,特te別bie對dui於yu遠yuan距ju離li的de設she備bei,一yi般ban的de傳chuan感gan器qi電dian壓ya訊xun號hao如ru果guo傳chuan輸shu距ju離li過guo遠yuan的de話hua,會hui造zao成cheng訊xun號hao的de衰shuai減jian,如ru此ci一yi來lai,將jiang得de不bu到dao正zheng確que的de結jie果guo,因yin此ci,采cai用yong傳chuan感gan器qi訊xun號hao就jiu地di處chu理li,而er數shu據ju傳chuan輸shu通tong過guo數shu字zi通tong訊xun方fang式shi能neng夠gou有you效xiao的de解jie決jue這zhe一yi問wen題ti,保bao證zheng數shu據ju的de正zheng確que性xing與yu準zhun確que性xing;但通訊同樣也會受到外界的幹擾,使得通訊質量下降,甚至根本無法建立通訊。要保證通訊正常,在組建通訊網絡時應該注意以下幾點:
(1)保證通訊協議一致,所有聯機之從站接口設備波特率及通訊格式需與主站相同,合理分配各從站的站地址,避免地址衝突。
(2)合理布線,減少外界幹擾對通訊的影響。走線走得好,可以很大程度減少幹擾的影響,提高通訊的可靠性,走線應遵循兩個原則:遠離電源線,變頻器等幹擾源;當網線不能與電源線等幹擾源避開時應與電源線垂直,不能平行,並采用質量高的雙絞線走線
(3)通tong訊xun速su率lv的de選xuan擇ze,一yi般ban來lai說shuo提ti高gao通tong訊xun波bo特te率lv能neng夠gou提ti高gao通tong訊xun效xiao率lv,但dan並bing非fei一yi味wei的de提ti高gao就jiu肯ken定ding好hao,傳chuan輸shu速su率lv的de提ti高gao同tong時shi加jia大da了le傳chuan輸shu錯cuo碼ma率lv,使shi傳chuan輸shu質zhi量liang下xia降jiang,特te別bie是shi在zai工gong業ye控kong製zhi場chang合he外wai界jie幹gan擾rao比bi較jiao大da的de情qing況kuang下xia,有you時shi適shi當dang降jiang低di傳chuan輸shu速su率lv會hui得de到dao更geng好hao的de傳chuan輸shu效xiao率lv。
(4)正確編製通訊程序。PLCtongxunchengxudebianzhizaishixianchuanxingtongxunzhongyeshifeichangguanjiandeyibu,yigehelidetongxunchengxunenggoutigaotongxunxiaolv,erbuwanshandetongxunchengxuzehuidaozhitongxunxiaolvxiajiang,shenzhitongxunshibai,shiPLC出現運行錯誤。由於RS485通訊采用半雙工的工作模式,因此通訊程序的編寫主要是對通訊指令的分時處理程序,在此用以下兩個通訊程序來描述如何合理編製PLC通訊程序,程序主要是PLC通過485通訊方式讀寫三台變頻器的頻率,均實際測試運行過:
3.5 台達PLC通訊程序要點
(1)“固定時序通訊程序”是台達PLC通訊技術工程處理通訊常用方法,利用固定計時的方法來實現分時通訊,這樣的寫法比較容易造成通訊時序上的問題。Modbus 通訊規格是采用主/從模式,也就是主站發通訊命令給從站,從站收到之後再回應主站,這一收一回才算完成一個完整的通訊資料交換,該程序有使用到M1127來判斷,但是決定下一個通訊指令是否運行的接點開關卻不是由通訊旗標來決定,而是由100ms 的 timer來決定,這樣很容易有問題生成,因為通訊的整個時間包含通訊資料在線上傳輸的時間加上通訊資料在主/從站處理的時間,若這時間超過100ms,那就很容易造成從站回傳,而主站送資料出去,造成資料在線上碰撞,因而影響傳輸的正確性,如果把timer時(shi)間(jian)延(yan)長(chang),還(hai)是(shi)會(hui)碰(peng)到(dao)有(you)問(wen)題(ti),因(yin)為(wei)這(zhe)種(zhong)寫(xie)法(fa),通(tong)訊(xun)旗(qi)標(biao)的(de)動(dong)作(zuo)與(yu)決(jue)定(ding)傳(chuan)送(song)的(de)旗(qi)標(biao)本(ben)身(shen)並(bing)未(wei)同(tong)步(bu),因(yin)而(er)會(hui)有(you)時(shi)間(jian)差(cha),造(zao)成(cheng)資(zi)料(liao)不(bu)正(zheng)確(que)。該(gai)程(cheng)序(xu)在(zai)EH機型上測試,發現通訊速度比較慢,且讀回來的數據有時會發生交叉的現象,即從站2的頻率讀到從站4的(de)寄(ji)存(cun)器(qi)上(shang),錯(cuo)誤(wu)讀(du)寫(xie)的(de)情(qing)況(kuang)可(ke)見(jian)圖(tu)一(yi)。使(shi)用(yong)這(zhe)種(zhong)編(bian)程(cheng)方(fang)法(fa)在(zai)通(tong)訊(xun)正(zheng)常(chang)時(shi)沒(mei)有(you)問(wen)題(ti),一(yi)旦(dan)當(dang)通(tong)訊(xun)數(shu)據(ju)錯(cuo)亂(luan)時(shi),就(jiu)會(hui)造(zao)成(cheng)數(shu)據(ju)傳(chuan)送(song)錯(cuo)誤(wu),嚴(yan)重(zhong)時(shi)甚(shen)至(zhi)導(dao)致(zhi)PLC死機,參見圖1。

圖1 錯誤讀寫,紅圈部分信道D200數據變為K3000,應該是K1000
(2)“通訊旗標方式程序”是調整後的程序,可以比較一下,其主要區別在於Modbus Read/Write 指令在程序使用上搭配M1127, M1129, M1140, M1141 來(lai)判(pan)斷(duan),由(you)這(zhe)幾(ji)個(ge)旗(qi)標(biao)的(de)狀(zhuang)態(tai)來(lai)決(jue)定(ding)下(xia)一(yi)個(ge)通(tong)訊(xun)指(zhi)令(ling)的(de)運(yun)行(xing)時(shi)間(jian),能(neng)夠(gou)很(hen)好(hao)的(de)處(chu)理(li)串(chuan)行(xing)通(tong)訊(xun)的(de)時(shi)序(xu)問(wen)題(ti),保(bao)證(zheng)通(tong)訊(xun)的(de)可(ke)靠(kao)及(ji)效(xiao)率(lv),正(zheng)常(chang)通(tong)訊(xun)監(jian)控(kong)畫(hua)麵(mian)如(ru)圖(tu)二(er)。在(zai)用(yong)固(gu)定(ding)時(shi)序(xu)通(tong)訊(xun)中(zhong),即(ji)使(shi)通(tong)訊(xun)正(zheng)常(chang)完(wan)成(cheng),那(na)末(mo)也(ye)要(yao)等(deng)到(dao)100MS以後做下一個通訊,比如寫指令通訊完成耗時20MS,則需要等待80MS,降低了通訊效率,而采用通訊旗標會在通訊完成或出現錯誤的情況下轉入執行下一個通訊指令,有效利用了時間,參見圖2。

圖2 正常通訊監控畫麵
3 台達PLC與鬆下變頻器通訊案例
采用台達ES係列PLC,用通訊方式來改變鬆下VF0C係列變頻器的設定頻率,PLC端使用485口,無協議方式來模擬VF0C變頻器的通訊協議。
4.1通訊協議
VF0C係列變頻器留有485通訊口,並提供內部通訊協議如下:
寫:% [站號] #WD [功能號] [起始地址] [結束地址] [數據] [BCC] \CR
讀:% [站號] #RD [功能號] [起始地址] [結束地址] [BCC] \CR
如果寫正確,返回:%01$WD BCC\CR
如果讀正確,返回:%01$RD [數據] BCC\CR
分別規定了字節數,在以下表格以寫數據為例做詳細說明:
|
起始碼 |
站號 |
間隔 |
功能 |
功能號 |
起始 |
結束 |
數據 |
校驗碼 |
結束碼 |
|
% |
01~31 |
# |
WD |
D |
00000 |
00000 |
0000 |
BCC |
\CR |
|
1 |
2 |
1 |
2 |
1 |
5 |
5 |
4、… |
2 |
1 |
在鬆下VF0C係列變頻器中,站號默認為01,通訊格式為9600、N、8、1,通訊方式是ASCII方式,數據為十六進製,存儲模式為8位模式。設定頻率的地址是DT237,而讀設定頻率的地址為DT133,而且在DT237和DT133的數據都是以0.01Hz為單位的。下麵以寫頻率為例,來做詳細說明。
4.2實例說明
假設要寫入的頻率是43.5Hz,那麼需要寫入的數值應為10FE(4350),變頻器的存儲模式為8位模式,應從低位開始寫入,那麼應該先寫FE後寫10。校驗碼是把從起始碼到數據碼所有的字節進行異或所得。
XOR:%01#WDD0023700237FE10=52(HEX)
那麼得出以下所有通訊格式碼:
%01#WDD0023700237FE1052\CR
通訊方式是ASCII方式,數據是十六進製格式,把這些格式碼按正確的次序發出,就可以把數據43.5HZ寫入到變頻器設定頻率DT237中。
4.3 梯形圖設計
在PLC中,無協議通訊也是從低位開始發送數據的,可選用8位模式和16位模式傳送,不同就在於發送數據寄存器中的8位數據還是16位數據,在這裏以16位模式做說明。梯形圖如下:把格式碼數據253031235744443030323337303032333745463130520D按照從低位到高位的順序依次存入到D0~D11中去,占用12個連續的數據寄存器,就是說有24個字節的數據。設定通訊參數9600,N,8,1,ASCII方式,16位模式。當M0接通一次,就可以發送一次數據,寫一次頻率。

4.4 程序優化
如果再加上讀頻率的程序,就可以做成小閉環,完成讀寫頻率的程序優化。因為在寫頻率的數據發送成功後,可做延時3秒後讀頻率,在讀成功以後,把讀回的頻率數據和要寫入的頻率數據做比較,如果相等,則通訊程序停止,如果不相等,再執行寫頻率――>讀頻率――>比較。

5 結束語
綜上所述,台達PLCjuyouqiangdadechuanxingtongxungongneng,qiexiangguanyingyongzhilingfengfu,nenggouhenhaodewanchenggezhongtongxunxuqiu,heliliyongtongxungongnengjiangdadajiangdishebeidezhizaochengben,jieshengpeixian,tigaokangganraonengli,youyutaidachanpinjunfuheMODBUS協議,因此可以把台達產品通過通訊方式整合在一起,實現各種各樣的功能要求。
參考文獻
[1]台達PLC編程用戶手冊.台達電子集團
[2]VF0C係列變頻器使用手冊.鬆下電工(中國)有限公司
作者簡介
袁斌(1972-) 男 常德紡織機械廠電氣開發設計人員