技术中心

10分钟轻松实现西门子SMART200PLC连接自建MQTT云平台

来源:河北蓝蜂信息科技有限公司
2023/5/18 13:47:57
504
导读:

目录

. 使用流程

. 准备工作

2.1 需要准备如下物品

2.2 LF220网关准备工作

2.3 PLC准备工作

2.4 电脑的准备工作

2.5 MQTT服务器

. MQTT网关登陆平台配置步骤

3.1 登录

3.2 网关概况

3.3 MQTT连接配置

3.4 驱动管理

3.5 变量管理

. MQTT客户端数据采集配置步骤

4.1 实时采集数据配置

4.2 写变量配置

4.3 状态上报

4.4 系统变量

. 其他功能

. 注意事项

前言:MQTT是一个基于客户端-服务器的消息发布/订阅传输协议。MQTT协议的特点是轻量、简单、开放和易于实现的,同时,西门子PLC广泛应于工业控制领域,是一款性能高、稳定性强的PLC设备。

此文档将介绍如何使用MQTT协议网关串口连接西门子200PLC,将PLC的数据通过MQTT协议传输到数据平台,电脑使用MQTTX软件可以实时接收到200PLC的数据,实现将PLC数据上云,远程监控数据的功能。

一. 使用流程

流程如下,使用网关按照以下流程就可以实现PLC数据上云的功能,实现数据采集。

二. 准备工作

二.1 需要准备如下物品

1) 西门子200或200smartPLC一台(下文以200PLC为例,200smart串口使用方法相同)

2) MQTT协议网关一台,天线和电源适配器(以下用LF220作为实例)。

3) SIM卡一张,有流量,大卡(移动,联通或者电信卡)。

4) 联网电脑一台(WinXP/Win7/Win8/Win10操作系统)。

5) 支持MQTT协议的平台(云服务器、实体服务器均可)。

6 可以访问MQTT平台的软件(MQTTX等,本文以MQTTX介绍)。

7) USBRS232线、网线、电工工具、导线若干。

目录

. 使用流程

. 准备工作

2.1 需要准备如下物品

2.2 LF220网关准备工作

2.3 PLC准备工作

2.4 电脑的准备工作

2.5 MQTT服务器

. MQTT网关登陆平台配置步骤

3.1 登录

3.2 网关概况

3.3 MQTT连接配置

3.4 驱动管理

3.5 变量管理

. MQTT客户端数据采集配置步骤

4.1 实时采集数据配置

4.2 写变量配置

4.3 状态上报

4.4 系统变量

. 其他功能

. 注意事项

前言:MQTT是一个基于客户端-服务器的消息发布/订阅传输协议。MQTT协议的特点是轻量、简单、开放和易于实现的,同时,西门子PLC广泛应于工业控制领域,是一款性能高、稳定性强的PLC设备。

此文档将介绍如何使用MQTT协议网关串口连接西门子200PLC,将PLC的数据通过MQTT协议传输到数据平台,电脑使用MQTTX软件可以实时接收到200PLC的数据,实现将PLC数据上云,远程监控数据的功能。

一. 使用流程

流程如下,使用网关按照以下流程就可以实现PLC数据上云的功能,实现数据采集。

 

二. 准备工作

二.1 需要准备如下物品

1) 西门子200或200smartPLC一台(下文以200PLC为例,200smart串口使用方法相同)

2) MQTT协议网关一台,天线和电源适配器(以下用LF220作为实例)。

3) SIM卡一张,有流量,大卡(移动,联通或者电信卡)。

4) 联网电脑一台(WinXP/Win7/Win8/Win10操作系统)。

5) 支持MQTT协议的平台(云服务器、实体服务器均可)。

6 可以访问MQTT平台的软件(MQTTX等,本文以MQTTX介绍)。

7) USBRS232线、网线、电工工具、导线若干。


image.pngimage.pngimage.pngimage.png

 

二.2 LF220网关准备工作

网关相关技术参数与使用说明,可参考《LF220边缘计算网关用户手册》。

1、 保证网关可以正常联网,可通过4G卡(移动/联通/电信流量卡,大卡)联网(需接上随网关附带的天线)或通过网线联网(需将路由器出来的网线接到网关的WAN口);

2、 网关接12V24V直流电源,上电。(注意,电源正负极不要接反)。

二.3 PLC准备工作

