作者 | 主题 |
---|---|
shine 至圣 经验值: 19950 发帖数: 8944 精华帖: 39 |
楼主 2020-06-08 14:17:32
主题:通过阿里云物联网平台实现PLC间的远程通讯 怎么实现S7-1500连接阿里云物联网平台已经在另外一个帖子中讲述了,具体看以下链接 接下来要实现的功能是两台PLC通过阿里云平台实现PLC间的通讯 在阿里云iot平台建立一个产品,产品下建立两个设备。比如我建立了一个产品叫 S7-1500,两个产品分别是 PLC1和PLC2,产品自定义两个TOPIC,一个 ${deviceName}/user/recv,订阅权限,一个 ${deviceName}/user/send,发布权限。 然后在规则引擎 云产品流转中建立一条规则,数据格式选二进制。 添加规则之后需要编辑规则,分三步,1、处理数据,2、转发数据,3、错误处理 前面两步是必须的,错误处理可选,当出现转发错误的时候,可以进行相应的操作,比如发布错误报警topic给管理员。 1、处理数据,编写SQL。 其实简单的转发不需要“编写”SQL,只要进行简单的选择操作,会自动生成SQL语句。 因为是二进制,全部转发,字段处填入 *,topic只要自定义,产品选择我们刚才建立的S7-1500,设备选PLC1,余下topic部分选择user/send,条件留空,不填 接下来是转发数据,点击添加操作按钮,如下 选择发布到另一个topic,topic选自定义,下面选择S7-1500,PLC2,user/recv,确定就OK了。然后返回上一级,启动该规则,然后再建立一条规则,只是PLC1和PLC2换一下,将PLC2的send转发给PLC1的recv,然后启动规则。 云端设置就完成了,在PLC端,两个PLC各自订阅自己的recv主题,PLC1发布的send主题会自动转发给PLC2,PLC2的会自动转发给PLC1。这样就实现了两个CPU之间的远程通讯,不管他们距离多遥远,只要他们能够连接阿里云服务器,就可以实现通讯。 如果我们套用MODBUS 协议,一个作为主站,按modbus协议组织send 的payload发布,另外一个作为从站,收到主站发布的topic后,按modbus协议组织数据并作为payload发布到服务器,并由服务器转发给主站。就能实现两个站的类modbus通讯了。 费用: 阿里云平台不是免费的,是按使用量收费的,按连接时长和消息条数收费,如果接入的设备少,消息发送频率低的话,费用还是很低廉的。 都是按月计费,连接时长是百万分钟1块钱,消息是百万条最高1.8元,阶梯计费,越多越便宜。 如果按刚才的例子,两台PLC进行远程通讯,24小时在线,每分钟钟进行一次通讯,即PLC1 send、转发到PLC2 recv,PLC2收到后 send,然后转发到PLC1的recv,共4条消息,那么费用就是 时长费用:31*24*60*2 /1000 000 = 0.08928,相当于一台设备5分钱一个月 消息费用:31*24*60*4* 1.8 /1000 000 =0.321408,平均一台设备0.16元。当然,如果消息多,相应的费用也会增加。比如每秒进行一次通讯,两台设备总的消息计费是19.28448? |
周杰伦 至圣 经验值: 13745 发帖数: 2031 精华帖: 16 |
1楼 2020-06-08 14:35:53
主题:回复:通过阿里云物联网平台实现PLC间的远程通讯 2个PLC通过云平台通讯,这个应用场景有哪些啊?
工控毁我青春!
|
黑猫警长W 至圣 经验值: 18377 发帖数: 2409 精华帖: 1 |
2楼 2020-06-09 10:17:17
主题:回复:通过阿里云物联网平台实现PLC间的远程通讯 |
shine 至圣 经验值: 19950 发帖数: 8944 精华帖: 39 |
3楼 2020-06-09 10:42:34
主题:回复:通过阿里云物联网平台实现PLC间的远程通讯 比如前几天看到的,有人在问一个远程泵站怎么和主控PLC进行通讯,这也是一个解决方案,只要两边都能联网就行。 另外,这里说的是两个PLC,其实可以不是PLC,也可以是其他的站点,比如一个是PLC,一个是PC的应用程序,作为一个MQTT client,实现少量的数据通讯 |
天芯 至圣 经验值: 18789 发帖数: 2104 精华帖: 0 |
4楼 2020-06-09 10:58:46
主题:回复:通过阿里云物联网平台实现PLC间的远程通讯 真的是打开眼界! |
yecao2006 至圣 经验值: 18019 发帖数: 1524 精华帖: 2 |
5楼 2020-06-10 08:59:37
主题:回复:通过阿里云物联网平台实现PLC间的远程通讯 大开眼界呀。谢谢
我回来了!继续努力!
|
HUANGZE75 至圣 经验值: 63260 发帖数: 12669 精华帖: 121 |
6楼 2020-06-10 13:49:48
主题:回复:通过阿里云物联网平台实现PLC间的远程通讯 |
CoolCool的猪 至圣 经验值: 16713 发帖数: 1307 精华帖: 2 |
7楼 2020-06-10 17:16:06
主题:回复:通过阿里云物联网平台实现PLC间的远程通讯
同一个问题ID下,已经先回答此问题的人,如再参考我答案而修改自己答案的,就是王八蛋!
|
www123456 至圣 经验值: 12233 发帖数: 2431 精华帖: 86 |
8楼 2020-06-11 13:41:07
主题:回复:通过阿里云物联网平台实现PLC间的远程通讯 本文是采用modbus协议,实用性很强,楼主的另一篇文章用MQTT 协议(1500支持MQTT客户端)应该也比较适合作为互联网上2个设备之间的通信协议,互联网非实时,节拍很难控制,带宽紧张,所以两端分别采用和服务器以订阅(读)和发布(写)方式传送消息数据比较适合。 |
slide 侠圣 经验值: 2943 发帖数: 347 精华帖: 0 |
9楼 2020-06-12 16:24:20
主题:回复:通过阿里云物联网平台实现PLC间的远程通讯 我是在阿里云购买的ECS服务器,架设MQTT的服务器,可以用西门子IOT2040采集PLC的数据然后发送给阿里云服务器,在服务器上做个dashboard等页面,可以用网页随时查看PLC的数据,挺方便的,其实不复杂,懂点modbus,mqtt,会linux用centos或者ubuntu架设一个服务器,还是挺好玩的,我没有IOT2040,用的树莓派4B做的网关,ECS服务器新用户价格不贵,或者去买个腾讯云也可。
TIA
|
www123456 至圣 经验值: 12233 发帖数: 2431 精华帖: 86 |
14楼 2020-06-17 18:58:14
主题:回复:通过阿里云物联网平台实现PLC间的远程通讯
这种发布,订阅通信方式和主动的高频次读写服务器方式不同,就像我们手机接收的推送信息那样,网络带宽占用还是很少的,比较适合像互联网这种网速不稳定的网络,实时性强的通信也不太适合互联网 。
|
shine 至圣 经验值: 19950 发帖数: 8944 精华帖: 39 |
15楼 2020-06-17 22:02:29
主题:回复:通过阿里云物联网平台实现PLC间的远程通讯
使用场景不一样。
这个适合少量数据交换,比如发送一条指令给设备,设备发送报警信息等。如果你要进行数据监控,产生大量消息的话,你可以自建/租用服务器,自己搭建应用服务器 |