2024年4月26日发(作者:)

通过MQTT协议连接和采集PLC信息,免费中间件LECPServer使

用手册

前言:LECPServer最新版本支持通过MQTT网关,将PLC的状态信息发布给其他上位系统,如MES,HIM,SCADA等系

统,并对信息进行采集和二次加工。

在现代工业现场中,会大量的使用MQTT协议,将现场PLC设备(如欧姆龙,三菱,西门子,施耐德等PLC)的状态,收

集到MES、HIM、SCADA系统上,但目前支持独立的MQTT客户端的PLC价格昂贵,而且大部分都不支持。因此有人提供

了两组不同的方案

1. 外接硬件的解决方案,即在PLC的串口或者网口上添加一个MQTT客户端网关。这种解决方案需要每台PLC都需要追

加硬件和独立配置。

2. 通过软件进行信息转载,如 KepServer 就是这种方案的翘楚,现场只需要架设一台服务器,通过KepServer与PLC

设备连接(可以使用RS232/485、以太网等方式),获取到PLC信息后,通过KepServer内置的MQTT客户端,将

信息发布到MQTT Broker上。

LECPServer使用的就是第二种方案。

LECPServer对于PLC的连接和配置,这里就不再赘述了,需要的小伙伴可以到这里阅读。

Kepware KepServer的完美替代者,免费开源项目 LECPServer 使用指南_JamesChan的专栏-CSDN博客_lecpserver

这里陈述下LECPServer关于MQTT的配置方法

LECPServer 提供了两个MQTT的支持:

1. MQTT Broker(MQTT服务端),可以通过配置文件启动或者关闭

2. MQTT Client(MQTT客户端),通过页面配置,可以进行对节点信息的发布,使到对应的订阅者能收到最新的节

点状态信息

如何配置 MQTT Broker

配置MQTT Broker非常简单,只需要打开文件 其中

"MQTTSERVER": {

"PORT": 1883,

"START": false

}

为MQTT Broker的配置,PORT是Broker需要打开的端口,START如果是true,则启动Broker,否则则不启动Broker

用户可以使用LECPServer自带的Broker,也可以使用第三方的Broker进行信息的发布

如何配置 MQTT Client

点开配置页面,我们就可以对MQTT进行配置了。

1. 点击"设备"栏,的"新加设备"选项,新增一个MQTT设备

2. 填写MQTT客户端名称,这时候,名称不可重复

3. 点击"确认,添加",新加设备完毕

4. 配置MQTT客户端,IP,PORT对应Broker的地址和端口,Client_ID 是客户端ID,可不填,TOPIC是需要发布的主

题名称,其他客户端可通过该Topic来订阅信息

5. SCAN_RATE,为巡检节点时间,单位ms,默认为1000ms,每巡检一遍,触发一次设备节点的发布

6. 配置好必要信息后,点击“应用”按键,即可连上Broker