📄 ycc_type.h
字号:
#ifndef YCC_CON_TYPE_H#define YCC_CON_TYPE_H#include <time.h>#include "ycc_def.h"//###########################################################################//# 文件结构定义 #//###########################################################################//电表资料---meter.dattypedef struct _mt{ unsigned int mno;//表组号 unsigned long R485;//表485地址 unsigned char ptype;//协议编号 unsigned mccs;//表脉冲常数 unsigned char cbMode;//抄表模式:{---bit7=0:抄取;---} // bit0=1:抄取电量; // bit1=1:抄取电压; // bit2=1:抄取电流; // bit3=1:抄取功率因数; // bit4=1:检测失压;(如果mno%4=1,表示A相) //(如果mno%4=2,表示B相)(如果mno%4=3,表示C相) //bit5=1:检测失流;(如果mno%4=1,表示A相) //(如果mno%4=2,表示B相)(如果mno%4=3,表示C相) //bit6=1:抄取剩余电费;}METER_PARA;typedef struct _mtp{ METER_PARA mpara; int status; //对表操作时的状态标志 struct _mtp * next; long ASlTime; //记录最后一次抄到的A相失流总时间 long BSlTime; //记录最后一次抄到的B相失流总时间 long CSlTime; //记录最后一次抄到的C相失流总时间}METER_PARA_PTR;//定时器typedef struct _ycctm{ int mon; int day; int hour; int minute; int type;}YCC_TIMER;//集中器参数----ycc.set//Telnotypedef struct _tel{ unsigned char len; char tel[32];}TELBOOK;typedef struct _ycc{ char yccno[10]; //集中器编号 YCC_TIMER yccTimer[8]; //工作模式定时器 unsigned char yccIP[4]; //本机IP地址 unsigned char yccNetmask[4]; //网络屏蔽码 unsigned char yccGateway[4]; //网关 char yccTel[32]; //电话号码 unsigned char frmIP[4]; //前置机IP地址 char frmTel[32]; //前置机电话号码 char frmUserName[20]; //指定登陆到前置机的用户名 char frmPasswd[10]; //用户密码 int TGAP; TELBOOK telbook[16]; char yccDNS[4]; unsigned int frmPort; //XGM ADD(X016)}YCC_PARA;#ifdef __YCC_SHIYA//失压记录文件中每一条记录的结构//yccshiya.dat、yccshliu.dattypedef struct _shiya{ //失压文件结构 time_t dt; //记录时间 unsigned int mno; //路数编号 unsigned char ABC; //失压A、B、C相 long sytime; //失压总时间}SHY_REC_DAT;typedef SHY_REC_DAT SHL_REC_DAT;#endif#ifdef __YCC_ALARMenum AlarmType {atAlarm=0x81, atTrip=0x82, atERROR=0x88};//报警配置文件---alarm.dat enum AlarmLevel{ ALNONE=0, //正常状态 ALPREPARE=1, //功率过载,准备报警 ALRUNING=2, //正在报警 ALPREDOWN=3, //正在报警,功率下降,准备解除报警 ALSWITCH1=4, //闸一跳闸 ALSW1DOWN=5, //闸一已跳闸,功率下降,准备解除报警 ALSWITCH2=6, //闸二跳闸 ALSW2DOWN=7, //闸二已跳闸,功率下降,准备解除报警 ALALLDOWN=8 //所有闸都已跳,准备解除报警}; typedef struct _alarm{ unsigned int mno; //表组号 unsigned long R485; //表485地址 unsigned char ptype; //协议编号 unsigned long almvar; //报警临界值 unsigned char bjtype; //报警类型:0x01:功率报警;0x02:电量报警; //0x04:开关门报警;0x08:失压断相报警; YCC_TIMER st; //报警时段开始时间 YCC_TIMER et; //报警时段结束时间 unsigned hztype; //合闸类型,0表示主站控制合闸;1表示自动合闸. unsigned hzhour; //自动合闸时间(小时) unsigned hzmin; //自动合闸时间(分钟) unsigned long delta; //如果报警类型为功率报警,表示报警持续时间; //如果报警类型为电量报警, 与报警阀值相差多少开始报警 unsigned isalarm; //当前是否处于报警状态,预设报警资料的时候默认为0, //表示未处于报警状态,1表示处于报警状态. unsigned istz; //当前是否处于第一次跳闸期间,预设报警资料的时候默认为0, //表示未处于第一次跳闸状态,1表示处于第一次跳闸状态. unsigned tztype; //是否自动跳第二次闸,默认0表示不自动,1表示自动; enum AlarmLevel CurLevel; //XGM ADD time_t FLevelStartTime; //XGM ADD time_t FLevelStartTime1; }METER_ALARM; typedef struct _alarmp{ METER_ALARM mpara; //int status;//对表操作时的状态标志 struct _alarmp * next;}METER_ALARM_PTR;//工作日志文件-------ycc.logtypedef struct _ycclog{ time_t dt; unsigned char devno; //设备编号:1--系统;2--电表;3--通讯板;... unsigned int mno; //分类小编号 unsigned int flag; //65536种信息编号}YCC_LOG;#endif//需量结构定义typedef struct _xl{ long zyzxl; long zyzxl_time; long zwzxl; long zwzxl_time; long fyzxl; long fyzxl_time; long fwzxl; long fwzxl_time;}XL_DATA;//费率结构定义typedef struct _fl{ long zyfffl; long zyffl; long zypfl; long zygfl; long fyfffl; long fyffl; long fypfl; long fygfl;}FL_DATA; typedef struct _xlflhdr{ unsigned int year; unsigned char mon; unsigned char day; unsigned char hour; unsigned char min; unsigned char sec; unsigned char mno; unsigned char status; unsigned char datatype;}XLFL_DATA;//##################### 文件结构定义完毕 #############################endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -