0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

PLC程序分析和数据下发测试教程

jf_10471008 来源:jf_10471008 作者:jf_10471008 2023-02-06 17:56 次阅读

在亿佰特介绍了西门子PLC如何通过函数块连接MQTT服务器和发布消息,前文为大家介绍如何通过函数与函数块实现MQTT云消息的订阅,介绍到了MQTT服务器下发数据分析部分,本文接着讲述PLC程序分析和数据下发测试。

PLC程序分析

每个变量的提取过程都是类似的,我们可以将其封装为函数块方便多次调用,先创建FC函数块,选择LAD语言,如下图:

poYBAGPgzt6ALCKjAABrDr86Y1Q324.png

先定义输入变量:

如下:

main_str:待解析字符串,云平台下发的字符串;

Compare_str:解析字段,需要从云平台提取的有效数据标签

outdata_type:数据类型,解析后输出的数据类型,0(Uint)、1(Real)、2(String);

输出变量如下:

DONE:输出解析状态,非零有效,为零代表输入的“main_str”不包含“Compare_str”解析失败;

valid_value_int:解析的整形结果,非整形该输出无效;

valid_value_real:解析的浮点数结果,非浮点该输出无效;

valid_str:输出的字符串,非字符串输出无效;

pYYBAGPgzt6AZIMOAABSxEufHHU671.png

还需要定义一些中间变量,主要用来存储转换所需要的条件和转换的中间结果,就不再赘述。

poYBAGPgzt-ABicIAAAsgieE5hQ499.png


上图为判断该输入的待解析字符串是否存在解析字段,若有输出位置信息,再将其转换为相对偏移地址用于后续有效数据提取。

pYYBAGPgzuCAXVd2AAB0VoNNZJg919.png


上图为不同类型数据调用不同的解析方法,上一章已经介绍过原理了,LAD编程语言不太适合这种功能的实现,使用STL语言就要简洁的多,有机会再给大家介绍。

在创建一个FB(函数块)将需要解析的字段放在一个函数块内方便后续维护,

poYBAGPgzuGALelUAABtl5T9l6k714.png


在飞燕平台定义如下参数

pYYBAGPgzuKAZjzGAABcxluIOV0771.png

同样的也需要定义一些输出变量方便主程序将提取结果配置给对应设备,我这里只通过在线调试演示没有正式设备,输出变量定义如下:

luminance:光照强度;

luminance_set_en,是否修改,非零代表存在修改;

类似方法定义剩余的两个变量,如下图所示:

pYYBAGPgzuOAAvvOAACqbPmU9T4769.png

先将Mqtt函数块收到的云平台下发数组转换为字符串,用于其他步骤使用;

pYYBAGPgzuSAT7IvAAAnk22e2w8641.png


调用刚才创建的有效数据提取函数(get_server_srt_validdata),输入需要解析的数据和字段(“luminance”:)以及变量类型”0“;

poYBAGPgzuWAGfbHAAA9s2JOD5A326.png

在通过变量“luminance_set_en“判断数据点是否存在修改,若存在则将提取到的有效数据输出,若不存在则不进行输出;

后面的“speed”与“DO1”采用相同的配置方法。

接下来就是在主程序中调用该函数块实现MQTT订阅消息的解析,第一步创建自动订阅功能,通过下图方法,将在请求连接后的10s自动进行订阅;

pYYBAGPgzuWAeYXsAAAeQjUyWU0227.png


再调用解析函数块;

poYBAGPgzuaAeuN3AAAgu7u4sPM964.png

四、数据下发测试

进入设备详情的在线调试界面选择属性调试,方法采用设置发送下列字符串;

pYYBAGPgzuiAL-n8AADENdBf_LU240.png

PLC成功解析数据;

poYBAGPgzuqAKLt9AAGerQcBZ_o295.png


下次为大家介绍云智能APP的制作。

审核编辑黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 测试
    +关注

    关注

    8

    文章

    4458

    浏览量

    125134
  • plc
    plc
    +关注

    关注

    4976

    文章

    12267

    浏览量

    455020
  • MQTT
    +关注

    关注

    5

    文章

    540

    浏览量

    21983
