一 系统分析
工程系统需要:控制的风门;对烟感和温度报警的监测(包括报警提示、消音、复位等);五个监测点的测量值的曲线显示;
系统号 + 地址 + 通番 = 判定具体设备,(具体对应表,甲方提供图纸);其中取值为系统号(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)、取消等操作。
——可以在通过可见度,设定报警来的时候应该显示的闪烁和按钮,这样,画面更加精炼,简洁。
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
4、工程界面