请联系客服QQ
艾特贸易网首页

艾特贸易网

数据块中的数据类型

提示:

数据块中的数据包括以下几种类型。1.基本数据类型基本数据类型包括位(Bool)、字节(Byte)、字(Word)、双字(Dword)、整数(INT)、双整数(DINT)和浮点数(Float,或称实数Real)等。2.复合数据类型复合数据类型包括日期和时间(DATE_AND_TIME)、字符串( STRING)、数组(ARRA)、结构( STRCUT)和用户定义数据类型(UDT)。(1)日期和


    数据块中的数据包括以下几种类型。

    1.基本数据类型

    基本数据类型包括位(Bool)、字节(Byte)、字(Word)、双字(Dword)、整数(INT)、双整数(DINT)和浮点数(Float,或称实数Real)等。

    2.复合数据类型

    复合数据类型包括日期和时间(DATE_AND_TIME)、字符串( STRING)、数组(ARRA)、结构( STRCUT)和用户定义数据类型(UDT)

    (1)日期和时间

    日期和时间用8个字节的BCD码来存储。第05个字节分别存储年、月、日、时、分和秒,毫秒存储在字节6和字节7的高4位,星期存放在字节7的低4位。例如2009627123025.123秒可以表示为DT#09 06 27 123025.123

    (2)字符串

    字符串( STRING)由最多254个字符( CHAR)2个头部组成。字符串的默认长度为254,通过定义字符串的长度可以减少它占用的存储空间。

    (3)数组

数组(ARRAY)是同一类型数据组合而成的一个单元。生成数组时应指定数组的名称,例如PRESSNAMECLASS等。声明数组的类型时要使用关键字ARRAY,用下标(Index)指定数组的维数和大小,数组的维数最多为6维。例如,图4-21给出了一个二维数组ARRAY[1...213]的结构,它共有6个整数元素,图中每一小格为二进制的1位,每个元素占两行(两个字节)。方括号中的数字用来定义每一维的起始元素和结束元素在该维中的编号,可以取-3276832767之间的整数。各维之间的数字用逗号隔开,每一维开始和结束的编号用两个小数点隔开。如果某一维有n个元素,该维的起始元素和结束元素的编号一般采用1n,例如ARRAY[1...213]

 

4-21  二维数组的结构

数组可以在数据块中定义,也可以在逻辑块的变量声明表中定义。下面介绍在数据块中定义的方法。在SIMATIC管理器中用菜单命令“Insert”→“S7 block”→“Data Block”生成一个数据块,如图4-22所示。点击该数据块的图标,在出现的窗口中用声明表显示方式来生成一个用户定义的数组,如图4-23所示。

 

4-22生成一个数据块的方法

 

4-23定义数组与结构

    数组中的第1个元素为PRESS[11],如图4-21所示,第3个元素为PRESS[13],第4个元素为PRESS[21],第6个元素为PRESS[23]

    (4)用户定义数据类型(UDT)

用鼠标右键点击SIMATIC管理器的块工作区,在弹出的菜单中选择“Insert NewObj ect”一“Data Type”命令,如图4-24所示,生成新的UDT。在生成UDT的元素时,可以设置它的初值( Initial  Value)和加上注释(Comment),用户自定义数据结构如图4-25所示。

 

4-24生成用户定义数据类型的方法

4-25所示中的UDT1看上去与图4-23中定义的结构STACK完全相同,但是它们有本质的区别。结构( STRUCT)是在数据块的声明表中或在逻辑块的变量声明表中与别的变量一起定义的,但是UDT必须在名为UDT的特殊数据块内单独定义,并单独存放在一个数据块内。生成UDT后,在定义变量时可将它作为一个数据类型来多次使用。例如在变量声明表中定义一个变量,其数据类型为UDT1,名称为ProData,如表4-7所示。由该表可以看出,UDT在数据块中的使用方法与其他数据类型(例如INT)是相同的。

 

4-25用户定义数据结构

4-7    在数据块TANK中使用UDT的例子

 

(作者稿费要求:需要高清无水印文章的读者3元每篇,请联系客服,谢谢!在线客服:艾特贸易网客服为您服务


(责任编辑: 艾特贸易网 )

免责声明:本文章仅代表作者个人观点,与艾特贸易网无关。本站大部分技术资料均为原创文章,文章仅作为读者参考使用,请自行核实相关内容,如若转载请注明来源:艾特贸易网 http://www.aitmy.com