仇榮剛 朱程峰
摘 要 本文主要介紹了如何用上位機軟件通過無線以太網發(fā)送FINS/UDP指令讀寫歐姆龍PLC內存數據的過程,以及簡單介紹如何使用Visual Studio軟件制作上位機軟件。
關鍵詞 工業(yè)以太網;FINS幀;歐姆龍PLC
1系統(tǒng)硬件設計
系統(tǒng)由上位PC機、歐姆龍NX102-1020 PLC和思科無線工業(yè)路由器組成。
2系統(tǒng)軟件設計
2.1 FINS幀結構
在歐姆龍的FINS通信協(xié)議中,各種數據信息是以UDP/IP包或者TCP/IP包的方式在網絡上進行數據的收發(fā)。其中,在Internet層上使用的是 IP地址,而在應用層上則是FINS地址。傳輸層中定義了本地UDP或TCP端口號,它為應用層(即FINS通信)提供通信端口。用戶可以根據實際需求修改各個地址,但是在同一網絡中,各設備的通信端口號必須保持一致,不然會造成無法通訊的情況[1]。
FINS通信協(xié)議建立在UDP/IP基礎上的通訊方法,也可稱為FINS/UDP協(xié)議,市面上帶Ethernet功能的歐姆龍產品均支持FINS/UDP方式。另外,如CJ2M-CPU3*系列CPU,CP1W-CIF41通訊模塊還支持使用TCP/IP協(xié)議(也可稱為FINS/TCP協(xié)議)。本文采用的FINS/UDP是一個在以太網中發(fā)送和接收所使用的UDP幀。
FINS 幀可分為指令幀、響應幀這兩種樣式。指令幀是發(fā)送FINS指令時使用,響應幀則在接收PLC響應時使用。
2.2 上位機軟件設計
歐姆龍NX102-1020與上位機的無線以太網通信依靠FINS協(xié)議實現。上位機發(fā)送FINS指令可以直接讀取或寫入PLC對應內存地址的數據,歐姆龍NX/NJ系列PLC使用的是Sysmac Studio編程軟件,需要對PLC的地址進行指定,用于數據的接收和發(fā)送。若使用CJ系列PLC則無須進行任何邏輯程序。
本文中采用FINS/UDP的方式,上位機軟件利用Visual Studio 2019使用VB環(huán)境進行程序開發(fā),具體實現向PLC發(fā)送FINS指令寫入W100開始的4個字數據的功能[2]。以發(fā)送幀為例子如下:
3無線監(jiān)控系統(tǒng)通信測試
為了驗證無線監(jiān)控系統(tǒng)的通信情況,設計了上位機系統(tǒng)進行實驗測試。主要是發(fā)送FINS指令,解析響應FINS幀。測試結果下圖所示,該結果表明系統(tǒng)通信正常、穩(wěn)定和可靠,并且響應時間快,達到了預期的設計目標。
參考文獻
[1] 李立新.Visual Studio2017高級編程[M].北京:清華大學出版社,
2018:39-43.
[2] 曹慶年,胡欣欣,孟開元,等.基于HART協(xié)議的工業(yè)無線監(jiān)控系統(tǒng)設計[J].西安石油大學學報(自然科學版),2012,(1):12,111-115.