摘 要:本文根據(jù)串行通訊的基本原理,以臺(tái)達(dá)PLC與松下變頻器通訊為案例,詳細(xì)討論臺(tái)達(dá)PLC的串行通迅功能及在項(xiàng)目中實(shí)際應(yīng)用。主要介紹如何使用臺(tái)達(dá)PLC完善的通訊功能完成各種實(shí)際應(yīng)用,體現(xiàn)了臺(tái)達(dá)PLC強(qiáng)大的通訊技術(shù)特性。
1引言
隨著計(jì)算器技術(shù)的發(fā)展,通訊傳輸在工業(yè)自動(dòng)化控制領(lǐng)域得到越來越廣泛的應(yīng)用。由于串行通訊方式具有使用線路少、成本低、簡單易用,特別是在遠(yuǎn)程傳輸時(shí),避免了多條線路特性的不一致而被廣泛采用?,F(xiàn)在各PLC生產(chǎn)廠家都極其重視通訊在PLC推廣中的應(yīng)用,并且各具有優(yōu)勢(shì)特點(diǎn),合理利用PLC串行通訊功能將極大的降低自動(dòng)化項(xiàng)目成本,提高產(chǎn)品競爭力。
2 串行通訊簡介
計(jì)算機(jī)通訊即是不同的設(shè)備通過線路互相交換編碼數(shù)據(jù),其主要目的在于將數(shù)據(jù)從某端傳送到另一端,實(shí)現(xiàn)信息的交換。通訊通常有并行和串行兩種方式,由于并行傳輸方式在數(shù)據(jù)電壓傳送的過程中容易衰減互擾,并且線路工程費(fèi)用較高,而串行通訊方式則能很好的解決這些問題,因此在工業(yè)應(yīng)用中絕大多數(shù)使用串行通訊。
串行通訊的基本接口方式分為RS-232和RS-485兩種標(biāo)準(zhǔn)。
2.1 RS-232接口
(1)RS-232-C接口連接器一般使用型號(hào)為DB-9的9芯插頭座,只需三條接口線,即“發(fā)送數(shù)據(jù)”、“接收數(shù)據(jù)”和“信號(hào)地”即可傳輸數(shù)據(jù),其9支腳位的定義如下表1所示。
表1 RS-232-C接口連接器定義
(2)在RS232的規(guī)范中,電壓域值在+3V---+15V(一般使用+6V)之間稱為“0”或“ON”;電壓在-3V----15V(一般使用-6V)之間稱為“1”或“OFF”;計(jì)算機(jī)上的RS-232“高電位”約9V,而“低電位”則約-9V。
(3)RS-232為全雙工工作模式,其訊號(hào)準(zhǔn)位是參考地線而得,分別作為數(shù)據(jù)的傳送和接收;實(shí)際應(yīng)用中其傳輸距離可以達(dá)到15米。只具有單站功能,即一對(duì)一通訊。
2.2RS485接口(1)采用正負(fù)兩根信號(hào)線作為傳輸線路。
(2)RS-485的電氣特性:邏輯“1”以兩線間的電壓差為+(2—6) V表示;邏輯“0”以兩線間的電壓差為-(2—6)V表示。
(3)RS485為半雙工工作模式,其訊號(hào)是正負(fù)兩條線路訊號(hào)準(zhǔn)位相減而得,是差動(dòng)式輸入方式,抗共模干能力增強(qiáng),即抗噪聲干擾性好;實(shí)際應(yīng)用中其傳輸距離可達(dá)1200米。具有多站能力,即一對(duì)多的主從通訊。
3臺(tái)達(dá)PLC的串行通訊功能臺(tái)達(dá)DVP系列PLC各型主機(jī)均內(nèi)建2個(gè)通訊口的標(biāo)準(zhǔn)配置,即一個(gè)RS232和一個(gè)RS485通訊口,其RS232口主要用于上下載程序或作為與上位機(jī)、觸摸屏通訊,而RS485口主要用于組建485網(wǎng)絡(luò),實(shí)現(xiàn)通訊控制。尤其值得一提的是EH機(jī)型可通過通訊功能卡擴(kuò)充一個(gè)RS232或RS485通訊口,使得在組建多重通訊網(wǎng)絡(luò)更加方便。
相對(duì)于通訊口的硬件配置,臺(tái)達(dá)PLC在軟件指令上對(duì)通訊的支持也是相當(dāng)豐富和便利,主要通過以下三種方式完成485通訊功能:
3.1自由通訊方式該方式通過串行數(shù)據(jù)傳輸指令RS來完成主站與從站之間的數(shù)據(jù)交換,可以實(shí)現(xiàn)無協(xié)議的自由通訊。許多接口設(shè)備如變頻器、儀表等…若配備RS-485串行通訊,且該設(shè)備之通訊格式也有公開即可由PLC使用者以RS指令設(shè)計(jì)程序來傳輸PLC與接口設(shè)備之間數(shù)據(jù)。
3.2MODBUS通訊方式(GB/Z 19582)MODBUS協(xié)議是目前國際上公開的標(biāo)準(zhǔn)串行通迅協(xié)議,也是中華人民共和國國家標(biāo)準(zhǔn)化指導(dǎo)性技術(shù)文件GB/Z 19582:基于Modbus協(xié)議的工業(yè)自動(dòng)化網(wǎng)絡(luò)規(guī)范。臺(tái)達(dá)PLC通訊符合MODBUS協(xié)議,并且臺(tái)達(dá)其它產(chǎn)品如變頻器、溫控儀、司服控制器等485通訊均符合MODBUS協(xié)議,對(duì)于符合MODBUS之通訊格式的產(chǎn)品,臺(tái)達(dá)PLC提供了更加便利的通訊指令MODRD 、MODWR、MODRW來實(shí)現(xiàn)數(shù)據(jù)的讀寫,程序編寫中不需關(guān)注傳送的字符,校驗(yàn)碼的轉(zhuǎn)換等等,只需要確定通訊地址及寫入讀出的數(shù)據(jù)即可,不過在多指令讀寫時(shí)需要考慮通訊時(shí)序問題,避免通訊沖突。
3.3臺(tái)達(dá)PLC最有特色的通訊命令EASY LINK基于MODBUS通訊協(xié)議,臺(tái)達(dá)EP/EH系列PLC機(jī)型提供了更為方便快捷的通訊方式——EASYLINK。EASY LINK通訊是臺(tái)達(dá)PLC最有特色的通訊命令,可以提供主站與32個(gè)從站通訊,每個(gè)從站讀寫各100項(xiàng)數(shù)據(jù)的能力,且不需要復(fù)雜編程即可高速快捷的完成通訊控制,節(jié)省大量的編程時(shí)間。
綜合比較上述三種通訊方式,自由通訊方式的編程最為復(fù)雜,但它可以與非MODBUS協(xié)議的設(shè)備通訊,設(shè)備選擇自由靈活不受限制;MODBUS通訊方式的編程則簡單的多,且也具有一定的編程靈活性,如可優(yōu)先與某個(gè)從站通訊;而EASY LINK通訊方式是針對(duì)符合MODBUS協(xié)議互連設(shè)備最簡單的通訊方式,幾乎不需要編程即可完成,不需要考慮半雙工通訊方式中通訊時(shí)序問題,只需要指定讀出寫入數(shù)據(jù)的寄存器和數(shù)據(jù)項(xiàng)數(shù),啟動(dòng)LINK連接即可完成設(shè)備之間的數(shù)據(jù)通訊。因此對(duì)于符合MODBUS協(xié)議的設(shè)備建議采用LINK通訊方式。
3.4串行通訊工程要點(diǎn)問題在工業(yè)自動(dòng)化控制中,有許多數(shù)據(jù)信號(hào)需要采集、處理,特別對(duì)于遠(yuǎn)距離的設(shè)備,一般的傳感器電壓訊號(hào)如果傳輸距離過遠(yuǎn)的話,會(huì)造成訊號(hào)的衰減,如此一來,將得不到正確的結(jié)果,因此,采用傳感器訊號(hào)就地處理,而數(shù)據(jù)傳輸通過數(shù)字通訊方式能夠有效的解決這一問題,保證數(shù)據(jù)的正確性與準(zhǔn)確性;但通訊同樣也會(huì)受到外界的干擾,使得通訊質(zhì)量下降,甚至根本無法建立通訊。要保證通訊正常,在組建通訊網(wǎng)絡(luò)時(shí)應(yīng)該注意以下幾點(diǎn):
(1)保證通訊協(xié)議一致,所有聯(lián)機(jī)之從站接口設(shè)備波特率及通訊格式需與主站相同,合理分配各從站的站地址,避免地址沖突。
(2)合理布線,減少外界干擾對(duì)通訊的影響。走線走得好,可以很大程度減少干擾的影響,提高通訊的可靠性,走線應(yīng)遵循兩個(gè)原則:遠(yuǎn)離電源線,變頻器等干擾源;當(dāng)網(wǎng)線不能與電源線等干擾源避開時(shí)應(yīng)與電源線垂直,不能平行,并采用質(zhì)量高的雙絞線走線
(3)通訊速率的選擇,一般來說提高通訊波特率能夠提高通訊效率,但并非一味的提高就肯定好,傳輸速率的提高同時(shí)加大了傳輸錯(cuò)碼率,使傳輸質(zhì)量下降,特別是在工業(yè)控制場(chǎng)合外界干擾比較大的情況下,有時(shí)適當(dāng)降低傳輸速率會(huì)得到更好的傳輸效率。
(4)正確編制通訊程序。PLC通訊程序的編制在實(shí)現(xiàn)串行通訊中也是非常關(guān)鍵的一步,一個(gè)合理的通訊程序能夠提高通訊效率,而不完善的通訊程序則會(huì)導(dǎo)致通訊效率下降,甚至通訊失敗,使PLC出現(xiàn)運(yùn)行錯(cuò)誤。由于RS485通訊采用半雙工的工作模式,因此通訊程序的編寫主要是對(duì)通訊指令的分時(shí)處理程序,在此用以下兩個(gè)通訊程序來描述如何合理編制PLC通訊程序,程序主要是PLC通過485通訊方式讀寫三臺(tái)變頻器的頻率,均實(shí)際測(cè)試運(yùn)行過:
3.5 臺(tái)達(dá)PLC通訊程序要點(diǎn)(1)“固定時(shí)序通訊程序”是臺(tái)達(dá)PLC通訊技術(shù)工程處理通訊常用方法,利用固定計(jì)時(shí)的方法來實(shí)現(xiàn)分時(shí)通訊,這樣的寫法比較容易造成通訊時(shí)序上的問題。Modbus 通訊規(guī)格是采用主/從模式,也就是主站發(fā)通訊命令給從站,從站收到之后再回應(yīng)主站,這一收一回才算完成一個(gè)完整的通訊資料交換,該程序有使用到M1127來判斷,但是決定下一個(gè)通訊指令是否運(yùn)行的接點(diǎn)開關(guān)卻不是由通訊旗標(biāo)來決定,而是由100ms 的 timer來決定,這樣很容易有問題生成,因?yàn)橥ㄓ嵉恼麄€(gè)時(shí)間包含通訊資料在線上傳輸?shù)臅r(shí)間加上通訊資料在主/從站處理的時(shí)間,若這時(shí)間超過100ms,那就很容易造成從站回傳,而主站送資料出去,造成資料在線上碰撞,因而影響傳輸?shù)恼_性,如果把timer時(shí)間延長,還是會(huì)碰到有問題,因?yàn)檫@種寫法,通訊旗標(biāo)的動(dòng)作與決定傳送的旗標(biāo)本身并未同步,因而會(huì)有時(shí)間差,造成資料不正確。該程序在EH機(jī)型上測(cè)試,發(fā)現(xiàn)通訊速度比較慢,且讀回來的數(shù)據(jù)有時(shí)會(huì)發(fā)生交叉的現(xiàn)象,即從站2的頻率讀到從站4的寄存器上,錯(cuò)誤讀寫的情況可見圖一。使用這種編程方法在通訊正常時(shí)沒有問題,一旦當(dāng)通訊數(shù)據(jù)錯(cuò)亂時(shí),就會(huì)造成數(shù)據(jù)傳送錯(cuò)誤,嚴(yán)重時(shí)甚至導(dǎo)致PLC死機(jī),參見圖1。
圖1 錯(cuò)誤讀寫,紅圈部分信道D200數(shù)據(jù)變?yōu)镵3000,應(yīng)該是K1000
(2)“通訊旗標(biāo)方式程序”是調(diào)整后的程序,可以比較一下,其主要區(qū)別在于Modbus Read/Write 指令在程序使用上搭配M1127, M1129, M1140, M1141 來判斷,由這幾個(gè)旗標(biāo)的狀態(tài)來決定下一個(gè)通訊指令的運(yùn)行時(shí)間,能夠很好的處理串行通訊的時(shí)序問題,保證通訊的可靠及效率,正常通訊監(jiān)控畫面如圖二。在用固定時(shí)序通訊中,即使通訊正常完成,那末也要等到100MS以后做下一個(gè)通訊,比如寫指令通訊完成耗時(shí)20MS,則需要等待80MS,降低了通訊效率,而采用通訊旗標(biāo)會(huì)在通訊完成或出現(xiàn)錯(cuò)誤的情況下轉(zhuǎn)入執(zhí)行下一個(gè)通訊指令,有效利用了時(shí)間,參見圖2。
圖2 正常通訊監(jiān)控畫面
4臺(tái)達(dá)PLC與松下變頻器通訊案例采用臺(tái)達(dá)ES系列PLC,用通訊方式來改變松下VF0C系列變頻器的設(shè)定頻率,PLC端使用485口,無協(xié)議方式來模擬VF0C變頻器的通訊協(xié)議。
4.1通訊協(xié)議VF0C系列變頻器留有485通訊口,并提供內(nèi)部通訊協(xié)議如下:
寫:% [站號(hào)] #WD [功能號(hào)] [起始地址] [結(jié)束地址] [數(shù)據(jù)] [BCC] \CR
讀:% [站號(hào)] #RD [功能號(hào)] [起始地址] [結(jié)束地址] [BCC] \CR
如果寫正確,返回:%01$WD BCC\CR
如果讀正確,返回:%01$RD [數(shù)據(jù)] BCC\CR
分別規(guī)定了字節(jié)數(shù),在以下表格以寫數(shù)據(jù)為例做詳細(xì)說明:
在松下VF0C系列變頻器中,站號(hào)默認(rèn)為01,通訊格式為9600、N、8、1,通訊方式是ASCII方式,數(shù)據(jù)為十六進(jìn)制,存儲(chǔ)模式為8位模式。設(shè)定頻率的地址是DT237,而讀設(shè)定頻率的地址為DT133,而且在DT237和DT133的數(shù)據(jù)都是以0.01Hz為單位的。下面以寫頻率為例,來做詳細(xì)說明。
4.2實(shí)例說明假設(shè)要寫