设为首页
收藏本站
PLC技术网
开启辅助访问
切换到宽版
登录
注册哦
只需一步,快速开始
微信扫码登录
门户
Portal
论坛
BBS
导读
Guide
排行榜
Ranklist
搜索
搜索
本版
文章
帖子
用户
PLC论坛-全力打造可编程控制器专业技术论坛
»
论坛
›
工控技术交流区
›
『国外:三菱/西门子/欧姆龙/松下』
›
当树莓派+S7-1500与阿里云跨界相遇-自动化工程师的数字 ...
返回列表
发新帖
[西门子]
当树莓派+S7-1500与阿里云跨界相遇-自动化工程师的数字化之路
[复制链接]
146
|
0
|
2024-4-30 14:36:50
|
显示全部楼层
|
阅读模式
↑ 点击上方
“智能制造之家”
关注我们
写在面前
大家好,我是小智,智能制造之家号主~
跨界融合,一直是我们所倡导的,前面转载一篇很火爆的文章:
西门子、施耐德、罗克韦尔等巨头告诉你,为何你大爷始终是你大爷
当中有这样一句话:所有面向未来的自动化供应商,都在加快拥抱软件的步伐~
OT与IT融合已经是一个势不可挡的事实,比如我们分享了WinCC OA与Mindsphere的融合案例:
当WinCC OA遇上Mindsphere,自动化工程师的数字化之路
又比如前面我们分享的Teamcenter遇上NX MCD和TIA Portal:
Teamcenter、TIA Portal、NX MCD是如何结合在一起的
今天来说一说S7-1500遇上阿里云~
以下内容来源于西门子工业技术论坛~
Raspberry Pi(中文名为“树莓派”),是为学习计算机编程教育而设计,只有信用卡大小的微型电脑,其系统基于Linux。自问世以来,受众多计算机发烧友和创客的追捧,别看它身材娇小,但是功能却十分强大!
那么如果树莓派和工控界西门子PLC碰撞在一起,又会有怎样的火花呢?
本文将简单介绍如何基于Node-red使树莓派和西门子PLC进行S7通讯,并能够通过阿里云上的MQTT服务器对PLC的数据进行读取写入。
本文会分为四个部分:
1. 树莓派中Node-Red节点的配置;
2. 阿里云上MQTT服务器的建立;
3. PLC侧的设置;
4. 测试;
本文测试所需软件及硬件:
1. 树莓派3B+;
2. 西门子PLC S7-1500;
3. TIA Portal V15;
4. Putty;
5. MQTT.fx;
6. 阿里云服务器
1. 树莓派中Node-Red节点的配置;
自2015年开始是默认就带NODE-RED和NODE.JS,防止自带的Node-Red的版本较老,可以用putty连接树莓派后用以下指令进行更新;
update-nodejs-and-nodered
下一步是安装npm,这样方便对树莓派中的Node-red添加节点,步骤如下:
安装npm前,先运行以下指令使得树莓派的系统更新到最新,然后重启树莓派
sudo apt-get update && apt-get upgrade
重启之后运行如下指令安装npm
sudo apt-get install npm
此时树莓派侧的前期准备工作基本完成,用putty连接树莓派后,运行Node-red;
然后在浏览器中输入http://{树莓派的地址}:1880/即可进入Node-red编辑界面,如下图所示:
因为S7是西门子PLC专有的协议,因此树莓派中的Node-Red没有自带该节点,需自己安装(如果之前没有安装npm,安装新的节点便会很麻烦),如下图所示,打开Node-Red设置里的节点管理,搜索S7,安装第二个节点;
安装完毕之后,可以看到左边会多出S7的节点;
到此,Node-Red的设置基本完成,接下来进行简单编程,Node-Red编程方式的优缺点此处便不加赘述,如果对Node-Red编程方式不太了解的,可以参考链接(https://zhuanlan.zhihu.com/p/27546140); 本次会用到的节点有S7 in;S7 out;MQTT in;MQTT out;
首先是S7 in节点的设置:
IP Address处填写PLC的IP地址,Port默认为102,Mode选为Rack/Slot,PLC默认的机架号为0,插槽号为1;
下面是要访问的变量的填写,与TIA Portal中的设置对应;
接下来是S7 out节点的设置;
Out节点的设置和In节点类似,此处我们选择要修改的变量为1。
到此,S7的节点设置完成,下面对MQTT in和MQTT out节点进行设置,如下图所示;
首先是Out节点的设置
上图中,服务端的IP填写阿里云的公网IP,端口号为61613(TCP的端口号),客户端ID可以不填,用户名和密码为部署在阿里云上的MQTT服务器的密码(默认用户名为admin,密码为password);
主题处填写希望从MQTT服务器中订阅的主题;
以上所有的节点均已经配置完毕,讲节点连接,并点击右上角的部署按钮,将Node-Red部署至树莓派中;
第一部分结束。
2. 阿里云上MQTT服务器的建立;
MQTT的服务器很多,甚至还可以自己编写MQTT的服务器,本文采用的是Apollo服务器,Apollo服务器在Windows系统下的具体配置可以参照以下链接:https://blog.csdn.net/eren666/article/details/79459552
注:本次的阿里云操作系统为Windows Server 2012,本文下载的是apache-apollo-1.7.1,Java的版本为Java 8(Apollo和Java的版本一定要匹配,否则会出现错误)
配置完成后如下图所示:
以上阿里云上的MQTT服务器便部署完成;
第二部分结束。
3. PLC侧的设置;
PLC侧的设置便较为简单,因为S7可以做单边通讯,PLC侧不需要指令编程,只需
①对PLC属性进行设置,勾选“允许来自远程对象的PUT/GET通信访问”即可;
②在DB块中建立相应的变量,并将DB块属性中“优化的块访问”勾选去掉;
将CPU的配置下载到S7-1511PLC中,PLC侧的配置完成;
第三部分结束。
4. 测试
整个测试的流程如下图所示:
首先是PLC将数据发送到树莓派,修改监视表中的变量,当变量的数值发生变化时,会将消息发送至树莓派,树莓派将消息发送至MQTT服务器中,订阅消息的MQTT.fx客户端也会收到消息;
然后通过MQTT.fx客户端发布“raspiget”主题,从而修改PLC内部的数据;
发布的数据为4,此时我们可以看到,PLC里的变量1已经被修改为4;
最后,我们可以在MQTT服务器中查看具体的发布订阅数量,数据量的大小以及连接数;
第四部分结束。
最后
本文的内容可能不够详细,有些细节的地方还值得推敲。本次的测试其实不是很复杂的功能,但这个只是一个示例,除了S7,还有更多的方式可以选择,比如TCP,Modbus TCP,以及OPC等等。当把这个树莓派换成西门子的物联网网关IOT2040时,当把连接的阿里云换成西门子的Mindsphere时,可能会迸发出更精彩的内容!
传统的工控设备和流行的IT技术已经不再是割裂的关系,而是正在日趋融合,现在大家所追求的万物互联可能很快就可以在工控界普及开来!
来源:西门子工业技术论坛
免责申明:本公众号所载文章为本公众号原创或根据网络搜索编辑整理,文章版权归原作者所有。因转载众多,无法找到真正来源,如标错来源,或对于文中所使用的图片,资料,下载链接中所包含的软件,资料等,如有侵权,请跟我们联系协商或删除,谢谢!
往期推荐MES、SCADA、PLC项目调试,遇到网络丢包怎么办?MES、SCADA项目组网,如何进行冗余网络配置 | 工业通讯应用(一)PLM、MES、SCADA等工业软件系统实施中的容灾与备份有什么区别?工业网络的两层与三级-从PLM到MES,再到SCADA、PLC的连接PLM、EMS/MOM、SCADA等各类工业软件的B/S架构与C/S架构有何不同浅谈 MES、SCADA、PLC项目中的串口通信(232,485,422)及常见问题PLC与SCADA或第三方软件的联合仿真调试—NetToPLCSIMSCADA、DCS与PLC知多少?| 综合篇(三)MES、SCADA项目中的数据采集—基于C#与研华IO模块的ModbusTCP通讯
MES、SCADA下的数据采集— 西门子S7comm协议分析
MES、SCADA下的数据采集—从TCP到你应该了解的socket通信
MES、SCADA项目中的数据采集—以太网下三菱MX Component应
我们是一群智能制造技术的爱好者,我们乐于分享,我们积极向上,我们也许有些宅,但是我们很有爱,我们期待您的加入
--智能制造之家
多重福利哦
1.若您有智能制造相关资料需求,可以到
留言区
进行留言~
2.进入知识星球
智能制造之家,
提升自我认知,认识更多朋友,掌握更多资源,更多技巧
~
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
注册哦
x
回复
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册哦
本版积分规则
发表回复
回帖后跳转到最后一页
自动化工程技术
回复楼主
返回列表
『国外:三菱/西门子/欧姆龙/松下』
『国产:台达/汇川/信捷产品交流区』