siemens x
I/O 設(shè)備

基于永宏P(guān)LC的串行口通訊原理及其應(yīng)用

2025China.cn   2008年10月07日
摘要:本篇以永宏P(guān)LC為基礎(chǔ),基于串行口通訊的原理,介紹永宏P(guān)LC在串行口通訊系統(tǒng)的設(shè)計(jì)以及軟件的應(yīng)用

1 引言
       隨著計(jì)算機(jī)領(lǐng)域技術(shù)的不斷發(fā)展,通訊的在工業(yè)控制領(lǐng)域的應(yīng)用越來越廣泛,各種智能終端設(shè)備都可以通過通訊的方式聯(lián)接起來,形成高度的自動化控制集成系統(tǒng)。最簡單的聯(lián)機(jī)方式就是采用串行口通訊。串行口通訊由于接線簡單,成本低,通訊可靠、穩(wěn)定等優(yōu)點(diǎn),在現(xiàn)實(shí)系統(tǒng)的集成化、簡單化和操作方便性上,得以迅速的發(fā)展。

2 串行通訊介紹
       串行通訊口在系統(tǒng)控制的領(lǐng)域中占據(jù)著極其重要的地位,它不僅沒有因?yàn)闀r(shí)代的進(jìn)步而淘汰,反而在規(guī)格上越來越完善,應(yīng)用越來越廣泛。在工業(yè)控制領(lǐng)域,串行通訊的使用比一般的計(jì)算機(jī)更為普遍。常用的串行口通訊有兩種:一種為RS-232串行通訊,另一種為RS-485串行通訊。
2.1 RS-232串行通訊
       通常,計(jì)算機(jī)中標(biāo)準(zhǔn)的串行通訊端口聯(lián)接為DB-9的9針插頭座。其9針引腳定義如下表1.1。

tu1.jpg
表1.1 DB-9引腳定義

       在由EIA制定的RS0-232C的標(biāo)準(zhǔn)中,規(guī)定了高,低電位形成的”0”和”1”訊號標(biāo)準(zhǔn)電壓范圍。在這個(gè)標(biāo)準(zhǔn)中,”0”和”1”的規(guī)定如圖1.1所示。 
tu2.jpg

圖2.1 RS-232電位標(biāo)準(zhǔn)電位圖 

      在RS-232標(biāo)準(zhǔn)中,電壓在+3V~+15v(一般使用+6V)之間稱為”0”或者Space。一般用途是作為On。壓在-3V~-15v(一般使用-6V)之間稱為”1”或者M(jìn)ark。一般用途是作為Off。與計(jì)算機(jī)內(nèi)部一樣,都是利用“高電位”與“低電位”的變化來組成一串?dāng)?shù)據(jù)。
       雖然串行通訊簡單易用,但在工業(yè)領(lǐng)域中,常常存在著很多的噪聲干擾源,在使用RS-232串行通訊時(shí),經(jīng)常會受到外界的噪聲干擾。RS-232串行通訊的傳輸方式如下圖1.2所示。 

tu3.jpg
圖2.2 RS-232訊號傳輸方式
       由圖1.2可知,RS-232為全雙工工作模式,其訊號標(biāo)準(zhǔn)電位是參考地端而來的,在訊號由發(fā)送到接收,要保證兩端的接電端同電位下,才能正確的識別傳輸?shù)挠嵦?。只有一對一的通訊功能。?shí)際應(yīng)用中傳輸距離可達(dá)15米。
       在傳輸過程中,若有噪聲的干擾進(jìn)入,干擾訊號同時(shí)在原始訊號線和地線上產(chǎn)生影響,原始訊號將疊加上干擾訊號,而地端的干擾訊號將被地電壓抵消掉了,因此,傳輸訊號將發(fā)生曲扭,整個(gè)訊號也將發(fā)生錯(cuò)誤。為了克服以上的干擾問題,RS-485串行通訊方式應(yīng)運(yùn)而生。
2.2 RS-485串行通訊
       RS-485的工作模式為半雙工模式,通訊訊號是兩條傳輸線的電位差,屬于差動輸入方式,抗干擾能力強(qiáng);實(shí)際傳輸距離可達(dá)1200米。具有一對多站的通訊功能。RS-485的訊號傳輸方式如圖1.3所示。 
tu4.jpg
圖2.3 RS-485訊號傳輸方式
RS-485傳輸?shù)挠嵦枮椋?
DT=(D+)-(D-)
       當(dāng)訊號線受到干擾時(shí),D+訊號線和D-訊號線分別疊加上一個(gè)Noise訊號:(D+)+Noise和(D-)+Noise。那么此時(shí)的傳輸訊號將變?yōu)椋?
