离散量报警源于现场开关状态,当被监视的开关状态变化,作为报警触发动作,可以是前沿触发,也可以是后沿触发,一般在延时一段时间之后,并非干扰信号,确认为真实的报警信号,然后作出报警的处理。
编写的离散量报警功能的梯级逻辑如图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最小持续时间的累加值。
图20-1 离散量报警功能的梯级逻辑
点击指令右上角的,展开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之后,才会产生报警动作。
图20-2 ALMD指令的组态页面
●Latched(锁定报警):勾选此项则报警发生时要锁定,即使报警条件已经消失,也仍然维持报警,直到接收到复位命令;如果报警条件未消失,则复位命令不起作用。
●Acknowledgement Required(确认需求):勾选此项,该报警需要被确认,当报警发生后,不仅报警触发条件消失,还要报警确认后才能消除报警状态。
●Message(报警信息):为报警信息的显示内容或显示形式组态,点击,进入信息编辑的组态页面,如图20-3所示。可以在Add Variable中挑选要显示的选项,如报警名称、条件名称、输入量、限量、安全优先等级等。如图20-3中右侧显示的是安全等级显示信息形式的组态,将用5位数来表达安全等级,左边以空格充填,编辑完毕点击Add便可加入显示栏。也可以在Message栏目中直接键入要显示的报警内容文字,即在/*……*/之间键入要表达的信息。信息栏目所显示的信息总量不能超过255个字符。
图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所示是状态页面。该页面显示了最后一次报警经历的时间记录以及报警次数记录,累积次数可复位。
图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表示报警使能。
点击功能块右上角的展开组态页面,跟梯形图指令的组态页面完全一样,如图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及括号中相关的参数顺序而列。
图20-5 离散量报警状态页面
图20-6 参数页面的部分输入参数
图20-7 参数页面的部分输出参数
语句编程的报警页面组态不能在离线情况下完成,只有在线控制器中可直接进行组态。在语句指令圆括号的参数项中,选中报警结构标签AlarmD_Text,点击右键,选择Configure“AlarmD_Text”,点击进入,即可进入跟梯形图指令和功能块完全一样的组态界面,从而完成组态工作。语句编程的报警页面组态的进入如图20-13所示。
显然,不管是梯形图指令编程、功能块编程,抑或是语句编程,离散量报警结构数据都是一样的,不但有特定的组态界面,可直观地完成,也可以在报警结构数据中设置。位于数据区域的离散量报警结构数据标签如图20-14所示。如果熟练的话,直接在结构数据表中设置有关参数也未尝不可。
图20-8 离散量报警梯级逻辑
图20-9 离散量报警的功能块组态
图20-10 功能块ALMD执行的结果
图20-11 在数据库创建一个离散量报警的结构数据标签
图20-12 编写语句离散量报警
图20-13 语句编程的报警页面组态的进入
图20-14 离散量报警结构数据标签
图20-14 离散量报警结构数据标签(续)
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。