modbus設(shè)備數(shù)據(jù) 轉(zhuǎn)IEC104
一、 案例說明
1. 設(shè)置網(wǎng)關(guān)采集Modbus設(shè)備數(shù)據(jù)
2. 把采集的數(shù)據(jù)轉(zhuǎn)成IEC104協(xié)議轉(zhuǎn)發(fā)給其他系統(tǒng)。
二、 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)品,可以實現(xiàn)多種不同協(xié)議之間的互聯(lián)互通。
網(wǎng)關(guān)連接在不同協(xié)議的設(shè)備之間,就像一個“翻譯”,把一種設(shè)備支持的協(xié)議,轉(zhuǎn)換成另一種設(shè)備支持的協(xié)議,從而實現(xiàn)兩個不同協(xié)議的設(shè)備之間的數(shù)據(jù)交換。工作架構(gòu)如下:
三、準備工作
1. VFBOX網(wǎng)關(guān)。支持采集modbus設(shè)備數(shù)據(jù),IEC104協(xié)議轉(zhuǎn)發(fā)。
2. 電腦。IP設(shè)置成192.168.1.198,和網(wǎng)關(guān)在同一個網(wǎng)段。
3. 網(wǎng)線、12V電源。
4. Modbus從站設(shè)備。本文用一個溫濕度傳感器進行測試。
四、 設(shè)置網(wǎng)關(guān)采集modbus從站數(shù)據(jù)
1. 硬件連接。首先確認設(shè)備的接口是RS232還是RS485接口。并按如下的方式進行連接。
接口類型 | 設(shè)備 | 網(wǎng)關(guān) |
RS232接口 | RX | COM1-TX |
TX | COM1-RX | |
GND | COM1-GND | |
RS485接口 | A | COM1-A |
B | COM1-B |
2. 在電腦上打開VFBOX Studio配置軟件。新建工程,選擇對應(yīng)的設(shè)備類型。設(shè)備類型查看設(shè)備背面的標(biāo)簽。可選的型號有:VB301-1100,VB301-1200,VB301-1400,VB302-2400,VB303-2400.

3. 點擊 新建設(shè)備,選擇modbus RTU驅(qū)動。

4. 輸入設(shè)備名稱,自己定義設(shè)備名稱。

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

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

7. 填寫說明。在添加“地址”的時候需要對modbus的通信指令有一些了解,這里面有一些默認的規(guī)則。可先查看設(shè)備的說明書,找到要讀取的地址。然后通過對比下表進行設(shè)置。
數(shù)據(jù)區(qū) | 功能說明 |
0X Digital Coils | 數(shù)據(jù)類型:Boolean 讀寫:可讀寫 寄存器地址:00001-09999(10進制), 協(xié)議地址:0000H-270FH(16進制) 對應(yīng)的功能碼:01H 05H 0FH |
1X digital Inputs | 數(shù)據(jù)類型:Boolean 讀寫:只讀 寄存器地址:10001-19999(10進制), 協(xié)議地址:0000H-270FH(16進制) 對應(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進制), 協(xié)議地址:0000H-270FH(16進制) 對應(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進制),0000H-270FH(16進制) 對應(yīng)的功能碼:03H 06H 10H |
其他說明:
1. 地址可填寫5位或者6位的地址長度。
2. 如果設(shè)備的地址是從0開始,則設(shè)置網(wǎng)關(guān)時地址加1。
3. 地址是10進制。
舉例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進制是57,則設(shè)置如下:

8. 設(shè)置完成后,點擊菜單“下載”,把工程下載到網(wǎng)關(guān)里。
9. 點擊菜單“查看數(shù)據(jù)”,查看網(wǎng)關(guān)采集到的數(shù)據(jù)。

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

11. 數(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ù),有負數(shù)。占用一個字節(jié),8位。 |
Byte | 無符號數(shù),占用一個字節(jié),8位。 |
Short | 有符號短整型。有負數(shù)。長度2個字節(jié),16位。 |
Word | 無符號的短整型,長度2個字節(jié),16位。 |
Long | 有符號長整型,有負數(shù)。長度4個字節(jié),取值范圍為:-2^31 ~ (2^31 -1)。 |
DWord | 無符號的長整型,且占4個字節(jié),32位。 |
Float | 單精度浮點型數(shù)據(jù),長度 4 個字節(jié),包括一個符號位、一個 8 位 二進制指數(shù)和一個 23 位尾數(shù)。浮點型轉(zhuǎn)換成10進制數(shù)據(jù)的時候請注意字節(jié)順序問題。在不同的設(shè)備中字節(jié)順序不同,有4種不同的字節(jié)順序:1234、4321、3412、2143。網(wǎng)關(guān)在轉(zhuǎn)發(fā)浮點型數(shù)據(jù)的時候,不對字節(jié)順序進行調(diào)整,所以在轉(zhuǎn)換的時候請參考被采集設(shè)備的浮點數(shù)順序。 |
LLong | LLong是長度為8個字節(jié)的有符號整數(shù)。有負數(shù)。 |
Qword | Qword是長度為8個字節(jié)的無符號整數(shù)。 |
Double | 雙精度浮點(double)型,占8 個字節(jié)(64位)內(nèi)存空間。 |
五、啟用IEC104協(xié)議轉(zhuǎn)發(fā)數(shù)據(jù)
1. 啟用IEC104服務(wù)

