int    clock;                //收到新数据的时间,格式同模拟量结构
};
说明:
为了模拟量统一,告警状态标识符flag这里的枚举数值从10开始,这样,省去了后面在处理告警状态时需要判断变量是属于模拟量还是状态量的工作。
实际工程操作中,状态量的变化,可能是由故障导致设备非法动作,也有可能是工作人员实际操作产生的合法动作。所以,需要引入关联变量(relName[16]),即一定范围内的一个集中指示信号,一个变电站可以用一个这样的指示状态量,也可以有多个,但一般采用一个种类的故障原因指示信号,用于指示动作原因。多个状态量会对应一个关联变量,且关联变量会自动随状态量的变化而变化。在设备进行人为操作时,关联变量不随状态量变化而变化,在发生动作时不会产生告警。当设备动作由非人为造成时,关联变量发生变化,从而产生告警。
3.1.3设备数据结构定义
如下为管理设备的数据结构:
struct SDev
{
    int devId; //设备编号
    char name[16];  //设备编码,唯一性关键字段
    char desc[64];  //设备名称
    char devType;   //设备类型。1-发电机,2-变压器,3-断路器(开关),4-刀闸
                         //5-母线,6-线路,7-电容器,8-电抗器
    float voltClass; //电压等级,6(kV)、35(kV)等
    char groupName[16];//设备归属组
    //通信
    short channelNo;   //通道编号
    char comAddr[16];  //通信地址
    int portNo;        //通信端口号
};
3.1.4 告警数据结构定义
如下为管理告警的数据结构:
struct SEvent    //Alarm
{
char devName[16];        //告警设备编码
char dataName[16];        //告警数据编码
float value;            //告警时的实际值
int date;                //告警的日期。格式为:
                        //YYYYMMDD:= year*10000+month*100+day
int clock;                //告警的时间,格式如上
char soundFlag;        //是否语音输出的标志。0:已经语音输出,1:新事件,还没有输出语音
char eventDesc[256];    //告警语句,即需要显示在界面和语音告警的文本语句
int Flag;//数据标志,是否告警状态,0:正常,1-一级上越限告警,2-一级下越限告警
                   //3-二级上越限告警,4-二级下越限告警
};
注意,此处的Flag标志与soundFlag标志含义不同。Flag表示的是该告警事件的告警状态,用于记录告警事件的告警类型等级,也用于合成语音告警所需要的播报内容。而soundFalg是语音是否与输出标志,表明该条需要语音播报的告警信息是否已经播报过了,防止重复播报。

3.1.5 实时数据管理
如下为对构建的结构体进行实例化的程序代码,
/************结构体实例化**********************/
上一篇:AT89S51单片机的车载应答器设计方案
下一篇:89C52单片机LED点阵视屏动画显示系统设计

STM32的4G太阳能电站监控系统设计+PCB电路图

水下遥控机器人ROV监控系...

OpenCv+QT楼宇视频监控系统设计

基于C#的船舶岸电监控系统设计

PLC某泵站自动控制系统上...

Labview600吨船损管监控系统...

基于AIS的海上船舶监控系统设计+源程序

多元化刑事简易程序构建探讨【9365字】

浅谈传统人文精神茬大學...

谷度酒庄消费者回访调查问卷表

拉力采集上位机软件开发任务书

浅谈新形势下妇产科护理...

《醉青春》导演作品阐述

高校网球场馆运营管理初探【1805字】

中国古代秘书擅权的发展和恶变

国内外无刷直流电动机研究现状

辩护律师的作证义务和保...