西门子1517f开通MQTT

测试环境清单:TIA 博图 V15.1
西门子函数库:LMQTT_Client_V2_1_V15.1.zip
1517f PLC:6ES7 517-3FP00-0AB0 V2.6
网线直联,emqx运行在上位机
在这里插入图片描述
安装JDK1.8
JDK是emqx服务的运行环境
在这里插入图片描述
启动emqx-MQTT服务器
emqx-MQTT服务器提供MQTT协议中继服务,许多企业私有云用它解耦合,达到协议统一。Emqx是免安装的,解压就可以用
检验emqx-MQTT服务器是否启动:http://127.0.0.1:18083/
登录用户:admin 密码:public
打开博图创建空的1517f项目:
在这里插入图片描述
只要修改一下IP地址,保证PLC能够PING通上位IP就可以了,其它都默认,不需要设置密码或者安全。
在这里插入图片描述
在博图右侧找到全局库,把LMQTT_Client_V2_1_V15.1导入项目,并拖拽到上面的项目库里。
在这里插入图片描述
拖拽LMQTT_Client功能块进OB1,系统会自动创建LMQTT_Client_DB数据块(IN和OUT参数我们可以参考它创建自定义DB)。
在这里插入图片描述
根据LMQTT_Client_DB数据块IN和OUT参数创建自定义数据块MQTTdata.
在这里插入图片描述
把MQTTdata参数连接到OB1调用的LMQTT_Client的FB块。
在这里插入图片描述
修改MQTTdata参数:标红色的,IP地址填上位机IP,端口填1883.下载程序到PLC。
在这里插入图片描述
在线检测FB状态,tcpEstablished和mqttEstablished都要为TRUE。如果为false,说明PLC到emqx没建立通讯,故障原因有很多:网络不通、emqx服务没启动、PLC不支持(1510PLC亲测不行)等。
在这里插入图片描述
在线MQTTdata数据块,修改在线值,使用publishMessage上升沿触发PLC到emqx的TOPIC发布。
在这里插入图片描述
Python作为客户端接收获取PLC发布的信息
也可以用其它第三方MQTT客户端接收PLC发布的实时消息。

猜你喜欢

转载自blog.csdn.net/weloveut/article/details/106290407