通过阿里云物联网平台实现PLC间的远程通讯

已锁定

shine

  • 帖子

    8944
  • 精华

    39
  • 被关注

    153

论坛等级:至圣

注册时间:2003-06-06

普通 普通 如何晋级?

通过阿里云物联网平台实现PLC间的远程通讯

5828

23

2020-06-08 14:17:32

star star star star star

怎么实现S7-1500连接阿里云物联网平台已经在另外一个帖子中讲述了,具体看以下链接

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?

通过阿里云物联网平台实现PLC间的远程通讯 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1500系列

共有8577条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。