<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設計應用 > 基于FINS協(xié)議的PLC與上位機以太網(wǎng)通信的實(shí)現

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

作者: 時(shí)間:2009-12-07 來(lái)源:網(wǎng)絡(luò ) 收藏

  0 引言

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

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

  1 OMRON PLC與上位機通信方式

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

主要性能參數

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

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

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

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

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

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

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

  2.1 FI NS/UDP方式

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

UDP幀結構

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

  2.2 FINS幀結構

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

FINS響應幀

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

  3 控件介紹

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

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

  4 OMRON PLC與上位機以太網(wǎng)通信的實(shí)現

  OMRON PLC與上位機的以太網(wǎng)通信依靠發(fā)送FINS指令實(shí)現。上位機發(fā)送FINS指令可以直接讀取或寫(xiě)入PLC相應的數據,PLC部分無(wú)需編寫(xiě)接收和發(fā)送程序。文獻[1]給出了運用VC++異步套接字類(lèi)CAsyncSocket與OMRON PLC進(jìn)行以太網(wǎng)通信的方法。本例中采用FINS/UDP方式,具體如圖7所示。上位機利用Visual Basic 6.0進(jìn)行程序開(kāi)發(fā),具體實(shí)現向PLC發(fā)送FINS指令(讀取內存區域,指令代碼0101)讀取DM100開(kāi)始的150個(gè)字數據的功能。相較于文獻[1] 介紹的方法,本文中為不同層次的使用者提供了三種方法來(lái)實(shí)現這一個(gè)功能,增加了系統開(kāi)發(fā)的選擇性。圖7上位機與PLC通過(guò)以太網(wǎng)通信

上位機與PLC通過(guò)以太網(wǎng)通信

  在進(jìn)行上位機程序編程之前首先要完成上位機和PLC的以太網(wǎng)單元的設置。

  (1)設置上位機的IP地址為10.72.18.11,子網(wǎng)掩碼為255.255.255.0,它的FINS節點(diǎn)號默認為11。

  (2)通過(guò)歐姆龍CX-Programmer軟件,在IO表中將PLC CSIW-ETN11以太網(wǎng)單元的IP地址設置為10.72.18.19,子網(wǎng)掩碼為255.255.255.0,FINS節點(diǎn)號設置為19。地址轉換方式設置為自動(dòng)生成(動(dòng)態(tài))。FINS/UDP端口為9600(默認)。保存后下傳至PLC。

  下面主要介紹三種方法來(lái)實(shí)現上述功能。

  4.1 使用Micosoft Wi nsock控件

  在VB中新建一個(gè)Standard.EXE文件。添加Winsock控件,對象命名為"Winsock1",發(fā)送Fins命令程序如下:

  編譯保存后即可。

  4.2 使用FINSGateway中的OMRON FinsMessaging Control

  (1)在上位機中安裝Finsgateway軟件,并在Service Manager中啟動(dòng)CPU_UNIT和ETN_UNIT。

  (2)ETN UNIT屬性中,在"UDP Nodes"中手動(dòng)添加PLC的IP地址(10.72.18.19)和FINS地址(0.19.0)。在"Commuincation Unit Settings"中設置端口號(9600)和FINS-IP地址轉換方式為自動(dòng)生成(動(dòng)態(tài))。

  (3)在VB中新建一個(gè)standard.EXE文件。添加OMRON FinsGateway FinsMessaging Control,對象名為"FinsMsgl"。

  (4)在form區添加一個(gè)Command button(命名為"Command1")作為發(fā)送Fins指令之用;同時(shí)添加一個(gè)textbox(命名為"Text1")作為顯示所接受數據之用。

  (5)在"Conmand1"中的"Click"事件中添加如下代碼:

Private Sub Command1_C1ick()FinsMsg1.sendFinsCommand0,19,0,"0101820064000096"End Sub
在"FinsMsg1"中的"OnReceive"事件中添加如下代碼:
Private Sub FinsMsg1_OnReceive ()
Dim net As Integer,node As Integer,unit AsInteger
Text1.Text=Fins Msg1.receive Message(net,node,unit,vbString)
End Sub

  編譯保存后即可。

  4.3 使用FinsGateway和SYSMAC Compolet

  (1)在上位機中安裝Fins Gateway和SYSMACCompolet軟件。啟動(dòng)FinsGateway的Service Manager,并啟動(dòng)CPU UNIT和ETN UNIT。

  (2)同4.2中第(2)點(diǎn)。

  (3)在VB中新建一個(gè)Standard.EXE文件。添加OMRON SYSMAC CS Control,對象名為"SYSMAC CS11"。

  (4)在對象"SYSMACCS11"屬性中,選擇"Communication"標簽,選中"ActivateCoCommunication"并設置PLC的Fins地址(0.19.0)。

  (5)在form區添加一個(gè)Command button(命名為"Command1")作為發(fā)送Fins指令之用;同時(shí)添加一個(gè)text box(命名為"Text1")作為顯示所接受數據之用。

  (6)在"Conmand1"中的"Click"事件中添加如下代碼:

Private Sub Command1_Click()
Text1.Text=SYSMAC_CS1 1.readArea(plcAreaDM,100,150,vbString)
End Sub

  編譯保存后即可。

  5 結束語(yǔ)

  工業(yè)以太網(wǎng)作為工業(yè)現場(chǎng)信息采集的重要網(wǎng)絡(luò )具有速率高、通信距離遠、抗干擾性好等特點(diǎn),已經(jīng)得到廣泛應用。本文所介紹的三種OMRON PLC與上位機以太網(wǎng)通信的方法均在實(shí)際工程中驗證成功。這三種方法從本質(zhì)上來(lái)說(shuō)其實(shí)是一樣的,但具體使用和實(shí)現過(guò)程有所不同。第一種方法不需要另外購置歐姆龍相關(guān)軟件,但需要對FINS通信底層協(xié)議以及Fins幀結構及其封裝過(guò)程有比較全面的了解,程序編寫(xiě)較為復雜,適用于有一定開(kāi)發(fā)經(jīng)驗的高級用戶(hù)。第二種方法需要掌握Fin s幀結構以及FinsGateway的相關(guān)配置,但是對發(fā)送指令和接收數據的程序編寫(xiě)較為簡(jiǎn)單,適用于中級用戶(hù)。在第三種方法中,使用了SYSMAC Compolet中簡(jiǎn)單易懂的編程語(yǔ)言,即可完成上位機的程序開(kāi)發(fā),整個(gè)程序編寫(xiě)過(guò)程簡(jiǎn)單明了,可以大幅縮減通信程序的開(kāi)發(fā)時(shí)間,適用于那些開(kāi)發(fā)經(jīng)驗較少的初級用戶(hù)。后面兩種方法需要另外購置歐姆龍軟件,這是在程序開(kāi)發(fā)時(shí)需要注意的。這三種方法都可利用工業(yè)以太網(wǎng)實(shí)現OMRON PLC與上位機的通信,具有實(shí)時(shí)性好、速度快、可靠性高、運行穩定等優(yōu)點(diǎn)。在PLC控制系統中采用以太網(wǎng)單元通信后,使工業(yè)自動(dòng)化與生產(chǎn)管理自動(dòng)化有機地結合到了一起,簡(jiǎn)化了系統設計。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>