PLC结构化编程-数据类型
在用户程序中,可使用预定义的数据类型主要有:
- 基本数据类型(二进制数、整数、浮点数、定时器、DATE、TOD、LTOD、CHAR、WCHAR)
- 复杂数据类型(DT、LDT、DTL、STRING、WSTRING、ARRAY、STRUCT)
- 指针
- 参数类型
- 系统数据类型
- 硬件数据类型
预定义的数据类型可以添加到用户自定义数据类型(PLC 数据类型 (UDT)),下面主要讲一讲数组(ARRAY),结构体(STRUCT)以及用户自定义数据类型(UDT),主要围绕一下几个点来讨论:
1,什么叫数组,结构体及用户自定义数据类型?
2,为什么会有数组,结构体及用户自定义数据类型?有什么优势?
1.a:数组(ARRAY)数据类型的变量表示一个由多个数目固定且数据类型相同元素组成的数据结构。这些元素可使用除 ARRAY 之外的所有数据类型。
1.b:结构体(STRUCT)数据类型是指一种元素数量固定但数据类型不同的数据结构。
1.c:用户自定义数据类型 (UDT) 是一种复杂的用户自定义数据类型,用于声明一个变量。这种数据类型是一个由多个不同数据类型元素组成的数据结构。
2.a:数组是由数目固定且数据类型必须一致,这个是数组的弊端,怎么理解?程序员在分析解决问题的时候,会对其进行抽象出数学模型。例如:人。人,电脑是不知道人是什么东西的,程序员必须抽象出其数学模型,才能被电脑“识别”:想想人有哪些特征:1年龄,2名字,3身高,4肤色等等。我们把具有这些特征的“东西”定义为人。那么问题来了,年龄我们是用整形变量(int)描述,名字我们是用字符串类型(string)来描述,根据定义,那么我们要表示一个人显然用数组是不能被描述出来的,所以就有了结构类型的(STRUCT)类型的出现。
2.b:从定义来看,貌似用户数据类型跟结构数据类型是一样的,感情UDT的出现是毫无意义的。其实不然。假设我定义了一个变量test.它被定义成STRUCT类型,当这个变量要被定义多次,或者是我要在多个不同的FB块中定义时,就要从新的去定义该内容,即使多有的内容都是一致的。PLC 数据类型 (UDT) 可在程序代码中统一更改和重复使用。系统自动更新该数据类型的所用使用位置。就跟int等常用预定义的数据类型一样。