⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 comserver.idl

📁 DCOM 上位机和嵌入式系统通信
💻 IDL
📖 第 1 页 / 共 4 页
字号:
    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 + -