PLC实现HTTP协议JSON格式数据上报对接的参数配置说明
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字符等多种方式可选择;
<数据接收等待时间>:网关发送一次请求并收到服务端的返回数据后的等待时间,以便完整接收服务端返回的多包数据,单位毫秒;
<证书模式>:没有专用的客户端证书时选择为‘0_无证书’;
<客户端请求>:智能网关作为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文件<下载数组对象>外的字段;
/<下载数组对象>:智能网关接收解析的数据,对应接收JSON文件的对象名称,或者数组名称;
/<下载数据>:智能网关接收解析的数据,对应接收JSON文件<下载数组对象>内的字段;
/<数值读取>:保存从PLC读取到的数值,或者从服务端返回的结果,可作为变化判断的条件, 通过LUA 脚本程序进行必要的处理等;
/<数值写入>:用于网关将处理后的数据写入到PLC 设备,进行对应的数
据寄存器数值设定;
/<周期触发器(S)>:秒触发器,周期时间通过初始值赋值;在按变化上报模式时,可分别为不同的组设置不同的触发器,实现不同周期的数据上报;
<字段名称>:该数据对应的变量的名称;支持字母或数字,最多64 个字符。
<数据区域>:选择PLC 寄存器的区域,选择为‘Script’时,表示为网关内存区域的中间数据,一般用于字符串常数数据,通过初始值赋值,或者LUA 脚本边缘计算读写的数据;
<数据地址>:PLC 寄存器地址(只需输入纯数字);数据区域为‘Script’时,设置为0;
<数据类型>:该数据的数据类型,字符串选择为CHAR[n],数值型一般为INT16、DINT32,需要与PLC 内的定义对应;
<通讯端口>:智能网关上连接PLC 或仪表的物理端口,即当前数据所关联的PLC 或仪表,连接的是网关上的哪个物理端口, USB 端口选择‘串口1’ ;数据区域选择为‘Script’时可设置为‘无’;
<IP/站号>:范围0-255;对接串口设备时设置为站号;对接网络设备时设置
为IP 节点,即IP 地址的最后一段;
<任务组>:范围0-255;用于分组功能,相同的值即为同一组,每一组打包成一个独立的JSON 文件(相同组号的上报与下载会自动区分后分别打包);
<变化判断>:当保存周期设置为0 时,如勾选该项则在该数据有变化时,将数据打包并执行请求命令;当保存周期不为0 时,或者智能网关为HTTP 协议的服务端时忽略该项参数;
<初始值>:设定该行数据的常数或者初始值;其扩展功能查阅用户手册(下载地址)5.0 章节。