IGT-SER系列PLC通訊智能網(wǎng)關(guān)支持HTTP協(xié)議GET和POST、PUT請(qǐng)求模式。支持JSON格式的文件,也可以實(shí)現(xiàn)WebService的調(diào)用。
通常智能網(wǎng)關(guān)是HTTP協(xié)議的客戶端,也可以同時(shí)作為HTTP的服務(wù)端。相關(guān)案例在附件中
作為客戶端時(shí)支持觸發(fā)、周期、混合等多種工作模式與服務(wù)端通訊:周期模式根據(jù)所設(shè)置的周期時(shí)間提交請(qǐng)求和解析返回的文件;觸發(fā)模式可配置一個(gè)或多個(gè)觸發(fā)條件,網(wǎng)關(guān)根據(jù)觸發(fā)條件的數(shù)據(jù)變化進(jìn)行文件提交和下載解析;也可以兩種模式同時(shí)配置運(yùn)行。每次通訊智能網(wǎng)關(guān)根據(jù)配置打包JSON文件再提交數(shù)據(jù),如果有數(shù)據(jù)返回則立即解析到對(duì)應(yīng)的數(shù)據(jù)變量;在此期間根據(jù)字段類別和所配置的PLC數(shù)據(jù)地址跟PLC建立連接讀寫(xiě)數(shù)據(jù)。
作為服務(wù)端時(shí)根據(jù)客戶端URL中的路徑查找所配置的數(shù)據(jù),打包成JSON文件后返回給客戶端。同樣根據(jù)字段類別和所配置的PLC數(shù)據(jù)地址跟PLC建立連接讀寫(xiě)數(shù)據(jù)。
通過(guò)[功能]/[數(shù)據(jù)轉(zhuǎn)發(fā)與平臺(tái)對(duì)接]進(jìn)入數(shù)據(jù)采集參數(shù)設(shè)置界面(軟件下載),選擇HTTP-GET/POST,如下圖:
<服務(wù)端URL>:智能網(wǎng)關(guān)為HTTP協(xié)議客戶端時(shí),輸入服務(wù)器的URL地址;支持字母或數(shù)字,最多128個(gè)字符。設(shè)置為‘在腳本程序文件內(nèi)配置運(yùn)行’時(shí)表示除PLC通訊以外的功能全部由腳本程序?qū)崿F(xiàn)。
<上報(bào)周期>:智能網(wǎng)關(guān)為HTTP協(xié)議客戶端時(shí),網(wǎng)關(guān)的工作周期間隔時(shí)間,單位為秒;當(dāng)設(shè)置為0時(shí),根據(jù)數(shù)值變化,即觸發(fā)模式進(jìn)行上傳下載。
<字符順序>:選擇字符串?dāng)?shù)據(jù)類型的處理方式,有默認(rèn)、交換1字符和交換2字符等多種方式可選擇;
<數(shù)據(jù)模式>:POST或者PUT的主體BODY模式,可以選擇JSON_Raw、Form-Data;還可以選擇InfluxDB2時(shí)序數(shù)據(jù)庫(kù)的方式;
<證書(shū)模式>:沒(méi)有專用的客戶端證書(shū)時(shí)選擇為‘0_無(wú)證書(shū)’;
<字符順序>:選擇字符串?dāng)?shù)據(jù)類型的處理方式,有默認(rèn)、前后交換字符、ASCII與UTF8字符編碼轉(zhuǎn)換等多種模式選擇;
<數(shù)據(jù)接收等待時(shí)間>:網(wǎng)關(guān)發(fā)送一次請(qǐng)求并收到服務(wù)端的返回?cái)?shù)據(jù)后的等待時(shí)間,以便完整接收服務(wù)端返回的多包數(shù)據(jù),單位毫秒;
<數(shù)據(jù)請(qǐng)求方法>:智能網(wǎng)關(guān)作為HTTP客戶端,與遠(yuǎn)程服務(wù)端之間的數(shù)據(jù)交互方式,默認(rèn)為GET+POST請(qǐng)求命令組合,實(shí)現(xiàn)上報(bào)和下載數(shù)據(jù),可切換為GET+PUT請(qǐng)求命令組合;
<服務(wù)模式起始的任務(wù)組>:智能網(wǎng)關(guān)作為服務(wù)模式的JSON文件起始組,在此之前的組都是作為客戶端所用的JSON數(shù)據(jù)文件;關(guān)于‘任務(wù)組’可查閱后面‘?dāng)?shù)據(jù)配置表各列’的詳細(xì)描述;
數(shù)據(jù)配置表各列:
<序號(hào)>:數(shù)據(jù)的順序號(hào);參數(shù)軟件與網(wǎng)關(guān)正常連接時(shí),鼠標(biāo)雙擊對(duì)應(yīng)的序號(hào)會(huì)在消息區(qū)域顯示該數(shù)據(jù)的當(dāng)前值;
<字段類別>:該行數(shù)據(jù)的字段類別模式,有以下選項(xiàng):
/<參數(shù)Header>:添加到HTTP頭部的參數(shù),可通過(guò)初始值賦值,最多64字符;
/<URL后綴>:添加到<服務(wù)器URL>參數(shù)字符串末尾的字符串,其長(zhǎng)度最多為64個(gè)字符,與<任務(wù)組>參數(shù)配合使用,從而允許同一個(gè)網(wǎng)關(guān)對(duì)應(yīng)多個(gè)不同的 URL 地址;
/<上報(bào)標(biāo)題>:智能網(wǎng)關(guān)打包發(fā)出的數(shù)據(jù)中,位JSON文件<上報(bào)數(shù)組對(duì)象>外部的字段,通常用于標(biāo)識(shí)發(fā)送時(shí)間或設(shè)備ID等信息;
/<上報(bào)數(shù)組對(duì)象>:智能網(wǎng)關(guān)打包發(fā)出的數(shù)據(jù),對(duì)應(yīng)JSON文件的對(duì)象名稱,或者數(shù)組名稱;
/<上報(bào)數(shù)據(jù)>:智能網(wǎng)關(guān)打包發(fā)出的數(shù)據(jù),對(duì)應(yīng)JSON文件<上報(bào)數(shù)組對(duì)象>內(nèi)的字段;
/<GET參數(shù)>:添加到<服務(wù)器URL>參數(shù)字符串末尾的參數(shù),網(wǎng)關(guān)自動(dòng)將按GET模式的URL排列,按GET模式提交;
/<日期時(shí)間>:智能網(wǎng)關(guān)打包發(fā)出的數(shù)據(jù),對(duì)應(yīng)JSON文件<上報(bào)數(shù)組對(duì)象>外的日期時(shí)間字段,日期時(shí)間值取自智能網(wǎng)關(guān)的RTC時(shí)鐘芯片,格式可通過(guò)[參數(shù)]/[網(wǎng)關(guān)時(shí)間設(shè)置]選擇;
/<上報(bào)循環(huán)計(jì)數(shù)>:每次網(wǎng)關(guān)數(shù)據(jù)上報(bào)成功后該值加1,如值大于100或者網(wǎng)關(guān)重啟,則返回到1重新計(jì)數(shù); 配置為PLC寄存器地址可以將數(shù)值寫(xiě)入PLC;
/<下載標(biāo)題>:智能網(wǎng)關(guān)接收解析的數(shù)據(jù),對(duì)應(yīng)接收J(rèn)SON文件<下載數(shù)組對(duì)象>外的字段;配置對(duì)應(yīng)的PLC寄存器地址,可以將數(shù)值寫(xiě)入到PLC;
/<下載數(shù)組對(duì)象>:智能網(wǎng)關(guān)接收解析的數(shù)據(jù),對(duì)應(yīng)接收J(rèn)SON文件的對(duì)象名稱,或者數(shù)組名稱;
/<下載數(shù)據(jù)>:智能網(wǎng)關(guān)接收解析的數(shù)據(jù),對(duì)應(yīng)接收J(rèn)SON文件<下載數(shù)組對(duì)象>內(nèi)的字段;配置對(duì)應(yīng)的PLC寄存器地址,可以將數(shù)值寫(xiě)入到PLC;
/<數(shù)值讀取>:保存從PLC讀取到的數(shù)值,或者從服務(wù)端返回的結(jié)果,可作為變化判斷的條件, 通過(guò)LUA 腳本程序進(jìn)行必要的處理等;
/<數(shù)值寫(xiě)入>:用于網(wǎng)關(guān)將處理后的數(shù)據(jù)寫(xiě)入到PLC 設(shè)備,進(jìn)行對(duì)應(yīng)的數(shù)據(jù)寄存器數(shù)值設(shè)定;
/<周期觸發(fā)器(S)>:秒觸發(fā)器,周期時(shí)間通過(guò)初始值賦值;在按變化上報(bào)模式時(shí),可分別為不同的組設(shè)置不同的觸發(fā)器,實(shí)現(xiàn)不同周期的數(shù)據(jù)上報(bào);
<字段名稱>:該數(shù)據(jù)對(duì)應(yīng)的變量的名稱;支持字母或數(shù)字,最多64 個(gè)字符。
<數(shù)據(jù)區(qū)域>:選擇PLC 寄存器的區(qū)域,選擇為‘Script’時(shí),表示為網(wǎng)關(guān)內(nèi)存區(qū)域的中間數(shù)據(jù),一般用于字符串常數(shù)數(shù)據(jù),通過(guò)初始值賦值,或者LUA 腳本邊緣計(jì)算讀寫(xiě)的數(shù)據(jù);
<數(shù)據(jù)地址>:PLC 寄存器地址(只需輸入純數(shù)字);數(shù)據(jù)區(qū)域?yàn)椤甋cript’時(shí),設(shè)置為0;
<數(shù)據(jù)類型>:該數(shù)據(jù)的數(shù)據(jù)類型,字符串選擇為CHAR[n],數(shù)值型一般為INT16、DINT32、REAL32,需要與PLC 內(nèi)的定義對(duì)應(yīng);
<通訊端口>:智能網(wǎng)關(guān)上連接PLC 或儀表的物理端口,即當(dāng)前數(shù)據(jù)所關(guān)聯(lián)的PLC 或儀表,連接的是網(wǎng)關(guān)上的哪個(gè)物理端口, USB 端口選擇‘串口1’ ;數(shù)據(jù)區(qū)域選擇為‘Script’時(shí)可設(shè)置為‘無(wú)’;
<IP/站號(hào)>:范圍0-255;對(duì)接串口設(shè)備時(shí)設(shè)置為站號(hào);對(duì)接網(wǎng)絡(luò)設(shè)備時(shí)設(shè)置為IP 節(jié)點(diǎn),即IP 地址的最后一段;
<任務(wù)組>:范圍0-255;用于分組功能,相同的值即為同一組,每一組打包成一個(gè)獨(dú)立的JSON 文件(相同組號(hào)的上報(bào)與下載會(huì)自動(dòng)區(qū)分后分別打包);
<變化判斷>:當(dāng)<上報(bào)周期>設(shè)置為0時(shí),若勾選則在該數(shù)據(jù)有變化時(shí)執(zhí)行數(shù)據(jù)上報(bào),否則該數(shù)據(jù)將在同組中別的條件滿足時(shí)一起執(zhí)行數(shù)據(jù)上報(bào);勾選后還可以設(shè)置具體的附加執(zhí)行條件,具體查閱5.0章節(jié)。當(dāng)<上報(bào)周期>不為0,或者或者智能網(wǎng)關(guān)只作為HTTP協(xié)議的服務(wù)端時(shí),忽略該項(xiàng)參數(shù);
<初始值>:設(shè)定該行數(shù)據(jù)的常數(shù)或者初始值;其擴(kuò)展功能查閱用戶手冊(cè)(下載地址)5.0 章節(jié)。
通過(guò)以上數(shù)據(jù)配置表,可以實(shí)現(xiàn)多種結(jié)構(gòu)JSON文件格式格式(MQTT與HTTP協(xié)議相同),相關(guān)配置舉例可查閱這篇文章:
https://blog.csdn.net/AutoCtrl666/article/details/138529550 軟件案例手冊(cè):
軟件+案例+手冊(cè).zip (4483 K) 下载次数:2 [ 此帖被autoctrl在2025-02-06 10:44重新編輯 ]