modbus設備數據轉opcua項目案例
1 案例說明
設置網關采集Modbus設備數據
把采集的數據轉成opc ua協議轉發給其他系統。
2 VFBOX網關工作原理 VFBOX網關是協議轉換網關,是把一種協議轉換成另外一種協議。網關可以采集西門子,歐姆龍,三菱,AB PLC,DLT645,DLT698電表,modbus rtu tcp,環保的HJ212協議,opc ua和opc da,電力的IEC103 IEC104, IEC61850等,以及EthernetIP,Profinet IO,CCLink,EtherCAT現場總線協議,bacnet,MQTT,mysql,sqlserver數據庫。不同型號的網關支持不同的協議,具體支持的協議參考網關側面標簽上的型號。依托500多種型號的網關產品,可以實現多種不同協議之間的互聯互通。 網關連接在不同協議的設備之間,就像一個“翻譯”,把一種設備支持的協議,轉換成另一種設備支持的協議,從而實現兩個不同協議的設備之間的數據交換。工作架構如下:
3 準備工作
VFBOX網關。支持采集modbus設備數據,opc ua協議轉發。
電腦。IP設置成192.168.1.198,和網關在同一個網段。
網線、12V電源。
Modbus從站設備。本文用一個溫濕度傳感器進行測試。
4 設置網關采集modbus從站數據
硬件連接。首先確認設備的接口是RS232還是RS485接口。并按如下的方式進行連接。 接口類型 設備 網關 RS232接口 RX COM1-TX TX COM1-RX GND COM1-GND RS485接口 A COM1-A B COM1-B
在電腦上打開VFBOX Studio配置軟件。新建工程,選擇對應的設備類型。設備類型查看設備背面的標簽。可選的型號有:VB301-1100,VB301-1200,VB301-1400,VB302-2400,VB303-2400.
點擊 新建設備,選擇modbus RTU驅動。
輸入設備名稱,自己定義設備名稱。
輸入和設備相同的串口參數。比如,設備的波特率是9600,則下面的對話框也選擇9600.
增加要采集的數據。輸入數據的數據類型和寄存器地址。
填寫說明。在添加“地址”的時候需要對modbus的通信指令有一些了解,這里面有一些默認的規則。可先查看設備的說明書,找到要讀取的地址。然后通過對比下表進行設置。 數據區 功能說明 0X Digital Coils 數據類型:Boolean 讀寫:可讀寫 寄存器地址:00001-09999(10進制), 協議地址:0000H-270FH(16進制) 對應的功能碼:01H 05H 0FH 1X digital Inputs 數據類型:Boolean 讀寫:只讀 寄存器地址:10001-19999(10進制), 協議地址:0000H-270FH(16進制) 對應的功能碼:02H 3X Analog Inputs 數據類型: 1 Register: short word 2 Register: Long Dword float 4 Register: LLong Qword Double 讀寫:只讀 寄存器地址:30001-39999(10進制), 協議地址:0000H-270FH(16進制) 對應的功能碼:04H 4X Holding Registers 數據類型: 1 Register: short word 2 Register: Long Dword float 4 Register: LLong Qword Double 讀寫:可讀寫 地址范圍:40001-49999(10進制),0000H-270FH(16進制) 對應的功能碼:03H 06H 10H 其他說明:
地址可填寫5位或者6位的地址長度。
如果設備的地址是從0開始,則設置網關時地址加1。
地址是10進制。
舉例1:假設要讀取的地址是40015,數據類型是float,地址從0開始,則查看上表,40015對應的數據區是“4X Holding Registers”,且數據類型是float,則數據區選擇“4X Holding Registers(2 Registers)”,設備地址從0開始,則在網關里配置為40016,配置如下:
舉例2:假設讀取數據的功能碼是03,地址是0x39,地址從1開始,數據類型是double。查看上表可知,03功能碼對應的數據區是“4X Holding Registers”,數據類型是double,則數據區選擇“4X Holding Registers(4 Registers)”,地址是0x39,轉換成10進制是57,則設置如下:
設置完成后,點擊菜單“下載”,把工程下載到網關里。
點擊菜單“查看數據”,查看網關采集到的數據。
如果顯示的數據和實際不匹配,可能是字節順序要調整。在下面的窗口中可以修改波特率,掃描間隔,通訊超時,字節順序等參數。
數據類型 網關支持多種數據類型,用戶在添加的時候可以根據采集到數據選擇對應的數據類型。不同的設備可能有不同的數據類型名稱,可對應選擇。 Boolean 位,布爾變量。變量存儲為 8 位(1 個字節)的數值形式,但只能是True 或是 False。 Char 有符號數,有負數。占用一個字節,8位。 Byte 無符號數,占用一個字節,8位。 Short 有符號短整型。有負數。長度2個字節,16位。 Word 無符號的短整型,長度2個字節,16位。 Long 有符號長整型,有負數。長度4個字節,取值范圍為:-2^31 ~ (2^31 -1)。 DWord 無符號的長整型,且占4個字節,32位。 Float 單精度浮點型數據,長度 4 個字節,包括一個符號位、一個 8 位 二進制指數和一個 23 位尾數。浮點型轉換成10進制數據的時候請注意字節順序問題。在不同的設備中字節順序不同,有4種不同的字節順序:1234、4321、3412、2143。網關在轉發浮點型數據的時候,不對字節順序進行調整,所以在轉換的時候請參考被采集設備的浮點數順序。 LLong LLong是長度為8個字節的有符號整數。有負數。 Qword Qword是長度為8個字節的無符號整數。 Double 雙精度浮點(double)型,占8 個字節(64位)內存空間。
5 啟動opc ua協議轉發采集的數據
在左側服務中選擇“OPC UA”,Enable設置成Yes。
添加轉發的采集標簽,并把工程下載工程到網關。
在電腦上就可以用OPC UA client軟件從網關中讀取數據了。
6 案例總結 使用協議轉換網關可以很方便的實現不同協議的設備之間的數據轉換。大量節省了項目實施過程的時間成本,人力成本。VFBOX網關產品都是工業級品質,符合工業應用的場景。只需要簡單的參數配置,可以很快完成設備和系統之間的連接。方案優點:
不需要修改設備里的程序。
不影響設備原有的工作方式和功能。
只需要簡單的配置就可以實現功能需求。
設備長期穩定工作。
網關運行架構如下
提交
串口環保212設備數據轉CCLinkIEFieldBasic項目案例
modbus設備數據轉CCLinkIEFieldBasic項目案例
DNP3設備數據轉IEC61850項目案例
IEC103設備數據轉IEC61850項目案例
SNMP設備數據轉IEC61850項目案例