MQTT协议网关串口连接三菱FX3U操作说明V1.3
目录
前言:MQTT是一个基于客户端-服务器的消息发布/订阅传输协议。MQTT协议的特点是轻量、简单、开放和易于实现的,同时,三菱PLC广泛应于工业控制领域,是一款性能高、稳定性强的PLC设备。
此文档将介绍如何使用MQTT协议网关串口连接三菱FX3U PLC,将PLC的数据通过MQTT协议传输到数据平台,电脑使用MQTTX软件可以实时接收到三菱FX3U PLC的数据,实现将PLC数据上云,远程监控数据的功能。
流程如下,首次使用网关按照以下流程就可以实现PLC数据上云的功能,实现数据采集。
1) 三菱FX3UPLC一台。
2) EG网关一台,天线和电源适配器(以下用LF220作为实例)。
3) SIM卡一张,有流量,大卡(移动,联通或者电信卡)。
4) 联网电脑一台(WinXP/Win7/Win8/Win10操作系统)。
6) 可以访问MQTT平台的软件(MQTTX等,本文以MQTTX介绍)。
7) USB转RS232线、网线、电工工具、导线若干。
-
- LF220网关准备工作
网关相关技术参数与使用说明,可参考《LF220边缘计算网关用户手册》。
- 保证网关可以正常联网,可通过4G卡(移动/联通/电信流量卡,大卡)联网(需接上随网关附带的天线)或通过网线联网(需将路由器出来的网线接到网关的WAN口);
- 网关接12V或24V直流电源,上电。(注意,电源正负极不要接反)。
PLC连接电源(注意电源是24VDC还是220VAC),将编程电缆插上PLC的COM口,另一端连LF220的RS232或PLC的485串口连接到LF220对应的接线端子上。本案例以RS232串口为例进行讲解。以国产FX3UPLC为例,接线如下图:
接线线序:使用2 个DB9公头,将网关2引脚接PLC的3引脚,网关3引脚接PLC的2引脚,网关的5引脚接PLC的5引脚,交叉连接。
1、电脑安装“蓝蜂MQTT网关配置工具压缩包”。
进入蓝蜂官网(工业iot物联网平台-工业物联网智能网关-plc远程控制-蓝蜂物联网),点击【资源中心】→【技术手册】→【蓝蜂MQTT网关配置工具压缩包】,如图:
※本客户端为免安装客户端,下载后请使用解压软件进行解压缩操作,打开解压缩后的文件夹,双击“蓝蜂MQTT网关配置工具.exe”文件,即可启动蓝蜂MQTT网关配置工具。
使用方式:启动蓝蜂MQTT网关配置工具,会开启命令行窗口并启动电脑内默认浏览器,在浏览器内进行配置操作,请勿关闭已打开的命令行窗口,或修改浏览器内地址,否则将无法正常使用配置工具。
推荐浏览器:Chrome浏览器,Edge浏览器,360浏览器。
不推荐浏览器:不推荐使用IE浏览器,火狐浏览器,世界之窗浏览器。
2、电脑安装MQTTX软件。
MQTTX软件下载地址:https://MQTTx.app/zh,也可以自行搜索下载安装。
注:其他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个通讯口可以同时和下位机进行通讯。可按照需要对相应通讯口进行配置。
我们需要使用RS232与PLC进行通讯,所以需要配置RS232参数,三菱默认串口参数为9600、7、偶、1。
注意:由于使用的是RS232口与三菱PLC通讯,需要修改RS232的参数,此时保存参数后网关会重启,电脑需要重新与网关进行连接。
【+新增】:点击此处创建驱动,可根据实际使用需求进行选择填写。
【驱动名称】:自定义。不限中英文,不限标点符号,包括空格,最大支持20个字。
【品牌】、【型号】:根据需要选择品牌型号,网关会根据您选择的品牌型号的专有协议跟设备进行通讯。本案例连接三菱FX3U PLC,所以【品牌】选择“三菱”,【型号】选择“FX3U”。
【设备地址】:必填项,和PLC中设置的地址一致。如果找不到从站,可以去PLC中程序中读取。三菱没有从站号,所以此处不需要修改,默认填写1即可。
完成后点击确定即可看到新创建的驱动。
变量管理可用来配置网关数据变量,支持新增、编辑、导入、导出、复制等功能。由于是第一次配置,此处为空,需要进行新增变量的操作。
支持变量的复制/导入/导出功能,使用【复制】可以快速添加变量。
如果变量较多,可以先点击【导出】,在导出文件中进行修改,修改完成后再点击【导入】即可。
具体内容介绍见《蓝蜂MQTT网关配置工具使用说明V1.0》第4.5.2节和4.5.3节。
※变量名称说明:
【仪表、PLC】:必填,选择刚才创建的三菱FX3U即可。
【变量表示(key)】:必填,自定义即可。注意不能有重复的名称。
【寄存器类型】:必填,填写对应三菱FX3U的寄存器类型。
【寄存器地址】:必填,地址填写时不带寄存区标志符,与实际寄存器地址一致。例如,X00写0,Y10写10,D200写200。
【数据类型】:必填,根据实际需要选择即可。
【死区设置】:具体内容见后方的“?”获取帮助。
【读写方式】:可根据需求自行修改该寄存器的读写方式,默认为只读。
【采集公式】:可根据需求自行编写公式,需要使用英文字符。具体内容介绍见《蓝蜂MQTT网关配置工具使用说明V1.0》第4.5.4节。
地址表示例:
PLC实际寄存器地址 | 平台变量填写地址 | 寄存器类型 |
X00 | 0 | X输入寄存器 |
Y10 | 10 | Y输出寄存器 |
D200 | 200 | D数据寄存器 |
M20 | 20 | M辅助寄存器 |
至此,使用蓝蜂MQTT网关配置工具配置完成。
点击右上角的“退出配置”,再将网关和PLC用RS232线连接好后,用户可使用MQTT客户端访问MQTT服务器读取相关变量。
如果在调试过程中需要对网关进行配置,可以在网页端选择“远程无线配置”。
准备:在变量管理中,我们添加如下变量(可以根据需求自行添加):
步骤一:在蓝蜂MQTT网关配置工具中点击“数据传输配置”→“数据上报配置”,设置数据上报配置参数,如下图。
此案例中选择定时上报,上报主题为“wz”,自动上报时间设置为10S。用户可以根据自己的需求自行选择。网关会按照此处设置的主题和时间上报给MQTT平台。
步骤二:打开电脑的MQTTX软件(也可以使用其他软件,本文以MQTTX软件展示),登录MQTT平台。MQTTX软件配置如下:
步骤三:添加订阅消息。
步骤四:设置完成后即可点击查看数据,如下图。可以看到,数据是10秒自动上报的。
步骤一:在蓝蜂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网关配置工具中点击MQTT配置-状态上报配置,开启状态上报配置,设置状态上报的主题,,设置完成后点击保存。如图
步骤二:在MQTTX中对该上报主题进行订阅,当网关联网方式、运行状态发生变化时,可接收网关状态变化的消息,如图:
步骤三:订阅完成后我们插拔网线进行测试:
系统变量用来描述某种状态或设备标识(如车牌号、设备ID、型号、物联网卡号等),可自定义设置,网关上报数据过程中可将系统变量与设备变量数据共同上报。
步骤一:点击【+新增】按钮,会弹出新增系统变量弹窗。
步骤二:添加一个系统变量,如图:
【key】:可自定义设置,必填项。不限中英文,不限标点符号,包括空格,最多支持20个字符。
【value】:key所对应的数据或说明,必填项,不限中英文,不限标点符号,包括空格,最多支持50个字符。
注意:
1.LF220支持最多添加10个系统变量,系统变量和变量中的key不能重复。
2.系统变量默认有记录网关编号sn和消息ID msgId,这些不能修改。
步骤三:在MQTTX软件中查看实时数据:
另外,如需要远程读取PLC数据,使用透传功能,方法类似。具体操作方法,参考内容见《蓝蜂MQTT网关配置工具使用说明V1.0》第6节。
蓝蜂MQTT网关配置工具订阅和发布使用的是默认脚本,如需要修改,具体操作方法,参考内容见《蓝蜂MQTT网关配置工具使用说明V1.0》第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系统。