Ethercat設(shè)備數(shù)據(jù)保存到MySQL數(shù)據(jù)庫(kù)項(xiàng)目案例
一、 案例說(shuō)明
1. 設(shè)置網(wǎng)關(guān)采集EtherCAT設(shè)備數(shù)據(jù)
2. 把采集的數(shù)據(jù)保存到MySQL數(shù)據(jù)庫(kù)
二、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)可以采集西門(mé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)場(chǎng)總線協(xié)議,bacnet,MQTT,mysql,sqlserver數(shù)據(jù)庫(kù)。不同型號(hào)的網(wǎng)關(guān)支持不同的協(xié)議,具體支持的協(xié)議參考網(wǎng)關(guān)側(cè)面標(biāo)簽上的型號(hào)。依托500多種型號(hào)的網(wǎng)關(guān)產(chǎn)品,可以實(shí)現(xiàn)多種不同協(xié)議之間的互聯(lián)互通。
網(wǎng)關(guān)連接在不同協(xié)議的設(shè)備之間,就像一個(gè)“翻譯”,把一種設(shè)備支持的協(xié)議,轉(zhuǎn)換成另一種設(shè)備支持的協(xié)議,從而實(shí)現(xiàn)兩個(gè)不同協(xié)議的設(shè)備之間的數(shù)據(jù)交換。工作架構(gòu)如下:
三、 準(zhǔn)備工作
1. 仰科網(wǎng)關(guān)。支持采集EtherCAT設(shè)備數(shù)據(jù),保存到MySQL數(shù)據(jù)庫(kù)。
2. 電腦。IP設(shè)置成192.168.1.198,和網(wǎng)關(guān)在同一個(gè)網(wǎng)段。
3. 網(wǎng)線、12V電源。
4 獲取cat設(shè)備的點(diǎn)位信息
1. Cat設(shè)備IN口通過(guò)網(wǎng)線連接到電腦,關(guān)閉電腦上的其他網(wǎng)口
2. 關(guān)閉VS軟件
3. 打開(kāi)cmd程序“命令提示符”,用管理權(quán)限運(yùn)行。
4. 更改目錄到下圖所示的目錄。C:\Program Files\VFBOXStudio\Runtime\bin>
5. 輸入:EtherCATSlaveInfo.exe?;剀?chē)。如果沒(méi)有獲取到設(shè)備信息,則重新安裝npcap軟件。運(yùn)行正常,則輸出電腦上的網(wǎng)卡信息。
6. 選中和所連接網(wǎng)口對(duì)應(yīng)的device,如果不知道是哪個(gè)網(wǎng)口信息,可以都測(cè)試一下。如下所示:
C:\Program Files\VFBOXStudio\Runtime\bin>EtherCATSlaveInfo.exe \Device\NPF_{E8BAD55C-B9A8-439D-9A1F-52A78912EC64} -map
7. 會(huì)顯示cat設(shè)備的map信息。
Slave:1 //設(shè)備ID
Name:VAT vacuum valve
Output size: 184bits
Input size: 200bits
State: 4
Delay: 0[ns]
Has DC: 1
DCParentport:0
Activeports:1.0.0.0
Configured address: 1001
Man: 00000549 ID: 02010616 Rev: 00010001
SM0 A:1000 L: 128 F:00010036 Type:1
SM1 A:1080 L: 128 F:00010032 Type:2
SM2 A:1100 L: 23 F:00010074 Type:3
SM3 A:1d00 L: 25 F:00010030 Type:4
FMMU0 Ls:00000000 Ll: 23 Lsb:0 Leb:7 Ps:1100 Psb:0 Ty:02 Act:01
FMMU1 Ls:00000017 Ll: 25 Lsb:0 Leb:7 Ps:1d00 Psb:0 Ty:01 Act:01
FMMUfunc 0:1 1:2 2:3 3:0
MBX length wr: 128 rd: 128 MBX protocols : 0c
CoE details: 2f FoE details: 01 EoE details: 00 SoE details: 00
Ebus current: 0[mA]
only LRD/LWR:0
PDO mapping according to CoE :
SM2 outputs // outputs是點(diǎn)位類(lèi)型
addr b index: sub bitl data_type name
[0x0000.0] 0x2300:0x02 0x20 REAL32 Target Pressure
[0x0004.0] 0x2200:0x02 0x20 REAL32 Target Position //Target Position是點(diǎn)位名稱(chēng),[0x0004.0]是地址,REAL32是數(shù)據(jù)類(lèi)型float
[0x0008.0] 0x2401:0x14 0x20 REAL32 Pressure Input Digital Sensor 1
[0x000C.0] 0x2402:0x14 0x20 REAL32 Pressure Input Digital Sensor 2
[0x0010.0] 0x2002:0x00 0x08 INTEGER8 Control Mode
[0x0011.0] 0x2F00:0x06 0x10 UNSIGNED16 General Control Setpoint
[0x0013.0] 0x2F00:0x07 0x20 REAL32 Pressure Ramp Time
SM3 inputs // inputs是點(diǎn)位類(lèi)型
addr b index: sub bitl data_type name
[0x0017.0] 0x2300:0x01 0x20 REAL32 Actual Pressure
[0x001B.0] 0x2401:0x18 0x20 REAL32 Pressure Sensor 1
[0x001F.0] 0x2402:0x18 0x20 REAL32 Pressure Sensor 2
[0x0023.0] 0x2200:0x01 0x20 REAL32 Actual Position //Actual Position是點(diǎn)位名稱(chēng),[0x0023.0] 是地址,設(shè)置到網(wǎng)關(guān)中是0x23-0x17=12 (網(wǎng)關(guān)中填寫(xiě)10進(jìn)制)
[0x0027.0] 0x2002:0x00 0x08 INTEGER8 Control Mode
[0x0028.0] 0x2030:0x03 0x10 UNSIGNED16 Error Number
[0x002A.0] 0x2F00:0x0D 0x10 UNSIGNED16 General Status
[0x002C.0] 0x2F00:0x0E 0x10 UNSIGNED16 General Warnings
[0x002E.0] 0x2F00:0x0F 0x10 UNSIGNED16 Extended Warnings
End slaveinfo, close socket
End program
五、設(shè)置網(wǎng)關(guān)采集EtherCAT數(shù)據(jù)
1. 安裝VFBOX Studio軟件。打開(kāi)軟件后,點(diǎn)擊新建工程,設(shè)備類(lèi)型選擇實(shí)際網(wǎng)關(guān)的型號(hào)??蛇x的型號(hào)有:VB301-1100,VB301-1200,VB301-1400,VB302-2400,VB303-2400.
2. 點(diǎn)擊“新建設(shè)備”,驅(qū)動(dòng)類(lèi)型選擇如下。
3. 輸入設(shè)備地址:
4. 添加Target Position 標(biāo)簽。寫(xiě)數(shù)據(jù)給EtherCAT設(shè)備
5. 添加Actual Position標(biāo)簽,讀取EtherCAT設(shè)備數(shù)據(jù)。
6. 配置完成后點(diǎn)擊菜單“下載”,把工程下載到網(wǎng)關(guān)里。
7. 點(diǎn)擊菜單“查看數(shù)據(jù)”,查看網(wǎng)關(guān)采集到的數(shù)據(jù)。
六、網(wǎng)關(guān)寫(xiě)數(shù)據(jù)到mysql數(shù)據(jù)庫(kù)
1. 在電腦上安裝mysql數(shù)據(jù)庫(kù)。完成安裝后,關(guān)閉電腦上的防火墻和殺毒軟件。
2. 登錄數(shù)據(jù)庫(kù)后,選擇Schemas,右鍵選擇Create Schemas,輸入名稱(chēng)
3. 打開(kāi)VS網(wǎng)關(guān)配置軟件,在導(dǎo)航欄選擇MySQL,啟用設(shè)置成Yes,輸入MySQL的IP地址、端口、用戶(hù)名、密碼以及表名。表名不能為空。
4. 到Tags中,添加要寫(xiě)入數(shù)據(jù)庫(kù)的標(biāo)簽,然后下載到網(wǎng)關(guān)
5. 下載完后打開(kāi)MySQL,右鍵vbdata,選擇Refresh All,然后再右鍵vbhistory,選擇Select Rows,就可以看到數(shù)據(jù)
七、 安裝mysql數(shù)據(jù)庫(kù)
1. 在服務(wù)器或者電腦上安裝mysql數(shù)據(jù)庫(kù)。到MySQL官網(wǎng)下載安裝文件,以下載MySQL Community (GPL) Downloads為例說(shuō)明。下載下圖中箭頭所指的版本。https://dev.mysql.com/downloads/
2. 安裝時(shí)使用完整安裝。
3. Config Type如下:
4. 密碼驗(yàn)證選擇和5.x的兼容。
5. 運(yùn)行MYSQL Workbench軟件。點(diǎn)擊Schemsa(1),在左邊的空白處點(diǎn)擊右鍵,然后點(diǎn)擊“Create Schema”(2),建立一個(gè)數(shù)據(jù)表,名稱(chēng)為:vbdata(3)。
6. 如果是V5.X以上的版本,安裝完成后執(zhí)行以下信息。root 123456改成數(shù)據(jù)庫(kù)的用戶(hù)名和密碼。
use mysql;
CREATE USER 'root'@'%' IDENTIFIED BY '123456';
grant all privileges on *.* to 'root'@'%';
FLUSH PRIVILEGES;
選中vbdata數(shù)據(jù)庫(kù),按如下順序執(zhí)行:
7. 關(guān)閉電腦上的防火墻和殺毒軟件。
八、 安裝npcap
1. 到控制面板下,卸載已安裝的npcap,或者wincap軟件
2. Npcap程序在安裝目錄下的others目錄下。
3. 安裝npcap
九、案例總結(jié)
使用協(xié)議轉(zhuǎn)換網(wǎng)關(guān)可以很方便的實(shí)現(xiàn)不同協(xié)議的設(shè)備之間的數(shù)據(jù)轉(zhuǎn)換。大量節(jié)省了項(xiàng)目實(shí)施過(guò)程的時(shí)間成本,人力成本。VFBOX網(wǎng)關(guān)產(chǎn)品都是工業(yè)級(jí)品質(zhì),符合工業(yè)應(yīng)用的場(chǎng)景。只需要簡(jiǎn)單的參數(shù)配置,可以很快完成設(shè)備和系統(tǒng)之間的連接。方案優(yōu)點(diǎn):
1. 不需要修改設(shè)備里的程序。
2. 不影響設(shè)備原有的工作方式和功能。
3. 只需要簡(jiǎn)單的配置就可以實(shí)現(xiàn)功能需求。
4. 設(shè)備長(zhǎng)期穩(wěn)定工作。
5. 網(wǎng)關(guān)運(yùn)行架構(gòu)如下

提交
opc da 服務(wù)器數(shù)據(jù)保存到MySQL
IEC104設(shè)備數(shù)據(jù) 保存到MySQL
發(fā)那科機(jī)床設(shè)備數(shù)據(jù)保存到MySQL數(shù)據(jù)庫(kù)項(xiàng)目案例
CJ188設(shè)備數(shù)據(jù)保存到MySQL數(shù)據(jù)庫(kù)項(xiàng)目案例
DTL698電表數(shù)據(jù)保存到MySQL數(shù)據(jù)庫(kù)協(xié)議項(xiàng)目案例