PLC连接电源(注意电源是24VDC还是220VAC),准备一颗9针串口公头,用两颗导线分别焊接的3和8引脚(如下图),PLC Port0串口的3引脚连接LF220网关的“RS485A”端子,8引脚连接LF220网关的“RS485B”端子。也可以使用485232模块将PLC连到网关的RS232口上。如使用Port1口,接线方式相同。不需要再做其他操作,接好线即可

image.png

 

二.4 电脑的准备工作

1、 电脑安装“蓝蜂MQTT网关配置工具压缩包”。

进入蓝蜂物联网,点击【资源中心】→【技术手册】→【蓝蜂MQTT网关配置工具压缩包】,如图:

image.png

※本客户端为免安装客户端,下载后请使用解压软件进行解压缩操作,打开解压缩后的文件夹,双击“蓝蜂MQTT网关配置工具”文件,即可启动蓝蜂MQTT网关配置工具。

使用方式:启动蓝蜂MQTT网关配置工具,会开启命令行窗口并启动电脑内默认浏览器,在浏览器内进行配置操作,请勿关闭已打开的命令行窗口,或修改浏览器内地址,否则将无法正常使用配置工具。

推荐浏览器:Chrome浏览器,Edge浏览器,360浏览器。

不推荐浏览器:不推荐使用IE浏览器,火狐浏览器,世界之窗浏览器。

2、 电脑安装MQTTX软件。

MQTTX软件下载地址:,也可以自行搜索下载安装。

:其他MQTT客户端均可使用,本文以MQTTX软件为例进行介绍。

二.5 MQTT服务器

需要准备一台MQTT服务器,实体服务器、云服务器(阿里云、华为云等)均可。

注意:

1、 如果网关是使用外网上网的方式进行上网,实体服务器端需要开放外网端口。

2、 如使用云服务器,需要配置网关的MQTT上报脚本,必须满足云服务器的格式。

本文以本地服务器介绍。

三. MQTT网关登陆平台配置步骤

三.1 登录

MQTT网关支持本地串口配置和远程无线配置两种方式连接网关进行配置。

※本地串口配置方式

使用本地串口配置方式,如图:

image.pngimage.png

使用232串口进行本地配置,将网关的RS232口使用USB232线接到电脑上,填写配置参数,包括选择通讯口,波特率,数据位,数据校验,停止位。默认参数为115200,8,无,1。

【读取网关串口参数】:如果对于串口参数并不了解,可点击“读取网关串口参数”按钮,客户端会主动搜索并填入已选中的串口的参数。

【记住配置】:点击“记住配置”按钮后,会记住当前配置,避免每次进入时需要重新配置的问题,再次进入时可直接进行连接操作。

点击“立即连接”按钮,可进入网关配置工具进行配置。

※远程无线配置方式

当第一次拿到设备时,网关内部默认服务器为蓝蜂的MQTT服务器,使用“远程无线配置”可直接通过蓝蜂MQTT服务器对网关进行远程配置,修改网关参数。

image.png

需填写对应的参数:

【网关SN码】:网关SN码必须为要连接的目标网关。SN码位于网关机身。

【客户端id】:登录MQTT服务器的ID,随机生成,也可以自行填写,最多200个字符,不能与其他设备设置的客户端id重复。

【用户名】【密码】: 蓝蜂默认用户名、密码均为test

IP/域名】:蓝蜂MQTT服务器为110.249.137.42

【端口】: 蓝蜂MQTT服务器端口号为1883

其余项目不需要修改,连接成功后即可进入网关配置界面对网关设置进行修改。

注意,远程无线配置功能对于一般实体MQTT服务器来说可以直接使用,只需要填写好对应MQTT服务器参数即可进行远程无线配置。针对于阿里云、腾讯云等部分有限制的MQTT服务器来讲,此功能不建议使用。

三.2 网关概况

当连接成功后,即可进入网关配置页面,在此界面中可以查看到网关的基本信息、资源使用情况、服务器连接状态等,同时也可以对网关进行相应的配置。

image.png

关于网关基本信息的具体介绍,见《蓝蜂MQTT网关配置工具使用说明》第4.1节。

注意:LF220最多支持添加2000个变量。

三.3 MQTT连接配置

MQTT配置页面可用于填写MQTT服务器参数,以及设置是否开启透传、数据采集异常上报和网关状态上报。具体介绍内容见《蓝蜂MQTT网关配置工具使用说明V1.0》第4.2节。

拿到网关需要进行MQTT连接配置,可用于配置连接的MQTT服务器的参数。配置完成后,网关即可连接MQTT服务器。如图:

image.png

