1 引言
suizhejisuanjilingyujishudebuduanfazhan,tongxundezaigongyekongzhilingyudeyingyongyuelaiyueguangfan,gezhongzhinengzhongduanshebeidoukeyitongguotongxundefangshilianjieqilai,xingchenggaodudezidonghuakongzhijichengxitong。zuijiandandelianjifangshijiushicaiyongchuanxingkoutongxun。chuanxingkoutongxunyouyujiexianjiandan,chengbendi,tongxunkekao、穩定等優點,在現實係統的集成化、簡單化和操作方便性上,得以迅速的發展。
2 串行通訊介紹
串(chuan)行(xing)通(tong)訊(xun)口(kou)在(zai)係(xi)統(tong)控(kong)製(zhi)的(de)領(ling)域(yu)中(zhong)占(zhan)據(ju)著(zhe)極(ji)其(qi)重(zhong)要(yao)的(de)地(di)位(wei),它(ta)不(bu)僅(jin)沒(mei)有(you)因(yin)為(wei)時(shi)代(dai)的(de)進(jin)步(bu)而(er)淘(tao)汰(tai),反(fan)而(er)在(zai)規(gui)格(ge)上(shang)越(yue)來(lai)越(yue)完(wan)善(shan),應(ying)用(yong)越(yue)來(lai)越(yue)廣(guang)泛(fan)。在(zai)工(gong)業(ye)控(kong)製(zhi)領(ling)域(yu),串(chuan)行(xing)通(tong)訊(xun)的(de)使(shi)用(yong)比(bi)一(yi)般(ban)的(de)計(ji)算(suan)機(ji)更(geng)為(wei)普(pu)遍(bian)。常(chang)用(yong)的(de)串(chuan)行(xing)口(kou)通(tong)訊(xun)有(you)兩(liang)種(zhong):一種為RS-232串行通訊,另一種為RS-485串行通訊。
2.1 RS-232串行通訊
通常,計算機中標準的串行通訊端口聯接為DB-9的9針插頭座。其9針引腳定義如下表1.1。

