资源描述
Click to edit text,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,Jan-28-2004,Copyright 2003 Rockwell Automation, All Rights Reserved,*,Logix,系统数据类型,Copyright 2003,Rockwell Automation, All Rights Reserved,Jan-28-2004,1,Copyright 2003 Rockwell Automation, All Rights Reserved,Logix5000,基本的,数据类型,Logix5000,是一个32位的,CPU,,因此所有单独的标签都定义为使用双字型,(32,位,),的内存偏移量,这些数据类型为所有其它产品和用户定义结构体提供了基础,SINT,0,7,INT,0,15,DINT,0,31,REAL (IEEE,格式),0,31,BOOL,0,31,31,31,Jan-28-2004,2,Copyright 2003 Rockwell Automation, All Rights Reserved,数据 / 内存优化,Logix5000,控制器使用一个,32,位,RISC CPU,,它优化了,32,位的操作,控制器包含两套指令,DINT (32,位) 和,REAL(32,位) 数学运算,DINT -,提供最好性能的数据类型,REAL ,是最优化的,但是比,DINT,运行慢,SINT(8,位),INT(16,位) 必须全部被转换成,DINT,或者,REAL,在可能的情况下,尽量使用,DINT,DINT,数学运算比,REAL,的执行快很多,Jan-28-2004,3,Copyright 2003 Rockwell Automation, All Rights Reserved,比较,SINT, INT, DINT, REAL,您选择的数据类型会影响内存的使用以及程序的执行时间,(,扫描),SINT,INT,DINT,REAL,为独立的标签保留的内存,4 字节,4字节,4字节,4字节,为用户定义结构体中的数据保留的内存,1字节,(,一行连续的8位,),2字节,(,一行连续的16位,),4字节,(,一行连续的32位,),4字节,(,一行连续的32位,),用于访问,ADD,指令所需的内存,(,假定所有参数有相同的数据类型,),236字节,260字节,28,字节,44字节,执行,ADD,指令所需的执行时间(假定所有参数有相同的数据类型,),L1 - 9.89,secL55 8.46,sec,L63 3.31,sec,L1 - 10.32,secL55 8.85,sec,L63 3.49,sec,L1 -,0.56,sec,L55 0.55,sec,L63 0.26,sec,L1 - 10.77,sec,L55 10.4,sec,L63 1.45,sec,Jan-28-2004,4,Copyright 2003 Rockwell Automation, All Rights Reserved,基本与混合数据值,基本数据类型是存储信息的基本格式,Logix5000,支持,BOOL, SINT, INT, DINT, REAL,混合数据类型使用一种或多种基本类型,把多个信息组合到连续的内存区,用户定义类型,(UDT),数组,对于大多数应用,使用数组和结构体可以提供很多优点,使用警告:不要把太多的信息放到一个单独的标签中,独立名称,数量没有限制,可以在线添加,UDT,允许使用特定的名称和用户定义的结构,优化通讯时间以及内存的影响,可以在线创建新的数组标签,13版本,RSLogix,5000,的转移描述功能会自动给标签加注释,始终使用,32,位的内存,在标签编辑器,/,数据监视器中始终是按字母的顺序排列,需要额外的时间和内存进行通讯,只能在离线时改变一个标签数据类型,每个数组或,UDT,限制为2,MByte,数据,对于大于,488,字节的,UDT ,,RSLinx,需要额外的通讯开销,优点,缺点,基本数据类型,混合数据类型,Jan-28-2004,5,Copyright 2003 Rockwell Automation, All Rights Reserved,数据 / 内存优化,Logix5000,支持用户定义结构体,允许您使用单一的名称组合多个数据值,(,例如:一个计时器, PRE,ACC),大多数,MMI/EOI,产品不能够访问这些结构体,不能使用,DINT(32,位)类型数据,如果数据需要组合在一起,那么可以创建一个数组,注释:,RSView,可以支持,32,位的符号标签和结构体,Jan-28-2004,6,Copyright 2003 Rockwell Automation, All Rights Reserved,数组维数,Logix5000,数组分配了连续的内存块,将特殊的数据类型存储为一维或多维具有重复数据的数据表,标签和,UDT,都支持数组,数组用于储存您需要作为表或数据库管理的数据,Logix,优化了单维数组,对于一维数组,有更好的指令支持,并且有更快速的索引性能,尽管支持2和,3,维数组,但是有很少的应用使用它们,Jan-28-2004,7,Copyright 2003 Rockwell Automation, All Rights Reserved,基本数组的内存使用情况,31,30,29,27,27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,09,08,07,06,05,04,03,02,01,00,63,62,61,60,59,58,57,56,55,54,53,52,51,50,49,48,47,46,45,44,43,42,41,40,39,38,37,36,35,34,33,32,95,94,93,92,91,90,89,88,87,86,85,84,83,82,81,80,79,78,77,76,75,74,73,72,71,70,69,68,67,66,65,64,3,2,1,0,7,6,5,4,Unused,Unused,9,8,1,0,3,2,Unused,4,0,1,2,BOOL96 12,字节内存,BOOL,数组是以,32,位增量进行定义的,SINT,数组会在结尾处进行填补,以便消耗掉在左侧剩余的字节,SINT10 12,字节内存,( 2,字节没使用,),INT,数组会在结尾处进行填补,以便消耗掉在左侧剩余的字节,INT5 12,字节内存,(2,字节没使用,),DINT,数组使用,4,字节的内存增量,(,与,REAL,相同),DINT3 12,字节内存,Jan-28-2004,8,Copyright 2003 Rockwell Automation, All Rights Reserved,数组维数实例,当创建标签时,数组就会定义,数组维数定义,1维数组定义,2 维数组定义,3维数组定义,按顺序列出的数组元素,Jan-28-2004,9,Copyright 2003 Rockwell Automation, All Rights Reserved,访问数组元素,Logix,支持直接和索引 (间接) 引用数组元素,直接引用元素使用一个立即数作为在程序中标签引用的部分,(,例如:,MyTable,5),在下载同时进行硬编译,实现最小的内存影响以及最佳的性能,间接引用使用一个在运行时可以计算的标签或表达式,,,来决定被引用的元素 (例如:,MyTable,Offset),Jan-28-2004,10,Copyright 2003 Rockwell Automation, All Rights Reserved,Logix5000,用户定义结构体,用户定义结构体允许您把多种数据类型,(,基本, 预定义或用户定义,),组合成为一个新的数据类型,结构体的所有元素都位于字节的范围 (8 位),您可以优化程序的可读性以及内存的使用,当创建用户定义结构体时,会把所有位组合成连续的位,减少内存使用的数量,缩短通讯时间,对于大于488字节的结构体,,RSLinx,需要额外的通讯开销,DATATYPE Sample1,BOOL Bit1;,SINT Tiny_Value,BOOL Bit2,;,INT Small_Value,DINT Big_Value,REAL Float_Value,END_TYPE,DATATYPE Sample1,BOOL Bit1;,BOOL Bit2,;,SINT Tiny_Value,INT Small_Value,DINT Big_Value,REAL Float_Value,END_TYPE,16 字节,12 字节,Jan-28-2004,11,Copyright 2003 Rockwell Automation, All Rights Reserved,Logix5000,结构体数组,每个元素的内存分配是由结构体的定义决定的,所有数组元素都设置成以,32,位内存边界起始,目前,一个数组限制为,2Mbyte,内存,DATATYPE Load_Info,DINT Load_ID,SINT Source,SINT,Dest,END_TYPE,8 字节,TAG,Conv,: Load_Info5,END_TAG,40 字节,Conv,0.Load_ID,Conv,1.Load_ID,Conv,2.Load_ID,Conv,3.Load_ID,Conv,4.Load_ID,Jan-28-2004,12,Copyright 2003 Rockwell Automation, All Rights Reserved,ROW,DEPTH,HEIGHT,使用结构体和数组进行流线型的开发,创建用户定义数据类型模仿您的设备,为所需的内存创建标签名称,无需使用物理内存地址,提供自动建立文档的代码,易于开发和维护,使用数组存储信息表,可以支持,3,维,(,就像真实的世界一样,),例如:堆放着,4,行、3列、2层容器的仓库,Jan-28-2004,13,Copyright 2003 Rockwell Automation, All Rights Reserved,Logix5000,中的字符串数据,在,8.02,版本之前的,Logix5000,支持,BOOL、SINT、INT、DINT,以及,REAL,基本数据类型,8,版本提供内置的,ASCII,字符串数据类型,以及一套功能丰富的字符串操作指令,2.51版本提供了串行口指令,使用它可以从/向,SINT、INT,和,DINT,标签和数组中读/写字符串,在,8.02,之前的版本,,,可以使用结构体和梯形图逻辑代码操作字符串,Jan-28-2004,14,Copyright 2003 Rockwell Automation, All Rights Reserved,V8,字符串数据类型,内置复合的,“STRING”,结构体,用户可指定的长度,从,1,到,64KByte,个字符,支持多种不同长度的字符串,用户分配名称允许应用程序指定字符串,控制器项目管理器中的字符串组简化了字符串的管理,缺省可以创建具有82个字符的字符串,以确保与,PLC5/SLC500,兼容,用户指定的,字符串长度,字符串结构体数据域,字符串结构体,内存使用率,用户为字符串结构体,指定的名称,字符串,标签,字符串结构体,过滤器,在字符串标签,中的字符,字符的,数量,Jan-28-2004,15,Copyright 2003 Rockwell Automation, All Rights Reserved,字符串处理指令,现有的比较指令增强了对字符串的支持,EQU -,相等比较,(ASR)*,NEQ -,不相等比较,GRT -,大于比较 ,GEQ -,大于等于比较,=,LES -,小于比较 ,LEQ -,小于等于比较,=,CMP -,比较,2,现有的串行口指令增强了对字符串数据类型的支持,ARD - ASCII,读取,ARL - ASCII,读取行,AWA - ASCII,追加写,AWT - ASCII,写,符合,IEC1131-3,的11种新型字符串处理功能,STOD ,字符串转换为,DINT(ACI),1,DTOS - DINT,转换为字符串,(AIC),1,STOR -,字符串转换为,Real,RTOS - Real,转换为字符串,CONCAT -,字符串连接,(ACN),1,MID ,字符串中间抽取,(AEX),1,FIND -,字符串搜索 (,ASC),1,DELETE -,字符串删除,INSERT ,字符串插入,UPPER ,转换为大写字母,2,LOWER ,转换为小写字母,2,现有的文件,/,数组指令,增强了对,字符串数组的支持,FFL - FIFO,装载,FFU - FIFO,卸载,LFL - LIFO,装载,LFU - LIFO,卸载,COP -,拷贝,CPS -,同步拷贝,FSC ,文件搜索和比较,2,V8.02,版本增加对字符串的支持,1,PLC-5/SLC-500,指令名称,2,V10,版本增加的,Jan-28-2004,16,Copyright 2003 Rockwell Automation, All Rights Reserved,
展开阅读全文