/** @file DigStructDefine.h @brief 数字量结构体定义,CDigProcess 类使用 @author 周正龙 */ #pragma once #include #include #include #include "DataType.h" #include "DataProcessDefine.h" namespace iot_service { struct SDigPointAll { char tag_name[64] ; char description[128] ; char device[64] ; int seq_no ; int location_id ; int sub_system ; char rtu_tag[64] ; int is_control ; char state_text_name[64] ; int value_num ; double gray ; double contrast ; int qcolor ; int value ; int status ; int64 last_update_time ; int value1 ; int status1 ; int64 last_change_time1 ; int value2 ; int status2 ; int64 last_change_time2 ; int value3 ; int status3 ; int64 last_change_time3 ; int value4 ; int status4 ; int64 last_change_time4 ; int value5 ; int status5 ; int64 last_change_time5 ; int is_obj_alm_manner ; //对象告警方式 int alarm_priority ; //YX变为告警优先级 int alarm_priority_soe ; //SOE 告警优先级 char pic_name[64] ; char sound_name1[32] ; char sound_name2[32] ; char sound_name3[32] ; int alarm_delay_time ; int input_delay_time ; int is_water_alm ; int is_ack_on_rtn ; int del_act_on_ack ; int is_never_alm_on_rtn ; int region_id ; char opt_handover_group[64] ; int is_summary ; int summary_value ; int summary_status ; int point_type ; int point_class ; int point_property ; int point_sort ; int dev_type ; char point_tp_name[64] ; int is_sample ; int is_statistics ; int sample_period ; int is_alarm_freq ; int alarm_freq ; char alarm_freq_desc[64] ; int is_alarm_time ; int alarm_time ; char alarm_time_desc[64] ; int alarm_freq_range ; char infer_name[64] ; char camera_tag[64] ; char camera_preset[64] ; SDigPointAll() { memset(tag_name, 0, 64); memset(description, 0, 128); memset(device, 0, 64); memset(rtu_tag, 0, 64); memset(state_text_name, 0, 64); memset(sound_name1, 0, 32); memset(sound_name2, 0, 32); memset(sound_name3, 0, 32); memset(pic_name, 0, 64); memset(opt_handover_group, 0, 64); memset(point_tp_name, 0, 64); memset(alarm_freq_desc, 0, 64); memset(infer_name, 0, 64); memset(camera_tag, 0, 64); memset(camera_preset, 0, 64); } }; struct SDigMapToFes { char key_id_tag[128] ; int location_id ; int sub_system ; int dev_type ; char point_tp_name[64] ; char rtu_tag[64] ; int value_num ; char dot_no1[48] ; char dot_no2[48] ; char dot_no3[48] ; char dot_no4[48] ; char dot_no5[48] ; int is_filter_err ; int is_filter_disturb ; int disturb_time ; int polarity ; char description[128] ; }; struct SDigValueStatus { int value; int status; SDigValueStatus() { value=0; status=0; } }; struct SFesGroupDevSelect { char tag_name[64]; int domain_id; SFesGroupDevSelect() { memset(tag_name, 0, 64); domain_id = 0; } }; struct SDiBitChange { unsigned char use_flag; int value; int status; int64 times; int special_flag; SDiBitChange() { use_flag = SHARE_BUF_NO_USE; value = 0; status = 0; times = 0; special_flag = 0; } }; struct SDiChange { int64 first_chg_time; char key_id_tag[128]; int location_id; int region_id; char state_text_name[40]; int input_delay_time; int value_num; SDiBitChange di_bit_chg_array[MAX_DI_BIT_NUM]; SDiChange() { memset(key_id_tag, 0, 128); memset(state_text_name, 0, 40); } }; struct SDiAlarm { char tag_name[64]; /* 标签名 */ char key_id_tag[128];/* KEY= appName.TagName */ int domain_id; /* 所属域 */ int location_id; /* 车站 */ int region_id; /*责任区 */ char opt_handover_group[64];/*权限组 */ char display_value[40]; int value_num; int value; int status; int dev_type; /* 设备类型 */ char dev[64]; char dev_group[64]; /* 设备分组 */ char infer_name[64]; /* 报警推理名 */ int is_exist_rtn; int order_no; int alarm_priority; int sec; short msec; int soe_sec; short soe_msec; int desc_flag; int alarm_manner; /* 报警方式*/ int64 occur_time; bool is_alm_not_ack; int alarm_status; int alarm_delay_time; /* 报警延时时间 */ int is_alarm_freq; /* 是否报警计次 */ int alarm_freq; /* 报警设定计次 */ int alarm_freq_range; /* 计次报警时间范围(秒) */ char alarm_freq_desc[64];/* 计次报警描述 */ int is_alarm_time; /* 是否报警计时 */ int64 alarm_time; /* 设定报警计时(M秒) */ char alarm_time_desc[64];/* 计时报警描述 */ int is_water_alm; /* 是否告警流水账 */ int is_ack_on_rtn; /* 是否返回时自动确认报警 */ int del_act_on_ack; /* 确认报警后删除动作 */ int is_never_alm_on_rtn; char pic_name[64]; /*报警关联画面名称*/ SDiAlarm() { memset(tag_name, 0, 64); memset(key_id_tag, 0, 128); memset(dev, 0, 64); memset(dev_group, 0, 64); memset(pic_name, 0, 64); status = 0; } }; struct SAlarmFreq { int now_alarm_freq; SDiAlarm alarm_stru; }; struct SUpdateDiInfo { char table_name[32]; char tag_name[64]; char column_name[16]; int value; int status; SUpdateDiInfo() { memset(table_name, 0, 32); memset(tag_name, 0, 64); memset(column_name, 0, 16); value = 0; status = 0; } }; struct SChangeDiInfo { char table_name[32]; char tag_name[64]; char column_name[16]; int nValue; int nStatus; int64 lTimes; SChangeDiInfo() { memset(table_name,0,32); memset(tag_name,0,64); memset(column_name,0,16); nValue = 0; nStatus = 0; lTimes = 0; } }; //digital defalult alarm status setting; struct SAlarmStatusDigSet { int point_class; int point_type; int alm_status_change; int alm_status_soe; SAlarmStatusDigSet() { point_class=0; point_type=0; alm_status_change=0; alm_status_soe=0; } }; }