首页 理论教育 PAC编程:实现离散量报警功能

PAC编程:实现离散量报警功能

时间:2023-10-26 理论教育 版权反馈
【摘要】:梯级条件Alarm_Digital就是报警触发条件,在外部编程梯级逻辑,用以控制离散量报警功能。图20-1 离散量报警功能的梯级逻辑点击指令右上角的,展开ALMD指令的组态页面,如图20-2所示。组态页面也是离散量报警结构数据标签AlarmD_LD的数据界面。此处设置650为报警级别,即高优先级别。只有在报警已确认且报警条件消失时,报警复位才能消除报警状态。离散量报警的功能块组态如图20-9所示。

PAC编程:实现离散量报警功能

离散量报警源于现场开关状态,当被监视的开关状态变化,作为报警触发动作,可以是前沿触发,也可以是后沿触发,一般在延时一段时间之后,并非干扰信号,确认为真实的报警信号,然后作出报警的处理。

编写的离散量报警功能的梯级逻辑如图20-1所示。梯级条件Alarm_Digital就是报警触发条件,在外部编程梯级逻辑,用以控制离散量报警功能。

报警指令的程控操作数

●ALMD的报警确认AlarmD_Ack为1执行报警确认;

●报警复位AlarmD_Reset为1执行报警复位;

●报警取消AlarmD_Disable为1取消ALMD指令报警功能;

●报警使能AlarmD_Enable为1使能ALMD指令报警功能。

报警指令的输出状态:

●报警状态InAlarm为1表示处在报警中,为0表示未报警;

●报警已确认Acked为1表示报警已被确认,为0表示未被确认;

●报警禁止Suppressed为1表示报警被禁止,为0表示未被禁止;

●报警消除Disabled为1表示报警取消,为0表示报警使能;

●报警指令故障InstructFault为1表示指令故障,为0表示指令正常。

报警指令运行过程所显示的参数:

●MinDurationPRE最小持续时间的预置值;

●MinDurationACC最小持续时间的累加值。

978-7-111-36030-8-Chapter20-1.jpg

图20-1 离散量报警功能的梯级逻辑

点击指令右上角的978-7-111-36030-8-Chapter20-2.jpg,展开ALMD指令的组态页面,如图20-2所示。组态页面也是离散量报警结构数据标签AlarmD_LD的数据界面。在组态页面组态的信息将存放在结构数据标签AlarmD_LD中,参数页面的信息也将存放在结构数据标签AlarmD_LD中。在创建标签的数据库中,我们能看到大量的参数,在指令面板上出现的只是显示参数。

组态页面参数的说明如下:

●Condition(报警触发条件):布尔量数据,可设置为Input=1,则当输入条件为1报警触发;或设置为Input=0,则当输入条件为0报警触发。

●Severity(报警等级范围):可选则1~1000,作为报警等级,当多个报警同时触发时的优先级别设定。

-设定1~250为低优先级别;

-设定251~500为中优先级别;

-设定501~750为高优先级别;

-设定751~1000为紧急优先级别。

此处设置650为报警级别,即高优先级别。

●Minimum Duration(最小持续时间):报警条件触发至少要持续这段时间才产生报警报告信息。此处设定为500ms,即报警条件持续了500ms之后,才会产生报警动作。

978-7-111-36030-8-Chapter20-3.jpg

图20-2 ALMD指令的组态页面

●Latched(锁定报警):勾选此项则报警发生时要锁定,即使报警条件已经消失,也仍然维持报警,直到接收到复位命令;如果报警条件未消失,则复位命令不起作用。

●Acknowledgement Required(确认需求):勾选此项,该报警需要被确认,当报警发生后,不仅报警触发条件消失,还要报警确认后才能消除报警状态。

●Message(报警信息):为报警信息的显示内容或显示形式组态,点击978-7-111-36030-8-Chapter20-4.jpg,进入信息编辑的组态页面,如图20-3所示。可以在Add Variable中挑选要显示的选项,如报警名称、条件名称、输入量、限量、安全优先等级等。如图20-3中右侧显示的是安全等级显示信息形式的组态,将用5位数来表达安全等级,左边以空格充填,编辑完毕点击Add便可加入显示栏。也可以在Message栏目中直接键入要显示的报警内容文字,即在/*……*/之间键入要表达的信息。信息栏目所显示的信息总量不能超过255个字符。

978-7-111-36030-8-Chapter20-5.jpg

图20-3 信息编辑的组态页面

●Associated Tags(关联标签):指定最多4个与报警有关联的标签,任何时候,这些标签被存储的值映射于此,报警条件变成报警状态时,或其他报警状态发生,这些存储值被传送给报警。这些存储的值也可以被内含在报警信息中。关联标签可以是基本数据或字符串,也可以是用户自定义标签或数组的子元素。此例中是一个基本数据双整字标签Counter_ACC和一个数组标签元素Array_Level[2]。

●Alarm Class(报警分类):用报警分类来组合相关的报警,例如Tank Farm A组合了油罐的所有报警信息;Control Loop组合了所有的PID环的报警。报警分类命名必须精确符合,并区分大小写。在人机界面,可以通过报警分类来过滤,例如操作员只显示类别是Tank Farm A和Control Loop的所有信息。

