首页 > 其他分享 >PLC利用函数块连接MQTT订阅消息(一)

PLC利用函数块连接MQTT订阅消息(一)

时间:2023-02-06 17:36:02浏览次数:43  
标签:订阅 字符 MQTT PLC 字符串 功能块 数据

在亿佰特介绍了西门子PLC如何通过函数块连接MQTT服务器和发布消息,本文为大家介绍如何通过函数与函数块实现MQTT云消息的订阅,直接切入重点。

PLC利用函数块连接MQTT订阅消息

一、飞燕物联网平台配置

这里的配置和上一篇发布的配置基本相同,唯一的不同在于将数据的读写属性修改为支持读写,其余部分根据实际情况配置不同参数,这里我已控制关照为例说明,如下图所示:

物联网平台配置

二、服务器下发数据格式分析

先从阿里云官方资料中获取Alink JSON通讯协议的格式,选择“消息通讯”选项下的“设备属性、事件、服务”;

1服务器下发数据格式分析

找到“设置设备属性”展开“Topic和数据格式”的介绍;

2服务器下发数据格式分析

下发数据格式如下:{"id":"123","version":"1.0","params":{"temperature":30.5},"method":"thing.service.property.set"}

对于PLC来说首先需要找到关键词“"temperature":”是否存在,若存在再将其后的数据字符串提取出来,再将该字符串转换为数据用于修改PLC变量实现控制功能;

这里查找关键词就会用到上传提到的“FIND” 在字符串中查找字符的功能块,先看官方提供的使用例程,这个功能块会将第一次找到的字符位置输出,否则输出为零。

3服务器下发数据格式分析

这里我们主要使用输出的位置信息结合“LEN”(计算判断字符串长度)和“SUB”(判断字符串长度-1个字符长度)功能块(用于计算相对偏移)来定位数据点位置,在使用“DELFTE”功能块删除多余的无效字符,方便后续提取有效数据;

4服务器下发数据格式分析

注意这里传入的需要删除的字符串数量并非“FIND”功能块输出的位置值,而是该位置值加上相对偏移,这样我们就得到了一个从有效数据开始的字符串,接下来可以利用“STRG_VAL”功能块遇到不可转换字符停止转换的特性转换为数值(JSON中数据的结束一般有‘,’与‘}’来结束该数据,字符型数据除外),还是以官方的例程说明:

5服务器下发数据格式分析

刚才在飞燕平台配置的数据类型都是整数,因此需要修改为下图实列,若为浮点数还需要单独配置,方法和整形一致仅转换类型需要调整。

6服务器下发数据格式分析

经过上述步骤就可以将数值型变量的值提取出来,不过上述方法不支持提取字符数据,需要提取字符型数据的可以参照该方法实现,字符型数据就需要判断数据的长度在通过”MID”功能块提取,字符串的结束字符为‘"’,通过“FIND”功能块便能或者字符长度。

转载文章来源:https://www.ebyte.com/new-view-info.html?id=2205

标签:订阅,字符,MQTT,PLC,字符串,功能块,数据
From: https://www.cnblogs.com/ebyte/p/17096075.html

相关文章

  • PLC利用函数块连接MQTT订阅消息(一)
    在亿佰特介绍了西门子PLC如何通过函数块连接MQTT服务器和发布消息,本文为大家介绍如何通过函数与函数块实现MQTT云消息的订阅,直接切入重点。一、飞燕物联网平台配置这里的配......
  • RBMQ案例三:发布/订阅模式
      在上篇教程中,我们搭建了一个工作队列,每个任务只分发给一个工作者(worker)。在本篇教程中,我们要做的跟之前完全不一样——分发一个消息给多个消费者(consumers)。这种......
  • uni-app + .NET 7实现微信小程序订阅消息推送
    微信小程序的订阅消息是小程序的重要能力之一,为实现服务的闭环提供更优的体验。订阅消息我们应该经常见到,比如下单成功之后的服务通知,支付成功后的支付成功通知,都属于小程......
  • 【Redis】如何实现发布订阅功能?
    目录前言前言Redis发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接受消息。Redis客户端可以订阅任意数量的频道!......
  • 手把手教大家写书写一个Mqtt网关
    摘要:物联网是现在比较热门的软件领域,众多物联网厂商都有自己的物联网平台,而物联网平台其中一个核心的模块就是Mqtt网关。本文分享自华为云社区《​​一文带你掌握物联网mqtt......
  • 手把手教大家写书写一个Mqtt网关
    摘要:物联网是现在比较热门的软件领域,众多物联网厂商都有自己的物联网平台,而物联网平台其中一个核心的模块就是Mqtt网关。本文分享自华为云社区《一文带你掌握物联网mqtt网......
  • 工业智能网关利用安全通信打造PLC数据采集系统
    在飞速发展的物联网时代中,越来越多企业要求通过本地上位机远程实时监控生产设备的运行参数和指标,实现故障报警以预防潜在的设备停机问题,确保安全稳定的生产。因此,数据通信的......
  • 基于PLC电气成套设备的无线监控物联网解决方案
    方案背景XX公司是从事高低压成套开关设备、PLC自动控制设备以及电力变流器装置的设备制造厂商,既提供整套电气配套设备,也承接各种自动化改造的项目。在合作中,客户现场安装的......
  • PLC了解
    PLC就是一个完善的单片机系统PLC的基本组成:由CPU、电源、输入电路、输出电路、存储器和通信接口电路等六大部分。  PLC拆解视频:西门子S7-1200      ......
  • ISM Web组态软件采集西门子PLC
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录​​前言​​​​一、西门子PLC​​​​二、使用步骤​​​​1.创建西门子PLCS7模型​​​​2.创建......