智能网关-多台智能仪表的数据采集到SQL数据库(含边缘计算)

        IGT-SER智能网关模块,支持各种PLC、智能仪表、远程IO与数据库之间双向通讯,既可以读取设备的数据上报到SQL数据库,也可以从数据库查询数据后写入到设备;数据库软件支持MySQL、SQLServer、PostgreSQL。

        网关安装在设备侧,与设备同时起停,不担心数据丢失;在断网、服务器维护上报数据有异常时,网关主动将数据缓存,待故障解除后自动重新上报到数据库;网关也支持多服务器冗余、异常未提交数据本地保存等功能,确保数据安全;已批量用于多种行业的智能工厂,大大提高MES等工业互联网项目的实施效率。

        本文章描述的是通过一个IGT-SER智能网关模块,与多台智能仪表通讯采集数据后存入数据库的案例。PLC数据上报到远程数据库  软件与手册下载

         首先建立好数据库和数据表,通过navicat数据库工具连接MySQL数据库,建立数据库database和数据表datatable,具体设计视图如下:

        将网关与智能仪表的串口通讯线连接好,打开参数设置软件通过网线连接网关设置参数,,正常连接后,首先设置串口参数,功能->串口参数编辑,如下图:

        主要设置串口的连接模式,以及波特率、通讯格式、超时时间等参数,本站地址为0,PLC站地址也设置为255,因为连接的是多台仪表,在后面的数据配置中指定具体的站号。

        然后设置数据库相关参数,关于配置表与SQL语言的对应关系,可看这篇文章。功能->数据上报与查询,到数据库页面,设置数据库服务器的地址、具体上报的数据,详细如下图:

        上图中数据区域所选择的‘Script’是网关模块的内部变量,以下是该配置对应的LUA脚本文件:LUA脚本教程

--script:

--工程函数定义:
function luaMain( ) 
	--定义变量:
	local temp=0
	local tval=0
	local tstr=""

	--循环读取当前值更新状态:
	while true do
		temp=tag_readvalue(1,"current_value")
		if (temp~=nil) then
            tval=tonumber(temp)
			if tval<40 and tval>0 then
				tstr="Temperature Normal"
			else
				tstr="Temperature Aralm"
			end
			tag_writevalue(1,"state",tstr)
		end

		temp=tag_readvalue(2,"current_value")
		if (temp~=nil) then
            tval=tonumber(temp)
			if tval<8 and tval>4 then
				tstr="Pressure Normal"
			else
				tstr="Pressure Aralm"
			end
			tag_writevalue(2,"state",tstr)
		end

		temp=tag_readvalue(3,"current_value")
		if (tval~=nil) then
            tval=tonumber(temp)
			if tval<400 and tval>360 then
				tstr="Voltage Normal"
			else
				tstr="Voltage Aralm"
			end
			tag_writevalue(3,"state",tstr)
		end	

		--延时后进入下一循环:
		fun_sleep(5000)
	end
end

--错误发送定义:
function sendinfor(err)
   tag_writevalue(0,"script_infor",err)
end

--调用以上两个函数
xpcall(luaMain, sendinfor)
--脚本结束

        设置完成后将配置和脚本文件一起下载到网关,重启后即可自动运行。网关软件和配置文件可从CSDN里面下载

      

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值