西门子plc复杂数据类型有哪些?看过之后一目了然_第1页
西门子plc复杂数据类型有哪些?看过之后一目了然_第2页
西门子plc复杂数据类型有哪些?看过之后一目了然_第3页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、本文格式为Word版,下载可任意编辑西门子plc复杂数据类型有哪些?看过之后一目了然 西门子plc简单数据类型包括日期和实践(DATE_AND_TIME)、字符串(String)、数组(Array)、结构(Struct)和用户定义的数据类型(UDT)。1、日期和时间日期和时间(DATE_AND_TIME)占8个字节的BCD码,第16个字节分别存储年、月、日、时、分和秒,毫秒存储在整个第7个字节和第8个字节的高4位,星期存放在第8个字节的低4位,星期日代码为1,星期一 星期六的代码为27.例如2010年7月27日12点30分25.123秒可以表示为DT#10-07-27-12:30:25.123

2、。通过调用程序编辑器文件夹“LibrariesStandard LibrariesIEC Function Block”中的IEC功能(参见下图)调用SFC0”SET_CLK”可以设置和启动CPU时钟的时间和日期。调用SFC1”READ_CLK“可以读取CPU系统时钟当前的日期和时间。2、字符串字符串(String)是字符(Char)组成的一堆数组,每个字节存放一个字符。第1字节是字符串的最大字符长度,第2个字节是字符串当前有效字符的个数,字符从第3个字节开头存放,一个字符串最多有254字符。字符串的默认长度为254B,如下图所示,在DB3中定义字符串Fault的长度为20个字符,它只占用从D

3、B3.DBB20开头的22B,其初始值只有4个字符“over”。String变量中未使用的字节地址被初始化为B#16#00.可以使用标准库的IEC苦衷的21个功能来处理字符串变量,见下表,包括字符串与其他数据类型的转换、字符串比较和字符串编辑,详细方法参见在线关心。 3、数组数组(ARRAY)是同一类型的数据组合而成的一个单元,数组的维数最多为6维。下图给出一个二维数组ARRAY 1.2,1.3的内部结构,它共有6个字节的元素,图中每一个小格为二进制的1位,每个元素占一行(一个字节)。ARRAY后面的方括号的数字用来定义每一维的起始元素和结束元素在该维中的编号,可以取-3276832767之间

4、的整数。每维之间的数字用逗号隔开,每一堆开头和结束的编号用两个小数点隔开。假如有一维有N个元素,该维的起始元素和结束元素的编号可以采纳1和N,例如ARRAY 1.100 4、结构结构(STRUCT)可以是不同类型的数据组合,可以用基本数据类型、负载数据类型(包括数组和结构),和用户定义数据类型(UDT)做为结构的元素,例如一个结构可以由数组和结构组成,结构可以潜逃8层。用户可以把过程掌握中有关数据统一组织在一个结构中,作为一个数据单元来使用,而不是使用大量单个的元素,为统一处理不同类型的数据和参数供应了便利。5、用户定义数据类型用户定义数据类型(User-Defined Data Types)

5、简称UDT,是一种特别的数据结构,用户只需要对它定义一次,定义好了可以在用户程序中作为数据类型使用,可以用它来产生大量的具有相同数据结构的数据块,用这些数据来输入用于不同目的的实际数据。例如生成用于颜料混合配方的UDT后,可以用它来生成用于不同颜色配方的数据组合。用户定义数据类型有基本数据类型和简单数据类型组成。定义好以后可以在符号表中为它指定一个符号名,使用UDT可以节省录入数据的时间。举例说明:1、数组的生成和使用(1)生成数组可以在数据块中定义数组,也可以在规律块的变量声明表中定义它。下面介绍在数据块中定义的方法,在SIMATIC管理器中用菜单命令:【插入】-【S7块】-【数据块】生成数

6、据块DB3,双击打开DB3,默认显示方式为声明视图方式如下图所示:声明视图用于定义、删除和修改共享数据块中的变量,指定它们的名称、数据类型和初始值。第一行和最终一行标有STRUCT和EDN_STRUCT,这两行中间有一个自动生成的临时占位符变量。 按如下图输入 在类型INT所在行的地址列自动生成*2.0,表示一个数组占用2B,地址列+12表示该数组的6个元素一共占用12B,地址列的内容自动生成,可以给每个变量加上解释,数组第一个元素维press1,1,第6个元素为press2,3,(2)给数组元素赋初始值Step7依据变量的数据类型给出默认的初始值,用户可以修改初始值,定义数组时可以在ARRA

