目录
一、实验原理
使用SineWave
组件对数据源进行仿真,利用alarm组件库的OutOfRangeAlarmExt
扩展插件,对仿真得到的温度数据进行监控。对超过温度上下限的数据,输出报警信息。
1.1实验目标
对多个数据量进行监控,实现对数据的报警。
1.2实验要求
观看视频,学习报警生成的实现方式,完成报警生成的实验。
二、实验过程
2.1 启动站点
首先双击platform开启平台。
输入用户名密码
在Application Director
中启动station。
双击站点名,启动站点。
2.2 创建文件夹
右键点击config文件夹,选择New
-> Floder
新建文件夹
文件夹命名为Temperature_Alarm
2.3 添加信号仿真组件
首先点击左侧栏下拉菜单中的Platte选项,呼出Platte菜单。
右键单击Temperature_Alarm文件夹,选择Views
-> Wire Sheet
,进入Wire Sheet界面。
在Platte菜单中,选择kitControl
组件库,找到Util
–> SineWave
组件,拖动该组件至Wire Sheet界面。
SineWave
组件用来产生正弦信号,在Wire Sheet界面双击该组件,设置其属性。
设置其Amplitude
(振幅)属性对应值为25;Offset
(偏移量)属性对应值为25。
经过设置后,会产生一个大致如下图所示的正弦信号。它的周期是30秒,振幅25,向上偏移25个单位。其信号的效果就是会在0到50之间来回震荡。
点击save保存属性。
回到Wire Sheet界面,SineWave组件就已经可以正常波动了。
2.4 添加数字组件
在Wire Sheet界面,右键点击,选择New
-> NumericWritable
,新建组件。
将其命名为RoomTemperature
双击设置一下RoomTemperature
组件的属性,将其数据的单位设置为摄氏度。点击设置units属性
。
在弹出来的界面中,选择temperature
-> celsius
,将数据单位改为摄氏度。
将设置的属性保存。
回到Wire Sheet界面,将SineWave组件的输出,连接到RoomTemperature组件的输入In10端口。这样,由信号仿真器SineWave产生的正弦信号,就能作为温度数据,输入到RoomTemperature组件中了。
2.5 添加扩展组件
在Wire Sheet界面,双击RoomTemperature设置其属性。在左侧的Platte菜单中,找到alarm
库中的Extensions
-> OutOfRangeAlarmExt
扩展模块,拖动至RoomTemperature的属性设置页面。
扩展模块的名字直接默认即可。
这样,在RoomTemperature属性页面的最下面,就有了一个OutOfRangeAlarmExt
选项。
展开该选项,找到其中的Offnormal Algorithm
选项并展开。
该选项可以设置温度警报的上下限制。因为我们设置的温度范围是从0到50之间震荡,所以可以设置温度上限为45度,下限为5度。这样,在温度高于45度以及温度低于5度时,都会触发报警。
如图2.21所示,需要设置温度上下限的数值、提示信息,然后勾选Limit Enable
的两个复选框,启用上下限警报。最后点击保存按钮,保存设置的属性。
现在,数据就已经可以被正常监控了。
当温度小于5度或者大于45度时,就会出现红色的警报提示。
2.6 设置警报监控
可以在station的config
-> Service
-> AlarmService
选项中,找到之前设置的警报内容。
可以添加一个控制台组件,用来收集警报信息。
在Platte菜单中,找到alarm组件库下的Recipients
-> ConsoleRecipient
组件,拖动至Wire Sheet界面。
连接数据线,将alarm类组件的警报信息,输出到控制台组件。
双击ConsoleRecipient
控制台组件,可以看到温度警报信息。
当温度大于45度或者小于5度时,都会显示相应的警报信息。
双击控制台信息,可以看到所有提示信息。
双击station下的Alarm选项,也可以看到所有警报提示信息。
2.7 设置多个警报类
双击station下的config
-> Service
-> AlarmService
选项,进入到Wire Sheet界面。可以复制Default Alarm Class
组件,粘贴为新的警报类。新的警报类命名为“1号实验室温度监控”。
另外,可以把原来的Default Alarm Class组件,重命名为“2号实验室温度监控”。右键点击Default Alarm Class组件,选择Set Display Name
选项,更改显示名称。
将新的监控类连接到控制台。
现在,虽然已经将新建的“1号实验室温度监控”连接到了控制台。但由于没有设置监控方式,所以“1号实验室温度监控”还不能被正常监控。需要设置其控制方式。
回到Temperature_Alarm文件夹,进入Wire Sheet界面。
我们知道,RoomTemperature组件其实是表示的“2号实验室温度监控”的具体警报数据信息。要想让“1号实验室温度监控”生效,需要再创建一个新的Numeric Writable
组件来表示其具体的温度信息。
可以直接复制现有的RoomTemperature,将新的组件命名为RoomTemperature_1
。
为了让数据不同,可以为RoomTemperature_1设置一个新的SineWave信号。可以直接复制SineWave组件,并将新的组件命名为SineWave_1
。
将数据流进行连接。
可以看到,因为数据源不是相同的,所以两个警报组件不会同步警报。
最后,把RoomTemperature_1的Alarm_Class
属性设置为“1号实验室温度监控”。
在扩展组件OutOfRangeAlarmExt
选项下,找到Alarm Class
选项。点击下拉菜单,选择“1号实验室温度监控”。这就相当于为“1号实验室温度监控”设置了具体的监控方式。
设置完成过后,点击保存。
现在,两个监控都已经被设置了监控警报方式。
三、实验结果
回到config
-> Service
-> AlarmService
选项的Wire Sheet界面,查看控制台的信息。
可以分别看到“1号实验室温度监控”和“2号实验室温度监控”的警报信息。
同样,也可以在station
-> Alarm
界面中,看到所有的警报信息。
当然,在浏览器中也可以进行数据监控。
至此,温度监控报警的实验进行完毕。
四、实验过程中存在的问题及解决方案
整个实验过程比较顺利,实验过程中需要注意以下问题。如果将某个SineWave组件的输出流,连接到两个不同的Numeric Writeable
组件上,那么这两个Numeric Writeable
组件获得的数据就会使相同的,如下图4.1所示。
如果需要使两个Numeric Writeable组件拥有不同的仿真数据,需要连接不同的数据源。如下图4.2所示。
五、实验总结
本次实验使用SineWave组件
对数据源的进行仿真,利用alarm组件库的OutOfRangeAlarmExt
扩展插件,对仿真得到的温度数据进行监控。对超过温度上下限的数据,输出报警信息。实现了对数据的监控和警报。
通过本次实验,使我更加清晰地了解了Niagara Vykon_N4软件的使用、设计流程。