📄 comserver.idl
字号:
system_station_cfg cfg0[128][8];
} system_station_cfg0;
// 1--16点:可接128个设备:
typedef struct{
system_station_cfg cfg1[128][16];
} system_station_cfg1;
//1--32点:可接64个设备:
typedef struct{
system_station_cfg cfg2[64][32];
} system_station_cfg2;
//1--64点:可接32个设备:
typedef struct{
system_station_cfg cfg3[32][64];
} system_station_cfg3;
//1--128点:可接16个设备:
typedef struct{
system_station_cfg cfg4[16][128];
} system_station_cfg4;
// 测点信息结构
typedef struct {
byte addr;// '分站号
byte xinxi_len;// '信息长度
byte info[256];// '信息
} all_xinxi;
/// 初始化结构
typedef struct{ //stini0.sys
byte addr;// '分站号
byte ini_len;// '初始化长度
byte info[256];// '初始化信息
} all_INI;
// 分站扩展对应
typedef struct{
byte Statation[255];
} station_exd;
// 导出量测点结构***************************************************************
typedef struct{
byte sensor;//变量特性索引
int position;//安装位置(监测设备)名称索引号
byte xing ;//=0: 没有投运,=&H11: 模拟量,=&H12: 累计量,=&H13: 开关量
// byte rule;// '相应处理法则
// byte num;//对应监测点个数
// int cd[10];//对应监测点
// byte selrule;//选用公式序号
// byte csnum;//常数个数
char exp[80];//计算用常数
} devpt;
//rule :模拟量:b0~b3(断电开出口号)
//rule :开关量:b0b1(报警00:不报,01:开报警,10:停报警)
typedef struct{
// char compute[50][50];//套用公式名称
int count;//定义新测点个数
devpt dv[100];
} drivePT;
typedef struct{ //开出
BOOL flag;
byte stno;
int length;
byte kc[64];
}Console1out;
/*******************************************************************/
// 区域断电
typedef struct {
byte st;//
byte pt;//
float offrun;//断电值
float onrun;//复电值
} qydd1;
typedef struct{
byte station;
byte kckzk;
byte geshu;
qydd1 duiying[5];
} qydd0;
typedef struct{
int num;
qydd0 qydds[100];
} qydd;
/******************************************************/
// 异地断电
typedef struct {
short NameIndex;//测点名称
byte SensorIndex ;//传感器
float offvalue;//断电值
float onvalue;//复电值
byte st;//分站号
byte kckzk;//开出口号
} yddd0;
typedef struct{
short num;
yddd0 yddds[100];
} yddd1;
/************************全局变量定义***********************/
extern Alarm alarmrecord;
extern alarmold alarmoldrecord;
extern errorx errorrecord;
extern errorold erroroldrecord;
extern DDDJ_STRUC dddj;
extern DDBJ_STRUC ddbj;
extern system_struction Files;
extern station_exd st_exd;
extern all_INI st_ini[255];
extern Kjsys001 File1;
extern point_type_struct File2;
extern sensor_unit_struct File3;
extern kjsys004 File4;
extern kjsys005 File5;
extern station_port_struct File6;
extern system_station_cfg0 Cfg0;
extern system_station_cfg1 Cfg1;
extern system_station_cfg2 Cfg2;
extern system_station_cfg3 Cfg3;
extern system_station_cfg4 Cfg4;
extern all_xinxi station_xinxi[255];
extern nowdata Timedata;
extern int minute_flg;//2分钟写库标志,由数据库进程置TRUE。数据处理进程清FALSE
extern int hour_flg;//1小时写库标志,由数据库进程置TRUE。数据处理进程清FALSE
extern yddd1 yddds;
extern long kckzt[255]; //: 开出控制口 :word
extern qydd station_qydd;
extern drivePT devpoint;
extern int copy_flag; //拷贝标志
typedef struct {
int addr_sensor;
short timenow;
DWORD kjt[4]; //共32*4=128位,每2位表示当前分钟内状态'00:停 01:开,10变化,11未知
}kai_tu;
typedef struct {
short numb;
kai_tu kaijutu[1000];
}kttp;
extern kttp ktp;
//上行数据的倒数第二字节为复电次数,倒数第三字节为开出口状态 贺增加 2005-4-15
//实时开出口数据结构
typedef struct{
int addr_sensor; //测点特征码=fz*50+kckh;
byte nowdata; //0:1;
} Now_kckh;
extern Now_kckh kch[500]; //开出口状态
extern short reset_num[255]; //复电次数
typedef struct {
int addr_sensor;
DATE starttime;
DATE steptime;
long addtime;
long status;
}KGBH;
typedef struct {
short num;
KGBH bh[1000];
}kgbh;
extern kgbh kgch;
typedef struct {
byte fz; //分站
byte KCKZ; //开出口
} KCKZSBpz;
typedef struct {
short KCKZNum;
KCKZSBpz kcpz[500];
} kai_chuSBpz;
extern kai_chuSBpz KAI_CHUSBpz;
/*
开矩图表名:KJT_xxx_yy
Xxx=fz+500 'fz:分站1~255
Yy=kckz 'kckz:开出口0~7
开关状态变化表
*/
typedef struct{
int count;
int addr_sensor[300];
}del_sensor;
typedef struct{ //分站通讯正常输出,转化进程输入
BOOL flag;
byte stno;
int bufsize;
byte buf[300];
}translate;
//typedef struct{
// int bufsize;
// byte buf[300];
//}lastinfo;
typedef struct{ //转化进程输出,通讯进程输入
BOOL flag;
int stno;
int ord;
int bufsize;
byte buf[300];
}S_buf;
typedef struct {
int stno;
VARIANT vl[256];
int kz;
BOOL flag;
}Station;
typedef struct{ //控制台输出
BOOL flag;
byte stno;
char ordercode; //0-定点巡检,1-初始化, 2-取消定点
}Console0out;
typedef struct{ //通讯状态信息
byte currentstno;
long normalcount;
long overtimecount;
long xorerrcount;
byte stinfo[255]; //0-通讯正常,1-校验错,2-超时错;
byte info[300];
int infoCt;
}station_info;
extern translate Translate[8];
extern Station stations[8];
extern int kckz[255];
extern Console0out console0out;
extern Console1out console1out;
extern Console1out ctrout[20];
extern S_buf sendbuf[8][10];
extern station_info stinfo;
extern HANDLE hf;
extern int fix_stno;
extern byte ordbuf[300];
extern byte recvbuf[300];
extern BOOL resendflag;
extern BOOL scanflg;
extern float Alarm_Avge[500];
//extern lastinfo last[255];
extern BOOL fz_ini_req;
extern byte rjAlarmState[255]; //人员分站的当前报警状态: 1报警,0非报警
// wyl end
/*typedef struct {
int addr_sensor;
char itemname[80];
int itemtype;
}opcitem;
typedef struct {
char Nodename[128];
char servername[80];
DWORD clscontext;
int Updaterate;
int itemcount;
opcitem item[500];
}opcsrvdef;*/
//extern opcsrvdef opcsrv[3];
/*************************人员监测结构*****************************/
extern del_sensor delflg;
extern BOOL con_del;//测点删除标志,由测点删除客户进程设置TRUE,数据处理进程清FALSE
extern BOOL dat_del;//数据处理进程设置TRUE,通知数据库进程删除测定表
//extern station_info stationinfo[8];
extern long counter0;
extern long counter1;
//
typedef struct {
char name[16]; //姓名
short workno; //工号
char depart[16]; // 部门
short rfid; // 射频码
int lampno; //矿灯号
short rfidbak;
int lampnobak; //矿灯号
short prioty; // 优先级
// short remove;
short monthct;
short validtime;
}personref;
typedef struct {
short rfid;
int lampno;
}Manager;
typedef struct{
short count;
Manager m[500];
}managerlist;
typedef struct {
short count;//
personref pl[4096];
}preflist;
typedef struct {
char name[16];
short reno;
short stype; //检测站类型 0:中转;1:端点;2:起点,3:终点
short alarm; //是否是报警站
short state;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -