1 引言
隨著計算機領域技術的不斷發(fā)展,通訊的在工業(yè)控制領域的應用越來越廣泛,各種智能終端設備都可以通過通訊的方式聯(lián)接起來,形成高度的自動化控制集成系統(tǒng)。最簡單的聯(lián)機方式就是采用串行口通訊。串行口通訊由于接線簡單,成本低,通訊可靠、穩(wěn)定等優(yōu)點,在現(xiàn)實系統(tǒng)的集成化、簡單化和操作方便性上,得以迅速的發(fā)展。
2 串行通訊介紹
串行通訊口在系統(tǒng)控制的領域中占據(jù)著極其重要的地位,它不僅沒有因為時代的進步而淘汰,反而在規(guī)格上越來越完善,應用越來越廣泛。在工業(yè)控制領域,串行通訊的使用比一般的計算機更為普遍。常用的串行口通訊有兩種:一種為RS-232串行通訊,另一種為RS-485串行通訊。
2.1 RS-232串行通訊
通常,計算機中標準的串行通訊端口聯(lián)接為DB-9的9針插頭座。其9針引腳定義如下表1.1。
表1.1 DB-9引腳定義
在由EIA制定的RS0-232C的標準中,規(guī)定了高,低電位形成的”0”和”1”訊號標準電壓范圍。在這個標準中,”0”和”1”的規(guī)定如圖1.1所示。
圖2.1 RS-232電位標準電位圖
在RS-232標準中,電壓在+3V~+15v(一般使用+6V)之間稱為”0”或者Space。一般用途是作為On。壓在-3V~-15v(一般使用-6V)之間稱為”1”或者Mark。一般用途是作為Off。與計算機內(nèi)部一樣,都是利用“高電位”與“低電位”的變化來組成一串數(shù)據(jù)。
雖然串行通訊簡單易用,但在工業(yè)領域中,常常存在著很多的噪聲干擾源,在使用RS-232串行通訊時,經(jīng)常會受到外界的噪聲干擾。RS-232串行通訊的傳輸方式如下圖1.2所示。
圖2.2 RS-232訊號傳輸方式
由圖1.2可知,RS-232為全雙工工作模式,其訊號標準電位是參考地端而來的,在訊號由發(fā)送到接收,要保證兩端的接電端同電位下,才能正確的識別傳輸?shù)挠嵦枴V挥幸粚σ坏耐ㄓ嵐δ。實際應用中傳輸距離可達15米。
在傳輸過程中,若有噪聲的干擾進入,干擾訊號同時在原始訊號線和地線上產(chǎn)生影響,原始訊號將疊加上干擾訊號,而地端的干擾訊號將被地電壓抵消掉了,因此,傳輸訊號將發(fā)生曲扭,整個訊號也將發(fā)生錯誤。為了克服以上的干擾問題,RS-485串行通訊方式應運而生。
2.2 RS-485串行通訊
RS-485的工作模式為半雙工模式,通訊訊號是兩條傳輸線的電位差,屬于差動輸入方式,抗干擾能力強;實際傳輸距離可達1200米。具有一對多站的通訊功能。RS-485的訊號傳輸方式如圖1.3所示。
圖2.3 RS-485訊號傳輸方式
RS-485傳輸?shù)挠嵦枮椋?
DT=(D+)-(D-)
當訊號線受到干擾時,D+訊號線和D-訊號線分別疊加上一個Noise訊號:(D+)+Noise和(D-)+Noise。那么此時的傳輸訊號將變?yōu)椋?
DT=[(D+)+Noise]-[ (D-)+Noise]= (D+)-(D-)
此運算結(jié)果與前一方式結(jié)果一樣,證明使用RS-485可以有效的防止噪聲的干擾。
3 永宏PLC的串行通訊功能
3.1 永宏PLC通訊硬件配置
永宏FBs系列PLC的通訊功能十分的強大,標準主內(nèi)建一個通訊端口Port0(RS-232或者USB,本篇以RS-232做為介紹),主要作用為作為上位機的編程或者HMI的監(jiān)視與控制作用。另外根據(jù)實際的需要,可以選配通訊擴展板(FBs-CBXX)或者通訊擴展模塊(FBs-CMXX)來增加通訊端口,總共可以擴展到5個通訊端口;接口界面支持RS-232、RS-485和以太忘界面。另外通訊速度高達921.6Kbps。足以滿足控制系統(tǒng)的數(shù)據(jù)即使交換。
3.2 永宏PLC通訊協(xié)議
永宏FBs系列PLC提供永宏FATEK通訊協(xié)議,ModBus協(xié)議,以及自由口通訊協(xié)議。用戶可根據(jù)不同的智能終端來選擇通訊端口的通訊協(xié)議。在此需要注意的是主機的Port0口只支持FATEK標準通訊協(xié)議。此章節(jié)主要進行永宏通訊協(xié)議的介紹。
3.2.1 永宏FATEK通訊協(xié)議
永宏PLC主機上各通訊端口在標準通訊模式下都適用此通訊協(xié)議,任何對PLC的數(shù)據(jù)讀寫操作,除了在硬件聯(lián)機和通訊參數(shù)設定中必需通訊雙方一致外,在通訊信息格式(Message format)方面也必需符合本通訊協(xié)議的格式,PLC才能正確響應。
在永宏PLC的通訊結(jié)構(gòu)上,永宏PLC是被定義為從站(SLAVE),而任何與永宏PLC聯(lián)機的外圍設備都為主站(MASTER),即由主站(外圍設備)來主動發(fā)出命令,從站(永宏PLC)只有在收到命令信息后,才根據(jù)該命令的要求響應信息給主系統(tǒng),而不能主動發(fā)出信息給主系統(tǒng),如下的關系圖1.4所示:
圖3.1永宏PLC與智能終端的主從關系
3.2.2 FATEK通訊協(xié)議格式
永宏PLC的通訊信息格式無論是命令信息(主系統(tǒng)發(fā)出)或響應信息(仆系統(tǒng)發(fā)出)都可大概分為6個數(shù)據(jù)區(qū),如下圖3.2所示。
圖3.2 FATEK通訊協(xié)議格式
協(xié)議格式主要包含了:起始字符、總站號碼、命令碼、數(shù)據(jù)資料、校驗碼和結(jié)束字符6部分內(nèi)容。
開頭字符(STX):ASCI I碼之開始字符STX。
從站號碼:為兩位數(shù)之16進制數(shù)值。
命令號碼:為兩位數(shù)之16 進制數(shù)值,為由主系統(tǒng)要求從系統(tǒng)所執(zhí)行之動作類別。
本文資料:本文數(shù)據(jù)可為0(無本文數(shù)據(jù))~500個ASCII字符。
偵誤值(CHECKSUM): 偵誤值系將前述~將各ASCII字符之16進制數(shù)碼值(8位長度)從頭至尾依序相加,但不考慮進位,因此最終結(jié)果為偵誤值。
結(jié)尾字符(ETX):ASCI I碼之結(jié)尾字符ETX之16進制數(shù)碼為03H。
4. 永宏PLC的通訊應用
4.1 通訊系統(tǒng)的工程設計要領
在通訊系統(tǒng)中,要保證兩個(或者多個)智能設備之間正常的、可靠的進行數(shù)據(jù)通訊,需遵循以下幾點要領:
(1) 硬件界面的選擇
在使用通訊時,首先要考慮硬件接口標準,即選擇RS-232或者RS-485界面。這個選擇根據(jù)系統(tǒng)的實際要求來確定。例如要進行多站遠距離的通訊,那就要選擇RS-485通訊。
(2) 保證主從站的通訊協(xié)議一致性
所有的通信設備中,主站的數(shù)據(jù)格式必須與從站一致,才能保證從站識別數(shù)據(jù)。另外還需注意每個設備都要設定獨有的站號地址。
(3) 通訊參數(shù)的設置
在保證以上2個條件外,同時還需注意各個設備的通訊端口的參數(shù)設定,如波特率、數(shù)據(jù)位、停止位、校驗位等,也要保證設定一樣的參數(shù)。
(4) 通訊命令程序的編寫
程序的好壞直接影響整個系統(tǒng)的通訊質(zhì)量,合理的通訊程序能有效的提高通訊效率。這個與編程軟件操作的便利性、指令的簡便性和個人的實踐經(jīng)驗有這很大的關系。
4.2 永宏PLC通訊程序的介紹
永宏PLC的編程軟件WinProLadder提供相當便利的通訊指令FUN150ModBus和FUN151C-Link,同時配合表格命令格式來完成通訊數(shù)據(jù)的交換。
4.3 永宏PLC串行通訊的應用
(1) 永宏PLC之間的通訊聯(lián)機
永宏PLC之間的聯(lián)機方式有2種:一種是一般鏈路方式(FUN151:MD0模式),另一種模式是高速鏈路方式(FUN151:MD3模式),F(xiàn)分別介紹一下這兩種通訊模式的使用。
FBs-PLC的一般鏈路:將從站2的X0~X4傳送到主站0的Y0~Y4;將主站的R100傳送到從站2的D50。
通訊硬件選擇與參數(shù)設定
由于FBs-PLC的內(nèi)建Port0口只能作為客戶(SLAVE)模式,所以必須另外擴展通訊端口,在此我們選擇FBs-CB25來擴展2個通訊口:Pott1(RS-232)和Port2(RS-485)。這里選擇RS-232界面,參數(shù)設定為默認值:9600,E,7,1。根據(jù)永宏PLC的RS-232通訊端口引腳定義,通訊線接法如圖4.1所示。
圖4.1 通訊線接線示意圖
程序編寫
永宏提供免費的程序編輯軟件”WinProLadder”。傳統(tǒng)化的操作界面,豐富簡便的指令使得程序的設計相當?shù)谋憷。這個范例的程序單元編輯如下圖4.2所示。
圖4.2 一般數(shù)據(jù)鏈路程序
說明:當M1960 ON時,表示Port1在屬于閑置狀態(tài),該通訊指令可以進行運行。M0為中間繼電器,用于控制指令的ON/STOP。
當M9160-->ON時,這時接通M0時,FUN151指令將進入”0”工作模式(永宏PLC主站協(xié)議),并通過”Pt”指定的端口Port1將”SR”中的通訊命令傳送到指定的從站中去,等待從站的響應,完成通訊控制。另外”WR”為指定FUN151的內(nèi)部工作寄存器空間。其中該范例的通訊命令表格如圖4.3所示。
圖4.3 一般鏈路通訊表格
命令說明
第0筆命令:指定主站讀取從站的X0狀態(tài),長度為5,即從X0~X4,并讀取到主站的Y0~Y4上面去。命令輸入方式如圖4.4所示。
圖4.4 一般通訊命令輸入(編輯)
類似,第1筆通訊命令則是將主站的R100(長度指定為1)傳送(命令為寫入)到從站的D50去。
到此,永宏PLC之間的通訊指令編輯已完整的結(jié)束。在筆者的使用過程中,永宏的PLC編程顯得相當?shù)姆奖。另外值得一提的是永宏PLC之間的高速鏈路。永宏PLC除了一般的通訊聯(lián)機外,同時,可以通過Port2通訊端口做PCU間高速鏈路通訊,通訊不受掃描周期的影響,最高速度高到921.6Kbps。現(xiàn)就這一功能做一個介紹。
(2) 永宏PLC之間的CPU高速鏈路通訊
通訊硬件選擇與參數(shù)設定:
通訊端口方面永宏PLC指定只能通過Port2做高速鏈路控制。通過Port2的RS-485界面,做4個從站直接的數(shù)控鏈路,高速通訊端口參數(shù)設定指定為:15200,8,E,1。
程序編寫:
在通訊指令中,使用的仍然是FUN151指令,只是在”MD”模式中選擇”3”模式,即代表Port2口通訊工作在CPU高速鏈路的模式。另外”SR”和”WR”的設定與MD0模式類似,只是要注意不要重復使用即可。FUN151的指令編輯如圖4.5所示。
圖4.5 永宏PLC高速PCU鏈路程序
說明:
M1962-->ON狀態(tài)時,表示Port2口正屬于空閑狀態(tài),該指令可以運行。在M1-->ON時,F(xiàn)UN151將通過Port2,工作在”3”模式下(高速鏈路),與其他永宏PLC進行數(shù)據(jù)同步。”SR”的通訊命令表格如圖4.6所示。
圖4.6高速鏈路通訊表格
指令說明:
第0筆通訊命令:表示將主站1的R0~R5(長度為6)6個寄存器的數(shù)據(jù)傳送到第1~5從站的R0~R5。即網(wǎng)絡中的所有從站中對應的寄存器數(shù)據(jù)都將與指令中指定的寄存器同步!
第1筆通訊命令一樣,是將從站3的D90~D93同步到所有PLC,包括主站1和從站2,3和4。具體通訊命令編輯如下圖4.7所示。
圖4.7 高速鏈路通訊命令輸入(編輯)
在指令運行中,可以通過通訊命令表格的監(jiān)視,來監(jiān)視通訊的當前狀態(tài);蛘呓⒈O(jiān)視頁面來直接監(jiān)視對應的寄存器和特殊中間繼電器,如Port2使用M1962來指示端口的占用情況,M1963則指示通訊命令完成,R4158指示傳送延時和接收異常狀況。詳細內(nèi)容請參考永宏FBs-PL《使用手冊》Ⅰ,Ⅱ。
5 結(jié)束語 綜上,永宏PLC自身的強大的通訊能力,便利的編程方法,完全可以勝任各個應用領域的通訊要求。合理的利用通訊功能不僅能完成系統(tǒng)數(shù)據(jù)的統(tǒng)一管理和監(jiān)控,而且能有效的降低系統(tǒng)開發(fā)的成本。
作者簡介:
孫恒孝(1980- ),畢業(yè)于合肥工業(yè)大學自動化系
主要從事PLC行業(yè)的技術支持與行業(yè)應用工作
聯(lián)系方式:范堤商貿(mào)(上海)有限公司
021-66315471
Sun.hengxiao@fatek.com.cn 參考文獻:
[1] 永宏可編程控制器使用手冊I 和使用手冊II
[2] 永宏PLC編程軟件使用手冊
[3] 范逸之,陳立元.Visual Basic與RS-232串行通信控制.北京:清華大學出版社
[4] 廖文輝,可編程控制器應用進階篇.臺北:全華科技圖書股份有限公司