7、Y所在的行的初始值中给元素赋初始值,如上图所示。执行菜单命令【视图】-【数据视图】,切换到数据视图方式,将显示数组和结构中个元素的初始值和实际值如下图所示 (3)访问数组中的数据例如:”TANK” .press2,1。其中TANK是数据块DB3的符号名,press是数组名称,它们用英语的句号分开。方括号中的是数组元素的下表,该元素是数组的第4个元素如下图。 (4)用数组传递参数,假如在块的变量声明表中声明形参的类型为ARRAY,可以将整个数组作为参数来传递,在调用块时可以将每个数组元素赋值给统一数据类型的参数,如下图。 (5)用数组定义数据块的大小数据块的大小与数据块中定义的变量的个数和数据类

8、型有关,假如需要一个容量很大的数据块,可以用数组来定义数据块的大小,假如在数据块中只定义一个数组ARRAR1.500,数组元素的数据类型为字,则该数据块的大小为100B。可以用肯定地址和任意的简洁数据了诶行来方位该数据块中的存储单元。若方位数据块中未定义的地址,将会消失错误信息“读取时发生区域长度错误”。(6)设置数据块参数:鼠标右键点击数据块,选择对象属性,消失如下图所示,详细如何设置参见关心。 (7)使用程序状态功能监视数据块点击数据块工具栏上的监视按钮,自动切换到“数据视图”显示方式,数据块内的存储单元在线的数值在实际值列中显示,程序状态被激活后,不能切换“声明视图”方式。2、结构的生成

9、和使用(1)结构的生成可以在数据块中或规律块的声明表中定义结构,下面介绍在数据块中定义的方法,在上面DB3数据块中,再定义一个结构,名为stack的结构由3个不同数据类型的变量组成。如下图所示: 在“ARRAY”下面的INT,按回车键,在该单元下面生成一个空白行,在名称输入stack,在类型列单元点右键选择简单数据类型,选择STRUCT,(也可以直接输入STRUCT),按回车后再改行下面消失新的行,按如图输入。在END_STRUCT点回车,在消失的新的行中定义一个名为fault的字符串,如上图所示,字符串长度占20个字符在上图中stack所在行的地址列中的+12表示结构在数据块中的起始地址为D

10、BB12,结构中各元素的地址列中的+2.0等表示在结构中的相对起始地址,=8.0表示该结构一共占用8B,最终一行地址行的=42.0表示DB块中的数组、结构和字符串一共占用42B,(2)访问结构中的元素可以用结构中的元素的肯定地址或符号地址来访问结构中的元素,访问结构中的数据时,需要指出结构所在的数据块的名称、结构名称,以及结构元素名称,数据块tank内结构stack的元素amount应表示为”tank”.stack.amount。由于amount从数据块tank(DB3)的第12号字节开头存放,它的肯定地址为DB3.DBW12.(3)用结构传递参数假如在块的变量声明表中,声明形参的类型为数组或

11、结构,可以将整个数组或结构而不是它们的每个元素作为参数来传递,调用块时也可以将某个数组或结构的元素赋值给同一类型的参数。将简单数据类型的变量作为参数传递时,作为形参和实参的两个变量必需具有相同的数据结构,例如两个结构应具有相同数据类型的结构元素和相同的排列挨次。3、用户定义数据类型的生成和使用在SIMATIC管理器的左面窗口”块“,执行菜单命令【插入】-【S7块】-【数据类型】,生成新的UDT,在生成UDT的元素时,可以设置它的初始值和加上解释,如下图 从表面上看UDT1与stack完全相同,但是它们有本质区分。结构(STRUCT)是在数据块声明视图方式或规律块的变量声明表中与别的变量一起定义的,但是UDT必需在特别的数据块内单独定义,并单独存放在一个数据块中。生成UDT后,在定义变量时

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论