|
引言 dianzijishuderiyifazhan,tongxunjiekougeigongyekongzhidezidonghuajizhongkongzhidailaijudadebianhua,xitongdefenbukongzhi,wangluodeyuanchengjiankongdengdoushitongguotongxunlaishixianjiankong。gegezhinengshebeizhijianyaojinxingzhengchangtongxun,shouxianyaobaozhengyixia3個條件一致:通訊硬件界麵相同;通訊參數設置一致;以yi及ji通tong訊xun協xie議yi一yi致zhi。在zai串chuan口kou的de通tong訊xun中zhong,界jie麵mian都dou已yi經jing是shi標biao準zhun化hua,參can數shu設she定ding亦yi可ke透tou過guo設she定ding來lai保bao持chi一yi致zhi。但dan在zai智zhi能neng自zi動dong化hua設she備bei中zhong,由you於yu品pin牌pai和he產chan品pin都dou存cun在zai差cha異yi,對dui於yu同tong一yi種zhong產chan品pin,不bu同tong的de品pin牌pai就jiu可ke能neng存cun在zai不bu同tong的de通tong訊xun協xie議yi!所以,智能設備的通訊,設備的選擇是關鍵!但針對同種協議的產品,就有可能縮小設備選型範圍,勢必會對係統的組成存在影響。如造成成本的提升,係統得不到優化等問題。 現就針對通訊協議,介紹永宏PLCdeziyoukoutongxunxieyizuojieshao。jitongguoziyouxieyi,keyigenrenheyigezhinengshebeijinxinglianjie,jinxingshujudechuanshu。dadafangbianlejishurenyuandexuanxing,gengyoulikongzhixitongdeyouhua,xingjiabidetisheng!
1. 係統硬件要求
1.1 永宏FBs-PLC通訊功能 永宏FBs-PLC提供相當強大的通訊功能,SoC單晶片中集合5gegaosutongxunduankou。zhujizidaiyigetongxunduankou。duoyangdekuozhanfangshi,keyixuanzetongxunmokuaihuozhetongxunbanshixiantongxunduankoudekuozhan,danyizhujikeyizuiduokuozhanzhi5個通訊端口;數據傳輸可以選擇ASCII碼或者速度快一倍的二進製碼來傳輸;每個通訊端口通訊速率高達921.6Kbps;支持RS-232,RS-485,USB和Ethernet等界麵;通訊協議提供永宏標準通訊協議,工業界通用的ModBus標準協議,以及自由口協議。這裏我們就永宏PLC的自由通訊協議做進一步探討。 1.2 永宏PLC自由通訊協議簡介 所謂自由通訊協議,永宏PLC作(zuo)為(wei)主(zhu)站(zhan),根(gen)據(ju)通(tong)訊(xun)的(de)從(cong)站(zhan)設(she)備(bei)通(tong)訊(xun)格(ge)式(shi)來(lai)編(bian)寫(xie)通(tong)訊(xun)傳(chuan)輸(shu)數(shu)據(ju)格(ge)式(shi),以(yi)保(bao)證(zheng)通(tong)訊(xun)格(ge)式(shi)的(de)一(yi)致(zhi)性(xing)。在(zai)符(fu)合(he)從(cong)站(zhan)設(she)備(bei)的(de)數(shu)據(ju)格(ge)式(shi)時(shi)設(she)備(bei)才(cai)能(neng)識(shi)別(bie)主(zhu)站(zhan)發(fa)送(song)出(chu)來(lai)的(de)命(ming)令(ling)要(yao)求(qiu),再(zai)根(gen)據(ju)命(ming)令(ling)來(lai)進(jin)行(xing)處(chu)理(li)數(shu)據(ju)、做響應回複等工作。這樣將大大提高PLC控製對象的通訊接口兼容。

圖1.1 RS-485單主多從通訊示意圖
如圖1.1所示,一個永宏PLC可以跟多個智能從站進行通訊;智能從站可以同為一種設備不同品牌,或者不同設備不同品牌,例如其他品牌的PLC、變頻器、智能儀表等,隻要符合RS-485通訊要求即可組網。
[:page:]2. 軟件係統要求與設計
2.1 串行口通訊協議格式 在串行通訊中,數據的格式一般如下圖所示:

圖1.2 串行口一般通訊數據格式
在協議中,一些通訊協議要求命令請求碼,一些則不需要;從起始符到結束符,格式都相似。 起始符:表示通訊命令的開始, 常用02H表示。 地址:從站設備的地址, 範圍在“00H~7FH”。 功能碼:從站設備所規定的功能碼,以響應主站的作動要求。 數據:根據命令碼執行的數據區。 校驗:為保證數據的準確可靠的通訊,協議中都設定校驗碼。常見的校驗有CRC,CHECKSUM。 結束符:表示一筆通訊命令的完成。通常使用03H表示。 在(zai)所(suo)使(shi)用(yong)的(de)設(she)備(bei)中(zhong)會(hui),做(zuo)相(xiang)關(guan)的(de)協(xie)議(yi)規(gui)定(ding)和(he)參(can)數(shu)說(shuo)明(ming),所(suo)以(yi)我(wo)們(men)隻(zhi)要(yao)依(yi)照(zhao)設(she)備(bei)的(de)通(tong)訊(xun)格(ge)式(shi)編(bian)寫(xie)通(tong)訊(xun)命(ming)令(ling),請(qing)求(qiu)從(cong)站(zhan)執(zhi)行(xing)命(ming)令(ling),並(bing)根(gen)據(ju)主(zhu)站(zhan)是(shi)否(fou)要(yao)求(qiu)做(zuo)相(xiang)關(guan)的(de)回(hui)應(ying),來(lai)完(wan)成(cheng)響(xiang)應(ying)。下(xia)麵(mian),我(wo)們(men)會(hui)以(yi)與(yu)士(shi)林(lin)變(bian)頻(pin)器(qi)通(tong)訊(xun)為(wei)實(shi)例(li),做(zuo)相(xiang)關(guan)的(de)介(jie)紹(shao)。
2.2 永宏PLC端軟件設計
永宏PLC在(zai)通(tong)訊(xun)編(bian)程(cheng)方(fang)便(bian)提(ti)供(gong)相(xiang)當(dang)便(bian)利(li)的(de)指(zhi)令(ling)和(he)編(bian)程(cheng)方(fang)法(fa)。在(zai)指(zhi)令(ling)方(fang)式(shi),使(shi)用(yong)一(yi)個(ge)功(gong)能(neng)指(zhi)令(ling)配(pei)合(he)通(tong)訊(xun)表(biao)格(ge),即(ji)可(ke)完(wan)成(cheng)通(tong)訊(xun)命(ming)令(ling)。下(xia)麵(mian)就(jiu)對(dui)指(zhi)令(ling)與(yu)表(biao)格(ge)編(bian)輯(ji)做(zuo)相(xiang)關(guan)介(jie)紹(shao)。永(yong)宏(hong)PLC提供兩個通訊指令FUN150和FUN151,其中FUN150用於ModBus協議通訊用,這裏就不做介紹,詳細請參考《永宏PLC使用手冊》介紹。FBs-PLC可由Por t 1、2、3 或4等四個通訊端口來作永宏多台CPU LINK聯機或與具有RS-232/RS-485通訊接口的智能型外圍通過通訊方式作聯機整合應用。 FUN151(CLINK)通訊聯機便利指令可指定那個通訊端口以何種工作模式運作共有Mode 0~ 3 四種工作模式, 其中的Mode 3 模式為〝高速LINK 網絡〞模式隻允許Port 2使用,其餘都為“一般LINK 網絡”,下表是高速LINK 與一般LINK 指令模式的差別說明。

2.3 FUN151(CLINK)通訊聯機便利指令
FUN151通訊指令梯形圖符號如下:

圖2.1 FUN151指令符號
說明: EN:執行控製輸入 PAU:執行暫停輸入 BAT:通訊放棄輸入 ACT:通訊正執行中輸出 ERR:通訊出錯指示輸出,可以在監視中查找對應的錯誤碼。 DN:通訊正常完成指示輸出。 [:page:]另外還有通訊端口的特殊繼電器和特殊寄存器,簡單介紹如下。

我們針對文章內容,介紹一下MD1模式的工作。對於MD2模式,主要是當要求永宏PLC被動接收其他設備後再做響應時使用,若隻做接收不回應,則就不需要該模式,所以我們重點講一下MD1的工作原理。
2.4 FUN151(CLINK):MD1 通訊聯機便利指令(自由協議主動模式) FUN151(CLINK):MD1 模式提供永宏PLC 主動與具有RS-232/RS-485 通訊端口的智能 型外圍設備聯機;通訊格式由WinProladder程序編寫,必須與所要聯機的通訊設備一致,才能成功聯機。
2.4.1 MD1操作數SR 的說明 SR:數據傳送表格的起始寄存器。即與FUN151指令中的SR對應,例如SR填寫“R5000”時,則RS+0就為R5000,而RS+1即是R5001,以此類推。

說明:1.在選擇“隻傳送”模式時,接收信息的起始符+結束符無意義; 2.在使用“傳送後接收”時,要設定好起始符和結束符,以保證通訊接收無誤,通訊程序也簡單有效; 3.當接收回應信息時,接收完畢後CPU將計算總接收數據的長度,填到WR+8寄存器。
2.4.2 MD1操作數WR的說明 WR:通訊指令運作占用寄存器,具體寄存器作用如下所示。

[:page:]2.4.3泛用通訊表格的編輯 在SR的寄存器空間,對應的建立一個通訊表格,在表格中依照從站設備的通訊協議,編寫通訊數據;這zhe樣yang很hen直zhi觀guan,很hen有you效xiao率lv就jiu能neng完wan成cheng從cong站zhan設she備bei通tong訊xun數shu據ju的de編bian寫xie。當dang然ran,用yong戶hu可ke以yi對dui寄ji存cun器qi做zuo好hao各ge項xiang運yun算suan後hou,對dui應ying的de填tian寫xie正zheng確que數shu值zhi,也ye能neng完wan成cheng通tong訊xun命ming令ling的de編bian寫xie。例li如ruSR+1為R5001寄存器,假設設備的起始符為02H,結束符為03H,可以直接將數據“0203H”往5001裏麵送.但當中運算、數據轉換等的計算較表格,比較複雜,建議還是采用表格編寫。 在WinProLadder程序的專案管理窗口中的“泛用通訊表格”標簽上,點擊右鍵來建立一個表格;或者可以選擇FUN151指令,然後按“Z”建來建立。通過這樣的操作後,會彈出“自由通訊表格”的編輯框,如下圖所示。

圖2.2自由通訊表格
此時的表格類別固定為“泛用通訊表格”; 在表格名稱中給表格起名稱“自由口通訊”;不能重複。 起始地址輸入與FUN151的SR起始地址一致(若是使用“Z”時,則自動為SR的起始值”)。 表格容量設定一般為動態分配,這樣在添加命令時係統會自動分配空間;使用空間也不能與程序其他地方重複使用。 另外在連接PLC後,“資料由PLC加載”和“資料由ROR加載”才能生效;即表示表格資料將從PLC中提取上來。在完成上麵的設定以後,表格即完成建立。

圖2.3自由通訊表格
在通訊模式中,選擇“隻傳送”或者“傳送後接收回應”;即與SR中的SR+0相對應。 起始碼和結束碼:設定接收信息的起始符和結束符;與SR中的SR+1對應。 在“通訊命令表格編輯”中,即要依從站設備通訊協議規定的數據格式來輸入命令。通訊傳送的是ACSII碼,命令可以使用十進製、十六進製和字符來表示;在要用字符表示時,要使用“’”單引號引起來,表示字符的ACII碼。接下內容,我們以實例應用來介紹自由通訊口的MD1主動模式的應用。
[:page:]3. 自由通訊協議的應用
3.1 永宏PLC與士林(SS係列)變頻器通訊 3.1.1硬件配置 士林變頻器提供的是RS-422/485的通訊界麵,在這裏永宏PLC端增加一塊FBs-CB25來擴充一個RS-485的通訊界麵。硬件上配線如下圖所示。

