今天给大家介绍一下什么是数组,什么是结构体,关于数组我们会介绍数组的定义、它的使用方法,关于结构体我们会介绍结构体的使用、怎么去建立一个结构体等知识,之前也是有部分学员有问过这些问题的,那么都一块儿给大家讲讲吧。

我们先介绍一下数组,数组指的是将相同数据类型的标签的连续集合体用一个名称表示。可以将基本数据类型、结构体作为数组进行定义。

数组分为一维数组、二维数组和三维数组。

上图的bLable1是一维数组(要素数为4),bLable2是二维数组(要素数为5×4),bLable3是三维数组(要素数为6×5×4)。

上面我们可以看到要素这个名词,那么什么是要素呢?

数组的要素指的是数组的长度,我们在定义数组时,必须决定要素数(数组的长度)。书写格式如下:数组开始值~数组结束值为止的范围将变为要素数。

我们需要注意的是一个数组定义只能设置1个初始值,不能在各要素中设置不同的初始值,数组的全部要素中已设置的值存储为初始值。

使用数组时,为了识别各个标签,在标签名后用“[]”将下标括起来进行表示。此外,对于二维或三维数组,“[]”内的下标要用“逗号(,)”隔开表示。数组的下标可以指定的类型如下图。

通过在数组的下标中指定标签,由于数据存储目标变为动态,因此可以在执行重复处理的程序上使用。下图为在“uLabel4”的数组中连续以“1234”存储的程序。

对于数组其实是可以省略要素编号使用的。省略要素编号使用的情况下,将作为数组要素的起始编号被转换。例如定义的标签名为“boolAry”,数据类型为“位(0..2,0..2)”数组的情况下,“boolAry[0,0]”与“boolAry”是一样的,会进行相同的处理。

下面以简单的小例子讲一下数组的使用,案例为采用数组实现数据累加的操作。

1、在全局标签中定义数组,选择数组元素“数组”、元素个数,设置好数据类型。

2、上图可见我们定义的是数组A,元素为10个,即数组A[0]~数组A[9]。我们再用这些数组元素编写如下程序即可。

接下来我们再看看什么是结构体,结构体就是将所有设备的不同数据类型的数据定义在一起形成一个模板,利用这个模板去填写属于自己对应的参数。在编写大型控制程序时,控制的东西很多,如果单一的去定义变量工作繁杂,而结构体在数据管理及调用方面大大提高了便捷性和数据查看的快捷性。

我们在使用结构体的时候,将定义的结构体作为数据类型的标签预先进行登录。指定配置的各构件时,在结构体标签名后用“句号(.)”间隔开并附上构件名就可以了。我们还可以将结构体置为数组后使用。作为数组声明的情况下,应在结构体标签名后用“[]”将下标括起来表示。可以将结构体的数组作为函数及FB的自变量进行指定。下图是使用置为数组的结构体的要素的表示方式。

下面我们就来一起看看创建结构体的步骤:

1、在工程中通过“新建数据”创建结构体,设置好数据名。

2、在结构体设置中设置好标签,包括电压、电流、频率和转速的标签名和对应的数据类型。

3、在全局标签中设置好标签,注意数据类型选择为结构体-变频器。

4、点击详细显示,在分配软元件中点击详细设置,我们还可以为其设置软元件。

关于数组和结构体的知识,你了解了吗?

这个知识可能理解起来会相对难一点,但是像数组还是可能会应用的到的,也是有必要掌握一下的哦。如果有不懂的,也可以看看我们官网的课程哟~

(技成培训网原创,作者:蔡慧荥,未经授权不得转载,违者必究)