DT=[(D+)+Noise]-[ (D-)+Noise]= (D+)-(D-)
此運(yùn)算結(jié)果與前一方式結(jié)果一樣,證明使用RS-485可以有效的防止噪聲的干擾。 

3 永宏P(guān)LC的串行通訊功能
3.1 永宏P(guān)LC通訊硬件配置
       永宏FBs系列PLC的通訊功能十分的強(qiáng)大,標(biāo)準(zhǔn)主內(nèi)建一個(gè)通訊端口Port0(RS-232或者USB,本篇以RS-232做為介紹),主要作用為作為上位機(jī)的編程或者HMI的監(jiān)視與控制作用。另外根據(jù)實(shí)際的需要,可以選配通訊擴(kuò)展板(FBs-CBXX)或者通訊擴(kuò)展模塊(FBs-CMXX)來增加通訊端口,總共可以擴(kuò)展到5個(gè)通訊端口;接口界面支持RS-232、RS-485和以太忘界面。另外通訊速度高達(dá)921.6Kbps。足以滿足控制系統(tǒng)的數(shù)據(jù)即使交換。
3.2 永宏P(guān)LC通訊協(xié)議 
       永宏FBs系列PLC提供永宏FATEK通訊協(xié)議,ModBus協(xié)議,以及自由口通訊協(xié)議。用戶可根據(jù)不同的智能終端來選擇通訊端口的通訊協(xié)議。在此需要注意的是主機(jī)的Port0口只支持FATEK標(biāo)準(zhǔn)通訊協(xié)議。此章節(jié)主要進(jìn)行永宏通訊協(xié)議的介紹。
3.2.1 永宏FATEK通訊協(xié)議
       永宏P(guān)LC主機(jī)上各通訊端口在標(biāo)準(zhǔn)通訊模式下都適用此通訊協(xié)議,任何對PLC的數(shù)據(jù)讀寫操作,除了在硬件聯(lián)機(jī)和通訊參數(shù)設(shè)定中必需通訊雙方一致外,在通訊信息格式(Message format)方面也必需符合本通訊協(xié)議的格式,PLC才能正確響應(yīng)。
       在永宏P(guān)LC的通訊結(jié)構(gòu)上,永宏P(guān)LC是被定義為從站(SLAVE),而任何與永宏P(guān)LC聯(lián)機(jī)的外圍設(shè)備都為主站(MASTER),即由主站(外圍設(shè)備)來主動發(fā)出命令,從站(永宏P(guān)LC)只有在收到命令信息后,才根據(jù)該命令的要求響應(yīng)信息給主系統(tǒng),而不能主動發(fā)出信息給主系統(tǒng),如下的關(guān)系圖1.4所示:
tu5.jpg
圖3.1永宏P(guān)LC與智能終端的主從關(guān)系
 
3.2.2 FATEK通訊協(xié)議格式
       永宏P(guān)LC的通訊信息格式無論是命令信息(主系統(tǒng)發(fā)出)或響應(yīng)信息(仆系統(tǒng)發(fā)出)都可大概分為6個(gè)數(shù)據(jù)區(qū),如下圖3.2所示。 
tu6.jpg
 圖3.2 FATEK通訊協(xié)議格式
 
協(xié)議格式主要包含了:起始字符、總站號碼、命令碼、數(shù)據(jù)資料、校驗(yàn)碼和結(jié)束字符6部分內(nèi)容。
開頭字符(STX):ASCI I碼之開始字符STX。
從站號碼:為兩位數(shù)之16進(jìn)制數(shù)值。
命令號碼:為兩位數(shù)之16 進(jìn)制數(shù)值,為由主系統(tǒng)要求從系統(tǒng)所執(zhí)行之動作類別。
本文資料:本文數(shù)據(jù)可為0(無本文數(shù)據(jù))~500個(gè)ASCII字符。
偵誤值(CHECKSUM): 偵誤值系將前述~將各ASCII字符之16進(jìn)制數(shù)碼值(8位長度)從頭至尾依序相加,但不考慮進(jìn)位,因此最終結(jié)果為偵誤值。
結(jié)尾字符(ETX):ASCI I碼之結(jié)尾字符ETX之16進(jìn)制數(shù)碼為03H。

4. 永宏P(guān)LC的通訊應(yīng)用
4.1 通訊系統(tǒng)的工程設(shè)計(jì)要領(lǐng)
       在通訊系統(tǒng)中,要保證兩個(gè)(或者多個(gè))智能設(shè)備之間正常的、可靠的進(jìn)行數(shù)據(jù)通訊,需遵循以下幾點(diǎn)要領(lǐng):
