新聞中心
PRESS CENTER本章節(jié)主要實(shí)現(xiàn)一個(gè)需求:EG8200采集西門子S7-200 Smart的數(shù)據(jù),拼裝成Json格式,通過(guò)HTTP上報(bào)應(yīng)用平臺(tái)。
PLC數(shù)據(jù)采集此處不做過(guò)多贅述,可參考其他案例介紹。
要實(shí)現(xiàn)此功能,需提前準(zhǔn)備好以下材料。
1. PLC的IP/端口/點(diǎn)位表
PLC | S7-200 Smart | ||
IP | 192.168.0.30/102 | ||
點(diǎn)表(DB1) | |||
地址 | 數(shù)據(jù)類型 | 屬性 | 名稱 |
VD100 | Float | 只讀 | 電機(jī)1溫度 |
VD104 | Float | 只讀 | 電機(jī)2溫度 |
VD108 | Float | 只讀 | 電機(jī)3溫度 |
VD112 | Float | 只讀 | 風(fēng)機(jī)1溫度 |
VD116 | Float | 只讀 | 風(fēng)機(jī)2溫度 |
VD120 | Float | 只讀 | 風(fēng)機(jī)3溫度 |
2. HTTP通信相關(guān)參數(shù)
##數(shù)據(jù)推送
url:192.168.0.34:1880/api/device/reportData
method:POST
JSON格式:
{
"devid":"123456",
"data":{
"Temperature1": 20.5,
"Temperature2": 19.96,
"Temperature3": 19.77,
"Temperature4": 21,
"Temperature5": 33.8,
"Temperature6": 26.98,
}
}
在制作流程時(shí),基礎(chǔ)的邏輯是根據(jù)數(shù)據(jù)走向來(lái)制作流程。其中主要工作分為三步:
第一步:通過(guò)S7協(xié)議采集PLC數(shù)據(jù)
第二步:將數(shù)據(jù)按照J(rèn)SON格式進(jìn)行格式化
第三步:配置HTTP請(qǐng)求
1. 采集PLC數(shù)據(jù)
從節(jié)點(diǎn)庫(kù)拖入一個(gè)西門子S7節(jié)點(diǎn),以及一個(gè)調(diào)試節(jié)點(diǎn),調(diào)試節(jié)點(diǎn)用于打印讀到的PLC數(shù)據(jù),方便定位問題:
雙擊西門子S7節(jié)點(diǎn),根據(jù)需求概述的內(nèi)容填寫對(duì)應(yīng)的設(shè)置參數(shù),如下圖所示:
IP:PLC的IP
端口:102(S7協(xié)議通信默認(rèn)端口102)
連接超時(shí):1000ms(默認(rèn)2000ms,可自定義)
通訊超時(shí):2000ms(默認(rèn)2000ms,可自定義)
數(shù)據(jù)點(diǎn)配置(根據(jù)幫助文檔可以找到對(duì)應(yīng)關(guān)系)
VD100
VD104
VD108
VD112
VD116
VD120
有的時(shí)候PLC數(shù)據(jù)點(diǎn)比較多,手動(dòng)依次錄入比較繁瑣。節(jié)點(diǎn)支持?jǐn)?shù)據(jù)點(diǎn)批量導(dǎo)入導(dǎo)出:
此處為語(yǔ)雀視頻卡片,點(diǎn)擊鏈接查看:plc導(dǎo)入.mp4
2. 數(shù)據(jù)格式化
在調(diào)試窗口可以看到讀到的PLC數(shù)據(jù)如下:
HTTP通信要求payload內(nèi)容符合Json格式,因此需將PLC節(jié)點(diǎn)輸出的Json格式轉(zhuǎn)換成HTTP通信需要的Json格式:
PLC節(jié)點(diǎn)輸出Json格式 | 描述 | HTTP上報(bào)要求Json格式 |
{ "Temperature1": 23.5, "Temperature2": 22.5, "Temperature3": 32.11, "Temperature4": 16.5, "Temperature5": 56, "Temperature6": 77.3 } | 需將左側(cè)Json格式 轉(zhuǎn)換為右側(cè)Json格式 | { "devid": "123456", "data": { "Temperature1": 23.5, "Temperature2": 22.5, "Temperature3": 32.11, "Temperature4": 16.5, "Temperature5": 56, "Temperature6": 77.3 } } |
如上所示,我們已成功利用函數(shù)計(jì)算節(jié)點(diǎn)將PLC讀取的數(shù)據(jù)格式轉(zhuǎn)換為HTTP上報(bào)所需的Json格式。這只是函數(shù)計(jì)算節(jié)點(diǎn)強(qiáng)大功能的一小部分展示,由于支持JavaScript編程,幾乎任何你能想象的功能都能在此實(shí)現(xiàn)。
3. 通過(guò)HTTP上報(bào)
拖入一個(gè)HTTP節(jié)點(diǎn),根據(jù)提示進(jìn)行配置地址和請(qǐng)求方式,即可實(shí)現(xiàn)數(shù)據(jù)上報(bào):
此處為語(yǔ)雀視頻卡片,點(diǎn)擊鏈接查看:HTTP上報(bào).mp4
服務(wù)端返回成功,至此,數(shù)據(jù)上報(bào)已經(jīng)完成,很簡(jiǎn)單幾步即可實(shí)現(xiàn):采集PLC數(shù)據(jù)HTTP上報(bào)。
所有的流程支持以json格式導(dǎo)入導(dǎo)出,方便與其他人分享做好的流程。本章節(jié)的流程json文件如下,復(fù)制后在菜單欄右上角選擇導(dǎo)入粘貼即可,導(dǎo)出同理。