快速实现MQTT协议网关网口连接西门子PLC

news2024/11/18 7:46:06

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. 需要准备如下物品

1) 西门子200SMART PLC一台

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

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

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

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

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

7) USB转RS232线、网线、电工工具、导线若干。

    1. LF220网关准备工作

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

  1. 保证网关可以正常联网,可通过4G卡(移动/联通/电信流量卡,大卡)联网(需接上随网关附带的天线)或通过网线联网(需将路由器出来的网线接到网关的WAN口);
  2. 网关接12V24V直流电源,上电。(注意,电源正负极不要接反)。
    1. PLC准备工作

PLC连接电源(注意电源是24VDC还是220VAC),将PLC网口和LF220的LAN口用网线连接起来。

    1. 电脑的准备工作
  1. 电脑安装“蓝蜂MQTT网关配置工具压缩包”。

进入蓝蜂官网(工业iot物联网平台-工业物联网智能网关-plc远程控制-蓝蜂物联网),点击【资源中心】→【技术手册】→【蓝蜂MQTT网关配置工具压缩包】,如图:

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

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

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

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

  1. 电脑安装MQTTX软件。

MQTTX软件下载地址:MQTTX:全功能 MQTT 客户端工具,也可以自行搜索下载安装。

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

    1. MQTT服务器

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

注意:

  1. 如果网关是使用外网上网的方式进行上网,实体服务器端需要开放外网端口。
  2. 如使用云服务器,需要配置网关的MQTT上报脚本,必须满足云服务器的格式。

本文以本地服务器介绍。

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

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

※本地串口配置方式

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

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

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

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

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

※远程无线配置方式

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

需填写对应的参数:

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

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

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

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

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

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

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

    1. 网关概况

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

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

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

    1. MQTT连接配置

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平台的配置相同。

    1. 驱动管理

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

【通讯口配置】:点击通讯口配置下面有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。

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

    1. 变量管理

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

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

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

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

※变量名称说明:

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

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

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

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

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

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

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

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

地址表示例:

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

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

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

    1. 实时采集数据配置

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

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

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

步骤三:添加订阅消息。

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

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

    1. 写变量配置

步骤一:在蓝蜂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的数据。

    1. 状态上报

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

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

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

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

    1. 系统变量

