modbus設(shè)備數(shù)據(jù)轉(zhuǎn)profinetIO項(xiàng)目案例
1 案例說(shuō)明
設(shè)置網(wǎng)關(guān)采集Modbus設(shè)備數(shù)據(jù)
把采集的數(shù)據(jù)轉(zhuǎn)成profinet IO協(xié)議轉(zhuǎn)發(fā)給其他系統(tǒng)。
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)可以采集西門(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)如下:
3 準(zhǔn)備工作
VFBOX網(wǎng)關(guān)。支持采集modbus設(shè)備數(shù)據(jù),profinet IO協(xié)議轉(zhuǎn)發(fā)。
電腦。IP設(shè)置成192.168.1.198,和網(wǎng)關(guān)在同一個(gè)網(wǎng)段。
網(wǎng)線、12V電源。
Modbus從站設(shè)備。本文用一個(gè)溫濕度傳感器進(jìn)行測(cè)試。
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
在電腦上打開(kāi)VFBOX Studio配置軟件。新建工程,選擇對(duì)應(yīng)的設(shè)備類型。設(shè)備類型查看設(shè)備背面的標(biāo)簽??蛇x的型號(hào)有:VB301-1100,VB301-1200,VB301-1400,VB302-2400,VB303-2400.
點(diǎn)擊 新建設(shè)備,選擇modbus RTU驅(qū)動(dòng)。
輸入設(shè)備名稱,自己定義設(shè)備名稱。
輸入和設(shè)備相同的串口參數(shù)。比如,設(shè)備的波特率是9600,則下面的對(duì)話框也選擇9600.
增加要采集的數(shù)據(jù)。輸入數(shù)據(jù)的數(shù)據(jù)類型和寄存器地址。
填寫(xiě)說(shuō)明。在添加“地址”的時(shí)候需要對(duì)modbus的通信指令有一些了解,這里面有一些默認(rèn)的規(guī)則??上炔榭丛O(shè)備的說(shuō)明書(shū),找到要讀取的地址。然后通過(guò)對(duì)比下表進(jìn)行設(shè)置。 數(shù)據(jù)區(qū) 功能說(shuō)明 0X Digital Coils 數(shù)據(jù)類型:Boolean 讀寫(xiě):可讀寫(xiě) 寄存器地址:00001-09999(10進(jìn)制), 協(xié)議地址:0000H-270FH(16進(jìn)制) 對(duì)應(yīng)的功能碼:01H 05H 0FH 1X digital Inputs 數(shù)據(jù)類型:Boolean 讀寫(xiě):只讀 寄存器地址:10001-19999(10進(jìn)制), 協(xié)議地址:0000H-270FH(16進(jìn)制) 對(duì)應(yīng)的功能碼:02H 3X Analog Inputs 數(shù)據(jù)類型: 1 Register: short word 2 Register: Long Dword float 4 Register: LLong Qword Double 讀寫(xiě):只讀 寄存器地址:30001-39999(10進(jìn)制), 協(xié)議地址:0000H-270FH(16進(jìn)制) 對(duì)應(yīng)的功能碼:04H 4X Holding Registers 數(shù)據(jù)類型: 1 Register: short word 2 Register: Long Dword float 4 Register: LLong Qword Double 讀寫(xiě):可讀寫(xiě) 地址范圍:40001-49999(10進(jìn)制),0000H-270FH(16進(jìn)制) 對(duì)應(yīng)的功能碼:03H 06H 10H 其他說(shuō)明:
地址可填寫(xiě)5位或者6位的地址長(zhǎng)度。
如果設(shè)備的地址是從0開(kāi)始,則設(shè)置網(wǎng)關(guān)時(shí)地址加1。
地址是10進(jìn)制。
舉例1:假設(shè)要讀取的地址是40015,數(shù)據(jù)類型是float,地址從0開(kāi)始,則查看上表,40015對(duì)應(yīng)的數(shù)據(jù)區(qū)是“4X Holding Registers”,且數(shù)據(jù)類型是float,則數(shù)據(jù)區(qū)選擇“4X Holding Registers(2 Registers)”,設(shè)備地址從0開(kāi)始,則在網(wǎng)關(guān)里配置為40016,配置如下:
舉例2:假設(shè)讀取數(shù)據(jù)的功能碼是03,地址是0x39,地址從1開(kāi)始,數(shù)據(jù)類型是double。查看上表可知,03功能碼對(duì)應(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)整。在下面的窗口中可以修改波特率,掃描間隔,通訊超時(shí),字節(jié)順序等參數(shù)。
數(shù)據(jù)類型 網(wǎng)關(guān)支持多種數(shù)據(jù)類型,用戶在添加的時(shí)候可以根據(jù)采集到數(shù)據(jù)選擇對(duì)應(yīng)的數(shù)據(jù)類型。不同的設(shè)備可能有不同的數(shù)據(jù)類型名稱,可對(duì)應(yīng)選擇。 Boolean 位,布爾變量。變量存儲(chǔ)為 8 位(1 個(gè)字節(jié))的數(shù)值形式,但只能是True 或是 False。 Char 有符號(hào)數(shù),有負(fù)數(shù)。占用一個(gè)字節(jié),8位。 Byte 無(wú)符號(hào)數(shù),占用一個(gè)字節(jié),8位。 Short 有符號(hào)短整型。有負(fù)數(shù)。長(zhǎng)度2個(gè)字節(jié),16位。 Word 無(wú)符號(hào)的短整型,長(zhǎng)度2個(gè)字節(jié),16位。 Long 有符號(hào)長(zhǎng)整型,有負(fù)數(shù)。長(zhǎng)度4個(gè)字節(jié),取值范圍為:-2^31 ~ (2^31 -1)。 DWord 無(wú)符號(hào)的長(zhǎng)整型,且占4個(gè)字節(jié),32位。 Float 單精度浮點(diǎn)型數(shù)據(jù),長(zhǎng)度 4 個(gè)字節(jié),包括一個(gè)符號(hào)位、一個(gè) 8 位 二進(jìn)制指數(shù)和一個(gè) 23 位尾數(shù)。浮點(diǎn)型轉(zhuǎn)換成10進(jìn)制數(shù)據(jù)的時(shí)候請(qǐng)注意字節(jié)順序問(wèn)題。在不同的設(shè)備中字節(jié)順序不同,有4種不同的字節(jié)順序:1234、4321、3412、2143。網(wǎng)關(guān)在轉(zhuǎn)發(fā)浮點(diǎn)型數(shù)據(jù)的時(shí)候,不對(duì)字節(jié)順序進(jìn)行調(diào)整,所以在轉(zhuǎn)換的時(shí)候請(qǐng)參考被采集設(shè)備的浮點(diǎn)數(shù)順序。 LLong LLong是長(zhǎng)度為8個(gè)字節(jié)的有符號(hào)整數(shù)。有負(fù)數(shù)。 Qword Qword是長(zhǎng)度為8個(gè)字節(jié)的無(wú)符號(hào)整數(shù)。 Double 雙精度浮點(diǎn)(double)型,占8 個(gè)字節(jié)(64位)內(nèi)存空間。
5 用profinet IO協(xié)議轉(zhuǎn)發(fā)數(shù)據(jù)
點(diǎn)擊菜單 Profinet IO。啟用設(shè)置成Yes。
把數(shù)據(jù)分別加到Input Module和Output Module下。Input Module是網(wǎng)關(guān)發(fā)送給PLC的數(shù)據(jù)。Output是PLC發(fā)送給網(wǎng)關(guān)的數(shù)據(jù)。
設(shè)置完成后,點(diǎn)擊“下載”,把工程下載到網(wǎng)關(guān)中,則網(wǎng)關(guān)啟動(dòng)了Profinet IO功能。
下載完成后,點(diǎn)擊“Generate GSDML File”生成GSD文件,導(dǎo)入到其他設(shè)備中組態(tài)。先點(diǎn)擊下載工程,再生成GSD文件。
導(dǎo)入到博途時(shí),需要把下面兩個(gè)地方的時(shí)間設(shè)置成如下的值,或者比圖中的設(shè)置值更大。
博途中要“手動(dòng)”設(shè)置網(wǎng)關(guān)IP地址和網(wǎng)關(guān)的名稱。取消選中“自動(dòng)生成profinet設(shè)備名稱”
加了設(shè)備后,要添加Input Module,Output Module
6 案例總結(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):
不需要修改設(shè)備里的程序。
不影響設(shè)備原有的工作方式和功能。
只需要簡(jiǎn)單的配置就可以實(shí)現(xiàn)功能需求。
設(shè)備長(zhǎng)期穩(wěn)定工作。
網(wǎng)關(guān)運(yùn)行架構(gòu)如下
基礎(chǔ)信息
提交
采集DNP3設(shè)備數(shù)據(jù)轉(zhuǎn)IEC61850項(xiàng)目案例
IEC103設(shè)備數(shù)據(jù)轉(zhuǎn)IEC61850項(xiàng)目案例
SNMP設(shè)備數(shù)據(jù)轉(zhuǎn)IEC61850項(xiàng)目案例
opcua設(shè)備數(shù)據(jù)轉(zhuǎn)IEC61850項(xiàng)目案例
bacnetmstp設(shè)備數(shù)據(jù)轉(zhuǎn)IEC61850項(xiàng)目案例