尊重原创 勿抄袭
勿私放其他平台
前 言:
近几年,物联网领域mqtt协议以轻量级的优势风靡起来,众多物联网设备开始需要使用mqtt协议来相互沟通。但是,在工控领域,对mqtt协议的直接支持还寥寥无几。如果有用户想将PLC或仪表的数据通过mqtt直接传输至数据中心呢?
北京伟联科技有限公司WL-320E-M边缘计算模块来帮忙。不需要修改PLC程序哦!
思路:
先将PLC数据读回来,再按照mqtt服务器规定的格式编写JSON字符串,通过mqtt客户端写入功能将数据写入。
01
配置WiSCADA 3.0软件的扩展服务,选择mqtt服务器,启用
-
服务器地址:mqtt服务器的IP地址,本文测试环境启用WiSCADA3.0软件自带的mqtt 服务器功能,此处可以写127.0.0.1,表示本机,也可以写本地计算机网卡IP地址。
-
服务器端口:mqtt服务器端口
-
客户端标识:WiSCADA 3.0软件自定义的。
-
心跳时间:检测连接状态
-
质量:选择质量选项
-
写入主题:自定义,用于订阅客户端执行写入功能时对变量的分类
-
用户名:由mqtt server提供的用户名密码,本文为admin密码admin。如果是第三方提供mqtt server,该用户名密码需要联系管理员获取。
-
发送周期:可控制消息发布的频率
配置完毕后运行WiSCADA软件。
02
接下来读取PLC数据
Inject节点配置如下:
var ValueData = new Array() //定义数组
//定义全局变量存储标签值,有多少标签就需要定义多少这种全局变量
var TestFloat_0 = context.get('TestFloat_0')
var TestFloat_1 = context.get('TestFloat_1')
var TestFloat_2 = context.get('TestFloat_2')
var TestFloat_3 = context.get('TestFloat_3')
var TestFloat_4 = context.get('TestFloat_4')
//判断当前接受的消息是否是记录触发消息
if(msg.payload == "RecordStart")
{
SetValue() //调用子函数
msg.payload = ValueData //输出该数组
return msg; //函数节点输出
}
else //如果接收的消息不是记录触发消息,为正常的数据,将消息传递给全局变量
{
TestFloat_0 = msg.payload["TsetFloat[0]"]; //获取上一节点读取到的标签值
TestFloat_1 = msg.payload["TsetFloat[1]"]; //获取上一节点读取到的标签值
TestFloat_2 = msg.payload["TsetFloat[2]"]; //获取上一节点读取到的标签值
TestFloat_3 = msg.payload["TsetFloat[3]"]; //获取上一节点读取到的标签值
TestFloat_4 = msg.payload["TsetFloat[4]"]; //获取上一节点读取到的标签值
context.set('TestFloat_0',TestFloat_0) //将获取的消息传递给全局变量
context.set('TestFloat_1',TestFloat_1)
context.set('TestFloat_2',TestFloat_2)
context.set('TestFloat_3',TestFloat_3)
context.set('TestFloat_4',TestFloat_4)
}
function SetValue()
{ //有多少变量值需要写入,就需要在此创建多少数组对象
ValueData[0]={
"id": "Sim1_tag11",
"v": TestFloat_0
}
ValueData[1]={
"id": "Sim1_tag12",
"v": TestFloat_1
}
ValueData[2]={
"id": "Sim1_tag13",
"v": TestFloat_2
}
}
WL-320E-M为伟联科技新一代专门针对工业的边缘计算产品,采用基于Node.js的架构,无需编写一行代码,实现可视化的工业数据采集和协议交换。通过在浏览器中拖拽的方式将不同的PLC、数据库以及Web应用连接在一起,构成数据流,使用户可以快速的创建出自己的应用。
—-可实现多种PLC之间的数据交换,AB,SIEMENS,Schneider,Omron和.Mitsubishi。
—-可实现和空
—- MQTT可方便
—-从PLC采集的数据可以直接通过WiFi进行无线数据传输
—-Python可实现灵活的二次系统开发
—-采集来的数据可进行数学和逻辑运算
未完待续
李大拿家的王小拿
2022年2月
往期精选
人气推荐
more+
1.Smart200&V90伺服系统:已更新15课
2.贝加莱直播课程:已更新16课
3.力控科技产品培训:已更新5课
6.专家课堂:已更新12课
原文始发于微信公众号(剑指工控):轻松让PLC数据到MQTT