系统变量用来描述某种状态或设备标识(如车牌号、设备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系统。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1106114.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JVM(Java Virtual Machine)内存模型篇

前言 本文是JVM系列的内存模型篇,参考资料为《深入理解Java虚拟机》,本文章将会以HotSpot 虚拟机为介绍基础。 1.JVM简单介绍 Java Virtual Machine是运行Java程序的基础,JVM基于C、C实现,JVM有很多种类,但是这些虚…

idea 里 没有svn选项的处理办法

总结一下没有svn选项的几种情况: 情况1:IntelliJ IDEA打开带SVN信息的项目不显示SVN信息,项目右键SVN以及图标还有Changes都不显示解决方法 在VCS菜单中有个开关,叫Enabled Version Control Integration,在打开的窗口…

Mycat2 分布式数据库中间件

一.安装部署 Mycat2目前还不支持直接获取Docker镜像,需要自己通过Dockerfile打包镜像,其实这也是为了开发者考虑,比如一些个性化功能,如自定义分片等 Dockerfile FROM docker.io/adoptopenjdk/openjdk8:latestENV AUTO_RUN_DIR…

【软考-中级】系统集成项目管理工程师 【17 信息系统安全管理】

持续更新。。。。。。。。。。。。。。。 【第十七章】信息系统安全管理 (选择2分 17.1 信息安全管理17.1.1 信息安全含义和目标 17.2 信息系统安全17.2.1信息系统安全概念17.2.2信息系统安全属性17.2.3信息系统安全管理体系 17.3 物理安全管理17.3.1计算机机房与设施安全17.3.…

Postman入门基础 —— 接口测试流程!

一、编写接口测试计划 接口测试计划和功能测试计划目标一致,都是为了确认需求、确定测试环境、确定测试方法,为设计测试用例做准备,初步制定接口测试进度方案。一般来说,接口测试计划包括概述、测试资源、测试功能、测试重点、测…

【C++】用constexpr,constinit,consteval让程序跑的快一点

从C11加入constexpr关键字开始,到C20又加入了consteval ,constinit ,有3个const打头的关键字 虽然是以const开头的,不过这3个关键字主要是指示在编译时候的动作,它们都是在编译时就已经被编译程序处理,并非…

Python使用openpyxl读取excel图片

使用openpyxl读取excel中图片,并保存到本地. 需要的包。 from openpyxl import load_workbook from PIL import Image import cv2 import numpy as np具体实现 先把openpyxl读取的图片转换为Image对象,再将Image对象转换为numpy array,num…

【无标题】Docker入门到拿捏,图文码并茂

0. 项目部署的问题 大型项目组件较多,运行环境也较为复杂,部署时会碰到- -些问题: 依赖关系复杂,容易出现兼容性问题开发、测试、生产环境有差异 1. 认识Docker Docker如何解决依赖的兼容问题的? 将应用的Libs (函数库)、Deps (依赖)、配置与应用一…

V8引擎编译原理(VIP课程)

什么是V8 V8是谷歌的开源高性能JavaScript和WebAssembly引擎,用C编写。它被用于Chrome和Node.js等。它实现ECMAScript和WebAssembly,并在Windows 7或更高版本、macOS 10.12以及使用x64、IA-32、ARM或MIPS处理器的Linux系统上运行。V8可以独立运行&#…

KMP substring search 算法 案例分析

一、理解KMP算法如何运用后缀和前缀的信息 文本串text:abcxabcdabxabcdabcdabcy模式串pattern:abcdabcy 当发现不匹配的点,我们的目标不是在这个串中进行回溯操作。因此我们要检查的是 d 的前面的子串(abc),在这个子串&#xff08…

【Qt-19】按Q退出应用程序

如何将Qt窗口应用程序改成控制台程序呢&#xff1f; 下面进入正文&#xff0c;如何控制控制台程序退出呢&#xff1f; 这里采用线程方式&#xff0c;通过单独线程监视用户输入来执行是否退出程序。 监视线程头文件thread.h #include <QThread> #include "TDRServe…

c++_learning-基础部分

文章目录 基础认识&#xff1a;语言特性&#xff08;面向对象编程&#xff09;&#xff1a;c的类&#xff08;相当于c中的结构体&#xff09;&#xff1a;三大特性&#xff1a;c包含四种编程范式&#xff1a;优缺点&#xff1a; c程序编译的过程&#xff1a;预处理->编译&am…

matlab中绘制 维诺图(Voronoi Diagram)

1.专业术语&#xff08;相关概念&#xff09;&#xff1a; 基点Site&#xff1a;具有一些几何意义的点 细胞Cell&#xff1a;这个Cell中的任何一个点到Cell中基点中的距离都是最近的&#xff0c;离其他Site比离内部Site的距离都要远。 Cell的划分&#xff1a;基点Site与其它的…

气膜式仓库:灵活创新,助力企业储存与物流升级

气膜式大空间仓库的建设不受地面条件限制&#xff0c;为企业提供了极大的便利。合理的仓储系统不仅是企业和厂商提高货品流动速度、确保生产、储运、配送顺利进行的关键&#xff0c;也是现代物流发展的需要。传统建筑在使用中存在一些不足&#xff0c;因此&#xff0c;我们需要…

科技新宠!拓世AI智能直播一体机揭秘,颠覆教学模式!

数字时代的铺展下&#xff0c;短视频和直播电商行业呈现出爆发式的增长&#xff0c;这种趋势正在日益融入人们的日常生活中&#xff0c;让短视频带货和直播带货逐渐成为一种独具中国特色的现象。与此同时&#xff0c;市场对专业人才的渴求也日渐加剧。国家以及相关地方政府纷纷…

Generative AI 新世界 | 大模型参数高效微调和量化原理概述

在上期文章&#xff0c;我们对比了在 Amazon SageMaker 上部署大模型的两种不同的部署方式。本期文章&#xff0c;我们将探讨两个目前大语言模型领域的开发者们都关注的两个热门话题&#xff1a;大型语言模型&#xff08;LLM&#xff09;的高效微调和量化。 微调大型语言模型允…

微信小程序调起微信支付

微信支付开发文档&#xff1a;wx.requestPayment(Object object) | 微信开放文档 一、先有一个提交订单页面 &#xff08;1&#xff09;wxml <view class"btn" bindtap"addOrder">{{btnText}}</view> 二、接入支付流程 &#xff08;1&…

element-ui 图片压缩上传

picture.js export const compressImgNew (file) > {return new Promise(resolve > {const reader new FileReader()const image new Image()image.onload (imageEvent) > {const canvas document.createElement(canvas) // 创建画布const context canvas.getCo…

工控机连接Profinet转Modbus RTU网关与水泵变频器Modbus通讯配置案例

Profinet转Modbus RTU网关是一个具有高性能的通信设备&#xff0c;它能够将工控机上的Profinet协议转换成水泵变频器可识别的Modbus RTU协议&#xff0c;实现二者之间的通信。通过这种方式&#xff0c;工控机可以直接控制水泵变频器的运行状态&#xff0c;改变其工作频率&#…

获取钉钉机器人的token及secret

一、下载安装 app不能自定义机器人&#xff0c;要客户端才行 二、进入组织/团队 三、创建群聊 1、发起群聊 2、创建内存群 群聊是内部的才行&#xff0c;只有内部的才支持自定义机器人 3、选中联系人 4、进入群设置 四、创建自定义机器人 1&#xff09; 进入机器人页面 2&…