【客户端id】:为网关登录MQTT服务器的ID,默认为网关SN编号,可根据需求可自行修改,为网关登录MQTT平台的ID不能与其他设备设置的客户端id重复。

【用户名】【密码】:登录MQTT服务器的用户名和密码。需要MQTT服务器端提供。

IP/域名】:MQTT服务器的地址。需要MQTT服务器端提供。

【端口】:MQTT推送的服务器地址的端口号。需要MQTT服务器端提供。

【超时时间】:客户端连接服务器连接开始到失败的等待响应时间。

【心跳时间】:在没有任何其他控制报文从客户端发送给服务端的时间间隔。

SSL/TLS】:可选择关闭认证,单向认证或双向认证。

※单向认证:指的是只有客户端校验服务器的合法性,需要上传服务器的根证书;

※双向认证:指的是相互校验,服务器需要校验每个客户端,客户端也需要校验服务器,需上传服务器根证书和客户端的公钥和私钥文件。

注:除【客户端id】【超时时间】【心跳时间】【SSL/TLS】之外,其余参数均为MQTT服务器端提供,和网关登录MQTT平台的配置相同。

三.4 驱动管理

驱动管理用来配置网关与下位机的驱动管理,支持创建/编辑,删除驱动,设置通讯口配置信息等,如图。由于是第一次配置,此处为空,需要进行添加驱动的操作。

 

image.png

【通讯口配置】:点击通讯口配置下面有3个通讯端口项,【RS232】、【RS485】和【LAN】,分别对应网关上的3个数据通讯端口,3个通讯口可以同时和下位机进行通讯。可按照需要对相应通讯口进行配置。

我们需要使用RS485PLC进行通讯,所以需要配置RS485参数,西门子默认串口参数为96008、偶、1。

image.png

+新增】:点击此处创建驱动,可根据实际使用需求进行选择填写。

image.png

【驱动名称】:自定义。不限中英文,不限标点符号,包括空格,最大支持20个字。

【品牌】、【型号】:根据需要选择品牌型号,网关会根据您选择的品牌型号的专有协议跟设备进行通讯。本案例连接西门子200PLC,所以【品牌】选择“西门子”,【型号】选择“PPI”。

【设备地址】:必填项,和PLC中设置的地址一致。如果找不到从站,可以去PLC中程序中读取。西门子默认为2,可去PLC“通讯端口”进行读取。

完成后点击确定即可看到新创建的驱动。

三.5 变量管理

变量管理可用来配置网关数据变量,支持新增、编辑、导入、导出、复制等功能。由于是第一次配置,此处为空,需要进行新增变量的操作。

image.png

支持变量的复制/导入/导出功能,使用【复制】可以快速添加变量。

如果变量较多,可以先点击【导出】,在导出文件中进行修改,修改完成后再点击【导入】即可。

具体内容介绍见《蓝蜂MQTT网关配置工具使用说明V1.0》第4.5.2节和4.5.3节。

※变量名称说明:

仪表、PLC:必填,选择刚才创建的西门子200即可。

变量表示(key):必填,自定义即可。注意不能有重复的名称。

【寄存器类型】:必填,填写对应西门子200PLC的寄存器类型。

寄存器地址:必填,与实际寄存器地址一致。具体可见下方地址表示例。

数据类型:必填,根据实际需要选择即可。

【死区设置】:具体内容见后方“?”。

【读写方式】:可根据需求自行修改该寄存器的读写方式,默认为只读。

【采集公式】:可根据需求自行编写公式,需要使用英文字符。具体内容介绍见《蓝蜂MQTT网关配置工具使用说明V1.0》第4.5.4节。

地址表示例:

image.png

至此,使用蓝蜂MQTT网关配置工具配置完成,用户可使用MQTT客户端访问MQTT服务器读取相关变量。

四. MQTT客户端数据采集配置步骤

准备:在变量管理中,我们添加如下变量(可以根据需求自行添加):

image.png

四.1 实时采集数据配置

步骤一:在蓝蜂MQTT网关配置工具中点击“数据传输配置”→“数据上报配置”,设置数据上报配置参数,如下图。

此案例中选择定时上报,上报主题为“wz”,自动上报时间设置为10S。用户可以根据自己的需求自行选择。网关会按照此处设置的主题和时间上报给MQTT平台。

image.png

步骤二:打开电脑的MQTTX软件(也可以使用其他软件,本文以MQTTX软件展示),登录MQTT平台。MQTTX软件配置如下:

image.png

步骤三:添加订阅消息。

image.png