(1) 硬件界面的選擇
       在使用通訊時(shí),首先要考慮硬件接口標(biāo)準(zhǔn),即選擇RS-232或者RS-485界面。這個(gè)選擇根據(jù)系統(tǒng)的實(shí)際要求來確定。例如要進(jìn)行多站遠(yuǎn)距離的通訊,那就要選擇RS-485通訊。
(2) 保證主從站的通訊協(xié)議一致性
       所有的通信設(shè)備中,主站的數(shù)據(jù)格式必須與從站一致,才能保證從站識別數(shù)據(jù)。另外還需注意每個(gè)設(shè)備都要設(shè)定獨(dú)有的站號地址。
(3) 通訊參數(shù)的設(shè)置
       在保證以上2個(gè)條件外,同時(shí)還需注意各個(gè)設(shè)備的通訊端口的參數(shù)設(shè)定,如波特率、數(shù)據(jù)位、停止位、校驗(yàn)位等,也要保證設(shè)定一樣的參數(shù)。
(4) 通訊命令程序的編寫
       程序的好壞直接影響整個(gè)系統(tǒng)的通訊質(zhì)量,合理的通訊程序能有效的提高通訊效率。這個(gè)與編程軟件操作的便利性、指令的簡便性和個(gè)人的實(shí)踐經(jīng)驗(yàn)有這很大的關(guān)系。
4.2 永宏P(guān)LC通訊程序的介紹
       永宏P(guān)LC的編程軟件WinProLadder提供相當(dāng)便利的通訊指令FUN150ModBus和FUN151C-Link,同時(shí)配合表格命令格式來完成通訊數(shù)據(jù)的交換。
4.3 永宏P(guān)LC串行通訊的應(yīng)用
(1) 永宏P(guān)LC之間的通訊聯(lián)機(jī)
       永宏P(guān)LC之間的聯(lián)機(jī)方式有2種:一種是一般鏈路方式(FUN151:MD0模式),另一種模式是高速鏈路方式(FUN151:MD3模式)?,F(xiàn)分別介紹一下這兩種通訊模式的使用。
       FBs-PLC的一般鏈路:將從站2的X0~X4傳送到主站0的Y0~Y4;將主站的R100傳送到從站2的D50。
通訊硬件選擇與參數(shù)設(shè)定
       由于FBs-PLC的內(nèi)建Port0口只能作為客戶(SLAVE)模式,所以必須另外擴(kuò)展通訊端口,在此我們選擇FBs-CB25來擴(kuò)展2個(gè)通訊口:Pott1(RS-232)和Port2(RS-485)。這里選擇RS-232界面,參數(shù)設(shè)定為默認(rèn)值:9600,E,7,1。根據(jù)永宏P(guān)LC的RS-232通訊端口引腳定義,通訊線接法如圖4.1所示。 
tu7.jpg
圖4.1 通訊線接線示意圖
 
程序編寫
       永宏提供免費(fèi)的程序編輯軟件”WinProLadder”。傳統(tǒng)化的操作界面,豐富簡便的指令使得程序的設(shè)計(jì)相當(dāng)?shù)谋憷?。這個(gè)范例的程序單元編輯如下圖4.2所示。
 
tu8.jpg
圖4.2 一般數(shù)據(jù)鏈路程序
 
說明:當(dāng)M1960 ON時(shí),表示Port1在屬于閑置狀態(tài),該通訊指令可以進(jìn)行運(yùn)行。M0為中間繼電器,用于控制指令的ON/STOP。
當(dāng)M9160-->ON時(shí),這時(shí)接通M0時(shí),FUN151指令將進(jìn)入”0”工作模式(永宏P(guān)LC主站協(xié)議),并通過”Pt”指定的端口Port1將”SR”中的通訊命令傳送到指定的從站中去,等待從站的響應(yīng),完成通訊控制。另外”WR”為指定FUN151的內(nèi)部工作寄存器空間。其中該范例的通訊命令表格如圖4.3所示。
 
tu9.jpg
圖4.3 一般鏈路通訊表格
 
命令說明
第0筆命令:指定主站讀取從站的X0狀態(tài),長度為5,即從X0~X4,并讀取到主站的Y0~Y4上面去。命令輸入方式如圖4.4所示。 
tu10.jpg
圖4.4 一般通訊命令輸入(編輯)
 
