MQTT协议网关网口连接西门子SMART200PLC操作说明v1.3
目录
一. 使用流程
二. 准备工作
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协议网关串口连接西门子200SMART PLC,将PLC的数据通过MQTT协议传输到数据平台,电脑使用MQTTX软件可以实时接收到200SMART PLC的数据,实现将PLC数据上云,远程监控数据的功能。
流程如下,首次使用网关按照以下流程就可以实现PLC数据上云的功能,实现数据采集。
1) 西门子200SMART PLC一台
2) MQTT协议网关一台,天线和电源适配器(以下用LF220作为实例)。
3) SIM卡一张,有流量,大卡(移动,联通或者电信卡)。
4) 联网电脑一台(WinXP/Win7/Win8/Win10操作系统)。
5) 支持MQTT协议的平台(云服务器、实体服务器均可)。
6) 可以访问MQTT平台的软件(MQTTX等,本文以MQTTX介绍)。
7) USB转RS232线、网线、电工工具、导线若干。
-
- LF220网关准备工作
网关相关技术参数与使用说明,可参考《LF220边缘计算网关使用手册V1.1》。
- 保证网关可以正常联网,可通过4G卡(移动/联通/电信流量卡,大卡)联网(需接上随网关附带的天线)或通过网线联网(需将路由器出来的网线接到网关的WAN口);
- 网关接12V或24V直流电源,上电。(注意,电源正负极不要接反)。
PLC连接电源(注意电源是24VDC还是220VAC),将PLC网口和LF220的LAN口用网线连接起来。
进入蓝蜂官网(工业iot物联网平台-工业物联网智能网关-plc远程控制-蓝蜂物联网),点击【资源中心】→【技术手册】→【蓝蜂MQTT网关配置工具压缩包】,如图:
※本客户端为免安装客户端,下载后请使用解压软件进行解压缩操作,打开解压缩后的文件夹,双击“蓝蜂MQTT网关配置工具.exe”文件,即可启动蓝蜂MQTT网关配置工具。
使用方式:启动蓝蜂MQTT网关配置工具,会开启命令行窗口并启动电脑内默认浏览器,在浏览器内进行配置操作,请勿关闭已打开的命令行窗口,或修改浏览器内地址,否则将无法正常使用配置工具。
推荐浏览器:Chrome浏览器,Edge浏览器,360浏览器。
不推荐浏览器:不推荐使用IE浏览器,火狐浏览器,世界之窗浏览器。
- 电脑安装MQTTX软件。
MQTTX软件下载地址:MQTTX:全功能 MQTT 客户端工具,也可以自行搜索下载安装。
注:其他MQTT客户端均可使用,本文以MQTTX软件为例进行介绍。
需要准备一台MQTT服务器,实体服务器、云服务器(阿里云、华为云等)均可。
注意:
- 如果网关是使用外网上网的方式进行上网,实体服务器端需要开放外网端口。
- 如使用云服务器,需要配置网关的MQTT上报脚本,必须满足云服务器的格式。
本文以本地服务器介绍。
MQTT网关支持本地串口配置和远程无线配置两种方式连接网关进行配置。
※本地串口配置方式
使用本地串口配置方式,如图:
使用232串口进行本地配置,将网关的RS232口使用USB转232线接到电脑上,填写配置参数,包括选择通讯口,波特率,数据位,数据校验,停止位。默认参数为115200,8,无,1。
【读取网关串口参数】:如果对于串口参数并不了解,可点击“读取网关串口参数”按钮,客户端会主动搜索并填入已选中的串口的参数。
【记住配置】:点击“记住配置”按钮后,会记住当前配置,避免每次进入时需要重新配置的问题,再次进入时可直接进行连接操作。
点击“立即连接”按钮,可进入网关配置工具进行配置。
※远程无线配置方式
当第一次拿到设备时,网关内部默认服务器为蓝蜂的MQTT服务器,使用“远程无线配置”可直接通过蓝蜂MQTT服务器对网关进行远程配置,修改网关参数。
需填写对应的参数:
【网关SN码】:网关SN码必须为要连接的目标网关。SN码位于网关机身。
【客户端id】:电脑登录MQTT服务器的ID,随机生成,也可以自行填写,最多200个字符,不能与其他设备设置的客户端id重复。
【IP/域名】:蓝蜂MQTT服务器网址为110.249.137.42
【端口】: 蓝蜂MQTT服务器端口号为1883
其余项目不需要修改,连接成功后即可进入网关配置界面对网关设置进行修改。
注意,远程无线配置功能对于一般实体MQTT服务器来说可以直接使用,只需要填写好对应MQTT服务器参数即可进行远程无线配置。针对于阿里云、腾讯云等部分有限制的MQTT服务器来讲,此功能不建议使用。
当连接成功后,即可进入网关配置页面,在此界面中可以查看到网关的基本信息、资源使用情况、服务器连接状态等,同时也可以对网关进行相应的配置。
关于网关基本信息的具体介绍,见《蓝蜂MQTT网关配置工具使用说明》第4.1节。
注意:LF220最多支持添加2000个变量。
MQTT配置页面可用于填写MQTT服务器参数,以及设置是否开启透传、数据采集异常上报和网关状态上报。具体介绍内容见《蓝蜂MQTT网关配置工具使用说明V1.0》第4.2节。
首次拿到网关需要进行MQTT连接配置,可用于配置连接的MQTT服务器的参数。配置完成后,网关即可连接MQTT服务器。如图:
【客户端id】:为网关登录MQTT服务器的ID,默认为网关SN编号,可根据需求可自行修改,为网关登录MQTT平台的ID。不能与其他设备设置的客户端id重复。
【用户名】【密码】:登录MQTT服务器的用户名和密码。需要MQTT服务器端提供。
【IP/域名】:MQTT服务器的地址。需要MQTT服务器端提供。
【端口】:MQTT推送的服务器地址的端口号。需要MQTT服务器端提供。
【超时时间】:客户端连接服务器连接开始到失败的等待响应时间。
【心跳时间】:在没有任何其他控制报文从客户端发送给服务端的时间间隔。
【SSL/TLS】:可选择关闭认证,单向认证或双向认证。
※单向认证:指的是只有客户端校验服务器的合法性,需要上传服务器的根证书;
※双向认证:指的是相互校验,服务器需要校验每个客户端,客户端也需要校验服务器,需上传服务器根证书和客户端的公钥和私钥文件。
注:除【客户端id】【超时时间】【心跳时间】【SSL/TLS】之外,其余参数均为MQTT服务器端提供,和网关登录MQTT平台的配置相同。
驱动管理用来配置网关与下位机的驱动管理,支持创建/编辑,删除驱动,设置通讯口配置信息等,如图。由于是第一次配置,此处为空,需要进行添加驱动的操作。
【通讯口配置】:点击通讯口配置下面有3个通讯端口项,【RS232】、【RS485】和【LAN】,分别对应网关上的3个数据通讯端口,3个通讯口可以同时和下位机进行通讯。可按照需要对相应通讯口进行配置。
我们需要使用网线与PLC进行通讯,所以需要配置网口的参数。如下图。本案例中,PLC的IP地址为192.168.1.55。
同时,建议使用手动设置IP的方式。需要填写和PLC同一网段的地址,任意即可,这里填写192.168.1.10,子网掩码为255.255.255.0。
【+新增】:点击此处创建驱动,可根据实际使用需求进行选择填写。
【驱动名称】:自定义。不限中英文,不限标点符号,包括空格,最大支持20个字。
【品牌】、【型号】:根据需要选择品牌型号,网关会根据您选择的品牌型号的专有协议跟设备进行通讯。本案例连接西门子200SMART PLC,所以【品牌】选择“西门子”,【型号】选择“S7-200 SMART”。
【IP地址】:必填项,填写PLC的IP地址。
【端口号】:西门子默认为102。
完成后点击确定即可看到新创建的驱动。
变量管理可用来配置网关数据变量,支持新增、编辑、导入、导出、复制等功能。由于是第一次配置,此处为空,需要进行新增变量的操作。
支持变量的复制/导入/导出功能,使用【复制】可以快速添加变量。
如果变量较多,可以先点击【导出】,在导出文件中进行修改,修改完成后再点击【导入】即可。
具体内容介绍见《蓝蜂MQTT网关配置工具使用说明V1.0》第4.5.2节和4.5.3节。
※变量名称说明:
【仪表、PLC】:必填,选择刚才创建的西门子smart200即可。
【变量表示(key)】:必填,自定义即可。注意不能有重复的名称。
【寄存器类型】:必填,填写对应西门子smart200PLC的寄存器类型。
【寄存器地址】:必填,与实际寄存器地址一致。具体可见下方地址表示例。
【数据类型】:必填,根据实际需要选择即可。
【死区设置】:具体内容见后方“?”。
【读写方式】:可根据需求自行修改该寄存器的读写方式,默认为只读。
【采集公式】:可根据需求自行编写公式,需要使用英文字符。具体内容介绍见《蓝蜂MQTT网关配置工具使用说明V1.0》第4.5.4节。
地址表示例:
至此,使用蓝蜂MQTT网关配置工具配置完成,用户可使用MQTT客户端访问MQTT服务器读取相关变量。
准备:在变量管理中,我们添加如下变量(可以根据需求自行添加):
步骤一:在蓝蜂MQTT网关配置工具中点击“数据传输配置”→“数据上报配置”,设置数据上报配置参数,如下图。
此案例中选择定时上报,上报主题为“wz”,自动上报时间设置为10S。用户可以根据自己的需求自行选择。网关会按照此处设置的主题和时间上报给MQTT平台。
步骤二:打开电脑的MQTTX软件(也可以使用其他软件,本文以MQTTX软件展示),登录MQTT平台。MQTTX软件配置如下:
步骤三:添加订阅消息。
步骤四:设置完成后即可点击查看数据,如下图。可以看到,数据是10秒自动上报的。
至此,PLC数据已经成功上传到MQTT服务器,用户可以使用任意MQTT客户端软件或者其他工具读取此PLC的数据。
步骤一:在蓝蜂MQTT网关配置工具中点击“数据传输配置”→“写变量配置”,设置数据上报配置参数,如下图。
此案例中选择定时上报,请求主题为“wz写”,相应主题为“write/resp/${sn}”。用户可以根据自己的需求自行编辑。
同时,客户可以根据自己的需求自定义脚本,此处我们选择默认。默认代码可点击查看后方“?”。
步骤二:打开电脑的MQTTX软件(也可以使用其他软件,本文以MQTTX软件展示),登录MQTT平台。MQTTX软件配置如下:
步骤三:添加订阅消息:
步骤四:在MQTTX软件中修改“请求主题”,同时写代码(由于我们选择的是默认,此处代码按照默认进行编辑)。
{
"data": [
{
"key": "temp1",
"value": "1"
},
{
"key": "temp2",
"value": "2"
},
{
"key": "temp3",
"value": "3"
}
]
}
步骤五:设置完成后即可点击查看数据,如下图。可以看到,发送和接收的格式与默认格式一致。
至此,PLC数据已经成功上传到MQTT服务器,用户可以使用任意MQTT客户端软件或者其他工具读取此PLC的数据。
开启此状态可在网关检测到设备状态变化时,设备会发送消息,下文以“设备插拔网线”为例进行步骤讲解。
步骤一:在蓝蜂MQTT网关配置工具中点击系统配置→状态上报配置,开启状态上报配置,设置状态上报的主题,设置完成后点击保存。如图
步骤二:在MQTTX中对该上报主题进行订阅,当网关联网方式、运行状态发生变化时,可接收网关状态变化的消息,如图:
步骤三:订阅完成后,我们插拔网线进行测试:
系统变量用来描述某种状态或设备标识(如车牌号、设备ID、型号、物联网卡号等),可自定义设置,网关上报数据过程中可将系统变量与设备变量数据共同上报。
步骤一:点击【+新增】按钮,会弹出新增系统变量弹窗。
步骤二:添加一个系统变量,如图:
【key】:可自定义设置,必填项。不限中英文,不限标点符号,包括空格,最多支持20个字符。
【value】:key所对应的数据或说明,必填项,不限中英文,不限标点符号,包括空格,最多支持50个字符。
注意:
1.LF220支持最多添加10个系统变量,系统变量和变量中的key不能重复。
2.系统变量默认有记录网关编号sn和消息ID msgId,这些不能修改。
步骤三:在MQTTX软件中查看实时数据:
另外,如需要远程读取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系统。