衍生数据类型是用户在基本数据类型的基础上,建立的由用户自定义的数据类型,与基本数据类型所使用的相同方法对变量进行声明。

数组

数组是多个相同类型数据的有序集合。组成数组的各个变量称为数组的元素,用于区分数组的各个元素的数字编号称为下标。其中数组内元素的数据类型可以是基本数据类型,也可以是衍生数据类型。数组的定义格式如下:

arr : ARRAY [1..5] OF INT := [1,2,3,4,5]; //数组arr 内有5个INT类型的元素,其值分别为1、2、3、4、5

使用下列语法访问数组内的元素:[下标],如:arr[1]。下标范围从1至数组内元素个数,不能超过其上下限。如arr[1]是访问数据arr的第一个元素。

结构体

结构是由一系列具有相同类型或不同类型的数据构成的数据集合。结构的定义使用TYPE关键字开始,END_TYPE关键字结束,定义格式如下:

TYPE CIRCLE: STRUCT X : REAL; Y : REAL; Radius : REAL; END_STRUCTEND_TYPE//以上定义了一个名为CIRCLE类型的结构体,里面三个REAL类型成员,分别为X、Y、Radius。

使用下列语法访问结构体内的成员:.,如circle.X,其中circle为CIRCLE类型变量。

枚举

枚举是一个被命名的整型常数的集合。枚举的定义用关键字 TYPE 开始,END_TYPE 结束。定义格式如下:

TYPE MainState :( InitSys := 0, SeekHome := 1, Working := 2, ErrorHandle := 3);END_TYPE//以上定义了一枚举类型,其取值分别为InitSys(0) 、SeekHome(1) 、Working (2)、ErrorHandle(3) 

枚举变量可以取枚举值中的任何一个值。缺省情况下,第一个枚举值为零,其后依次递增。

指针

指针用于存储变量/功能块地址的变量。指针可指向任何数据类型、功能块和用户定义的数据类型。定义格式如下:

piInt : POINTER TO INT;//定义一个指向INT类型的指针变量piInt

使用对地址操作符ADR可将变量或功能块的地址赋给指针。指针变量后加内容操作符”^”可取出指针中的数据。如:

 a1 : INT := 10; a2 : INT; piInt := ADR(a1);//piInt指向变量a1的地址 a2 := piInt^; //取piInt内地址对应的值到变量a2,与a2 := a1等价

直接衍生的数据类型

直接衍生的数据类型定义格式如下:

 TYPE  : ; END_TYPE

别名是指给一个基本数据类型起另外一个名称。定义格式如下:

 SWITCH : BOOL; END_TYPE//定义一个SWITCH类型,其与BOOL类型相同

具有某个初始值的数据类型。定义格式如下:

TYPE PI : REAL := 3.14; END_TYPE//定义一个PI类型,其与REAL类型相同,初值是3.14

定义一个基本数据类型的子范围

TYPE sByte : BYTE(0..10); END_TYPE//定义一个sByte类型,其取值范围界定在0到10之间的BYTE数据类型

对IEC61131-3衍生数据类型的介绍到这里结束,大家有什么疑问可在留言区提出,我会一一解答。

明天将对IEC61131-3的STL语言作详细介绍,有需要的朋友请多多关注!