收藏 人收藏

    评论

    相关推荐

    为什么LWIP TCP客户端测试中总是出现数据掉包和数据重发现象?

    参考发烧友网络实验中的TCP CLIENT测试移植的程序,将STM32作为客户端,电脑作为服务器,STM32连续发送数据给服务器时,发送一定次数的数据
    发表于 08-30 04:36

    如何定位C程序的代码和数据

    C程序的代码和数据如何定位的?
    发表于 09-11 05:55

    嵌入式系统测试教学实训平台由哪几部分组成

    设备组成嵌入式系统测试教学实训平台主要由软件部分和教学实验箱组成。2.1软件部分(嵌入式系统测试教学实训系统)通用嵌入式系统测试平台软件(教学版)及安装光盘待测件板软件(已安装到待测件板)产品
    发表于 12-21 08:09

    冯·诺伊曼结构的计算机程序和数据

    architecture),是一种将程序指令存储器和数据存储器合并在一起的电脑设计概念结构。冯●诺依曼结构的计算机其程序和数据共用一个存储空间,
    发表于 12-22 06:06

    北大青鸟软件测试教程PPt

    北大青鸟软件测试教程包含有:软件质量保证,测试技术,测试工具,测试计划和单元测试等等内容。
    发表于 09-18 16:50 0次下载
    北大青鸟软件<b class='flag-5'>测试教</b>程PPt

    白盒测试教程ppt

    白盒测试白盒测试概念测试覆盖标准逻辑驱动测试基本路径测试 白盒测试也称结构
    发表于 09-19 09:39 0次下载

    基于dSPACE的EMT台架测试和数据采集系统设计_杜常清

    基于dSPACE的EMT台架测试和数据采集系统设计_杜常清
    发表于 02-07 18:11 6次下载

    51单片机存储程序和数据

    初学51总是会有这样的疑问,从电脑下载程序到开发板后,程序去哪了? C51中,用户或应用程序,系统程序和数据都是存放在哪的?51单片机从物理
    发表于 11-23 17:54 9232次阅读

    数据和数据分析区别

    数据分析和数据分析是有区别和联系的。这里重点关注两者的是技术要求、使用场景、业务范围等方面的区别和联系。重点要区分理论研究和实际应用两方面区别和联系。
    的头像 发表于 12-19 15:39 1.2w次阅读

    无线WIFI产品硬件测试教程资料免费下载

    本文档的主要内容详细介绍的是无线WIFI产品硬件测试教程资料免费下载包括了:1.无线局域网标准体系,2.无线硬件测试指标,3.无线研发测试,4.工厂生产测试
    发表于 03-20 08:00 36次下载
    无线WIFI产品硬件<b class='flag-5'>测试教</b>程资料免费下载

    西门子PLC的硬件调试教程详细说明

    本文档的主要内容详细设计的是西门子PLC的硬件调试教程详细说明
    发表于 03-18 16:56 0次下载
    西门子<b class='flag-5'>PLC</b>的硬件调<b class='flag-5'>试教</b>程详细说明

    LabVIEW用于测量和数据分析

    LabVIEW用于测量和数据分析说明。
    发表于 04-19 14:27 46次下载

    宇电AI808与组态王6.01通讯测试教

    宇电AI808与组态王6.01通讯测试教
    发表于 07-23 09:24 16次下载

    如何实现汇川plc在线监控和数据采集?

    随着智能制造的发展和技术的进步,工业自动化系统越来越复杂,其系统中涉及的各种传感器、控制器和PLC等设备数量也不断增加。在这种情况下,如何准确、有效地对这些设备进行在线监控和数据采集成为了一个重要
    发表于 03-27 13:31 901次阅读
    如何实现汇川<b class='flag-5'>plc</b>在线监控<b class='flag-5'>和数据</b>采集?

    为何工程师测试PLC都喜欢用跑马灯程序

    工程师在测试PLC时经常使用跑马灯程序,主要有以下几个原因: (1)简单易懂:跑马灯程序是一种非常简单的程序,通过控制不同的输出点依次亮灭,
    的头像 发表于 12-06 08:35 226次阅读