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

📄 station.h

📁 LINUX的简单应用
💻 H
字号:
#define MAXHOOKNUM	60
//#define HAVEDAOCHA

typedef struct {
	unsigned char nohi;			//车号高位
	unsigned char nomid;		//车号中卫
	unsigned char nolo;			//车号低位
	unsigned char netstate;		//网络状态 0 :未入网 1:正在入网 2:已经入网 3 :正在退网
	unsigned char id;			//子站号
	unsigned char prepoint;		//
	unsigned char point;		//前一个点式
	unsigned char speed;		//速度
	unsigned char limit;		//限速
	int drctsort;		//方向类别
	int forlight;		//前方灯号灯
	int prelight;		//上一信号灯
	int revlight;		//反向信号机
	unsigned char planesignal;	//平调信号
	unsigned char lightcolor;	//信号灯
	unsigned char curhook;		//当前勾序
	unsigned char area;			//作业区域
	unsigned char error;		//故障信息:D0~D7 :点式,电台,G93,Gps,显示器...
	unsigned char brake;		//制动状态(0xe0)及司机动作(0x0c)
	unsigned char fortrack;		//前方空闲区段
	unsigned char pretrack;		//前方占用区段
	unsigned char curtrack;		//当前区段
	unsigned char direction;	//方向
	unsigned char trend;		//上下行
	unsigned char g93trend;		//g93上下行
	unsigned char g93limit;	
	unsigned char isingudao;	//在股道里吗 0x40=已经转向,0x20=已经确认,0x10=已经自动确认,0x02=上下行,其余同进路属性第5字节
	unsigned int curroute;
	int passdis;				//过点时的距离
	int g93dis;					//G93前方距离(停车点)
	int g93forltdis;			//G93距前方信号机的距离
	int zgddis;					//摘挂点距离
	unsigned int gudaodis;		//股道空闲长度(进车方)
	unsigned int gdfordis;		//股道前端长度
	unsigned int routelen;
	int reversedis;				//反向距离
	int passrevdis;				//经过反向信号机时的前方距离
	int passrevlt;				//上次经过的反向信号机
    int distance;		//与前方信号机的距离
	int displacement;			//机车位移(量)
	int length;					//车长
	unsigned char jldelay;		//进路变化延迟时间
	unsigned char signalstate;	//前后(上下行)信号机开放状态(d7--d4)=0x0a上行信号机开放,
														  //(d3--d0)=0x0a下行信号机开放
}TRAIN;

typedef struct {
	unsigned char id;
	unsigned char factory;
	unsigned char sort;
	int track;
	int	upsignal;
	int downsignal;
	int updistance;
	int downdistance;
	unsigned char upaction;
	unsigned char downaction;
	int disp;
}TYPE_ENTRANCE;

typedef struct {
	unsigned int stationno;
	unsigned char yardno;
	int dhdcnum;
	int shdcnum;
	int dhlcnum;
	int shlcnum;
	int dhgdnum;
	int shgdnum;
	int dhswnum;
	int shswnum;
	int dhxnnum;
	int shxnnum;
	int radiochannel;
	int radiodatanum;
	int signalnum;
	int tracknum;
	int switchnum;
	unsigned char entrancenum;

	int conversion;
	int pipe;

	char *jbjlfile;
	char *fhjlfile;
	char *limitfile;
	char *linkfile;
	char *devicefile;
	char *specfile;
	char *jobfile;
	TYPE_ENTRANCE *entrances;
	unsigned char *tracks;
	unsigned char *switchs;
	unsigned char *signals;
	unsigned char *showtra;
}STATION;

/*typedef struct {
	unsigned char trainnum;
	unsigned char road;
	unsigned char method;
	unsigned char area;
}HOOK;

typedef struct {
	unsigned char len;
	unsigned char stationno;
	unsigned char trainno;
	unsigned char banhao;
	unsigned char id;
	unsigned char idhi;
	unsigned char checil;
	unsigned char checim;
	unsigned char checih;
	unsigned char workmode;
	unsigned int date;
	unsigned int time;
	unsigned char trainnum;
	unsigned char bhzgs;
	HOOK hooks[50];
	unsigned char hooknum;
	unsigned char curhook;
}JOBLIST;*/

typedef struct {
	int id;
	char area[4];
	char road[8];
	char method;
	int trainnum;
	char remark[30];
	unsigned char limit;
	unsigned char pipe;
}HOOK;

typedef struct {
	int bakjobid;
	char checi[6];
	char maker[8];
	char start[6];
	char end[6];
	char mode;
	int bakhooknum;
	HOOK hooks[MAXHOOKNUM];
	unsigned char banhao;
	unsigned char curhook;
	int recid;
	int curpkg;
	int jobid;
	int hooknum;
}JOBLIST;
//基本进路定义
typedef struct{	
	unsigned int start;
	unsigned int end;
	unsigned int length;
	unsigned char tracknum;
	unsigned int tracks[8];
	unsigned int tracklen[8];
	unsigned char chk;
}BASEROUTE;


typedef struct {
	int length;
	unsigned char jlnum;
	unsigned int jl[8];
	unsigned char chk;
}FHJL;

typedef struct{
	unsigned int id;
	FHJL fhjl;
	unsigned char start;
	unsigned char end;
	unsigned char state;
	BASEROUTE base[8];
}ROUTE;

typedef struct {
	int routeno;
	int light;//信号
	unsigned char dcnum;	//道岔数
	int dclen[5];	
}DAOCHA;

typedef struct {
	unsigned char dcnum;	//道岔数
	int dclight[5];
	int dclen[5];	//信号
}DCLIMIT;

enum{DRCTSX,DRCTXX};

void KillRoute(ROUTE *rt);
int GetTrkEngage(int tid);
void RouteChange(unsigned int curid,unsigned int engageid,int ltpre,int ltcur);
int GetRelation(ROUTE *rt1,ROUTE *rt2);
int IsGudaoXhj(int id);
int GetGdTrack(int gid);
int IsTrkGudao(int id);
int IsRtGudao(ROUTE *rt);
unsigned char GetLightDrct(int lt);
unsigned char GetBsRtProperty(ROUTE *rt,int bid);
unsigned char GetRtProperty(ROUTE *rt);
unsigned char GetRtDrct(ROUTE *rt);
int GetRtLimit(int rtno);
int GetTrkOpen(int tid);
int GetSigLoc(int sid);
int GetTrkLoc(int tid);
int GetSigProp(int id);
void InitJlData(void);
int ResetStation(long stid);
void InitStation(void);
int GetGdLength(int trkid);
void SetLcColor(void);
int CreateRoute(ROUTE *rt,unsigned int id);
int IsBackSignal(int sgid);
void SearchWhite(int trkid);
int TranslateJobTrk(char *str);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -