基于FINS協(xié)議的OMRON PLC與上位機(jī)以太網(wǎng)通信的實(shí)現(xiàn)

0 引言

在現(xiàn)代工業(yè)自動(dòng)化控制系統(tǒng)中,可編程邏輯控制器(PLC)作為常用的現(xiàn)場(chǎng)控制設(shè)備,上位機(jī)作為數(shù)據(jù)采集及人機(jī)界面的一種已經(jīng)得到廣泛使用。過去,在工程項(xiàng)目開發(fā)中,PLC和上位機(jī)間的通信常采用RS-232C或者RS-485串行方式,這種方法很難滿足數(shù)據(jù)量大、通信距離遠(yuǎn)、實(shí)時(shí)性要求高的控制系統(tǒng)。隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展、普及與推廣,以太網(wǎng)技術(shù)得到了迅速的發(fā)展,其傳輸速率的提高和交換技術(shù)的應(yīng)用,解決了以太網(wǎng)通信的非確定性問題,使得工業(yè)以太網(wǎng)能夠廣泛應(yīng)用于工業(yè)信息控制領(lǐng)域,也是工業(yè)信息控制未來的發(fā)展趨勢(shì)。

FINS(factory interface network service)通信協(xié)議是歐姆龍公司開發(fā)的用于工業(yè)自動(dòng)化控制網(wǎng)絡(luò)的指令/響應(yīng)系統(tǒng)。使用FINS指令可實(shí)現(xiàn)各種網(wǎng)絡(luò)間的無縫通信,包括用于信息網(wǎng)絡(luò)的Etherne(以太網(wǎng)),用于控制網(wǎng)絡(luò)的Controller Link和SYSMAC LINK。通過編程發(fā)送FINS指令,上位機(jī)或PLC就能夠讀寫另一個(gè)PLC數(shù)據(jù)區(qū)的內(nèi)容,甚至控制其運(yùn)行狀態(tài),從而簡(jiǎn)化了用戶程序。FINS協(xié)議支持工業(yè)以太網(wǎng),這就為OMRON PLC與上位機(jī)以太網(wǎng)通信的實(shí)現(xiàn)提供了可能。

1 OMRON PLC與上位機(jī)通信方式

目前,在歐姆龍PLC網(wǎng)絡(luò)組成中,上位機(jī)和PLC的通信可以采用RS232C/485串行通信、Controller Link通信和工業(yè)以太網(wǎng)通信三種方式。它們的主要性能參數(shù)如表1所示。

文獻(xiàn)[3]介紹了采用RS232C/485串行通信的方案,其通信速率僅為9600b/s,速率較慢,很難適應(yīng)現(xiàn)代數(shù)據(jù)量大、通信距離較遠(yuǎn)、實(shí)時(shí)性要求較高的控制系統(tǒng)。

文獻(xiàn)[2]中給出了基于FINS協(xié)議的Controller Link通信的設(shè)計(jì)方案,其最高速率可以達(dá)到2Mb/s,整個(gè)網(wǎng)絡(luò)的最大傳輸距離為500m,硬件上需要在上位機(jī)安裝CLK支持卡,其擴(kuò)展性及應(yīng)用的靈活性沒有工業(yè)以太網(wǎng)好。

在三種通信方式中,工業(yè)以太網(wǎng)的優(yōu)勢(shì)是相當(dāng)明顯的。其傳輸速率可以達(dá)到10/100Mb/s(取決于實(shí)際網(wǎng)絡(luò)環(huán)境);兩個(gè)節(jié)點(diǎn)之間的傳輸距離可以達(dá)到100m,對(duì)于整個(gè)網(wǎng)絡(luò)的傳輸距離沒有限制;網(wǎng)絡(luò)內(nèi)最大節(jié)點(diǎn)數(shù)可以達(dá)到254個(gè),可以實(shí)現(xiàn)1(PLC):N(PC)、N:N、N:1等多種網(wǎng)絡(luò)形式。這些都為構(gòu)架各種規(guī)模的工業(yè)網(wǎng)絡(luò)信息系統(tǒng)提供了有利的條件,具有良好的擴(kuò)展性、實(shí)用性、靈活性。目前使用的上位機(jī)都配有以太網(wǎng)卡,所以上位機(jī)側(cè)無需增加額外的硬件設(shè)備。因此,采用工業(yè)以太網(wǎng)方式對(duì)提高工廠的自動(dòng)化信息控制水平具有很大的現(xiàn)實(shí)意義。

2 以太網(wǎng)FINS通信

在以太網(wǎng)FINS通信中,各種數(shù)據(jù)信息是以UDP/IP包或者TCP/IP包的方式在以太網(wǎng)上發(fā)送和接收的。其中,在Internet層遠(yuǎn)程設(shè)備使用的是IP地址,而在應(yīng)用層使用的則是FINS節(jié)點(diǎn)地址。傳輸層中定義了本地UDP或TCP端口號(hào),它為應(yīng)用層(即FINS通信)提供通信端口,其默認(rèn)設(shè)置為9600。用戶可以根據(jù)實(shí)際情況自行修改,但是在同一網(wǎng)絡(luò)中,各設(shè)備的通信端口號(hào)必須保持一致。

圖1 FINS以太網(wǎng)通信協(xié)議模型

通常以太網(wǎng)通信使用的是IP地址,而在FINS通信中則是使用網(wǎng)絡(luò)號(hào)、節(jié)點(diǎn)號(hào)以及單元號(hào)來對(duì)不同設(shè)備(包括PLC、PC等現(xiàn)場(chǎng)設(shè)備)進(jìn)行地址定義的。這就為不同網(wǎng)絡(luò)之間各種設(shè)備的通信提供了統(tǒng)一的尋址方式。在以太網(wǎng)FINS通信中,歐姆龍的以太網(wǎng)單元一項(xiàng)重要的功能就是能在IP地址和Fins節(jié)點(diǎn)地址之間進(jìn)行轉(zhuǎn)換,其轉(zhuǎn)換方式有自動(dòng)轉(zhuǎn)換、IP地址表和復(fù)合地址表三種方式,其地址轉(zhuǎn)換數(shù)量依據(jù)模塊型號(hào)和轉(zhuǎn)換方式的不同還有相應(yīng)的限制。以太網(wǎng)FINS通信服務(wù)是一種基于UDP/IP的通信方式,稱為FINS/UDP方式,歐姆龍相關(guān)的以太網(wǎng)產(chǎn)品都支持這種方式。此外,CS1W-ETN21和CJ1W-ETN21以太網(wǎng)通信模塊還支持TCP/IP協(xié)議,稱為FINS/TCP方式。

2.1 FI NS/UDP方式

FINS/UDP方式是一種使用UDP/IP協(xié)議的FINS通信方式。UDP/IP是一種無連接的通信協(xié)議。當(dāng)一條信息從一個(gè)節(jié)點(diǎn)發(fā)到另一個(gè)時(shí),這兩個(gè)節(jié)點(diǎn)是沒有明確連接的對(duì)等關(guān)系的。UDP協(xié)議具有較快的傳輸速度,但是數(shù)據(jù)通信的可靠性沒有TCP協(xié)議高。

如圖2所示,是一個(gè)在以太網(wǎng)中發(fā)送和接收所使用的UDP幀結(jié)構(gòu)。FINS/UDP方式使用的是一種嵌套格式數(shù)據(jù)包,即Ethernet報(bào)頭、IP報(bào)頭、UDP報(bào)頭和FINS幀。一個(gè)UDP數(shù)據(jù)段(FINS 幀)超過1472字節(jié)將被分成若干個(gè)數(shù)據(jù)包來傳送。分開的UDP數(shù)據(jù)將在UDP/IP協(xié)議層自動(dòng)組合。通常不需要關(guān)注應(yīng)用層的數(shù)據(jù)分段,但是在一個(gè)多層IP網(wǎng)絡(luò)中1427字節(jié)的UDP包可能無法發(fā)送。在這種系統(tǒng)中就需要使用FINS/TCP方式。

2.2 FINS幀結(jié)構(gòu)

FINS 幀分為FINS指令幀和FINS響應(yīng)幀兩種形式。指令幀在發(fā)送FINS指令時(shí)使用,響應(yīng)幀則在接收到FINS指令后對(duì)其返回響應(yīng)時(shí)使用。它們都是由一個(gè)FINS報(bào)頭(存儲(chǔ)傳輸控制信息)、一個(gè)FINS指令域(存儲(chǔ)一個(gè)FINS指令)以及一個(gè)FINS參數(shù)/數(shù)據(jù)域(存儲(chǔ)指令參數(shù)和發(fā)送/響應(yīng)數(shù)據(jù))所組成的。響應(yīng)幀F(xiàn)INS指令域的內(nèi)容與所接收到的指令幀的FINS指令域相同。具體結(jié)構(gòu)見圖3、圖4。

