报警记录
在Wincc中可以组态事件的报警,组态事件报警基本上可以分为两个步骤。
1. 在报警编辑器中设置报警的各种类别,包括上限下限值触发的模拟量报警,还有通过消息变量触发的报警例如:开关量的报警。
2. 通过对报警控件的设置实现报警显示。在画面编辑器中插入报警记录控件,报警控件具有很多的功能。包括报警显示,对报警的确认,报警的自动归档,报警的查询等等。
首先组态一个模拟量报警,并通过此实例来说明状态变量,确认变量的定义及用法。在下一个实例中说明消息变量的使用。
模拟量报警
新建个项目命名为alarmtext点击创建按扭
打开报警记录编辑器,我们可以看到报警记录的主画面,包括消息块,消息类别,组
消息,
和归档组态。
首先组态报警。组态报警就是设置报警消息的一些内容,包括时间,日期。报警地点,报警消息,产生报警的当前值以及报警的类别!报警消息的时间,日期对应消息块中的系统
块。报警地点,报警消息对应消息块的用户文本块。当前值对应过程值块。故障报警对应消息类别。所以我们开始建立组态。
一.添加系统快。在消息块的系统快点击右击添加/删除
添加系统快我们可以看到系统已将编号,日期,时间选中。我们还可以添加左侧的系统快。但我们只使用编号,日期,时间选项。点击确定按钮。
我们看到所选的系统快已经显示出来
二.添加用户文本块。用户文本块采用同样的方法添加所需的块。我们采取默认选择的错误点和消息文本.
点击确定订按钮。
为了能使报警信息显示更多内容修改消息文本和错误点的字符长度改为30.双击消息文本,错误点修改。
。
三.添加过程值块
将过程值块中的过程值1,过程值2,过程值3添加到右侧如图。
点击确定按钮。我们可以成功的添加过程值1. 过程值2. 过程值3.
四.在消息类别中设置报警消息的颜色!
设置报警的进入,离开,已确认的文本颜色,与背景颜色。我们设置的颜色如图所示。点击确定
这样我们已经组态好了一个报警。我们也可以使用系统向导来组态报警由于操作简单这里就不加诉说了。
五.添加模拟量报警,在工具栏下的附加项内勾选模拟量报警。点击确定。
六.模拟量报警任务。当罐的液位低于40高于80时报警。建立变量,我们建立一个内部变量为tank无符号16位,状态变量status无符号16位。确认变量confirm无符号16位右击模拟量报警新建报警
添加要监视的变量为tank.可以在延迟栏中设置报警来得延迟时间,我们默认为0秒。点击确定。
建立报警的上限
设置限制值为80 死区为4。消息编号为1
建报警的下限,死区值为2消息编号为2
点击表格窗口的编号1及上限报警的属性设置
设置上限报警参数栏的确认变量,并设置确认位为0,设置状态变量并设置状态位为0.
设置文本栏的消息文本,错误点如图所示。
点击确定按钮。
设置下限报警参数栏的确认变量,并设置确认位为1,设置状态变量并设置状态位为1
.
设置文本栏的消息文本,错误点如图所示。点击确定按钮。
七.建立报警画面。名为alarm编辑画面如图所示建立一个滚动条,罐,还有三个输入输出域,插入报警控件。
下图中用滚动条控制罐的液位并在I/O域中显示出来。并设置二者的最大最小值分别为100和0.将滚动条控制罐还有输入输出域连接为变量tank.
将滚动条的动态填充为改为“是”
将过程驱动器连接变量tank
并设定不长为10
连接罐的属性
在Processl连接变量tank
在分别将状态变量和确认变量的I/O域分别连接status和confirm并将I/O域属性输
出值改为二进制输出扩大输出格式的范围
更改报警控件属性。修改“常规”属性添加窗口标题为tankalarm
在“消息列表”栏中将选中的五项添加到右侧的栏中
点击确定按钮组态完的画面如图所示
在计算机属性的启动选项中勾选报警记录运行系统,
首先说明状态变量与确认变量的含义
状态变量:状态变量里包含状态位和确认位。
状态位:用来显示消息的到来或离去。
确认位:用来显示消息到来之后确认与否。当报警消息到来时状态位为1,确认位为1。
当报警消息离去时状态位显示0,确认位还是为1。只有当确认报警消息之后确认位才为0.
在状态变量中状态位与确认位的位置对应关系是确定的。如果定义状态位为第0位那么确认位就为第8位,如果定义状态位为第1位那么确认位就为第9位。对应关系图如下。
28200000000010000001确认位状态位
29210000000100000010确认位状态位
确认变量:将对应消息确认位置1就会确认消息。
测试画面
点击运行按钮
首先测试上限报警将液位上调85(死区宽度为4)观察状态变量的变化与报警消息的颜色
可以看到话面报警窗口中产生了一条红色的“罐液位超出上限值”的报警,我们已经看到报警窗口中的的过程值1:对应我们定义的上限值。过程值2:对应我们的设定的死取宽度。过程值3:对应我们当前的液位。看状态变量第0位为1表示报警信息已到来。第8位为1表示报警到来但是还没有确认。我们通过点击报警控件中的单个“确认消息”按钮来确认消息。我们可以看见第8位为变为0。第0位还是为1.因为虽然已经确认了报警但是报警并没有离开。消息颜色变成了暗色。此时虽然已经确认了消息但是消息并没有在报警窗口中消失因为消息还没有离去。
注意:液位超限85(有死区值为4)只显示第一次超过80的那次当前值,如果液位继续生高并不会产生另外一条的报警信息。如图
我们输入低于76(因为死区宽度为4),使消息离去观察状态变量的变化
我们看到状态变量变为0.表示报警消息已经离去。我们在演示一个待报警消息离去(报警条显示为绿色时)之后再使用“确认变量”确认报警信息的实验。
在确认变量中将“确认位”第0位置1观察现象,如上图所示输入1之后并不会使消息的到确认因为确认位的目前值为1,如果想使“确认位”为1来确认消息必须改变上一次使用该位的值即先将确认为变为0再输入1如图
输入1
为了防止这种现象我们可以做一个控件设置他按下左键为1松开左键为0。
我们可以看到已经确认了消息。在报警控件中我们可以查找历史记录
下限报警与上限报警现象一致之力就不加赘诉了。
下面我们看一个现象
即状态变量的第8位于第9位同时为1,因上限报警已经来了,但是下限报警并没有确认的原因。
总结:过程值1:表示报警信息的上限值后下限值。
过程值2:表示模拟量的死区
过程值3:表示模拟量的当前值。
.消息变量触发报警
消息变量:即当有报警时使消息变量中的消息位置1来触发该消息。定义一个内部变量为message无符号16位。创建一个消息,连接变量,编号为3消息位为2,状态变量为2
确认变量为2
编辑文本。
建立画面
定义确认按钮的事件属性将按左键将十进制4(100)给确认变量
连接消息变量的I/O域
运行画面测试
将消息变量的第2位置1.在消息变量的I/O域中输入100.可以看到产生了电动阀1的报警,状态变量的第2位于第10位分别为1.
在消息变量的I/O域中修改消息位的值输入0使报警离开对应的状态位0.
点击确认按钮
使状态变量的状态位和确认为0
以上为消息变量的使用。
因篇幅问题不能全部显示,请点此查看更多更全内容