10分钟轻松实现三菱FX3UPLC连接阿里云平台 点击:346 | 回复:0



蓝蜂物联网

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:339帖 | 5回
  • 年度积分:32
  • 历史总积分:718
  • 注册:2020年1月17日
发表于:2023-05-18 15:11:26
楼主




MQTT协议网关串口连接三菱FX3UPLC操作说明v1.3  

目录

. 使用流程

. 准备工作

2.1 需要准备如下物品

2.2 LF220网关准备工作

2.3 PLC准备工作

2.4 电脑的准备工作

2.5 MQTT服务器准备工作

. 阿里云IoT平台配置步骤

3.1 创建产品

3.2 添加设备

3.3 配置阿里云IoT平台物模型

3.4 获取连接阿里云IoT平台的参数

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

4.1 登录

4.2 网关概况

4.3 MQTT连接配置

4.4 驱动管理

4.5 变量管理

. 数据上报和写入配置

5.1 数据上报配置设置

5.2 写变量配置

. 其他功能

. 注意事项

 

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

此文档将介绍如何使用MQTT协议网关串口连接三菱FX3U PLC,将PLC的数据通过MQTT协议传输到阿里云MQTT数据平台,用户可以在阿里云的MQTT台上实时接收到三菱 PLC的数据,实现将PLC数据上云,远程监控数据的功能。

一. 使用流程

流程如下,首次使用网关按照以下流程就可以实现将的PLC数据上传到阿里云的MQTT服务器,实现数据采集。

图片1.png下文将按照此流程分步进行介绍说明。

二. 准备工作

2.1 需要准备如下物品

1) 三菱FX3U PLC一台

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

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

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

5) 能登录阿里云的账号(本文以新开通的账号为例)。

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

image.png







2.2 LF220网关准备工作

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

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

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

2.3 PLC准备工作

PLC连接电源(注意电源是24VDC还是220VAC),将编程电缆插上PLCCOM口,另一端连LF220RS232PLC485串口连接到LF220对应的接线端子本案例以RS232串口为例进行讲解。以国产FX3UPLC为例,接线如下图:

image.png 

接线线序:使用2 DB9公头,将网关2引脚接PLC3引脚,网关3引脚接PLC2引脚,网关的5引脚接PLC5引脚,交叉连接。

2.4 电脑的准备工作

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

进入蓝蜂官网(https://www.lanfengkeji.com/),点击【资源中心】→【技术手册】→【蓝蜂MQTT网关配置工具压缩包】,如图:

image.png 

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

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

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

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

2.5 MQTT服务器准备工作

需要准备一台MQTT服务器,实体服务器、云服务器(阿里云、华为云等)均可。使用云服务器,需要配置网关的MQTT上报脚本,必须要满足云服务器的格式。

本文以阿里云服务器介绍。

进入阿里云IoT平台官网(https://www.aliyun.com/),登录账号,然后点击右上角控制台。

image.png 

进入控制台后,选择【产品与服务】→【物联网平台】。或直接搜索“物联网平台”。

注:第一次使用阿里云 IoT 平台物联网服务器需要先开通服务才能使用,跟随界面提示点击即可。

image.png 

image.png 

这样就可以进入阿里云的物联网平台。“公众实例”平台是免费的。

三. 阿里云IoT平台配置步骤

成功登陆阿里云IoT平台以后,需要进行配置,按照如下步骤操作。

3.1 创建产品

点击实例,可进入实例详情,点击【设备管理】→【产品】→【创建产品】,如图。

image.png 

image.png 

【产品名称】:可自定义填写,会在“设备所属产品”中进行展示。

【所属品类】:本案例选择自定义品类,自定义功能。标准品类时,可选择与自己产品设备相近的模型,选择后系统可自动为您创建必选功能,也可根据需要添加可选功能和自定义功能。

【节点类型】:选择直连设备

【联网方式】:蜂窝(2G/3G/4G/5G)

【数据格式】:ICA标准数据格式(Alink JSON)

【校验类型】和【认证方式】保持默认即可。

3.2 添加设备

创建产品完成后,点击确认,可进行添加设备,点击“前往添加”。

image.png 

 

image.png 

DeviceName】建议填写蓝蜂网关sn编号,可方便后续对配置文件进行导入导出操作,也可以自定义名称。

【备注】可不写。

完成后点击【确认】按钮后,可在设备列表中看到添加的设备。

image.png 

点击【查看】按钮,可查看设备的连接参数以及其他详细信息。

image.png 

DeviceName】和【ProductKey】需要记录下来,在之后的配置过程中会用到。

        

3.3 配置阿里云IoT平台物模型

此步骤类似于在平台创建变量。只有添加了变量以后,平台才会将这些数据进行展示。

在阿里云IoT平台,点击【产品】,找到我们刚刚创建的产品,点击查看按钮,如图:

image.png 

进入产品中,点击【功能定义】→【编辑草稿】。

image.png 

进入编辑草稿页面,点击【添加自定义功能】,可根据自己需求进行变量创建。

这里我们添加属性,添加温度,湿度和开关三个变量,如图:

image.png 

注意:数据类型需要根据设备每个属性的实际情况进行选择,在后面使用蓝蜂MQTT网关配置工具配置时,需要与之进行匹配。

区别于EMCP物联网云平台,此处不需要填写变量的地址,数据是根据“标识符”来展示的。建议在创建变量后将创建的“变量名称”、“标识符”、“数据类型”记录下来,如下表。在之后的蓝蜂MQTT网关配置工具中会用到。

变量名称

标识符

数据类型

温度

Temperature

int3232位整形)

湿度

Humidity

int3232位整形)