2. 參數(shù)說明。
參數(shù) | 說明 |
啟用 | Yes,啟動104功能 |
端口 | 2404。網(wǎng)關(guān)偵聽端口,使用默認即可。 |
公共地址 | 11,可修改 |
最大幀長度 | 249,使用默認即可 |
周期上報間隔 | 單位是秒。0是不定期上報。周期定時上報。 |
歸一化數(shù)據(jù)類型 | Float,使用默認即可 |
上報變化精度 | 數(shù)據(jù)變化超過設(shè)定程度后,立即上報。周期上報的設(shè)置不影響變化上報。 |
3. 添加要轉(zhuǎn)發(fā)的數(shù)據(jù)。

類型 | 說明 |
DI-SinglePoint | 遙信 - 單點。地址范圍:1-16384(十進制) |
AI-MeasuredValueShot | 遙測 - 短浮點。地址范圍:16385-20480 |
DO-SigleCommand | 遙控 - 單點。地址范圍:24577-24832 |
AO-SetpointCommandShort | 遙調(diào) - 短浮點。地址范圍:25089-25600 |
AI-MeasuredValueNormalized | 遙測 - 歸一化 |
AO-SetpointCommandNormaliezed | 遙調(diào) - 歸一化 |
COUNTER-IntegratedTotals | 遙脈 – 電度量 |
4. 修改點位地址信息。推薦先添加一個點位,然后手動把點位地址修改成自己需要的,然后在添加后續(xù)的點位,后續(xù)的點位會在此地址上依次累加。

5. 設(shè)置完成后,點擊菜單“下載”,把工程下載到網(wǎng)關(guān)中。
六、測試網(wǎng)關(guān)的104功能
1. 在電腦上打開PMA軟件,選擇菜單欄“文件—協(xié)議配置—IEC870-5-104規(guī)約”,從站IP為網(wǎng)關(guān)IP地址,主站IP為電腦IP,公共地址與VS軟件中配置一致。

2. 選擇菜單欄“運行模式—模擬主站”
3. 選擇菜單欄“端口配置—連接”。然后選擇菜單欄“IEC104主站控制—更多報文發(fā)送”,TI選擇100,點擊“發(fā)送”。

4. 可在消息框中收到網(wǎng)關(guān)返回的數(shù)據(jù)。

七、 網(wǎng)關(guān)通過4G連接104平臺
1. 網(wǎng)關(guān)通過4G連接104平臺,則網(wǎng)關(guān)作為socket的客戶端,此時需要開啟如下的“to Cloud”功能

選項 | 說明 |
兩個啟用 | 都設(shè)置成Yes |
端口 | 2404.默認,不能修改。 |
遠程服務(wù)器IP和端口 | 填寫104平臺的IP和端口 |
注冊幀 | 網(wǎng)關(guān)和平臺建立連接后,發(fā)送的注冊幀數(shù)據(jù)。填寫16進制數(shù)據(jù)。 如填寫 31 32 33 34 35 36。則網(wǎng)關(guān)和平臺建立連接后,會發(fā)送字符串“123456”給平臺。 |
2. 配置完成后,點擊下載,把工程下載到網(wǎng)關(guān)中。
八、案例總結(jié)
使用協(xié)議轉(zhuǎn)換網(wǎng)關(guān)可以很方便的實現(xiàn)不同協(xié)議的設(shè)備之間的數(shù)據(jù)轉(zhuǎn)換。大量節(jié)省了項目實施過程的時間成本,人力成本。VFBOX網(wǎng)關(guān)產(chǎn)品都是工業(yè)級品質(zhì),符合工業(yè)應(yīng)用的場景。只需要簡單的參數(shù)配置,可以很快完成設(shè)備和系統(tǒng)之間的連接。方案優(yōu)點:
1. 不需要修改設(shè)備里的程序。
2. 不影響設(shè)備原有的工作方式和功能。
3. 只需要簡單的配置就可以實現(xiàn)功能需求。
4. 設(shè)備長期穩(wěn)定工作。
5. 網(wǎng)關(guān)運行架構(gòu)如下

提交
DNP3設(shè)備數(shù)據(jù) 保存到MySQL數(shù)據(jù)庫
IEC103設(shè)備數(shù)據(jù)保存到MySQL
SNMP設(shè)備數(shù)據(jù) 保存到MySQL數(shù)據(jù)庫
iec61850設(shè)備 保存到MySQL、
opc ua設(shè)備數(shù)據(jù) 保存到MySQL

投訴建議