复合数据类型具体的应用

复合数据类型中的数组,结构,字符,日期和时间 是什么意思 举例说明下,用地址怎么表示? 谢谢了

最佳答案

通过组合基本数据类型和复合数据类型可以生成下面的数据类型:
一、 数组(ARRAY)将一组同一类型的数据组合在一起,形成一个单元。
S7300 PLC在DB1中定义ARRAY[0..4]  B#16#0 BYTE 意思是ARRAY[0..4] ,下标从0到4,是5个字节。对应db1.dbb0,   db1,dbb1,   db1.dbb2    db1.dbb3   db1.dbb4。

二、结构(STRUCT)将一组不同类型的数据组合在一起,形成一个单元。
STRUCT结构体是变量总称,它代表DB块本身是个结构变量。就好比你自己建立个DB(开头也有STRUCT),有INT,有BOOL,有REAL等等
在DB中生成一个STRUCT?
 1.创建一数据块,例如DB1。
 2.打开DB1,在STACK所在行的"Type"列输入“STRUCT”,在结构最后一个元素下面一列输入“END_STRUCT",以表示STACK的开始与结束。
 3.在"STRUCT”与“END_STRUCT"之间的各行输入结构的元素,其中的”Arddress"列的地址自动生成的。例如STACK所在行的列中+4.0,即表示结构在DB1的第4个字节起始。
 4.访问结构中的元素可以是绝对地址与符号地址。例如,绝对地址DB1.DBB4; 符号地址“AA”.STACK.LOD1(AA为数据块名,STACK为结构名,LOD1为结构元素名)。
 5.将结构作为参数传递时,作为形参和实参的两个结构必须有相同的数据结构。

三、 字符串(STRING)是最多有254 个字符(CHAR)的一维数组。
字符串STRING    字符串是一组ASCII码,一个串内可定义最多254个字符,占用256 B内存。串中每个字符占用1 B,内存中头两个字节存储串的长度信息。第一个字节存放此串的定义长度(默认值为254个字符),第二个字节存放字符串实际长度。例如,String[7]定义长度为7的字符串,占用内存9 B(2+7)。若不定义长度,则默认为254个字符.


四、日期和时间(DATE_AND_TIME)用于存储年、月、日、时、分、秒、毫秒和星期,占用8 个字节,用BCD 格式保存。星期天的代码为1,星期一~星期六的代码为2~7。例如DT#2004-07-15-12:30:15.200 为2004 年7 月15 日12 时30分15.2 秒。

五、 用户定义的数据类型UDT (user-defined data types)。在数据块DB 和逻辑块的变量声明表中定义复合数据类型。
至于UDT数据类型使用方法详见:http://www.ad.siemens.com.cn/service/answer/solution.aspx?Q_ID=77386&cid=1029

提问者对于答案的评价:
谢谢啦

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc249530.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2018年12月2日
下一篇 2018年12月2日

相关推荐