類似,第1筆通訊命令則是將主站的R100(長度指定為1)傳送(命令為寫入)到從站的D50去。
到此,永宏P(guān)LC之間的通訊指令編輯已完整的結(jié)束。在筆者的使用過程中,永宏的PLC編程顯得相當(dāng)?shù)姆奖?。另外值得一提的是永宏P(guān)LC之間的高速鏈路。永宏P(guān)LC除了一般的通訊聯(lián)機(jī)外,同時(shí),可以通過Port2通訊端口做PCU間高速鏈路通訊,通訊不受掃描周期的影響,最高速度高到921.6Kbps。現(xiàn)就這一功能做一個(gè)介紹。
(2) 永宏P(guān)LC之間的CPU高速鏈路通訊
通訊硬件選擇與參數(shù)設(shè)定:
       通訊端口方面永宏P(guān)LC指定只能通過Port2做高速鏈路控制。通過Port2的RS-485界面,做4個(gè)從站直接的數(shù)控鏈路,高速通訊端口參數(shù)設(shè)定指定為:15200,8,E,1。
程序編寫:
       在通訊指令中,使用的仍然是FUN151指令,只是在”MD”模式中選擇”3”模式,即代表Port2口通訊工作在CPU高速鏈路的模式。另外”SR”和”WR”的設(shè)定與MD0模式類似,只是要注意不要重復(fù)使用即可。FUN151的指令編輯如圖4.5所示。
 
tu11.jpg
 圖4.5 永宏P(guān)LC高速PCU鏈路程序 
 
說明:
       M1962-->ON狀態(tài)時(shí),表示Port2口正屬于空閑狀態(tài),該指令可以運(yùn)行。在M1-->ON時(shí),F(xiàn)UN151將通過Port2,工作在”3”模式下(高速鏈路),與其他永宏P(guān)LC進(jìn)行數(shù)據(jù)同步?!盨R”的通訊命令表格如圖4.6所示。
tu12.jpg
圖4.6高速鏈路通訊表格
指令說明:
       第0筆通訊命令:表示將主站1的R0~R5(長度為6)6個(gè)寄存器的數(shù)據(jù)傳送到第1~5從站的R0~R5。即網(wǎng)絡(luò)中的所有從站中對應(yīng)的寄存器數(shù)據(jù)都將與指令中指定的寄存器同步!
       第1筆通訊命令一樣,是將從站3的D90~D93同步到所有PLC,包括主站1和從站2,3和4。具體通訊命令編輯如下圖4.7所示。 
tu13.jpg
圖4.7 高速鏈路通訊命令輸入(編輯)
       在指令運(yùn)行中,可以通過通訊命令表格的監(jiān)視,來監(jiān)視通訊的當(dāng)前狀態(tài)?;蛘呓⒈O(jiān)視頁面來直接監(jiān)視對應(yīng)的寄存器和特殊中間繼電器,如Port2使用M1962來指示端口的占用情況,M1963則指示通訊命令完成,R4158指示傳送延時(shí)和接收異常狀況。詳細(xì)內(nèi)容請參考永宏FBs-PL《使用手冊》Ⅰ,Ⅱ。

5 結(jié)束語
       綜上,永宏P(guān)LC自身的強(qiáng)大的通訊能力,便利的編程方法,完全可以勝任各個(gè)應(yīng)用領(lǐng)域的通訊要求。合理的利用通訊功能不僅能完成系統(tǒng)數(shù)據(jù)的統(tǒng)一管理和監(jiān)控,而且能有效的降低系統(tǒng)開發(fā)的成本。


  作者簡介:
       孫恒孝(1980- ),畢業(yè)于合肥工業(yè)大學(xué)自動化系
       主要從事PLC行業(yè)的技術(shù)支持與行業(yè)應(yīng)用工作
       聯(lián)系方式:范堤商貿(mào)(上海)有限公司
       021-66315471
      


  參考文獻(xiàn):
       [1] 永宏可編程控制器使用手冊I 和使用手冊II
       [2] 永宏P(guān)LC編程軟件使用手冊
       [3] 范逸之,陳立元.Visual Basic與RS-232串行通信控制.北京:清華大學(xué)出版社
       [4] 廖文輝,可編程控制器應(yīng)用進(jìn)階篇.臺北:全華科技圖書股份有限公司

(轉(zhuǎn)載)

標(biāo)簽:基于 永宏P(guān)LC 串行口 通訊原理 我要反饋 
2024世界人工智能大會專題
即刻點(diǎn)擊并下載ABB資料,好禮贏不停~
優(yōu)傲機(jī)器人下載中心
西克
2024全景工博會
專題報(bào)道