目錄
1 案例說明
2 VFBOX網(wǎng)關(guān)工作原理
3 準(zhǔn)備工作
4 設(shè)置網(wǎng)關(guān)采集MODBUS從站數(shù)據(jù)
5 網(wǎng)關(guān)寫數(shù)據(jù)到MYSQL數(shù)據(jù)庫
6 安裝MYSQL數(shù)據(jù)庫
7 案例總結(jié)
1 案例說明
- 設(shè)置網(wǎng)關(guān)采集Modbus設(shè)備數(shù)據(jù)
- 把采集的數(shù)據(jù)寫到MySQL數(shù)據(jù)庫。
2 VFBOX網(wǎng)關(guān)工作原理
VFBOX網(wǎng)關(guān)是協(xié)議轉(zhuǎn)換網(wǎng)關(guān),是把一種協(xié)議轉(zhuǎn)換成另外一種協(xié)議。網(wǎng)關(guān)可以采集西門子,歐姆龍,三菱,AB PLC,DLT645,DLT698電表,modbus rtu tcp,環(huán)保的HJ212協(xié)議,opc ua和opc da,電力的IEC103 IEC104, IEC61850等,以及EthernetIP,Profinet IO,CCLink,EtherCAT現(xiàn)場總線協(xié)議,bacnet,MQTT,mysql,sqlserver數(shù)據(jù)庫。不同型號的網(wǎng)關(guān)支持不同的協(xié)議,具體支持的協(xié)議參考網(wǎng)關(guān)側(cè)面標(biāo)簽上的型號。依托500多種型號的網(wǎng)關(guān)產(chǎn)品,可以實(shí)現(xiàn)多種不同協(xié)議之間的互聯(lián)互通。
網(wǎng)關(guān)連接在不同協(xié)議的設(shè)備之間,就像一個“翻譯”,把一種設(shè)備支持的協(xié)議,轉(zhuǎn)換成另一種設(shè)備支持的協(xié)議,從而實(shí)現(xiàn)兩個不同協(xié)議的設(shè)備之間的數(shù)據(jù)交換。工作架構(gòu)如下:
3 準(zhǔn)備工作
- VFBOX網(wǎng)關(guān)。支持采集modbus設(shè)備數(shù)據(jù),保存到MySQL數(shù)據(jù)庫。
- 電腦。IP設(shè)置成192.168.1.198,和網(wǎng)關(guān)在同一個網(wǎng)段。
- 網(wǎng)線、12V電源。
- Modbus從站設(shè)備。本文用一個溫濕度傳感器進(jìn)行測試。
4 設(shè)置網(wǎng)關(guān)采集modbus從站數(shù)據(jù)
- 硬件連接。首先確認(rèn)設(shè)備的接口是RS232還是RS485接口。并按如下的方式進(jìn)行連接。
接口類型 設(shè)備 網(wǎng)關(guān)
RS232接口 RX COM1-TX
TX COM1-RX
GND COM1-GND
RS485接口 A COM1-A
B COM1-B - 在電腦上打開VFBOX Studio配置軟件。新建工程,選擇對應(yīng)的設(shè)備類型。設(shè)備類型查看設(shè)備背面的標(biāo)簽。可選的型號有:VB301-1100,VB301-1200,VB301-1400,VB302-2400,VB303-2400.
- 點(diǎn)擊 新建設(shè)備,選擇modbus RTU驅(qū)動。
- 輸入設(shè)備名稱,自己定義設(shè)備名稱。
- 輸入和設(shè)備相同的串口參數(shù)。比如,設(shè)備的波特率是9600,則下面的對話框也選擇9600.
- 增加要采集的數(shù)據(jù)。輸入數(shù)據(jù)的數(shù)據(jù)類型和寄存器地址。
- 填寫說明。在添加“地址”的時候需要對modbus的通信指令有一些了解,這里面有一些默認(rèn)的規(guī)則。可先查看設(shè)備的說明書,找到要讀取的地址。然后通過對比下表進(jìn)行設(shè)置。
數(shù)據(jù)區(qū) 功能說明
0X Digital Coils 數(shù)據(jù)類型:Boolean
讀寫:可讀寫
寄存器地址:00001-09999(10進(jìn)制), 協(xié)議地址:0000H-270FH(16進(jìn)制)
對應(yīng)的功能碼:01H 05H 0FH
1X digital Inputs 數(shù)據(jù)類型:Boolean
讀寫:只讀
寄存器地址:10001-19999(10進(jìn)制), 協(xié)議地址:0000H-270FH(16進(jìn)制)
對應(yīng)的功能碼:02H
3X Analog Inputs
數(shù)據(jù)類型:
1 Register: short word
2 Register: Long Dword float
4 Register: LLong Qword Double
讀寫:只讀
寄存器地址:30001-39999(10進(jìn)制), 協(xié)議地址:0000H-270FH(16進(jìn)制)
對應(yīng)的功能碼:04H
4X Holding Registers 數(shù)據(jù)類型:
1 Register: short word
2 Register: Long Dword float
4 Register: LLong Qword Double
讀寫:可讀寫
地址范圍:40001-49999(10進(jìn)制),0000H-270FH(16進(jìn)制)
對應(yīng)的功能碼:03H 06H 10H
其他說明: - 地址可填寫5位或者6位的地址長度。
- 如果設(shè)備的地址是從0開始,則設(shè)置網(wǎng)關(guān)時地址加1。
- 地址是10進(jìn)制。
舉例1:假設(shè)要讀取的地址是40015,數(shù)據(jù)類型是float,地址從0開始,則查看上表,40015對應(yīng)的數(shù)據(jù)區(qū)是“4X Holding Registers”,且數(shù)據(jù)類型是float,則數(shù)據(jù)區(qū)選擇“4X Holding Registers(2 Registers)”,設(shè)備地址從0開始,則在網(wǎng)關(guān)里配置為40016,配置如下:
舉例2:假設(shè)讀取數(shù)據(jù)的功能碼是03,地址是0x39,地址從1開始,數(shù)據(jù)類型是double。查看上表可知,03功能碼對應(yīng)的數(shù)據(jù)區(qū)是“4X Holding Registers”,數(shù)據(jù)類型是double,則數(shù)據(jù)區(qū)選擇“4X Holding Registers(4 Registers)”,地址是0x39,轉(zhuǎn)換成10進(jìn)制是57,則設(shè)置如下:
- 設(shè)置完成后,點(diǎn)擊菜單“下載”,把工程下載到網(wǎng)關(guān)里。
- 點(diǎn)擊菜單“查看數(shù)據(jù)”,查看網(wǎng)關(guān)采集到的數(shù)據(jù)。
- 如果顯示的數(shù)據(jù)和實(shí)際不匹配,可能是字節(jié)順序要調(diào)整。在下面的窗口中可以修改波特率,掃描間隔,通訊超時,字節(jié)順序等參數(shù)。
- 數(shù)據(jù)類型
網(wǎng)關(guān)支持多種數(shù)據(jù)類型,用戶在添加的時候可以根據(jù)采集到數(shù)據(jù)選擇對應(yīng)的數(shù)據(jù)類型。不同的設(shè)備可能有不同的數(shù)據(jù)類型名稱,可對應(yīng)選擇。
Boolean 位,布爾變量。變量存儲為 8 位(1 個字節(jié))的數(shù)值形式,但只能是True 或是 False。
Char 有符號數(shù),有負(fù)數(shù)。占用一個字節(jié),8位。
Byte 無符號數(shù),占用一個字節(jié),8位。
Short 有符號短整型。有負(fù)數(shù)。長度2個字節(jié),16位。
Word 無符號的短整型,長度2個字節(jié),16位。
Long 有符號長整型,有負(fù)數(shù)。長度4個字節(jié),取值范圍為:-2^31 ~ (2^31 -1)。
DWord 無符號的長整型,且占4個字節(jié),32位。
Float 單精度浮點(diǎn)型數(shù)據(jù),長度 4 個字節(jié),包括一個符號位、一個 8 位 二進(jìn)制指數(shù)和一個 23 位尾數(shù)。浮點(diǎn)型轉(zhuǎn)換成10進(jìn)制數(shù)據(jù)的時候請注意字節(jié)順序問題。在不同的設(shè)備中字節(jié)順序不同,有4種不同的字節(jié)順序:1234、4321、3412、2143。網(wǎng)關(guān)在轉(zhuǎn)發(fā)浮點(diǎn)型數(shù)據(jù)的時候,不對字節(jié)順序進(jìn)行調(diào)整,所以在轉(zhuǎn)換的時候請參考被采集設(shè)備的浮點(diǎn)數(shù)順序。
LLong LLong是長度為8個字節(jié)的有符號整數(shù)。有負(fù)數(shù)。
Qword Qword是長度為8個字節(jié)的無符號整數(shù)。
Double 雙精度浮點(diǎn)(double)型,占8 個字節(jié)(64位)內(nèi)存空間。
5 網(wǎng)關(guān)寫數(shù)據(jù)到mysql數(shù)據(jù)庫
- 在電腦上安裝mysql數(shù)據(jù)庫。完成安裝后,關(guān)閉電腦上的防火墻和殺毒軟件。
- 登錄數(shù)據(jù)庫后,選擇Schemas,右鍵選擇Create Schemas,輸入名稱
- 打開VS網(wǎng)關(guān)配置軟件,在導(dǎo)航欄選擇MySQL,啟用設(shè)置成Yes,輸入MySQL的IP地址、端口、用戶名、密碼以及表名。表名不能為空。
- 到Tags中,添加要寫入數(shù)據(jù)庫的標(biāo)簽,然后下載到網(wǎng)關(guān)
- 下載完后打開MySQL,右鍵vbdata,選擇Refresh All,然后再右鍵vbhistory,選擇Select Rows,就可以看到數(shù)據(jù)
6 安裝mysql數(shù)據(jù)庫
- 在服務(wù)器或者電腦上安裝mysql數(shù)據(jù)庫。到MySQL官網(wǎng)下載安裝文件,以下載MySQL Community (GPL) Downloads為例說明。下載下圖中箭頭所指的版本。https://dev.mysql.com/downloads/
- 安裝時使用完整安裝。
- Config Type如下:
- 密碼驗(yàn)證選擇和5.x的兼容。
- 運(yùn)行MYSQL Workbench軟件。點(diǎn)擊Schemsa(1),在左邊的空白處點(diǎn)擊右鍵,然后點(diǎn)擊“Create Schema”(2),建立一個數(shù)據(jù)表,名稱為:vbdata(3)。
- 如果是V5.X以上的版本,安裝完成后執(zhí)行以下信息。root 123456改成數(shù)據(jù)庫的用戶名和密碼。
use mysql;
CREATE USER 'root'@'%' IDENTIFIED BY '123456';
grant all privileges on . to 'root'@'%';
FLUSH PRIVILEGES;
選中vbdata數(shù)據(jù)庫,按如下順序執(zhí)行: - 關(guān)閉電腦上的防火墻和殺毒軟件。
7 案例總結(jié)
使用協(xié)議轉(zhuǎn)換網(wǎng)關(guān)可以很方便的實(shí)現(xiàn)不同協(xié)議的設(shè)備之間的數(shù)據(jù)轉(zhuǎn)換。大量節(jié)省了項(xiàng)目實(shí)施過程的時間成本,人力成本。VFBOX網(wǎng)關(guān)產(chǎn)品都是工業(yè)級品質(zhì),符合工業(yè)應(yīng)用的場景。只需要簡單的參數(shù)配置,可以很快完成設(shè)備和系統(tǒng)之間的連接。方案優(yōu)點(diǎn):
- 不需要修改設(shè)備里的程序。
- 不影響設(shè)備原有的工作方式和功能。
- 只需要簡單的配置就可以實(shí)現(xiàn)功能需求。
- 設(shè)備長期穩(wěn)定工作。
- 網(wǎng)關(guān)運(yùn)行架構(gòu)如下
審核編輯 黃宇
-
MODBUS
+關(guān)注
關(guān)注
28文章
2115瀏覽量
79474 -
網(wǎng)關(guān)
+關(guān)注
關(guān)注
9文章
5641瀏覽量
52908 -
數(shù)據(jù)庫
+關(guān)注
關(guān)注
7文章
3922瀏覽量
66151 -
MySQL
+關(guān)注
關(guān)注
1文章
856瀏覽量
27876
發(fā)布評論請先 登錄
串口環(huán)保212設(shè)備數(shù)據(jù) 保存到MySQL數(shù)據(jù)庫項(xiàng)目案例

