三菱FX3UPLC连接阿里云平台应用案例

发表时间:2022-07-05 10:08作者:蓝蜂物联网来源:蓝蜂物联网网址:http://www.lanfengkeji.com


三菱FX3UPLC连接阿里云平台应用案例

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

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

使用流程

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


      下文将按照此流程分步进行介绍说明。

准备工作

需要准备如下物品

1)    三菱FX3U PLC一台

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

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

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

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

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

LF220网关准备工作

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

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

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

PLC准备工作

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

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

电脑的准备工作

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

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

也可进入如下地址进行下载:

https://download.s21i.faiusr.com/6318546/0/2/ABUIABBQGAAgmrfnkwYolNWLDw?f=%E8%93%9D%E8%9C%82MQTT%E7%BD%91%E5%85%B3%E9%85%8D%E7%BD%AE%E5%B7%A5%E5%85%B7%281%29.rar&v=1652153359

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

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

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

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

MQTT服务器准备工作

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

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

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

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

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

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

阿里云IoT平台配置步骤

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

创建产品

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

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

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

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

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

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

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

添加设备

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


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

【备注】可不写。

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

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

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

       


配置阿里云IoT平台物模型

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

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

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

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

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

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

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


变量名称
标识符
数据类型
温度
Temperature
int32(32位整形)
湿度
Humidity
int32(32位整形)
开关
Switch
Bool(开关量)


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

注:

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

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

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

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

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

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

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



总结:

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

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


MQTT网关登陆平台配置步骤

首次使用蓝蜂网关进行连接MQTT服务器时,必须使用电脑与网关232串口连接,只有RS232口可以配置网关。接线如下:

登录

打开“蓝蜂MQTT网关配置工具”,此处必须使用本地串口配置方式进行配置,如图:

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

【通讯口】:选择正确的串口号,可在电脑的“设备管理器”中查看。本机为COM4

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

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

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

网关概况

当连接成功后,即可进入网关配置页面,对网关进行相应的配置。

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

关于日志设置,强烈建议在非调试阶段关闭全部日志配置,长时间开启日志会影响网关性能。

注意:LF220最多支持添加500个变量,16个驱动。

MQTT连接配置

MQTT配置页面可用于填写MQTT服务器参数,具体介绍内容见《蓝蜂MQTT网关配置工具使用说明V1.0》第4.2节。首次拿到网关需要进行MQTT连接配置,可用于配置连接的MQTT服务器的参数配置完成后,网关即可连接MQTT服务器,如图

此处所有的配置是从阿里云平台处获取的(见3.4节内容),复制时不要添加或删除任何字符,否则将无法连接阿里云MQTT平台。填写完成后点击保存按钮,需要重启网关,配置才会生效同时需要重新登录配置工具。

驱动管理

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

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

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

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

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

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

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

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

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

变量管理

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

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

注:

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

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

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

※变量名称说明

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

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

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

寄存器地址:必填,地址填写时不带寄存区标志符,与实际寄存器地址一致。例如,X00写0,Y10写10D200写200

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

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

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

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

地址表示例:


PLC实际寄存器地址

平台变量填写地址

寄存器类型

X00

0

X输入寄存器

Y10

10

Y输出寄存器

D200

200

D数据寄存器

M20

20

M辅助寄存器



数据上报和写入配置

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

数据上报配置设置

配置步骤

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

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

其中“ /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

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

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



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

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平台了。

查看数据

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

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

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


写变量配置

操作步骤

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

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

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

其中/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

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







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

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平台直接控制设备进行写入数据了

向设备写入数据

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

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

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

注意:

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

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



注意事项

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

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

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

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

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

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

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

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








河北蓝蜂信息科技有限公司

公司电话:0311-68025711

技术支持:400-808-6168官方网站:www.lanfengkeji.com


相关文章

相关文章

副标题

商务咨询:400-808-6168
智能硬件
应用案例
资源中心
商务合作
关于蓝蜂
河北蓝蜂
微信公众号
河北蓝蜂
微博
云组态
农业物联网
PLC远程监控
设备远程监控
工业互联网平台
物联网网关
PLC远程控制
物联网云平台
工业物联网
物联网平台
2020河北蓝蜂信息科技有限公司版权所有
定制申请
空压机远程监控
变频器远程监控
空气源热泵远程监控
太阳能系统远程监控
气膜建筑远程监控
锅炉远程监控
暖通空调远程监控
自动化养殖远程监控
餐厨垃圾处理远程监控
智能养鱼塘远程监控
换热站远程监控
水质监测云平台
工业网关
工业物联网云平台
物联网解决方案
物联网解决方案
工业云平台
远程控制系统
智能环保平台
云组态平台
物联网开发平台
农业物联网平台
工业物联网应用
物联网控制
农业物联网系统
PLC远程通讯网关
工业远程控制
物联网模块
数据采集设备
数据采集网关
工业无线网关
4G数传网关
PLC远程模块
远程网关
设备远程控制
在线客服
 
 
——————
咨询电话
400-808-6168
13582025608
微信扫码咨询
website qrcode