开关

Switch

Bool(开关量)

添加完成后,列表中可看到我们添加的3个属性,点击左下角发布上线。

image.png 

注:

1、 如果想要修改创建好的功能类型,点击编辑草稿即可。

2、 如果想要创建新的模块(类似于变量的分组)点击编辑草稿→添加模块即可。

3、 每个产品中可以有多个设备,共用所有的模块(变量)信息。举例:我有10台设备在同一个产品下,默认模块中设置了3个变量。在通讯正常时,10台设备都会采集这3个相同的变量进行展示。

image.png 

3.4 获取连接阿里云IoT平台的参数

点击【设备】,找到刚刚创建的设备,点击后方的【查看】如图

image.png 

image.png 

非常重要。在后面使用蓝蜂MQTT网关配置工具配置网关登陆时(4.3节处)需要按照此处信息填写。这个界面刷新后会变化,建议在配置网关时打开,复制粘贴即可。

至此,按照如上步骤,对于阿里云平台的设置就完成了。

总结:

1、 关于变量:在阿里云平台中创建变量完成后,必须要知道设备的“DeviceName”、“ProductKey”、“变量名称”、“标识符”、“数据类型”。

2、 关于MQTT连接参数:非常重要,此为网关登录阿里云IoT平台的参数。

 

四. 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服务器。如图,图中所有参数均从阿里云处拿到,详见本文第3.4

image.png 

此处所有的配置是从阿里云平台处获取的,复制时不要添加或删除任何字符,否则将无法连接阿里云MQTT平台。

填写完成后点击保存按钮,需要重启网关,配置才会生效。建议使用串口连接。如使用远程连接修改的此处参数,当网关重启后就不能远程修改了,只能使用串口连接。

四.4 驱动管理

驱动管理用来配置网关与下位机的驱动管理,支持创建/编辑,删除驱动,设置通讯口配置信息等,如图。点击右侧的【驱动管理】→【通讯口配置】。由于是第一次配置,此处为空,需要先配置和下位机的通讯参数,再添加对应的驱动。

我们需要使用RS232口与PLC进行通讯,所以需要配置RS232的参数。如下图。三菱默认的串口参数为96007、偶、1。

image.png 

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

注意:由于使用的是RS232口与三菱PLC通讯,需要修改RS232的参数,此时保存参数后网关会重启,电脑需要重新与网关进行连接。

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

image.png 

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

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

【设备地址】:必填项,和PLC中设置的地址一致。如果找不到从站,可以去PLC中程序中读取。三菱协议没有从站号,所以此处不需要修改,默认填写1即可。

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

四.5 变量管理

首先我们需要拿到PLC端的地址表, 此处的【寄存器类型】和【寄存器地址】需要和PLC的地址表一致。地址表见后方说明。

注意:此处的【变量标识(key)】需要和阿里云MQTT平台中填写的一致且区分大小写。见3.3节表格。

image.png 

image.png 

注:

1、网关会将创建的所有变量上传到阿里云IoT平台,由IoT平台根据标识符来判断数据是否采集、展示。

2MQTT网关配置工具支持变量的复制/导入/导出功能,使用【复制】可以快速添加变量。

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

※变量名称说明:

仪表、PLC:必填,选择刚才创建的三菱FX3U即可。

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

【寄存器类型】:必填,填写对应三菱FX3U的寄存器类型。

寄存器地址:必填,地址填写时不带寄存区标志符,与实际寄存器地址一致。例如,X000,Y1010D200200

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

【死区设置】:具体内容见后方的“?”获取帮助。

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

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

地址表示例:

PLC实际寄存器地址

平台变量填写地址

寄存器类型

X00

0

X输入寄存器

Y10

10

Y输出寄存器

D200

200

D数据寄存器

M20

20

M辅助寄存器

五. 数据上报和写入配置

由于阿里云IoT平台是有自己独立的数据上报格式的,我们需要在“蓝蜂MQTT网关配置工具”中对这一部分进行编辑。

5.1 数据上报配置设置

五.1.1 配置步骤

打开阿里云平台,点击【产品】→【查看】,如图:

image.png 

进入产品后,点击【topic类列表】-【物模型通信topic】,即找到属性上报主题,如图

image.png 

