工控網首頁
>

應用設計

>

modbus設備數據保存到mysql數據庫項目案例

modbus設備數據保存到mysql數據庫項目案例

2025/7/10 10:46:25

一、 案例說明

1.   設置網關采集Modbus設備數據

2.   把采集的數據寫到MySQL數據庫。

 

二、 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多種型號的網關產品,可以實現多種不同協議之間的互聯互通。

網關連接在不同協議的設備之間,就像一個“翻譯”,把一種設備支持的協議,轉換成另一種設備支持的協議,從而實現兩個不同協議的設備之間的數據交換。工作架構如下:

圖片.png

 

三、準備工作

1.   VFBOX網關。支持采集modbus設備數據,保存到MySQL數據庫。

2.   電腦。IP設置成192.168.1.198,和網關在同一個網段。

3.   網線、12V電源。

4.   Modbus從站設備。本文用一個溫濕度傳感器進行測試。

 

四、 設置網關采集modbus從站數據

1.   硬件連接。首先確認設備的接口是RS232還是RS485接口。并按如下的方式進行連接。

接口類型

設備

網關

RS232接口

RX

COM1-TX

TX

COM1-RX

GND

COM1-GND

RS485接口

A

COM1-A

B

COM1-B

 

2.   在電腦上打開VFBOX Studio配置軟件。新建工程,選擇對應的設備類型。設備類型查看設備背面的標簽。可選的型號有:VB301-1100,VB301-1200,VB301-1400,VB302-2400,VB303-2400.

圖片.png

3.   點擊 新建設備,選擇modbus RTU驅動。

圖片.png

4.   輸入設備名稱,自己定義設備名稱。

圖片.png

5.   輸入和設備相同的串口參數。比如,設備的波特率是9600,則下面的對話框也選擇9600.

圖片.png

6.   增加要采集的數據。輸入數據的數據類型和寄存器地址。

圖片.png

7.   填寫說明。在添加“地址”的時候需要對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

其他說明:

1.   地址可填寫5位或者6位的地址長度。

2.   如果設備的地址是從0開始,則設置網關時地址加1。

3.   地址是10進制。

 

舉例1:假設要讀取的地址是40015,數據類型是float,地址從0開始,則查看上表,40015對應的數據區是“4X Holding Registers”,且數據類型是float,則數據區選擇“4X Holding Registers(2 Registers)”,設備地址從0開始,則在網關里配置為40016,配置如下:

圖片.png

舉例2:假設讀取數據的功能碼是03,地址是0x39,地址從1開始,數據類型是double。查看上表可知,03功能碼對應的數據區是“4X Holding Registers”,數據類型是double,則數據區選擇“4X Holding Registers(4 Registers)”,地址是0x39,轉換成10進制是57,則設置如下:

圖片.png

 

8.   設置完成后,點擊菜單“下載”,把工程下載到網關里。

9.   點擊菜單“查看數據”,查看網關采集到的數據。

圖片.png

10.  如果顯示的數據和實際不匹配,可能是字節順序要調整。在下面的窗口中可以修改波特率,掃描間隔,通訊超時,字節順序等參數。

圖片.png

11.  數據類型

網關支持多種數據類型,用戶在添加的時候可以根據采集到數據選擇對應的數據類型。不同的設備可能有不同的數據類型名稱,可對應選擇。

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位)內存空間。

 

五、網關寫數據到mysql數據庫

1.   在電腦上安裝mysql數據庫。完成安裝后,關閉電腦上的防火墻和殺毒軟件。

2.   登錄數據庫后,選擇Schemas,右鍵選擇Create Schemas,輸入名稱

圖片.png

3.   打開VS網關配置軟件,在導航欄選擇MySQL,啟用設置成Yes,輸入MySQL的IP地址、端口、用戶名、密碼以及表名。表名不能為空。

圖片.png

4.   到Tags中,添加要寫入數據庫的標簽,然后下載到網關

圖片.png

5.   下載完后打開MySQL,右鍵vbdata,選擇Refresh All,然后再右鍵vbhistory,選擇Select Rows,就可以看到數據

圖片.png

 

六、 安裝mysql數據庫

1.   在服務器或者電腦上安裝mysql數據庫。到MySQL官網下載安裝文件,以下載MySQL Community (GPL) Downloads為例說明。下載下圖中箭頭所指的版本。https://dev.mysql.com/downloads/ 

圖片.png

2.   安裝時使用完整安裝。

圖片.png

3.   Config Type如下:

圖片.png

4.   密碼驗證選擇和5.x的兼容。

 圖片.png

 

5.   運行MYSQL Workbench軟件。點擊Schemsa(1),在左邊的空白處點擊右鍵,然后點擊“Create Schema”(2),建立一個數據表,名稱為:vbdata(3)。

圖片.png

6.   如果是V5.X以上的版本,安裝完成后執行以下信息。root 123456改成數據庫的用戶名和密碼。

use mysql;

CREATE USER 'root'@'%' IDENTIFIED BY '123456';

grant all privileges on *.* to 'root'@'%';

FLUSH PRIVILEGES;

選中vbdata數據庫,按如下順序執行:

圖片.png

7.   關閉電腦上的防火墻和殺毒軟件。

 

七、案例總結

使用協議轉換網關可以很方便的實現不同協議的設備之間的數據轉換。大量節省了項目實施過程的時間成本,人力成本。VFBOX網關產品都是工業級品質,符合工業應用的場景。只需要簡單的參數配置,可以很快完成設備和系統之間的連接。方案優點:

1.   不需要修改設備里的程序。

2.   不影響設備原有的工作方式和功能。

3.   只需要簡單的配置就可以實現功能需求。

4.   設備長期穩定工作。

5.   網關運行架構如下

圖片.png

 

審核編輯(
王靜
)
投訴建議

提交

查看更多評論
其他資訊

查看更多

DNP3設備數據 轉 HJ212項目案例

IEC103設備數據轉HJ212項目案例

SNMP設備數據 轉 HJ212項目案例

iec61850設備數據轉HJ212項目案例

opcua設備數據轉HJ212項目案例