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