智能网关-不用二次开发,填入PLC寄存器地址即可实现MQTT协议JSON格式发布与订阅

        本案例是采用智能网关,实现PLC变量寄存器地址通过一个免费的MQTT服务端(Broker:broker.hivemq.com:1883),与MQTT的其它客户端双向通讯。PLC和网关都不用编程和二次开发,直接配置IP地址、PLC数据地址即可。HTTP协议的网关

        首先用测试工具测试一下MQTT的服务端是可用的,我用的是MqttBox软件,其界面设置如下:软件下载地址

        设置完成后点SAVE按钮,尝试连接,发现是可以连接上的  ,MQTTBOX有如下显示: 

  

        然后就开始设置网关了,主要是服务端地址端口,以及需要发布或订阅的PLC寄存器地址,这里用的是S7-200SMART的PLC,设置完成后的界面如下:

        发布的数据有3个,分别是tag1,VB2000,String / tag2,M10.0,Bool/ tag3,VB200,Real32, MQTTBOX软件里面订阅的网关数据收到的JSON:{ "DateTime": "2019-11-30 15:59:27", "ClientID": "ClientID1", "TagValue": { "Tag1": "ABCDEFG1234", "Tag2": "1", "Tag3": "12345.677734" } } 显示如下:

       在上图中点左边的Publish按钮,可以将Payload里面的JSON发布,网关接收到数据后将tag对应的值写入到PLC,发布数据后打开PLC的编程软件监控,数值如下:

        这样网关MQTT双向通讯就完成了,变量地址、数据类型可根据需要进行修改。也可切换其他品牌的PLC或者智能仪表,通过参数软件的 视图->类型与设备选择 打开以下界面:

发布了12 篇原创文章 · 获赞 8 · 访问量 5163

猜你喜欢

转载自blog.csdn.net/AutoCtrl666/article/details/103287296