企業(yè)級MySQL數(shù)據(jù)庫管理指南
遠(yuǎn)程訪問內(nèi)網(wǎng)MySQL數(shù)據(jù)庫?這個方案更簡單

MySQL數(shù)據(jù)庫采集網(wǎng)關(guān)是什么?有什么功能?
MySQL數(shù)據(jù)庫是什么
數(shù)據(jù)采集到MYSQL和SQLSERVER數(shù)據(jù)庫可以實(shí)現(xiàn)哪些功能
自來水廠數(shù)據(jù)中臺:設(shè)備數(shù)據(jù)輕松轉(zhuǎn)發(fā)至MySQL數(shù)據(jù)庫
工業(yè)智能網(wǎng)關(guān)采集能耗數(shù)據(jù)對接到MySQL數(shù)據(jù)庫

數(shù)據(jù)庫數(shù)據(jù)恢復(fù)——MySQL數(shù)據(jù)庫誤刪除表記錄的數(shù)據(jù)恢復(fù)案例

從Delphi、C++ Builder和Lazarus連接到MySQL數(shù)據(jù)庫

適用于MySQL和MariaDB的Python連接器:可靠的MySQL數(shù)據(jù)連接器和數(shù)據(jù)庫

MySQL數(shù)據(jù)庫的安裝

數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—Mysql數(shù)據(jù)庫表記錄丟失的數(shù)據(jù)恢復(fù)流程

評論