●FactoryTalk View Command:键入一个FactoryTalk View命令,这个命令在操作员站执行,当操作员看到指定报警时操作。ALMD指令为FactoryTalk View提供了附加功能,在某个报警发生并通过面板显示给操作员,操作员根据提示按下按钮,运行一个相关的命令。命令执行通常是弹出特定的面板和显示、执行一个宏、访问帮助文件或启动一个外部应用。命令键入没有错误校验,请务必仔细,错误的命令将不会执行。

在报警锁定和报警确认需求选项都被勾选时发生报警,各个报警状态位的波形图如图20-4所示。每当报警条件成立,延时一小段时间才会给出报警状态。只有在报警已确认且报警条件消失时,报警复位才能消除报警状态。

如图20-5所示是状态页面。该页面显示了最后一次报警经历的时间记录以及报警次数记录,累积次数可复位。

978-7-111-36030-8-Chapter20-6.jpg

图20-4 各个报警状态位的波形图

如图20-6所示是参数页面的部分输入参数。在此组态页面所见到的只是其中很少的一部分,关于每个参数的含义和运用,在罗克韦尔出版物的指令集中可以找到详细的介绍。(www.xing528.com)

如图20-7所示是参数页面的部分输出参数。在此组态页面所见到的只是其中很少的一部分,关于每个参数的含义和运用,在罗克韦尔出版物的指令集中可以找到详细的介绍。

如图20-8所示是报警条件Alarm_Digital成立,ALMD指令执行,延时500ms之后的状态。可以看到Acked被复位,InAlarm被置位,报警状态送出。即使报警条件已经不成立,未经确认和复位,报警状态是不会消失的。

离散量报警的功能块组态如图20-9所示。跟梯形图指令是一样的,其操作数也可被程控。

外部显示参数:

●报警条件Alarm_Digital为BOOL量,接入报警In;

●报警确认程控操作数AlarmD_Ack,接入ProgAck;

●报警复位程控操作数AlarmD_Reset,接入ProgReset;

●报警取消程控操作数AlarmD_Disable,接入ProgDisable;

●报警使能程控操作数AlarmD_Enable,接入ProgEnable;

●报警状态InAlarm为1表示处在报警中,为0表示未报警;

●报警已确认Acked为1表示报警已被确认,为0表示未被确认;

●报警禁止Suppressed为1表示报警被禁止,为0表示未被禁止;

●报警取消Disabled为1表示报警取消,为0表示报警使能。

点击功能块右上角的978-7-111-36030-8-Chapter20-7.jpg展开组态页面,跟梯形图指令的组态页面完全一样,如图20-2所示。状态页面如图20-5所示。组态参数含义也完全相同,参数的页面也跟梯形图指令的完全一样,如图20-6和图20-7所示。这里不再赘述。

功能块ALMD执行的结果如图20-10所示。当报警输入Alarm_Digital为1时,经过500ms的延时,功能块输出报警状态,InAlarm输出为1,且Acked为0。

也许是梯形图指令编程模仿了功能块的编程和组态,我们看到它们是如此的相似,这是报警各项功能齐全,并且高度集中的专业性指令,而且报警指令与人机界面有特定的关联,报警数据结构内嵌在上位机报警组态的内容中。

最后,我们再来看看报警功能的语句编程。首先,在数据库创建一个离散量报警的结构数据标签,命名为AlarmD_Text,如图20-11所示。

编写语句报警逻辑如图20-12所示。赋值语句完成了离散量报警的报警确认、报警复位、报警使能和报警取消的程控操作,指令ALMD及括号中相关的参数顺序而列。

978-7-111-36030-8-Chapter20-8.jpg

图20-5 离散量报警状态页面

978-7-111-36030-8-Chapter20-9.jpg

图20-6 参数页面的部分输入参数

978-7-111-36030-8-Chapter20-10.jpg

图20-7 参数页面的部分输出参数

语句编程的报警页面组态不能在离线情况下完成,只有在线控制器中可直接进行组态。在语句指令圆括号的参数项中,选中报警结构标签AlarmD_Text,点击右键,选择Configure“AlarmD_Text”,点击进入,即可进入跟梯形图指令和功能块完全一样的组态界面,从而完成组态工作。语句编程的报警页面组态的进入如图20-13所示。

显然,不管是梯形图指令编程、功能块编程,抑或是语句编程,离散量报警结构数据都是一样的,不但有特定的组态界面,可直观地完成,也可以在报警结构数据中设置。位于数据区域的离散量报警结构数据标签如图20-14所示。如果熟练的话,直接在结构数据表中设置有关参数也未尝不可。

978-7-111-36030-8-Chapter20-11.jpg

图20-8 离散量报警梯级逻辑

978-7-111-36030-8-Chapter20-12.jpg

图20-9 离散量报警的功能块组态

978-7-111-36030-8-Chapter20-13.jpg

图20-10 功能块ALMD执行的结果

978-7-111-36030-8-Chapter20-14.jpg

图20-11 在数据库创建一个离散量报警的结构数据标签

978-7-111-36030-8-Chapter20-15.jpg

图20-12 编写语句离散量报警

978-7-111-36030-8-Chapter20-16.jpg

图20-13 语句编程的报警页面组态的进入

978-7-111-36030-8-Chapter20-17.jpg

图20-14 离散量报警结构数据标签

978-7-111-36030-8-Chapter20-18.jpg

图20-14 离散量报警结构数据标签(续)

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