📄 station.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 + -