ICF為信息控制域,用于標(biāo)明指令和響應(yīng);RSV為系統(tǒng)保留;GCT為網(wǎng)關(guān)允許數(shù)目;DNA為目的網(wǎng)絡(luò)號(hào);DA1為目的節(jié)點(diǎn)號(hào);DA2為目的單元號(hào);SNA為源網(wǎng)絡(luò)號(hào);SA1為源節(jié)點(diǎn)號(hào);SA2為源單元號(hào);SID為服務(wù)和響應(yīng)的標(biāo)識(shí)號(hào),可任意設(shè)置,指令和響應(yīng)對(duì)應(yīng)相同;MRC和SRC分別為FINS指令的主指令和從指令;參數(shù)/數(shù)據(jù)域,用于標(biāo)明所操作的數(shù)據(jù)地址、范圍等,在響應(yīng)幀中前兩個(gè)字節(jié)MRES和SRES構(gòu)成響應(yīng)碼,用來診斷錯(cuò)誤信息。

3 FinsGateway和SYSMAC Compolet控件介紹

FinsGateway是OMRON FINS通信協(xié)議的驅(qū)動(dòng)程序,它為計(jì)算機(jī)上的32位Windows操作系統(tǒng)提供一個(gè)工業(yè)自動(dòng)化網(wǎng)絡(luò)環(huán)境。FinsGateway集成了不同的網(wǎng)絡(luò)協(xié)議,并為FINS通信和數(shù)據(jù)鏈接提供驅(qū)動(dòng)程序和接口庫函數(shù)。它通過創(chuàng)建高性能的虛擬存儲(chǔ)區(qū)EventMemory,為不同的用戶程序提供數(shù)據(jù)的接入和共享。利用FinsGateway,計(jì)算機(jī)可以通過各層網(wǎng)絡(luò)(包括網(wǎng)絡(luò)互聯(lián))訪問網(wǎng)絡(luò)上的PLC,通過接口庫函數(shù),用戶還可以開發(fā)程序。

SYSMAC Compolet是歐姆龍公司專門為FINS通信開發(fā)的Active X控件,它是架構(gòu)在FinsGateway這個(gè)驅(qū)動(dòng)程序下的VB控件,對(duì)Fins指令做了進(jìn)一步集成和優(yōu)化。SYSMAC Compolet為SYSMAC C/CS1/CV系列的PLC提供應(yīng)用程序編程接口,在開發(fā)時(shí)只需要調(diào)用該控件,編寫程序更便捷,語句更簡(jiǎn)單,配合使用FinsGateway,通過計(jì)算機(jī)就可以方便地控制訪問PLC,直接對(duì)其操作而不需要掌握相應(yīng)的Fins指令知識(shí)。

 

作者:戴斌,朱建平,袁焱 上海印鈔有限公司   來源:電子技術(shù)
微信掃描分享本文到朋友圈
掃碼關(guān)注5G通信官方公眾號(hào),免費(fèi)領(lǐng)取以下5G精品資料
  • 1、回復(fù)“YD5GAI”免費(fèi)領(lǐng)取《中國(guó)移動(dòng):5G網(wǎng)絡(luò)AI應(yīng)用典型場(chǎng)景技術(shù)解決方案白皮書
  • 2、回復(fù)“5G6G”免費(fèi)領(lǐng)取《5G_6G毫米波測(cè)試技術(shù)白皮書-2022_03-21
  • 3、回復(fù)“YD6G”免費(fèi)領(lǐng)取《中國(guó)移動(dòng):6G至簡(jiǎn)無線接入網(wǎng)白皮書
  • 4、回復(fù)“LTBPS”免費(fèi)領(lǐng)取《《中國(guó)聯(lián)通5G終端白皮書》
  • 5、回復(fù)“ZGDX”免費(fèi)領(lǐng)取《中國(guó)電信5GNTN技術(shù)白皮書
  • 6、回復(fù)“TXSB”免費(fèi)領(lǐng)取《通信設(shè)備安裝工程施工工藝圖解
  • 7、回復(fù)“YDSL”免費(fèi)領(lǐng)取《中國(guó)移動(dòng)算力并網(wǎng)白皮書
  • 8、回復(fù)“5GX3”免費(fèi)領(lǐng)取《R1623501-g605G的系統(tǒng)架構(gòu)1
  • 本周熱點(diǎn)本月熱點(diǎn)

     

      最熱通信招聘

    業(yè)界最新資訊


      最新招聘信息

    最新論壇貼子