基于FINS協(xié)議的OMRON PLC與上位機以太網通信的實現(xiàn)
2.2 FINS幀結構
FINS 幀分為FINS指令幀和FINS響應幀兩種形式。指令幀在發(fā)送FINS指令時使用,響應幀則在接收到FINS指令后對其返回響應時使用。它們都是由一個FINS報頭(存儲傳輸控制信息)、一個FINS指令域(存儲一個FINS指令)以及一個FINS參數/數據域(存儲指令參數和發(fā)送/響應數據)所組成的。響應幀F(xiàn)INS指令域的內容與所接收到的指令幀的FINS指令域相同。具體結構見圖3、圖4。本文引用地址:http://www.butianyuan.cn/article/157763.htm
ICF為信息控制域,用于標明指令和響應;RSV為系統(tǒng)保留;GCT為網關允許數目;DNA為目的網絡號;DA1為目的節(jié)點號;DA2為目的單元號;SNA為源網絡號;SA1為源節(jié)點號;SA2為源單元號;SID為服務和響應的標識號,可任意設置,指令和響應對應相同;MRC和SRC分別為FINS指令的主指令和從指令;參數/數據域,用于標明所操作的數據地址、范圍等,在響應幀中前兩個字節(jié)MRES和SRES構成響應碼,用來診斷錯誤信息。
3 FinsGateway和SYSMAC Compolet控件介紹
FinsGateway是OMRON FINS通信協(xié)議的驅動程序,它為計算機上的32位Windows操作系統(tǒng)提供一個工業(yè)自動化網絡環(huán)境。FinsGateway集成了不同的網絡協(xié)議,并為FINS通信和數據鏈接提供驅動程序和接口庫函數。它通過創(chuàng)建高性能的虛擬存儲區(qū)EventMemory,為不同的用戶程序提供數據的接入和共享。利用FinsGateway,計算機可以通過各層網絡(包括網絡互聯(lián))訪問網絡上的PLC,通過接口庫函數,用戶還可以開發(fā)程序。
SYSMAC Compolet是歐姆龍公司專門為FINS通信開發(fā)的Active X控件,它是架構在FinsGateway這個驅動程序下的VB控件,對Fins指令做了進一步集成和優(yōu)化。SYSMAC Compolet為SYSMAC C/CS1/CV系列的PLC提供應用程序編程接口,在開發(fā)時只需要調用該控件,編寫程序更便捷,語句更簡單,配合使用FinsGateway,通過計算機就可以方便地控制訪問PLC,直接對其操作而不需要掌握相應的Fins指令知識。
4 OMRON PLC與上位機以太網通信的實現(xiàn)
OMRON PLC與上位機的以太網通信依靠發(fā)送FINS指令實現(xiàn)。上位機發(fā)送FINS指令可以直接讀取或寫入PLC相應的數據,PLC部分無需編寫接收和發(fā)送程序。文獻[1]給出了運用VC++異步套接字類CAsyncSocket與OMRON PLC進行以太網通信的方法。本例中采用FINS/UDP方式,具體如圖7所示。上位機利用Visual Basic 6.0進行程序開發(fā),具體實現(xiàn)向PLC發(fā)送FINS指令(讀取內存區(qū)域,指令代碼0101)讀取DM100開始的150個字數據的功能。相較于文獻[1]介紹的方法,本文中為不同層次的使用者提供了三種方法來實現(xiàn)這一個功能,增加了系統(tǒng)開發(fā)的選擇性。圖7上位機與PLC通過以太網通信
在進行上位機程序編程之前首先要完成上位機和PLC的以太網單元的設置。
數字通信相關文章:數字通信原理
通信相關文章:通信原理
評論