本案例是采用埃和智能网关,实现PLC变量寄存器地址通过一个免费的MQTT服务端(Broker),与MQTT的其它客户端双向通讯。PLC和网关都不用编程和二次开发,直接配置IP地址、PLC数据地址即可,配置页面如下:相关软件下载
首先用测试工具测试一下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双向通讯就完成了,变量地址可根据需要进行修改。详细资料下载地址
楼主最近还看过