表1.1 DB-9引腳定義
在由EIA製定的RS0-232C的標準中,規定了高,低電位形成的”0”和”1”訊號標準電壓範圍。在這個標準中,”0”和”1”的規定如圖1.1所示。
圖2.1 RS-232電位標準電位圖
在RS-232標準中,電壓在+3V~+15v(一般使用+6V)之間稱為”0”或者Space。一般用途是作為On。壓在-3V~-15v(一般使用-6V)之間稱為”1”或者Mark。一般用途是作為Off。與計算機內部一樣,都是利用“高電位”與“低電位”的變化來組成一串數據。
雖然串行通訊簡單易用,但在工業領域中,常常存在著很多的噪聲幹擾源,在使用RS-232串行通訊時,經常會受到外界的噪聲幹擾。RS-232串行通訊的傳輸方式如下圖1.2所示。
圖2.2 RS-232訊號傳輸方式
由圖1.2可知,RS-232為(wei)全(quan)雙(shuang)工(gong)工(gong)作(zuo)模(mo)式(shi),其(qi)訊(xun)號(hao)標(biao)準(zhun)電(dian)位(wei)是(shi)參(can)考(kao)地(di)端(duan)而(er)來(lai)的(de),在(zai)訊(xun)號(hao)由(you)發(fa)送(song)到(dao)接(jie)收(shou),要(yao)保(bao)證(zheng)兩(liang)端(duan)的(de)接(jie)電(dian)端(duan)同(tong)電(dian)位(wei)下(xia),才(cai)能(neng)正(zheng)確(que)的(de)識(shi)別(bie)傳(chuan)輸(shu)的(de)訊(xun)號(hao)。隻(zhi)有(you)一(yi)對(dui)一(yi)的(de)通(tong)訊(xun)功(gong)能(neng)。實(shi)際(ji)應(ying)用(yong)中(zhong)傳(chuan)輸(shu)距(ju)離(li)可(ke)達(da)15米。
在(zai)傳(chuan)輸(shu)過(guo)程(cheng)中(zhong),若(ruo)有(you)噪(zao)聲(sheng)的(de)幹(gan)擾(rao)進(jin)入(ru),幹(gan)擾(rao)訊(xun)號(hao)同(tong)時(shi)在(zai)原(yuan)始(shi)訊(xun)號(hao)線(xian)和(he)地(di)線(xian)上(shang)產(chan)生(sheng)影(ying)響(xiang),原(yuan)始(shi)訊(xun)號(hao)將(jiang)疊(die)加(jia)上(shang)幹(gan)擾(rao)訊(xun)號(hao),而(er)地(di)端(duan)的(de)幹(gan)擾(rao)訊(xun)號(hao)將(jiang)被(bei)地(di)電(dian)壓(ya)抵(di)消(xiao)掉(diao)了(le),因(yin)此(ci),傳(chuan)輸(shu)訊(xun)號(hao)將(jiang)發(fa)生(sheng)曲(qu)扭(niu),整(zheng)個(ge)訊(xun)號(hao)也(ye)將(jiang)發(fa)生(sheng)錯(cuo)誤(wu)。為(wei)了(le)克(ke)服(fu)以(yi)上(shang)的(de)幹(gan)擾(rao)問(wen)題(ti),RS-485串行通訊方式應運而生。
2.2 RS-485串行通訊
RS-485的工作模式為半雙工模式,通訊訊號是兩條傳輸線的電位差,屬於差動輸入方式,抗幹擾能力強;實際傳輸距離可達1200米。具有一對多站的通訊功能。RS-485的訊號傳輸方式如圖1.3所示。
圖2.3 RS-485訊號傳輸方式
RS-485傳輸的訊號為:
DT=(D+)-(D-)
當訊號線受到幹擾時,D+訊號線和D-訊號線分別疊加上一個Noise訊號:(D+)+Noise和(D-)+Noise。那麼此時的傳輸訊號將變為:
DT=[(D+)+Noise]-[ (D-)+Noise]= (D+)-(D-)
此運算結果與前一方式結果一樣,證明使用RS-485可以有效的防止噪聲的幹擾。
3 永宏PLC的串行通訊功能
3.1 永宏PLC通訊硬件配置
永宏FBs係列PLC的通訊功能十分的強大,標準主內建一個通訊端口Port0(RS-232或者USB,本篇以RS-232做為介紹),主要作用為作為上位機的編程或者HMI的監視與控製作用。另外根據實際的需要,可以選配通訊擴展板(FBs-CBXX)或者通訊擴展模塊(FBs-CMXX)來增加通訊端口,總共可以擴展到5個通訊端口;接口界麵支持RS-232、RS-485和以太忘界麵。另外通訊速度高達921.6Kbps。足以滿足控製係統的數據即使交換。
3.2 永宏PLC通訊協議
永宏FBs係列PLC提供永宏FATEK通訊協議,ModBus協議,以及自由口通訊協議。用戶可根據不同的智能終端來選擇通訊端口的通訊協議。在此需要注意的是主機的Port0口隻支持FATEK標準通訊協議。此章節主要進行永宏通訊協議的介紹。
3.2.1 永宏FATEK通訊協議
永宏PLC主機上各通訊端口在標準通訊模式下都適用此通訊協議,任何對PLC的數據讀寫操作,除了在硬件聯機和通訊參數設定中必需通訊雙方一致外,在通訊信息格式(Message format)方麵也必需符合本通訊協議的格式,PLC才能正確響應。
在永宏PLC的通訊結構上,永宏PLC是被定義為從站(SLAVE),而任何與永宏PLC聯機的外圍設備都為主站(MASTER),即由主站(外圍設備)來主動發出命令,從站(永宏PLC)隻有在收到命令信息後,才根據該命令的要求響應信息給主係統,而不能主動發出信息給主係統,如下的關係圖1.4所示:
圖3.1永宏PLC與智能終端的主從關係
3.2.2 FATEK通訊協議格式
永宏PLC的通訊信息格式無論是命令信息(主係統發出)或響應信息(仆係統發出)都可大概分為6個數據區,如下圖3.2所示。
圖3.2 FATEK通訊協議格式
協議格式主要包含了:起始字符、總站號碼、命令碼、數據資料、校驗碼和結束字符6部分內容。
開頭字符(STX):ASCI I碼之開始字符STX。
從站號碼:為兩位數之16進製數值。
命令號碼:為兩位數之16 進製數值,為由主係統要求從係統所執行之動作類別。
本文資料:本文數據可為0(無本文數據)~500個ASCII字符。
偵誤值(CHECKSUM): 偵誤值係將前述~將各ASCII字符之16進製數碼值(8位長度)從頭至尾依序相加,但不考慮進位,因此最終結果為偵誤值。
結尾字符(ETX):ASCI I碼之結尾字符ETX之16進製數碼為03H。
4. 永宏PLC的通訊應用
4.1 通訊係統的工程設計要領
在通訊係統中,要保證兩個(或者多個)智能設備之間正常的、可靠的進行數據通訊,需遵循以下幾點要領:
(1) 硬件界麵的選擇
在使用通訊時,首先要考慮硬件接口標準,即選擇RS-232或者RS-485界麵。這個選擇根據係統的實際要求來確定。例如要進行多站遠距離的通訊,那就要選擇RS-485通訊。
(2) 保證主從站的通訊協議一致性
所有的通信設備中,主站的數據格式必須與從站一致,才能保證從站識別數據。另外還需注意每個設備都要設定獨有的站號地址。
(3) 通訊參數的設置
在保證以上2個條件外,同時還需注意各個設備的通訊端口的參數設定,如波特率、數據位、停止位、校驗位等,也要保證設定一樣的參數。
(4) 通訊命令程序的編寫
程序的好壞直接影響整個係統的通訊質量,合理的通訊程序能有效的提高通訊效率。這個與編程軟件操作的便利性、指令的簡便性和個人的實踐經驗有這很大的關係。
4.2 永宏PLC通訊程序的介紹
永宏PLC的編程軟件WinProLadder提供相當便利的通訊指令FUN150ModBus和FUN151C-Link,同時配合表格命令格式來完成通訊數據的交換。
4.3 永宏PLC串行通訊的應用
(1) 永宏PLC之間的通訊聯機
永宏PLC之間的聯機方式有2種:一種是一般鏈路方式(FUN151:MD0模式),另一種模式是高速鏈路方式(FUN151:MD3模式)。現分別介紹一下這兩種通訊模式的使用。
FBs-PLC的一般鏈路:將從站2的X0~X4傳送到主站0的Y0~Y4;將主站的R100傳送到從站2的D50。
通訊硬件選擇與參數設定
由於FBs-PLC的內建Port0口隻能作為客戶(SLAVE)模式,所以必須另外擴展通訊端口,在此我們選擇FBs-CB25來擴展2個通訊口:Pott1(RS-232)和Port2(RS-485)。這裏選擇RS-232界麵,參數設定為默認值:9600,E,7,1。根據永宏PLC的RS-232通訊端口引腳定義,通訊線接法如圖4.1所示。
圖4.1 通訊線接線示意圖
程序編寫
永宏提供免費的程序編輯軟件”WinProLadder”。傳統化的操作界麵,豐富簡便的指令使得程序的設計相當的便利。這個範例的程序單元編輯如下圖4.2所示。
圖4.2 一般數據鏈路程序
說明:當M1960 ON時,表示Port1在屬於閑置狀態,該通訊指令可以進行運行。M0為中間繼電器,用於控製指令的ON/STOP。
當M9160-->ON時,這時接通M0時,FUN151指令將進入”0”工作模式(永宏PLC主站協議),並通過”Pt”指定的端口Port1將”SR”中的通訊命令傳送到指定的從站中去,等待從站的響應,完成通訊控製。另外”WR”為指定FUN151的內部工作寄存器空間。其中該範例的通訊命令表格如圖4.3所示。
圖4.3 一般鏈路通訊表格
命令說明
第0筆命令:指定主站讀取從站的X0狀態,長度為5,即從X0~X4,並讀取到主站的Y0~Y4上麵去。命令輸入方式如圖4.4所示。
圖4.4 一般通訊命令輸入(編輯)
類似,第1筆通訊命令則是將主站的R100(長度指定為1)傳送(命令為寫入)到從站的D50去。
到此,永宏PLC之間的通訊指令編輯已完整的結束。在筆者的使用過程中,永宏的PLC編程顯得相當的方便。另外值得一提的是永宏PLC之間的高速鏈路。永宏PLC除了一般的通訊聯機外,同時,可以通過Port2通訊端口做PCU間高速鏈路通訊,通訊不受掃描周期的影響,最高速度高到921.6Kbps。現就這一功能做一個介紹。
(2) 永宏PLC之間的CPU高速鏈路通訊
通訊硬件選擇與參數設定:
通訊端口方麵永宏PLC指定隻能通過Port2做高速鏈路控製。通過Port2的RS-485界麵,做4個從站直接的數控鏈路,高速通訊端口參數設定指定為:15200,8,E,1。
程序編寫:
在通訊指令中,使用的仍然是FUN151指令,隻是在”MD”模式中選擇”3”模式,即代表Port2口通訊工作在CPU高速鏈路的模式。另外”SR”和”WR”的設定與MD0模式類似,隻是要注意不要重複使用即可。FUN151的指令編輯如圖4.5所示。
圖4.5 永宏PLC高速PCU鏈路程序
說明:
M1962-->ON狀態時,表示Port2口正屬於空閑狀態,該指令可以運行。在M1-->ON時,FUN151將通過Port2,工作在”3”模式下(高速鏈路),與其他永宏PLC進行數據同步。”SR”的通訊命令表格如圖4.6所示。
圖4.6高速鏈路通訊表格
指令說明:
第0筆通訊命令:表示將主站1的R0~R5(長度為6)6個寄存器的數據傳送到第1~5從站的R0~R5。即網絡中的所有從站中對應的寄存器數據都將與指令中指定的寄存器同步!
第1筆通訊命令一樣,是將從站3的D90~D93同步到所有PLC,包括主站1和從站2,3和4。具體通訊命令編輯如下圖4.7所示。
圖4.7 高速鏈路通訊命令輸入(編輯)
在(zai)指(zhi)令(ling)運(yun)行(xing)中(zhong),可(ke)以(yi)通(tong)過(guo)通(tong)訊(xun)命(ming)令(ling)表(biao)格(ge)的(de)監(jian)視(shi),來(lai)監(jian)視(shi)通(tong)訊(xun)的(de)當(dang)前(qian)狀(zhuang)態(tai)。或(huo)者(zhe)建(jian)立(li)監(jian)視(shi)頁(ye)麵(mian)來(lai)直(zhi)接(jie)監(jian)視(shi)對(dui)應(ying)的(de)寄(ji)存(cun)器(qi)和(he)特(te)殊(shu)中(zhong)間(jian)繼(ji)電(dian)器(qi),如(ru)Port2使用M1962來指示端口的占用情況,M1963則指示通訊命令完成,R4158指示傳送延時和接收異常狀況。詳細內容請參考永宏FBs-PL《使用手冊》Ⅰ,Ⅱ。
5 結束語 綜上,永宏PLC自(zi)身(shen)的(de)強(qiang)大(da)的(de)通(tong)訊(xun)能(neng)力(li),便(bian)利(li)的(de)編(bian)程(cheng)方(fang)法(fa),完(wan)全(quan)可(ke)以(yi)勝(sheng)任(ren)各(ge)個(ge)應(ying)用(yong)領(ling)域(yu)的(de)通(tong)訊(xun)要(yao)求(qiu)。合(he)理(li)的(de)利(li)用(yong)通(tong)訊(xun)功(gong)能(neng)不(bu)僅(jin)能(neng)完(wan)成(cheng)係(xi)統(tong)數(shu)據(ju)的(de)統(tong)一(yi)管(guan)理(li)和(he)監(jian)控(kong),而(er)且(qie)能(neng)有(you)效(xiao)的(de)降(jiang)低(di)係(xi)統(tong)開(kai)發(fa)的(de)成(cheng)本(ben)。
作者簡介:
孫恒孝(1980- ),畢業於合肥工業大學自動化係
主要從事PLC行業的技術支持與行業應用工作
聯係方式:範堤商貿(上海)有限公司
參考文獻:
[1] 永宏可編程控製器使用手冊I 和使用手冊II
[2] 永宏PLC編程軟件使用手冊
[3] 範逸之,陳立元.Visual Basic與RS-232串行通信控製.北京:清華大學出版社
[4] 廖文輝,可編程控製器應用進階篇.台北:全華科技圖書股份有限公司