西門子S7-200 Smart PLC應(yīng)用于各種控制任務(wù)中。當(dāng)需要將S7-200 Smart的數(shù)據(jù)通過Modbus協(xié)議傳輸給其他設(shè)備或系統(tǒng)。EG邊緣計(jì)算網(wǎng)關(guān)作為一個(gè)強(qiáng)大的數(shù)據(jù)采集和協(xié)議轉(zhuǎn)換工具,能夠?qū)崿F(xiàn)這一需求。本文將介紹如何使用EG邊緣計(jì)算網(wǎng)關(guān)采集西門子S7-200 Smart PLC的數(shù)據(jù),并將其轉(zhuǎn)換為Modbus協(xié)議進(jìn)行數(shù)據(jù)傳輸。
需求概述
本章主要實(shí)現(xiàn)一個(gè)流程:EG8200采集西門子S7-200smart的數(shù)據(jù),并將數(shù)據(jù)存儲(chǔ)在Modbus寄存器中,等待外部主機(jī)通過Modbus TCP協(xié)議來讀取。
要采集的PLC的IP及端口:
PLC | S7-200smart | ||
IP | 192.168.0.34/102 | ||
地址 | 數(shù)據(jù)類型 | 屬性 | 名稱 |
I0.0 | Boolean | 只讀 | bitSignal1 |
I0.1 | Boolean | 只讀 | itSignal2 |
I0.2 | Boolean | 只讀 | itSignal3 |
I0.3 | Boolean | 只讀 | itSignal4 |
I0.4 | Boolean | 只讀 | itSignal5 |
I0.5 | Boolean | 只讀 | itSignal6 |
I0.6 | Boolean | 只讀 | itSignal7 |
I0.7 | Boolean | 只讀 | itSignal8 |
VD20 | Float | 只讀 | floatSignal1 |
VD24 | Float | 只讀 | floatSignal2 |
VD28 | Float | 只讀 | floatSignal3 |
VD32 | Float | 只讀 | floatSignal4 |
VW36 | Usint16 | 只讀 | uintSignal1 |
VW38 | Usint16 | 只讀 | uintSignal2 |
VW40 | Usint16 | 只讀 | uintSignal3 |
VW42 | Usint16 | 只讀 | uintSignal4 |
需求分析
在制作流程時(shí),基礎(chǔ)的邏輯是根據(jù)功能實(shí)現(xiàn)來制作流程。該需求經(jīng)過分析可以得出,主要分為PLC數(shù)據(jù)讀取與存儲(chǔ)、Modbus TCP通信兩個(gè)部分。
1.通過西門子S7協(xié)議讀取PLC的數(shù)據(jù),得到的數(shù)據(jù)存儲(chǔ)在內(nèi)存中(西門子節(jié)點(diǎn))
2.將數(shù)據(jù)進(jìn)行格式化(函數(shù)節(jié)點(diǎn))
3.將格式化后的數(shù)據(jù)存儲(chǔ)到寄存器中(Modbus Server節(jié)點(diǎn))
4.外部主機(jī)連接主動(dòng)讀取
EG網(wǎng)關(guān)采集西門子S7-200smart轉(zhuǎn)Modbus協(xié)議
需求實(shí)現(xiàn)
1.采集PLC數(shù)據(jù)
從節(jié)點(diǎn)庫(kù)拖入一個(gè)S7讀數(shù)據(jù)節(jié)點(diǎn),以及一個(gè)調(diào)試節(jié)點(diǎn),調(diào)試節(jié)點(diǎn)用于查看讀取到的PLC的數(shù)據(jù),方便定位問題:
EG網(wǎng)關(guān)采集西門子S7-200smart轉(zhuǎn)Modbus協(xié)議
雙擊西門子節(jié)點(diǎn),根據(jù)需求概述的內(nèi)容填寫對(duì)應(yīng)的設(shè)置參數(shù),如下圖所示:
EG網(wǎng)關(guān)采集西門子S7-200smart轉(zhuǎn)Modbus協(xié)議
如果設(shè)置正確,調(diào)試窗口會(huì)有日志打印,顯示的是讀取到的數(shù)據(jù)內(nèi)容:
EG網(wǎng)關(guān)采集西門子S7-200smart轉(zhuǎn)Modbus協(xié)議
有的時(shí)候PLC數(shù)據(jù)點(diǎn)比較多,手動(dòng)依次錄入比較繁瑣。節(jié)點(diǎn)支持?jǐn)?shù)據(jù)點(diǎn)的導(dǎo)入導(dǎo)出或者參數(shù)傳遞的方式來讀?。?/p>
EG網(wǎng)關(guān)采集西門子S7-200smart轉(zhuǎn)Modbus協(xié)議
本例程用到的傳參代碼如下:
msg.payload = [
{ func: "ReadBoolArray", body: { name: "", address: "I0", length: 8 } },
{ func: "ReadFloatArray", body: { name: "", address: "VD20", length: 4 } },
{ func: "ReadUInt16Array", body: { name: "", address: "VW36", length: 4 } }
]
return msg;
2.數(shù)據(jù)進(jìn)行格式化
使用函數(shù)節(jié)點(diǎn)將PLC數(shù)據(jù)處理成對(duì)應(yīng)格式:
EG網(wǎng)關(guān)采集西門子S7-200smart轉(zhuǎn)Modbus協(xié)議
數(shù)據(jù)格式化參考代碼如下:
EG網(wǎng)關(guān)采集西門子S7-200smart轉(zhuǎn)Modbus協(xié)議
3.存儲(chǔ)到Modbus寄存器
使用Modbus服務(wù)節(jié)點(diǎn),將格式化的數(shù)據(jù)傳入,并配置存儲(chǔ)方式:
EG網(wǎng)關(guān)采集西門子S7-200smart轉(zhuǎn)Modbus協(xié)議
使用TCP IN節(jié)點(diǎn)和TCP OUT節(jié)點(diǎn)搭配實(shí)現(xiàn)TCP服務(wù)端:
EG網(wǎng)關(guān)采集西門子S7-200smart轉(zhuǎn)Modbus協(xié)議
使用上位機(jī)(Modbus Poll軟件)通過Modbus TCP來讀取映射的數(shù)據(jù):
EG網(wǎng)關(guān)采集西門子S7-200smart轉(zhuǎn)Modbus協(xié)議
通過EG邊緣計(jì)算網(wǎng)關(guān),用戶可以輕松實(shí)現(xiàn)西門子S7-200 Smart PLC數(shù)據(jù)的采集,并將其轉(zhuǎn)換為標(biāo)準(zhǔn)Modbus協(xié)議輸出。這種跨協(xié)議的數(shù)據(jù)轉(zhuǎn)換方案極大簡(jiǎn)化了工業(yè)系統(tǒng)的集成,使不同品牌、不同協(xié)議的設(shè)備能夠在同一系統(tǒng)中協(xié)同工作。EG網(wǎng)關(guān)強(qiáng)大的協(xié)議轉(zhuǎn)換功能為工業(yè)自動(dòng)化、物聯(lián)網(wǎng)等領(lǐng)域的多協(xié)議設(shè)備集成提供了高效、靈活的解決方案。
審核編輯 黃宇
-
plc
+關(guān)注
關(guān)注
5010文章
13271瀏覽量
463044 -
西門子
+關(guān)注
關(guān)注
94文章
3034瀏覽量
115779 -
ModBus協(xié)議
+關(guān)注
關(guān)注
3文章
177瀏覽量
33416
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論