理论教育 复杂数据类型介绍

复杂数据类型介绍

时间:2023-06-17 理论教育 版权反馈
【摘要】:表5.4数据结构DTL2.String数据类型字符串数据类型的变量将多个字符保存在一个字符串中,字符串最多有254个字符,最大长度为256个字节,其中前两个字节用来存储字符串的长度信息,称为标头。Struct变量始终以具有偶地址的一个字节开始,并占用直到下一个字限制的内存,可应用所有数据类型的值范围。PLC变量表只能定义基本数据类型的变量,不能定义复杂数据类型的变量。

复杂数据类型介绍

复杂数据类型是由基本数据类型组成的,不能将任何常量用作复杂数据类型的实参,也不能将任何绝对地址作为实参传送给复杂数据类型。

1.DTL数据类型

DTL数据类型是一种12个字节的结构,在预定义的结构中保存日期和时间信息,包括年、月、日、星期、小时、分、秒和纳秒,其长度为12B。可以在全局数据块或块的接口区中定义DTL变量数据结构DTL(日期时间)如表5.4所示。

表5.4 数据结构DTL

2.String数据类型

字符串(String)数据类型的变量将多个字符保存在一个字符串中,字符串(ASCII字符)最多有254个字符(Char),最大长度为256个字节,其中前两个字节用来存储字符串的长度信息,称为标头。定义字符串的最大长度可以减少它占用的存储空间,例如定义了字符串“Mystring[12]”之后,字符串Mystring的最大长度就只有12个字符了。如果字符串的数据类型为String(没有方括号),每个字符串变量将占用256B。(www.daowen.com)

执行字符串指令之前,首先应定义字符串,但不能在变量中定义字符串,只能在代码块的接口区或全局数据块中定义。将String输入和输出数据初始化为存储器中的有效字符串,有效字符串的最大长度必须大于0且小于255。String只能在块接口编辑器中使用,不能用于I或Q存储区。

3.Array数据类型

数组(Array)是由相同数据类型的固定个数的多个元素组成。S7-12000 PLC只能生成一维数组,数组元素的数据类型可以是所有的基本数据类型。在用户程序中,可以创建包含多个基本类型元素的数组。数组可以在组织块(OB)、功能块(FC)、功能块(FB)和数据块(DB)的块接口编辑器中创建,但不能在PLC变量编辑器中创建数组。

S7-1200 PLC支持的数组格式是“ARRAY[lo..hi]”,下标[lo..hi]是在程序中引用的数组元素。lo是数组的起始(最低)下标,hi是数组的结束(最高)下标,元素可以是基本数据类型之一,下标可以为负数。例如,[1..10]表示有10个元素,第1个元素的地址是[1],最后1个元素的地址是[10]。除采用[1..10]外,也可以来用[0..9],它只影响元素的访问。在块接口编辑器中创建数组时,选择数据类型“Array[lo..hi]类型”,然后编辑“lo”“hi”和“类型”。可以在块接口编辑器的“名称”(Name)列中为数组命名,如#My_Bits[3],引用数组“My_Bits”的第3位;Array[1..10],BOOL,数组Array[1..10]of BOOL包含10个布尔值。

4.Struct数据类型

由固定个数的元素组成的结构,其元素可以具有不同的数据类型。不同的结构元素可具有不同的数据类型,不能在Struct变量中嵌套结构。Struct变量始终以具有偶地址的一个字节开始,并占用直到下一个字限制的内存,可应用所有数据类型的值范围。

对于一个具体的结构体而言,其元素的数量是固定的,这一点与数组相同,但该结构体中各元素的数据类型可以不同,这是结构体与数组的重要区别。PLC变量表只能定义基本数据类型的变量,不能定义复杂数据类型的变量。但可以在代码块的接口区或全局数据块中定义复杂数据类型的变量。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