2000 m3级高炉UDT与功能块的开发及应用*
2012-12-07周旭朋
周旭朋
(安阳钢铁股份有限公司)
2000 m3级高炉UDT与功能块的开发及应用*
周旭朋
(安阳钢铁股份有限公司)
介绍了安钢2000 m3级高炉PLC控制系统中用户定义数据类型(UDT)与功能块的开发与应用,对常规设备提供了一种标准的控制方法及手段,大大简化了控制程序的开发设计过程,提高了程序的可读性及可移植性,方便维护,值得在工程设计中推广应用。
用户定义数据类型 功能块 开发与应用
0 前言
随着PLC控制系统的应用越来越广泛,PLC控制程序的设计与开发也显得优为重要。常规的PLC控制程序设计方法,例如梯形图顺序控制设计法,设计出来的程序不但繁琐冗长,而且不具有可读性及可移植性。安钢2000 m3级高炉中,用户定义数据类型(UDT)与功能块的开发与应用,使控制程序条理清楚,通用性强,可方便移植与维护。
1 概况
PLC控制程序的设计一般包括:变量表、组织块、功能块、数据块等逻辑块的设计。变量表用来定义程序编写过程中所用到的变量,这里可以定义变量的名称、数据类型、地址和注释等。各种逻辑块用来编写控制程序,实现设备的逻辑控制,主要由各种不同的指令代码组成,这些指令代码可以用梯形图(LAD)、功能块图(FBD)或语句表(STL)等来表示。变量表常规的设计方法是把所有用到的变量都罗列在变量表中,整个变量表显得非常庞杂,不利于分析应用。逻辑功能块常规的设计方法是顺序设计法,是把所有的功能一个接一个用指令代码写出来,当控制设备的数量较少且较简单时,这样的方法还可行。如果是一个较为复杂且控制设备数量较多的系统,这样的控制程序会显得非常冗长,不方便维护和查找故障。通过大量探索与实践,用户定义数据类型(UDT)与功能块的应用,能方便控制程序的编写,简化设计过程,轻松完成现场各设备间的逻辑控制,可广泛应用于各种工业控制现场。
2 用户定义数据类型(UDT)与自定义功能块
2.1 UDT的概念与设计
用户定义数据类型(User-Defined Data Types)简称为UDT,是一种特殊的数据结构,由基本数据类型和复杂数据类型组成。用户只需要对它定义一次,定义好以后可以在用户程序中作为数据类型使用。可以用它来产生大量的具有相同数据结构的数据块,用这些数据块来输入用于不同目的的实际数据。例如生成用于颜料混合配方的UDT后,可以用它生成用于不同颜色配方的数据组合。用户定义数据类型定义好以后,可以在符号表中为它指定一个符号名。使用用户定义数据类型(UDT),在设计变量表时可以大量节约录入数据的时间[1]。
UDT可以在逻辑块(FC、FB、和OB)的变量声明表中作为基本数据类型或复杂数据类型来使用,或者在数据块(DB)中作为变量的数据类型来使用。同时可以用UDT定义的变量作为参数来传递。
设计UDT时,用鼠标右键点击SIMATIC管理器右边显示块的窗口,在弹出的菜单中执行“插入新对象”—“数据类型”命令,生成新的UDT。在生成UDT的元素时,可以设置它的初始值和加上注释。2000 m3级高炉变频泵的用户定义数据类型见表1。
表1 泵的用户定义数据类型
2.2 UDT的编程应用
在设计编程变量表时,把UDT用户定义数据类型作为基本的数据类型在数据块中使用,定义每个设备的变量时,输入设备的代码即可,方便快捷,可以节约大量的时间。UDT在安钢2000 m3级高炉工程实例中的应用情况见表2。
表2 UDT在数据块中的应用
要访问数据块motor中数据类型为UDT1的结构M101中的元素 auto,其符号地址为“motor”.M101.auto。
2.3 自定义功能块的概念与设计
自定义功能块是逻辑控制块的一种,由局部变量、逻辑控制程序组成。局部变量由输入变量(IN)、输出变量(OUT)、输入_输出变量(IN_OUT)、临时变量(TEMP)等组成[2]。
1)输入变量(IN)。由调用它的块提供的输入参数。
2)输出变量(OUT)。返回给调用它的块的输出参数。
3)输入_输出变量(IN_OUT)。初值由调用它的块提供,块执行后返回给调用它的块。
4)临时变量(TEMP)。暂时保存在局部数据区中的变量。只是在执行块时使用临时变量,执行完后,不再保存其数值,它可能被别的数据覆盖。
块的局部变量名必须以字母开始,只能由英语字母、数字和下划线组成的,不能用汉字,但是在符号表中定义的共享数据的符号名可以使用其他字符(包括汉字)。
设计自定义功能块时,选中SIMATIC管理器左边窗口中的“块”图标,用右键点击右边窗口,执行出现的快捷菜单中的“插入新对象”—“功能块”,生成一个新的功能块。在局部变量表中输入对应的输入、输出变量,在逻辑控制块中,按常规控制逻辑输入控制程序,实现设备的基本控制功能。例如泵的启动、停止等。
2.4 自定义功能块编程应用
在工程实际应用中,把控制设备的常规通用功能设计为功能块,例如泵的手动、自动联锁启动,阀的手动、自动联锁开关等设计为自定义功能块。在主程序中进行调用,并赋于外部输入参数,实现工程中各种通用设备的控制。安钢2000 m3级高炉程序设计中,应用功能块进行编程使程序主体结构清晰,条理分明,易于理解与维护。在程序调试时,只需要调整功能块与功能块的外部参数,不需要对每个设备的控制程序进行重复性的修改工作。图1为工程实际应用中主程序调用的一个变频泵的控制功能块。
图1 变频泵控制功能块
图中motor是一个输入_输出参数,是UDT用户定义数据类型。在输入参数设计时,由HMI设定的设备的参数利用UDT用户定义数据类型来实现,外部只预留自动联锁启动,开关阀的条件以及现场的一部分到位联锁信号,从而简化了编程工作量,缩短了程序开发周期。
3 应用效果
用户定义数据类型(UDT)与功能块在安钢2000 m3级高炉工程中的应用,取得了良好效果,不但简化了控制程序的开发设计工作,而且也为新工艺的控制程序设计提供了一种很好的平台。设计开发人员在不熟悉工艺的情况下,利用UDT与功能块把程序的主体架构搭建起来,实现设备的单体调试与运行。在设备的联动调试时,根据工艺人员的要求,可以把相应的联锁条件加入功能块的输入参数中,从而实现各种设备之间的联锁关系。经过大量工程实例证明,用户定义数据类型(UDT)与功能块的应用,可以在工程中起到事半功倍的效果,值得推广与应用。
4 结语
随着PLC广泛地应用在各种机械设备和生产过程的自动控制系统中,PLC的可靠性和灵活性显得优为重要,而PLC编程的思路与方法是决定控制程序的可靠性与灵活性的关键。用户定义数据类型(UDT)与功能块的设计与应用,为用户提供了一种良好的编程思路与方法,可以运用到各种PLC控制系统中,发挥PLC控制系统的良好优势。
[1]廖常初.S7-300/400 PLC应用技术.北京:机械工业出版社,2008:259-260.
[2]王红,王艳玲.可编程控制器使用教程.北京:电子工业出版社,2002:20-22.
DEVELOPMENT AND APPLICATION ON UDT AND FUNCTION BLOCK IN 2000 m3BF
Zhou Xupeng
(Anyang Iron and Steel Stock Co.,Ltd)
The development and application on user-defined data types(UDT)and function block in PLC control system for 2000 m3BF in Anyang Steel are introduced which provide standard control method for common equipments,greatly simplify development and design process of control program and enhance readability of program and shiftability.It is worth of spreading in project deign.
user-defined data types function block development and application
2011—8—16