首页 > 编程语言 >PLC程序分析和数据下发测试教程

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

时间:2023-02-06 18:00:11浏览次数:43  
标签:输出 教程 函数 下发 PLC 字符串 解析 变量

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


PLC程序分析

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


先定义输入变量:

如下:

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:输出的字符串,非字符串输出无效;

PLC程序分析和数据下发测试教程_字符串


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

PLC程序分析和数据下发测试教程_字段_02

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

PLC程序分析和数据下发测试教程_字符串_03

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

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

PLC程序分析和数据下发测试教程_字符串_04

在飞燕平台定义如下参数:

PLC程序分析和数据下发测试教程_字段_05


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

luminance:光照强度;

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

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

PLC程序分析和数据下发测试教程_字段_06


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

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

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

PLC程序分析和数据下发测试教程_字符串_08


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

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

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

PLC程序分析和数据下发测试教程_字符串_09

再调用解析函数块;

PLC程序分析和数据下发测试教程_字段_10


四、数据下发测试

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

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


PLC成功解析数据;

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

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

亿佰特人每一天都致力于更好的助力物联化、智能化、自动化的发展,提升资源利用率,更多产品更多资料,感兴趣的小伙伴可以登录我们的官网http://www.ebyte.com/进行了解,还有客服小姐姐在线答疑哦!

标签:输出,教程,函数,下发,PLC,字符串,解析,变量
From: https://blog.51cto.com/ebyte/6040071

相关文章

  • 计算机网络教程
    第一章、计算机网络概述1、典型的网络交换方式1、电路交换步骤:建立连接→通话→释放连接2、分组交换分组交换的优点:高效、灵活、迅速、可靠分组交换带来的问......
  • PLC利用函数块连接MQTT订阅消息(一)
    在亿佰特介绍了西门子PLC如何通过函数块连接MQTT服务器和发布消息,本文为大家介绍如何通过函数与函数块实现MQTT云消息的订阅,直接切入重点。一、飞燕物联网平台配置这里......
  • PLC利用函数块连接MQTT订阅消息(一)
    在亿佰特介绍了西门子PLC如何通过函数块连接MQTT服务器和发布消息,本文为大家介绍如何通过函数与函数块实现MQTT云消息的订阅,直接切入重点。一、飞燕物联网平台配置这里的配......
  • shell脚本学习教程(全网最全教学)
     1shell概述1.1什么是ShellShell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便远程远程程序的界面系统级程序,用户可以用Shell来启动、挂起、停止甚......
  • Yum 安装 Elasticsearch + Kibana教程
    Yum安装Elasticsearch+Kibana教程安装Elasticsearch准备elasticsearch(下面称为ES)是一个基于Lucene的搜索服务器。所以他需要java的环境即jdk#yuminstalljava*#vim......
  • Redux 教程1 快速上手
    文档翻译来的用Typescript来的不定期更新来的环境配置,我看了一下,最好的配置方法是npxcreate-react-appmy-app--templateredux-typescript但问题是,我只是想在旧......
  • TechSmith Camtasia 2022 录屏剪辑软件使用教程
    TechSmithCamtasia简介TechSmithCamtasia是一款功能十分专业并且实用的屏幕录像工具。这款软件提供了强大的屏幕录像、视频剪辑编辑、视频菜单制作、视频剧场和视频播......
  • MySQL5.x msi自定义安装教程_也适用于8.x版本
    下载都会就跳过1、打开安装程序2、选择自定义安装方式3、选择要安装的MySQL版本4、承接3选择自定义安装路径和数据存储路径5、检查文件完整性6、无脑Next7、配置项作为服务......
  • 【微信小程序-原生开发】实用教程07 - Grid 宫格导航,详情页,侧边导航(含自定义页面顶部
    开始前,请先完成成员页的开发,详见【微信小程序-原生开发】实用教程06-轮播图、分类页签tab、成员列表(含Tdesign升级,切换调试基础库,设置全局样式,配置组件按需注入,添加图片......
  • 系列分享 |《最全面、最细致的 VLC 教程》
    作者:一去、二三里微信公众号:高效程序员专栏介绍《​​VLC多媒体开发​​》,是一个专注于libVLC开发的专栏,里面共包含几十个章节,从0到1,图文并茂,详细地介绍了libVLC......