发布日期:2022-04-27 点击率:296 品牌:西门子_Siemens
2021-08-26 03:33分类:西门子PLC 阅读:
137
西门子PLCplc繁杂基本数据类型包含日期和实践活动(DATE_AND_TIME)、字符串数组(String)、二维数组(Array)、构造(Struct)和客户界定的基本数据类型(UDT)。
1、日期和時间
日期和時间(DATE_AND_TIME)占八个字节数的BCD码,第一~6个字节数各自储存年、月、日、时、分和秒,ms储存在全部第七个字节数和第8个字节数的高4位,礼拜储放在第8个字节数的低4位,礼拜日编码为1,星期一 ~ 星期六的编码为2~7.比如2010年7月27日12点30分25.123秒能够表明为DT#10-07-27-12:30:25.123。
根据启用程序编辑器文件夹名称“LibrariesStandard LibrariesIEC Function Block”中的IEC作用(参照下面的图)
启用SFC0”SET_CLK”能够设定和运行CPU数字时钟的時间和日期。启用SFC1”READ_CLK“能够载入CPU系统软件数字时钟当今的日期和時间。
2、字符串数组
字符串数组(String)是标识符(Char)构成的一堆二维数组,每一个字节数储放一个字符。第1字节是字符串数组的较大 字符长度,第2个字节数是字符串数组当今合理标识符的数量,标识符从第三个字节数逐渐储放,一个字符串数组数最多有254字符。字符串数组的默认设置长短为254B,如下图所显示,在DB3中界定字符串数组Fault的长短为20个标识符,它只占有从DB3.DBB20逐渐的22B,其初值仅有4个标识符“over”。String自变量中未应用的字节数详细地址被复位为B#16#00.
能够应用标准库的IEC苦处的2一个作用来解决字符串数组自变量,见下表,包含字符串数组与别的基本数据类型的变换、字符串比较和字符串数组编写,具体做法参照线上协助。
3、二维数组
二维数组(ARRAY)是同一种类的数据信息组成的一个模块,二维数组的维最多为6维。下面的图得出一个二维数组ARRAY [1..2,1..3]的内部构造,它一共有6个字节数的原素,图上每一个小格子为二进制的1位,每一个原素占一行(一个字节)。ARRAY后边的方括号的数据用于界定每一维的起止原素和完毕原素在该维中的序号,能够取-32768~32767中间的整数金额。每维中间的数据用分号分隔,每一堆开始与结束的序号用2个小数位分隔。如果有一维有N个原素,该维的起止原素和完毕原素的序号能够选用1和N,比如ARRAY [1..100]
4、构造
构造(STRUCT)能够是不一样种类的数据信息组成,可以用基本上基本数据类型、负荷基本数据类型(包含二维数组和构造),和客户定义数组种类(UDT)作为构造的原素,比如一个构造能够由二维数组和构造构成,构造能够外逃8层。客户能够把过程管理中相关数据信息统一机构在一个构造中,做为一个数据信息模块来应用,而不是应用很多单独的原素,为统一解决不一样种类的数据信息和主要参数给予了便捷。
5、客户定义数组种类
客户定义数组种类(User-Defined Data Types)通称UDT,是一种独特的算法设计,客户只必须对它界定一次,界定好啦能够在可执行程序中做为基本数据类型应用,可以用它来造成很多的具备同样算法设计的数据信息块,用这种数据信息来键入用以不一样目地的具体数据信息。比如转化成用以色浆混和秘方的UDT后,可以用它来转化成用以不一样色调秘方的数据信息组成。客户定义数组种类有基本上基本数据类型和繁杂基本数据类型构成。界定好之后能够在符号表中为它特定一个符号名,应用UDT能够节省入录数据信息的時间。
举例子:
1、二维数组的转化成和应用
(1)转化成二维数组
能够在数据信息块中定义数组,还可以在逻辑性块的自变量申明表格中界定它。下边详细介绍在数据信息块中界定的方式 ,在SIMATIC管理工具选用菜单栏指令:【插进】-【S7块】-【数据信息块】转化成数据信息块DB3,双击鼠标开启DB3,默认设置动态显示为申明主视图方法如下图所显示:申明主视图用以界定、删掉和改动共享资源数据信息块中的自变量,特定他们的名字、基本数据类型和初值。第一行和最终一行标着STRUCT和EDN_STRUCT,这二行正中间有一个自动生成的临时性占位符自变量。
按如下图键入
在种类INT所属行的详细地址列自动生成*2.0,表明一个二维数组占有2B,详细地址列 12表明该二维数组的6个原素一共占有12B,详细地址列的內容自动生成,能够给每一个自变量再加上注解,二维数组第一个原素维press[1,1],第六个原素为press[2,3],
(2)给二维数组原素赋初值
Step7依据自变量的基本数据类型得出默认设置的初值,客户能够改动初值,定义数组时能够在ARRAY所属的行的初值中给原素赋初值,如上图所述所显示。实行菜单栏指令【主视图】-【数据信息主视图】,转换到数据信息主视图方法,将表明二维数组和构造中个原素的初值和具体值如下图所显示
(3)浏览二维数组中的数据信息
比如:”TANK” .press[2,1]。在其中TANK是数据信息块DB3的符号名,press是二维数组名字,他们用英文的句点分离。方括号中的是二维数组原素的下列,该原素是二维数组的第4个原素如下图。
(4)用二维数组传送主要参数,假如在块的自变量申明表格中申明形参的种类为ARRAY,能够将全部二维数组做为主要参数来传送,在启用块时能够将每一个二维数组原素取值给统一基本数据类型的主要参数,如下图。
(5)用数组定义数据信息块的尺寸
数据信息块的尺寸与数据信息块中界定的自变量的数量和基本数据类型相关,假如必须一个容积非常大的数据信息块,可以用二维数组来定义数组块的尺寸,假如在数据信息块中只界定一个二维数组ARRAR[1..500],二维数组原素的基本数据类型为字,则该数据信息块的尺寸为100B。可以用肯定详细地址和随意的简易数据信息了诶行来方向该数据信息块中的数据存储器。若方向数据信息块中未定义的详细地址,可能发生错误报告“载入时产生地区长短不正确”。
(6)设定数据信息块主要参数:鼠标点击点一下数据信息块,选择点特性,发生如下图所显示,实际怎么设置参照协助。
(7)应用程序流程情况作用监控数据信息块
点一下数据信息块菜单栏上的监控按键,全自动转换到“数据信息主视图”动态显示,数据信息块内的数据存储器线上的标值在具体值列中表明,程序流程情况被激话后,不可以转换“申明主视图”方法。
2、构造的转化成和应用
(1)构造的转化成
能够在数据信息块中或逻辑性块的申明表格中界定构造,下边详细介绍在数据信息块中界定的方式 ,在上面DB3数据信息块中,再界定一个构造,名叫stack的构造由3个不一样基本数据类型的自变量构成。如下图所显示:
在“ARRAY”下边的INT,按回车,在该模块下边转化成一个空白行,在名字键入stack,在种类列模块点鼠标右键挑选繁杂基本数据类型,挑选STRUCT,(还可以立即键入STRUCT),按回车键后再转行下边发生新的行,按如图所示键入。在END_STRUCT点回车键,在发生的新的行中界定一个名叫fault的字符串数组,如上图所述所显示,数组长度占20个标识符
在图中中stack所属行的详细地址列中的 12表明构造在数据信息块中的起止详细地址为DBB12,构造中各原素的详细地址列中的 2.0等表明在构造中的相对性起止详细地址,=8.0表明该构造一共占有8B,最终一行详细地址行的=42.0表明DB块中的二维数组、构造和字符串数组一共占有42B,
(2)浏览构造中的原素
可以用构造中的原素的肯定详细地址或符号详细地址来浏览构造中的原素,浏览构造中的数据信息时,必须强调构造所属的数据信息块的名字、构造名字,及其构造原素名字,数据信息块tank内构造stack的原素amount应表明为”tank”.stack.amount。由于amount从数据信息块tank(DB3)的第12号字节数逐渐储放,它的肯定详细地址为DB3.DBW12.
(3)用构造传送主要参数
假如在块的自变量申明表格中,申明形参的种类为二维数组或构造,能够将全部二维数组或构造而不是他们的每一个原素做为主要参数来传送,启用块时还可以将某一二维数组或构造的原素取值给同一种类的主要参数。
将繁杂基本数据类型的自变量做为参数传递时,做为形参和实参的2个自变量务必具备同样的算法设计,比如2个构造应具备同样基本数据类型的构造原素和同样的顺序排列。
3、客户定义数组种类的转化成和应用
在SIMATIC管理工具的左边对话框”块“,实行菜单栏指令【插进】-【S7块】-【基本数据类型】,转化成新的UDT,在转化成UDT的原素时,能够设定它的初值和再加上注解,如下图
从表层上看UDT1与stack完全一致,可是他们有不同之处。
构造(STRUCT)是在数据信息块申明主视图方法或逻辑性块的自变量申明表格中与其他自变量一起界定的,可是UDT务必在独特的数据信息块内独立界定,并独立储放在一个数据信息块中。转化成UDT后,在界定自变量时将它做为一个基本数据类型来数次应用,比如:在自变量申明表格中界定一个自变量,其基本数据类型为UDT1,名字为ProData如下图
图中能够看得出,UDT在数据信息块中的操作方法与别的基本数据类型(如INT)是一样的。
UDT能够在逻辑性块(FC、FB、OB)的自变量生命表中做为基本上基本数据类型或繁杂基本数据类型来应用,或是在数据信息块(DB)做为自变量的基本数据类型来应用。
上一篇:西门子PLC多重背景的使用举例
下一篇:西门子PLC功能和功能块的区别
下一篇: PLC、DCS、FCS三大控
上一篇: 除镍用树脂 苏州市蒸