通过Node-RedPLC数据上传至物联网平台并在云端对变量进行操控
注意事项:
-
PLC和运行Node-Red的电脑须在同一网段。
-
运行时请使用实体PLC,PLCSIM Advanced仿真软件Node-Red可能无法连接。
-
博图中创建相关数据DB块时,在块属性中,将”优化的块访问“复选框取消勾选。
-
博图中编写PLC程序时在PLC设置窗体,找到防护与安全目录下,找到连接机制设置,将允许来自远程对象的Put/Get 通信访问勾选中。
具体流程:
一、编写PLC处程序
-
新建PLC设置其与运行Node-Red的电脑在同一网段。
-
在PLC属性中允许来自远程对象的Put/Get 通信访问。
-
创建一个DB块,并取消勾选其属性中优化块的访问。
-
在块中新建一个Bool型的变量,并对程序进行编译。
二、设置物联网平台(详见之前的文章)
-
在阿里云物联网平台开通实例。
-
在设备管理中添加相关产品。
-
在设备管理中添加相关的产品设备。
-
在产品页面的操作栏中点击查看进入设备详细信息。
-
找到产品的功能定义并添加自定义功能(编辑草稿)。
-
创建一个功能名称为启动,标识符为Start,数据类型为bool的属性。
-
布尔值 0-关 1-开,读写类型为允许读写,确认并保存。
-
再次以相同的方式创建一个状态功能,标识符为State,数据类型为bool的属性。
-
创建完成后左下角点击发布上线。
三、设置阿里云 IoT Studio
-
进入项目管理处新建一个项目。
-
进入应用开发新建一个移动应用。
-
在左侧组件处拖出 基础-指示灯。
-
点击指示灯,右侧样式界面展示数据处配置数据源。
-
产品和指定设备选择之前创建好的。
-
属性处选择之前创建的 状态(Bool),此处由于设备没有上传过数据,右下角的验证数据格式可能会错误,忽略即可。
-
在左侧组件处拖出 控制-按钮。
-
点击指示灯,右侧交互界面新增交互。
-
事件选择单击,添加子动作并选择设置设备属性。
-
设置设备属性处选择之前创建好的产品和指定设备,属性选择启动,值选择开。
-
点击右上角保存,再点击右上角发布。
-
在界面左侧应用设置-域名管理处添加自己的域名或使用阿里云提供的域名,在浏览器处打开即可访问刚才做好的网页。
四、配置Node-Red(详见之前的文章)
-
拖出 s7 control 节点并根据之前的文章连接阿里云物联网平台。
-
在节点的PLC属性处创建 DB1,B0 Bool 变量。
-
拖出 s7 in 节点并在其后连接 switch 节点进行状态判断,配置如下图所示。
-
在 switch 后分别接两个 templat 节点,对上传的数据进行封装,使阿里云能够识别对应属性。
-
之后将两个节点都连接到同一个 mqtt out 节点,节点配置详见之前文章。
-
节点的主题填写
/sys/gwaexBTS8Wk/{设备名称}/thing/event/property/post
,从阿里云物联网设备管理的产品处 Topic 类列表中可以看到这是属性上报的主题。 -
拖出 mqtt in 节点,主题填写为
/sys/gwaexBTS8Wk/{设备名称}/thing/service/property/set
,显然这是属性设置主题。 -
将接收到的信息再次交给 switch 判断,此时我们只对打开状态即状态1进行判断,因此只将 switch 的一个输出节点(符合条件时)连接到 change 节点,将 payload 设置为1。
-
在 change 节点后连接一个 s7 out 节点,设置为对 DB1,B0 进行写入。
-
再在 change 节点后创建一个 template 节点,对状态信息进行封装(复位 Start)。
-
将封装好的数据用 mqtt out 传送给阿里云,主题依然为
/sys/gwaexBTS8Wk/{设备名称}/thing/event/property/post
。 -
总的流程图如下,点击右上角部署:
五、结束
将程序下载入PLC,此时访问之前创建好的网页,可以看到指示灯为停止状态,点击按钮后会将 Start 属性设置为1,Node-Red 在接收到属性改变后会对应的将 PLC 内的变量值置1,同时将云端的 Start 属性复位。PLC 内的变量置1后被检测到,Node-Red将此状态上传到云端,State 属性状态相应的被改变,于是达到指示灯状态改变的效果。
若要将指示灯再次关闭即将PLC中的变量复位,可在PLC中写相应的程序,或在云端再次创建一个 Stop 属性,用同样的逻辑即可实现。
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgbejcj
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01