步骤四:设置完成后即可点击查看数据,如下图。可以看到,数据是10秒自动上报的。

image.png

至此,PLC数据已经成功上传到MQTT服务器,用户可以使用任意MQTT客户端软件或者其他工具读取此PLC的数据。

四.2 写变量配置

步骤一:在蓝蜂MQTT网关配置工具中点击“数据传输配置”→“写变量配置”,设置数据上报配置参数,如下图。

此案例中选择定时上报,请求主题为“wz写”,相应主题为“write/resp/${sn}”。用户可以根据自己的需求自行编辑。

同时,客户可以根据自己的需求自定义脚本,此处我们选择默认。默认代码可点击查看后方“?”。

image.png

步骤二:打开电脑的MQTTX软件(也可以使用其他软件,本文以MQTTX软件展示),登录MQTT平台。MQTTX软件配置如下:

image.png

步骤三:添加订阅消息:

image.png

步骤四:在MQTTX软件中修改“请求主题”,同时写代码(由于我们选择的是默认,此处代码按照默认进行编辑):

请求默认格式示例为:

{

     "data": [

           {

                 "key": "temp1",

                 "value": "1"

           },

           {

                 "key": "temp2",

                 "value": "2"

           },

           {

                 "key": "temp3",

                 "value": "3"

           }

     ]

image.png

步骤五:设置完成后即可点击查看数据,如下图。可以看到,此处发送写和接收的格式与默认格式一致。

image.png

至此,PLC数据已经成功上传到MQTT服务器,用户可以使用任意MQTT客户端软件或者其他工具读取此PLC的数据。

四.3 状态上报

开启此状态可在网关检测到设备状态变化时,设备会发送消息,下文以“设备插拔网线”为例进行步骤讲解。

步骤一:在蓝蜂MQTT网关配置工具中点击MQTT配置-状态上报配置,开启状态上报配置,设置状态上报的主题,设置完成后点击保存。如图

image.png

步骤二:在MQTTX中对该上报主题进行订阅,当网关联网方式、运行状态发生变化时,可接收网关状态变化的消息,如图:

image.png

步骤三:订阅完成后我们插拔网线进行测试:

image.png

四.4 系统变量

系统变量用来描述某种状态或设备标识(如车牌号、设备ID、型号、物联网卡号等),可自定义设置,网关上报数据过程中可将系统变量与设备变量数据共同上报。

步骤一:点击【+新增】按钮,会弹出新增系统变量弹窗。

image.png

步骤二:添加一个系统变量,如图:

image.png

key】:可自定义设置,必填项。不限中英文,不限标点符号,包括空格,最多支持20个字符。

value】:key所对应的数据或说明,必填项,不限中英文,不限标点符号,包括空格,最多支持50个字符。

注意:

1.LF220支持最多添加10个系统变量,系统变量和变量中的key不能重复。

2.系统变量默认有记录网关编号sn和消息ID msgId,这些不能修改。

步骤三:在MQTTX软件中查看实时数据:

image.png

另外,如需要远程读取PLC数据,使用透传功能,方法类似。具体操作方法,参考内容见《蓝蜂MQTT网关配置工具使用说明》第6节。

蓝蜂MQTT网关配置工具订阅和发布使用的是默认脚本,如需要修改,具体操作方法,参考内容见《蓝蜂MQTT网关配置工具使用说明》第7节。

五. 其他功能

LF220支持PLC远程下载、断网续传、透传、脚本功能。功能介绍可查看《LF220边缘计算网关用户手册》,或点击对应功能页中的“?”跳转帮助界面进行查看。

六. 注意事项

1、LF220网关暂时不支持web配置页,目前暂时不能设置交换机和路由器模式。

2、在打开蓝蜂MQTT网关配置工具之后,请勿关闭已打开的命令行窗口,或修改浏览器内地址,否则将无法正常使用配置工具。

3、在线配置MQTT平台参数时,电脑和网关需要同时访问到相同的MQTT平台,否则无法在线配置。

4、同一台电脑,mqtt方式登录后,一次只能操作一个网关(如同时打开多个网页,同时连接不同的网关,客户端是不支持的)。

5、如果串口232是7位时,串口连接点击升级,升级成功客户端不会提示升级成功,但是网关实际会升级成功。

6、蓝蜂MQTT网关配置工具的网关编码格式为UTF-8。

7、兼容性:win7, win10, win11系统,不支持winxp及更低版本windows系统,不支持linux、MacOS、android和ios系统。

 

 

 

相关技术