发展大厦火灾监控系统
一 系统分析
- 工程系统需要:控制的风门;对烟感和温度报警的监测(包括报警提示、消音、复位等);五个监测点的测量值的曲线显示;
- 系统号 + 地址 + 通番 = 判定具体设备,(具体对应表,甲方提供图纸);其中取值为系统号(1~4)、地址(1~264)、通番(1~4);
- 下位系统为日本能美防灾株式会社的复合GR型主机。下位机主动发送数据,我们的驱动等待接收,当出现下面的情况时,报警计数增加1:
- 故障;
- 大于报警值;
- 某个设备启动;
- 控制设备后,应答的返回帧(通过ONOFF值来判断,设备是否开启);
- 固定返回的温度和烟感的测量值(如果没有上面的信号插入,那么这些测量值会始终不断的报送上位机);
\种类
详细 \
|
火灾
|
煤气泄漏
|
末端机器
|
智能探测器
|
探测器监控数据
|
|||
1
|
2
|
3
|
9
|
B
|
||||
详细类别
|
0
|
|
|
|
|
|
||
1
|
感应器
|
检知器
|
|
|
|
|||
2
|
|
|
状态1
|
控制排烟机
|
|
|
||
3
|
|
|
状态1
|
|
烟感器
|
|||
4
|
|
|
状态1
|
|
|
|||
5
|
|
|
状态1
|
烟多信号
|
|
|||
6
|
|
|
状态1
|
|
|
|||
7
|
|
|
状态1
|
|
|
|||
8
|
|
|
状态2
|
应答排烟口
|
|
|
||
9
|
|
|
状态2
|
|
|
|||
10
|
|
|
状态2
|
定温
|
定温
|
|||
11
|
|
|
状态2
|
定温
|
|
|||
12
|
|
|
状态2
|
|
|
|||
13
|
|
|
状态2
|
|
|
|||
14
|
|
|
状态2
|
|
|
|||
15
|
|
|
状态2
|
|
|
|||
20
|
|
|
|
手报
|
|
|||
状态
|
0
|
|
|
|
|
|
||
1
|
积蓄中
|
延迟中
|
控制
|
积蓄中
|
|
|||
2
|
发报
|
应答
|
发报
|
|
||||
4
|
试验异常
|
|
|
|
||||
5
|
监视线异常
|
处理值异常
|
地址错误
|
|||||
6
|
主信号异常
|
|||||||
7
|
ID不一致
|
|||||||
|
|
紧急
|
紧急
|
紧急
|
|
|
- CTRL(系统号,地址,通番,类别,详细类别,状态,ONOFF值)为特殊的命令,可以通过命令发送命令帧;
二 组态分析
实时曲线的绘制
- 对1_17_1、1_461_1、3_84_1、3_244_1、3_262_1 五个地址的数据进行循环采集,并作出5相应的5条实时曲线。(可以改变测量地址,但是,不增加画图的点数)
画曲线的方法:
通过返回的测量值,存盘纪录,并画曲线,具体的方法为:- 通过设备的命令GETDATA(系统号,地址,通番),我们可以不断的对固定的测量点进行数据的采集,直到再次通过这个命令改变测量点;如此我们实现对5个测量点的循环的采集;
- 我们下发设备命令后。如果报警计数增加,判断是否是相应的设备的测量值,如果是,采集,存盘,并画曲线;然后发送GETDATA(系统号,地址,通番),采集下一个测量点;如果不是,处理现在的信号,并保持此设备的采集,直到采到相应的测量值,画出相应的曲线的点。
- 数据保存
- 通道采集的实时数据进行保存。(变化一次保存一次)(包括时间)。
——可以通过画曲线的方法采集数据,每当报警计数增加一次的时候事件策略,数据进行存盘; - 进行的各种操作:包括对设备的读写(使用设备命令)、对每个画面中可操作单元的各种操作(对阀门的开、关)
——可以通过按钮操作完成开关量的输出,输出的时候有提示框弹出,避免误操作; - 报警信息的保存:根据通道采集上来的类别、详细类别、状态的数值,与提供的重要报警对应的数据进行对照,相同则表明产生相应的报警,那么就保存这一组数据,并把相应的报警信息一并保存
——需要根据相应的判断,存储相应报警的详细描述,描述可以让甲方提出,我们通过逻辑判断赋值存盘。
- 通道采集的实时数据进行保存。(变化一次保存一次)(包括时间)。
- 画面中采集点报警的动画显示、声音报警:
- 对应的采集点实现动画的颜色显示:故障报警显示黄色、紧急报警显示红色。并且出现紧急报警应该有音响输出,对应的窗口中相应有消音操作。
——报警的显示多种多样,我已经做出样例,可以同客户沟通。
- 对应的采集点实现动画的颜色显示:故障报警显示黄色、紧急报警显示红色。并且出现紧急报警应该有音响输出,对应的窗口中相应有消音操作。
- 画面中操作点:
- 点击操作点首先出现闪烁效果,表明此时可以进行操作了,然后通过其他操作按钮进行执行(on/off)、取消等操作。
——可以在通过可见度,设定报警来的时候应该显示的闪烁和按钮,这样,画面更加精炼,简洁。
- 点击操作点首先出现闪烁效果,表明此时可以进行操作了,然后通过其他操作按钮进行执行(on/off)、取消等操作。
2、数据对象分析
数据对象名
|
注释
|
数据对象名
|
注释
|
Data00
|
通讯状态
|
Data01
|
系统号
|
Data02
|
地址
|
Data03
|
通番
|
Data04
|
类别
|
Data05
|
详细类别
|
Data06
|
状态
|
Data07
|
ONOFF值
|
Data08
|
监控数据
|
Data09
|
报警纪录
|
Data10
|
应答帧
|
关注点
|
取值范围0~4,判定当前需要关注的设备;
|
关注点值1~5
|
实时连接和采集关注的设备的返回值,并保存
|
关注点组
|
组对象,组员为关注点值1~5,存盘,存盘周期为零
|
3、逻辑分析
- 采集5个关注点的数据,保存关注点组,提供画曲线的数据源
原理:因为下位系统采用上报的形式(——即我们下发关注点的地址,然后,下位系统自动发送该点的数据——),所以,当我们采到一个关注点的信息后,下发下一个关注点的地址,并依次类推。
- 报警的处理:
原理:
设备报警——是由系统自动上发的信息决定,和类别(data4)、详细类别(data5)和状态(data6)有关。数据对象报警——我们通过:火灾报警、手报报警、煤气报警、智能探测器故障、末端机器故障、感知器故障和煤气设备故障七个数值数据对象,存放报警的合成地址(比如:系统号 1 地址号 11 通番1的设备发生火灾,那么合成地址为:10111,而且合成地址>=10000),对象的报警属性为上限报警,报警值为10000。报警对象在正常情况下,赋值为0,当设备报警产生,报警对象被赋合成地址,所以,数据对象产生报警。
自动打开报警点所在窗口——报警产生,通过报警点地址,利用odbc函数,我们可以查到该所在窗口,然后打开。
报警点的动画驱动——比如火灾报警点的动画连接闪烁的条件为:火灾报警=合成地址。具体如系统号 1 地址号 11 通番1的设备发生火灾,烟感的闪烁条件为:火灾报警=10111