然后在规则引擎 云产品流转中建立一条规则,数据格式选二进制。
添加规则之后需要编辑规则,分三步,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通讯了。