中的数组怎么转成结构体_PLC知识,什么是数组和结构体?相关推荐

  1. C#中结构体定义并转换字节数组

    ref: https://www.cnblogs.com/dafanjoy/p/7818126.html C#中结构体定义并转换字节数组 最近的项目在做socket通信报文解析的时候,用到了结构体与字 ...

  2. c语言通讯录链表结构体排序,写个通讯录 想要简单就全用的是结构体数组要求改成用链表的...专业的朋友看能不能最简洁的改一下...

    已结贴√ 问题点数:20 回复次数:10 写个通讯录 想要简单就全用的是结构体数组要求改成用链表的...专业的朋友看能不能最简洁的改一下 写个通讯录 想要简单就全用的是结构体数组...不符合要求 要改 ...

  3. c语言的结构体能存放函数吗,在C语言结构体中添加成员函数

    我们在使用C语言的结构体时,经常都是只定义几个成员变量,而学过面向对象的人应该知道,我们定义类时,不只是定义了成员变量,还定义了成员方法,而类的结构和结构体非常的相似,所以,为什么不想想如何在C语言结 ...

  4. 结构体后面定义一个空数组的含义

    最近在写C代码,经常看到Linux 的头文件中有的结构体后面会定义一个空数组,不知道其为何作用?经过高人指点终于明白其要点! struct inotify_event {    __s32 wd;   ...

  5. c语言用数组直接填充结构体,C语言第11题:结构体数组的定义与使用 + 结构体数组排序...

    C语言第11题:结构体数组的定义与使用 + 结构体数组排序 C语言第11题:结构体数组的定义与使用 + 结构体数组排序 注意: 一下赋值是不能使用的 但是在结构体中是可以直接进行赋值操作的 st[1] ...

  6. C语言试题二十一之定义n×n的二维数组编写函数 function(int a[][n])功能是:使数组左下半三角元素中的值全部置成0。

    1. 题目 定义了n×n的二维数组,并在主函数中自动赋值.请编写函数 function(int a[][n]),该函数的功能是:使数组左下半三角元素中的值全部置成0. 2 .温馨提示 C语言试题汇总里 ...

  7. linux 串口 字符 间隔,嵌入式linux编程过成中模块从串口读数需要特定的字符段并且需要每两位字符数组元素转换成一个16进制数(提取特定字符串+字符串转16进制)...

    嵌入式linux编程过成中用到zigbee模块 zigbee从串口读数需要特定的字符段并且需要每两位字符数组元素转换成一个16进制数 (提取特定字符串+字符串转16进制) #include #incl ...

  8. MDK keil中在定义一个结构体的时候加点后面不出现结构体当中变量的提示

    MDK keil中在定义一个结构体的时候加点后面不出现结构体当中变量的提示 解决办法: 1.确保已经将顶层头文件stm32f10x.h添加至当前你所写的文件内: 2.检查你自己写的文件是否已经加载到工 ...

  9. 嵌入式linux编程过成中模块从串口读数需要特定的字符段并且需要每两位字符数组元素转换成一个16进制数(提取特定字符串+字符串转16进制)

    嵌入式linux编程过成中用到zigbee模块 zigbee从串口读数需要特定的字符段并且需要每两位字符数组元素转换成一个16进制数 (提取特定字符串+字符串转16进制) #include<st ...

最新文章

  1. jQuery Callbacks
  2. Gson把对象转成json格式的字符串
  3. 使用 Apache MINA 开发高性能网络应用程序
  4. 【已解决】cannot resolve file db.properties‘
  5. 字体对话框java实验_Java Web安全 || Java基础 sun.misc.Unsafe
  6. MySql详解(四)
  7. rust木炭有用吗_如何看待 Rust 这门语言?
  8. SQL server 2008 r2 安装教程
  9. mysql-connector-java-8.0.26-bin.jar 包含bin的jar下载
  10. android文件读取文件内容,android创建txt文件,读取txt文件内容
  11. yylabel 加载html,YYLabel的简单使用
  12. Generative Adversarial Networks overview(1)
  13. mysql中问号传参_问号传值有以下三种方法:
  14. 计算机硬盘隐,终极电脑磁盘隐藏方法大全
  15. mysql优化之in内子查询
  16. python人工智能方向入门书籍推荐_python 人工智能 入门要看那些理论书
  17. 10.2国庆作业(PWM实验)
  18. 照度稳定可调 LED 台灯(K 题)【高职高专组】-- 2021 年全国大学生电子设计竞赛
  19. 如何自学Python,需要多久?【建议收藏】
  20. ei eo 功能类型_速求,74LS148的输入信号EI和输出信号GS,EO的作用分别是什么?谢谢了...

热门文章

  1. 未来十大技能职场吃香
  2. Android应用开发—PendingIntent:如何判断两个PendingIntent对等
  3. git使用—rebase还是merge
  4. 【狂神说】Redis笔记
  5. 前端之 BOM 和 DOM
  6. word文档打印 自动编码_办公室文件打印有哪些技巧 办公室文件打印技巧介绍【图文】...
  7. 服务器升级虚拟化,刀片服务器内置虚拟化 IBM升级服务器
  8. 第七季1:MP4文件格式解析
  9. 汇编指令的学习1——ARM汇编的特点
  10. unsigned char s1 : 2的用法