下标要求数组或指针类型_「IEC 61131-3」衍生数据类型相关推荐

  1. 下标要求数组或指针类型_算法一看就懂之「 数组与链表 」

    数据结构是我们软件开发中最基础的部分了,它体现着我们编程的内功.大多数人在正儿八经学习数据结构的时候估计是在大学计算机课上,而在实际项目开发中,反而感觉到用得不多. 其实也不是真的用得少,只不过我们在 ...

  2. C语言下标要求数组或指针,c语言改错 error C2109: 下标要求数组或指针类型怎么改?...

    /*魔方阵*/ #include int main() { int i,j,a,n; int arr[100][100]; printf("请输入n,n为100内奇数\n"); s ...

  3. c语言中error c2109 是什么错,求c语言改错 error C2109: 下标要求数组或指针类型?...

    求c语言改错 error C2109: 下标要求数组或指针类型? /*魔方阵*/ #include int main() { int i,j,a,n; int arr[100][100]; print ...

  4. c语言数字下标错误怎么改,c语言改错 error C2109: 下标要求数组或指针类型怎么改?...

    /*魔方阵*/ #include int main() { int i,j,a,n; int arr[100][100]; printf("请输入n,n为100内奇数\n"); s ...

  5. 二维数组 类型_「初识C语言」二维数组

    一维数组只有一个下标,称为一维数组,其数组元素也称为单下标变量.在实际问题中有很多量是二维的或多维的,因此C语言允许构造多维数组.多维数组元素有多个下标,以标识它在数组中的位置,所以也称为多下标变量. ...

  6. 有十五个数按由大到小顺序存放在一个数组中_「图形化编程」前导知识-数组(一)...

    今天我们来学习一个新的概念-数组.这节课将通过一个小程序讲解数组的基本概念-数组的长度和下标 定义 数组指的是有序元素的集合,数组中的每个元素具有相同的类型,按照顺序排列的形式组织在一起.我们可以把数 ...

  7. citra 图形设置_「图形化编程」前导知识-数组(四)

    在前三节的教程里, 暴王:「图形化编程」前导知识-数组(一)​zhuanlan.zhihu.com 暴王:「图形化编程」前导知识-数组(二)​zhuanlan.zhihu.com 暴王:「图形化编程」 ...

  8. struct类型重定义 不同的基类型_汇总贴:STEP7的复杂数据类型有哪些?

    复杂数据类型是由基本数据类型通过一定的规则,有机结合在一起,形成的新的.复杂数据类型,STEP7中定义了以下几种复合数据类型: 一.数组ARRAY ARRAY表示由一个相同数据类型的数据组合在一起,形 ...

  9. java里面string什么意思_「Java基础知识」Java中的字符串是什么

    原标题:「Java基础知识」Java中的字符串是什么 字符串顾名思义就是一些字符组合在一起组成的一串数据,称作字符串,在Java中字符串用双引号包围起来,格式为String string = &quo ...

最新文章

  1. mac版python3.7怎么使用_【Mac环境】Mac使用python3.7环境
  2. spark streaming 接收 kafka 数据java代码WordCount示例
  3. 服务器中加速BIOS启动的方法
  4. ServletContext的作用
  5. php语言中 类的关键词是,c语言中的关键字有哪些类型?
  6. mysql 中文字符查询不出数据_jsp页面显示不出mysql中查询出的中文字符串,插入中文也不好使...
  7. 前端项目课程5 登录界面如何做
  8. mysql字段说明_mysql 字段类型说明
  9. async与await封装ajax请求
  10. 将Java EE与jOOQ结合使用的初学者指南
  11. python绘制不带颜色曲线图_Python画曲线图
  12. 华为nova7se能云闪付吗_华为迎来转机!联发科“顶替”麒麟芯片,已售罄手机将重获新生...
  13. Java线程学习笔记(两) 线程异常处理
  14. Weui 结合 xmlHttpRequest 上传图片
  15. Oracle服务端的tsnname,【监听】tnsname.ora文件理解
  16. JAVA 守护线程 Deamon
  17. 分解动力学类有哪些最新发表的毕业论文呢?
  18. Linux内核详解与内核优化方案
  19. 选择第K大元素(快排、快选以及k-选取比较)
  20. 计算机操作系统(第四版)第二章(进程的描述与控制)知识点整理

热门文章

  1. SQL对不同服务器数据库之间的数据操作
  2. 鸡汤怎么炖好喝 鸡汤的家常做法
  3. Polyworks脚本开发学习笔记(十七)-制作宏脚本自定义工具条
  4. 招银网络(成都数据研发)
  5. JAVA I/0 流学习(一)
  6. sap 期间003/2016没有对帐户类型 S 和总帐 1405050200 打开
  7. R语言绘图 | 折线图画法,如何画出你满意的图?
  8. 微拉美多久可以恢复,微拉美提升能保持几年
  9. Excel公式注意事项
  10. Spring-框架-ClassUtils类isAssignable方法