其中 /sys/ gqbaihhDlTb /${deviceName}/thing/event/property/post”中的gqbaihhDlTbIoT平台自动生成的,需要改成自己设备的ProductKey。为3.2节中标出需要记录的ProductKey。

主题中的通配符${deviceName}需要替换成我们这个产品中创建的设备的DeviceName。我们的示例在阿里云IoT平台创建的设备的DeviceName为网关sn编号,而在蓝蜂配置工具中可使用通配符${sn}代替sn编号。

因此我们的上报主题为/sys/gqbaihhDlTb/${sn}/thing/event/property/post

我们将该主题写入数据上报配置中的上报主题中,如图:

image.png 

【上报方式】:可按需求选择定时上报或变化上报,此文档以定时上报为例。

※【加工脚本】如下,复制粘贴即可,一般不需要进行修改:

function reportToJson(signalArray, system){

    var json ={

        id: system.msgId,

        version:"1.0",

        sys:{ ack : 0},

        method: "thing.event.property.post",

        params:{}

    }

    var time = new Date().getTime();

    for(var i=0; i<signalArray.length; i++){

        var signal = signalArray[i];

        json.params[signal.key] = {

            time:time,

            value:Number(signal.value)

        }

    }

    return JSON.stringify(json);

}

点击确定按钮,配置完成,需要重启网关,配置才会生效,将网关接入设备后,采集到的数据就可上报到阿里云IoT平台了。

5.1.2 查看数据

当设备采集到数据并上报到阿里云IoT平台后,我们可以在阿里云IoT平台,点击设备,找到我们接入的设备。

image.png 

点击查看按钮,进入设备详情中,点击物模型数据,便可查看到我们采集到的数据,如图:

image.png 

点击查看数据按钮,可查看该属性的历史数据详情,如图:

image.png 

5.2 写变量配置

5.2.1 操作步骤

从阿里云IoT平台向设备写入数据,需要在蓝蜂MQTT网关配置工具中对写入进行配置。

点击【数据传输配置】-【写变量配置】,我们可在写变量配置中设置请求和响应主题,在阿里云IoT平台打开对应设备的topic列表找到属性设置topic,如图:

image.png 

进入产品后,点击【topic类列表】-【物模型通信topic】,即找到属性设置主题,如图:

image.png 

其中/sys/ gqbaihhDlTb /${deviceName}/thing/service/property/set”中的gqbaihhDlTbIoT平台自动生成的,需要改成自己设备的ProductKey。为3.2节中标出需要记录的ProductKey。

主题中的通配符${deviceName}需要替换成我们这个产品中创建的设备的DeviceName。

我们的示例在阿里云IoT平台创建的设备的DeviceName为网关sn编号,而在蓝蜂配置工具中可使用通配符${sn}代替sn编号。

因此我们的请求主题为:/sys/gqbaihhDlTb/${sn}/thing/service/property/set,

响应主题为:/sys/gqbaihhDlTb/${sn}/thing/service/property/set_reply

我们将请求主题和响应主题写入写变量配置中的请求和响应主题中,如图:

image.png 

※【请求解析脚本】如下,复制粘贴即可,一般不需要进行修改:

function writeReqToJson(str){

if(str!=""){

    var req = JSON.parse(str)

var keys = Object.keys(req.params)

    var key = keys[0]

    var msgId = req.id

    var json = { key: key, value:req.params[key]+"",msgId:msgId}

    return JSON.stringify(json)

    }  

   return {}

}

 

※【响应加工脚本】如下,复制粘贴即可,一般不需要进行修改:

function writeRespToJson(signal, system){

    var json = {

        "code": 200,

         "data": {},

         "id": system.msgId,

         "message": "success",

         "version": "1.0"

    }

    return JSON.stringify(json)

}

 

点击确定按钮,配置完成,需要重启网关,配置才会生效,将网关接入设备后,就可以从阿里云IoT平台直接控制设备,进行写入数据了

5.2.2 向设备写入数据

打开阿里云IoT平台,点击【监控运维】→【在线调试】,选择我们想要写入数据的设备,如图:

image.png 

找到想要写入数值的属性,我们此处对温度进行写入数值36,如图:

image.png 

设置成功后,在阿里云IoT平台数值查看处我们也可以看到我们写入成功的数据,如图。

注意:

1、 点击“获取”时,获取到的值是阿里云平台最后一次成功通讯的值。即使获取成功,也不能说明网关和下位机通讯正常。

2、 连接阿里云IoT平台时建议将网关的“透传设置”、“采集异常设置”、“状态上报设置”关闭。

image.png 

六. 其他功能

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

七. 注意事项

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

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

3、配置成阿里云服务器以后,再次配置网关时只能使用RS232USB本地配置,不能使用在线配置。

4、配置LF220网关参数时必须要和阿里云服务器中设置的一致。

5、阿里云服务器(或其他服务器)有自己固定的格式,需要编写对应的脚本。阿里云服务器脚本按照文档中填写的即可,可以直接复制粘贴。

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

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

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

 





楼主最近还看过


热门招聘
相关主题

官方公众号

智造工程师