圖3.1永宏PLC與士林變頻器通訊配線圖
另外在FBs-CB25端,請設定終端電阻的撥動開關到”O”狀態,表示使用終端電阻。 變頻器端的通訊參數設定 控製方式來源:1(Pr31)為通訊控製 波特率:;9600(Pr32); 站號:1(Pr36); 數據位: 8BIT(Pr48); 停止位:1停止位(Pr49); 校驗:無校驗(Pr50); CR校驗(Pr51) 將波特率、停止位、數據位、校驗設定與PLC端的Por2口一致,其他參數根據需要做調整。
3.1.2士林變頻器通訊協議

○1上位機通訊請求; ○2等待時間 ○3變頻器回應數據 ○4上位機處理時間 ○5上位機回複數據 3.1.3變頻器通訊數據格式 1, 上位機至變頻器通訊要求(我們針對內容隻介紹格式A:寫資料至變頻器。其他從略)。

2, 資料寫入時,變頻器回應數據格式

其中句柄說明(ASCII CODE) STX----H02 ETX----H03 ENQ----H05 ACK----H06 CR-----H0D NAK---H15 LF------ H0A 另外,SUM-CHECK計算範圍為:從站號開始到資料的的低字節結束數據的ASCII碼總和;取低字節部分。計算範例如下:

其他通訊格式請參考士林變頻器使用手冊。
[:page:]3.1.4通訊控製字

依據以上通訊協議規定,可以得到控製變頻的運行和停止控製命令如下。
3.1.5 PLC程序輸入 正轉命令 :當FAH的資料為“2”時變頻器正轉。數據格式如下:

停止命令 :當FAH的資料為“0”時變頻器正轉。數據格式如下:

根據以上的命令 在軟件中編寫程序如下。
程序部分:

圖3.2永宏PLC通訊程序示意圖
表格部分:

圖3.3永宏PLC通訊表格示意圖
從R5003開始到R5015,共有13個寄存器,則係統將自動將數據長度13填寫到R5002中:“0DH”(ASCII碼)。 另外通訊數據的校驗碼,可以通過拖選“資料預覽”中的數據範圍來計算。如該正轉命令的數據校驗總和值為R5004~R5012,在拖選中該範圍後,表格底下的“總和值(字節)=”將計算得到“D9”。
[:page:]3.1.6 PLC程序執行 到這,控製變頻器正轉命令編輯完畢。這樣,我們運行PLC。將M1接點至ON後,PLC將通訊數據送達變頻器。此時,變頻器將正轉運行!同時變頻器將向PLC回應數據到WR中。回應數據如下:

4. 結束語 綜上,我們就自由通訊的主動模式做了介紹,由於篇幅問題,請讀者自行測試控製變頻器停止命令,以及自由通訊的MD2被動模式,請客戶自行參考永宏PLC相關使用手冊的介紹。永宏PLC強大的通訊能力,便利的編程方法,幾乎可以兼容所有智能通訊設備。極大程度的提高可編程控製器的接口兼容性,使得客戶在選型、係統配置上大大的提供便利性。
參考文獻: [1] 永宏可編程控製器使用手冊I 和使用手冊II.台灣永宏電機股份有限公司 [2] 永宏PLC編程軟件使用手冊.台灣永宏電機股份有限公司 [3] 士林變頻器SS係列使用手冊.蘇州士林電機有限公司
作者簡介: 孫恒孝(1980- ),畢業於合肥工業大學自動化係 主要從事PLC行業的技術支持與行業應用工作 聯係方式:範堤商貿(上海)有限公司 021-66315471
|