📄 class.h
字号:
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// File name class.h
// Defined all clases and structures used in class defination
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#include "common.h"
struct gac_yc_t
{
int bdtype[64];
long ac_yc[65];//8*8+1 Uab Ubc Ia Ic P1 P2 Q1 Q2
};
////////////////////////////////////////////////////
struct ac_standard_t //for acsample standarding or
{
int pin[6];
int board_num;
int chanel_num;
int u_value;
int i_value;
float result[4];
BOOLEAN save;
};
struct keyin_buf_t
{
BOOLEAN dispkeyflag;
BOOLEAN keyinstate;
BOOLEAN keyinover;
INT8U lenlimit;
INT8U size;
int count;
INT8U keybuf[20];
};//struct keyin_buf_t
class CWindows
{
private:
int menu_len;
int menu_wide;
int menu_position;
int window_len;
int window_wide;
int window_position;
char menu_char[10][30];
char menu_char_head[10][30];
BOOLEAN cursor_flag;
int pageno;
int pagelineno;
int pagedotno;
public:
struct keyin_buf_t keyin_buf;
int message_port_no;
BOOLEAN message_pause_flag;
BOOLEAN helpfirst; //if a help window is opened then don't show it again
BOOLEAN winchange; //must show another window
BOOLEAN poschange; //need not show another window but show part change
public:
int mainmenuno; //set main menu item no to the first
int itemmenuno; //set sub menu item no to the first
int oldmainmenuno;
int olditemmenuno;
BOOLEAN item_flag; //if a menu is opened
BOOLEAN window_flag; //if a window is opened
BOOLEAN help_window_flag; //if a help window is opened
BOOLEAN modify_flag;
public:
CWindows(){ clrscr(); /*cover();*/ _setcursortype(_NOCURSOR); drawmain(); initial();};
~CWindows(){};
public:
void initial();
void setcursor(int str,int stp);
void sncpy(INT8U *dest, INT8U *src, INT16U len);
void DrawBackGround();
void Security();
void DispKeyInput(INT8U x, INT8U y, INT8U len, INT8U color, BOOLEAN mask);
void PopSubMenu(INT8U menuno);
void UpdatePopMenu();
void KeyDrop();
void MessageBox(INT8U *s);
void UpdateClock();
void WinMessage();
void SetMessage();
void ResetKeyBuf();
void SubMenuCheck();
INT16U ProcessWord(INT16U old, INT8U len);
INT8U ProcessByte(INT8U old, INT8U len);
void cursoroff(void);
void cursoron(void);
void drawmain();
void mainmenucheck();
void mainenter();
void mainltarr();
void mainrtarr();
void mainuparr();
void maindnarr();
void mainesc();
void mainf1();
void mainf5();
void mainf6();
void mainf7();
void mainf9();
void parakeyin(INT8U key);
void mainpgup();
void mainpgdn();
/* void drawmenu();
void optionsmenu();
void infomenu();
void localfuncmenu();
void statemenu();
void formsmenu();
void helpmenu();
void drawwindow();*/
void scrollup(int topx,int topy,int endx,int endy);
int ipower(int base,int coef);
unsigned long lipower(int base,int coef);
float fpower(int base,int coef,int mark);
int processint(int oldint);
unsigned long processlint(unsigned long oldint);
unsigned int processinth(unsigned int oldint);
float processfloat(float oldfloat);
void hardset();
void winportset();
void datasourceset();
void yktime();
//void special();
void yxcompress();
void ycsequence();
void ymsequence();
void protectyx();
void ycdefine();
void ymdefine();
void devicedefine();
void systemsate();
void showdpram();
void acusercoef();
void showmespause();
void showmessage();
void dropmessage();
void showyx();
void yxinfo();
void showyc();
void ycinfo();
void showym();
void yminfo();
unsigned int mod(unsigned int par1,unsigned int par2);
//void runlog();
void doykopinfo();
void doykop();
void acstandardinfo();
void acstandard();
void acgroup();
void acrate();
void dodiag();
void diagnose();
void checktime();
void showwindow();
void showhelpwindow();
};//class CWindows
class CYx
{
private:
//int select_byte[3];
//int selected_byte;
//unsigned int c3ayx[32]; //for save c3a yx
//unsigned int dmuyx[32]; //for save dmu yx
//unsigned int dmustateyx[4]; //for save dmu substation state yx
//BOOLEAN first_flag;
public:
public:
public:
CYx(){yxinit();};
~CYx(){};
public:
void yxinit();
int selection();
INT8U Get8Yx(BYTE address,BYTE orderno);
void boardyxget();
void dmuyxget();
void getdiagnoseyx();
void process_kzzldx();
void resetallprotectyx();
void yxgetdeal();
};//class CYx
class CYm
{
private:
//int select_byte[3]; //defined in ymclass.h
//int selected_byte; //defined in ymclass.h
//unsigned int ym_new_bit_value[8]; //Contain YM value
//unsigned int ym_old_bit_value[8]; //Contain YM value
//unsigned int ym_begin; //flag if YM begin
//unsigned int ym_come_flag; //flag if YM is new
//long unsigned int board_ym[128]; //for save board ym
public:
public:
public:
CYm(){yminit();};
~CYm(){};
public:
void yminit();
int selection();
int Get8Ym(int address,int orderno);
void boradymget();
void boardymdeal();
void ymdeal();
};//class CYm
class CYc
{
private:
public:
CYc(){ycinit();};
~CYc(){};
public:
void ycinit();
void selectayc();
void startayc();
void ycdeal();
};//class CYc
struct preset_dispatch_t //used as the yk dispatch
{
int readobj; //read back yk object
int state; //PNONE:0x00 PPRESET:0x01 PFORRD:0x02 PRDBACK:0x03 PCHECK:0x04
//PDMUPRE:0x05 PDMUCHECK:0x06 PC3AEXEC:0x07 PDMUEXEC:0x08 PC3AESC:0x09
};//struct preset_dispatch_t
class CYk
{
private:
struct preset_dispatch_t pdis; //for yk schedule
public:
CYk(){ykinit();};
~CYk(){};
public:
void ykinit();
void ykdistinguish();
void ykc3apreset();
void ykc3aforread();
void ykc3areadback();
void ykc3acheck();
void ykc3aexec();
void ykc3aesc();
void comykpreset();
void comykcheck();
void comykexec();
void doyk();
};
struct dataque_t
{
int start;
int next;
int count;
int size;
BYTE buf[1024];
};//struct dataque_t
class CNbb
{
public:
struct dataque_t dataque; //for receive command
BYTE packetbuf[6]; //for send frame a b c d1 d2 protect
BYTE packbuf1[6]; //for send frame e
BYTE packbuf2[6]; //for send frame e
BYTE nportno; //indicate current port
public:
CNbb(){};
CNbb(BYTE portno){initial(portno);};
~CNbb(){};
public:
void initial(BYTE portn);
void send_packet(BYTE *pointer);
BYTE get_crc_code(BYTE *pointer);
BOOLEAN packet_crc_check(BYTE *pointer);
void settimeproccess(BYTE* pointer);
void adjusttime(struct date d,struct time t);
virtual void ykctlprocess(BYTE* pointer);
void protectprocess(BYTE* pointer);
void identify_packet(BYTE* pointer);
void putdata(BYTE data);
void dropdata();
unsigned int mod(unsigned int par1,unsigned int par2);
void getportcmd();
void getACsample();
void processACsample(BYTE* pointer);
void send_control_packet(BYTE ctlbyte,BYTE type,BYTE num,BYTE source,BYTE target);
virtual void send_yx_packet();
virtual void send_ym_packet();
virtual void send_yc_packet();
void send_prot_packet();
virtual void send_yk_return();
virtual void send_yx_bw();
virtual void make_soe_packet();
virtual void send_soe_packet(int selectcode);
BOOLEAN isstepoff();
void stepoff();
virtual void senda();
virtual void sendb();
virtual void sendc();
virtual void sendd1();
virtual void sendd2();
virtual void sende();
void sendp();
BOOLEAN isframeoff();
void sendframe();
void deal();
};//class CNbb
struct sendinfo_t
{
BYTE current_frame_type;
BYTE current_num_nosend;
BYTE current_send_ptr;
BOOLEAN current_send_flag;
BOOLEAN start_a_send;
BOOLEAN ask_flag;
BOOLEAN answer_flag;
BOOLEAN send_ack;
BOOLEAN send_nak;
};//struct sendinfo_t
class CWsYm
{
private:
BYTE iportno; //indicate current port
BYTE askbuf[256]; //for send ask command
struct dataque_t dataque; //for receive command
public:
CWsYm(){};
CWsYm(BYTE portno){initial(portno);};
~CWsYm(){};
public:
void initial(BYTE portno);
unsigned int getchk(BYTE* pointer,int len);
void putdata(BYTE data);
void dropdata();
void getWsYmcmd();
void process(BYTE* pointer);
void queryinfo();
void deal();
};//class CWsYm
class CAcSample
{
private:
BYTE iportno; //indicate current port
int nextstation; //for send qury frame
BYTE askbuf[256]; //for send ask command
struct dataque_t ac; //for receive command
public:
int nowstation; //for send qury frame
public:
CAcSample(){};
CAcSample(BYTE portno){initial(portno);};
~CAcSample(){};
public:
void initial(BYTE portno);
BYTE GetCHK(BYTE* pointer,BYTE len);
BYTE GetCRC(BYTE* pointer,BYTE len);
void PutData(BYTE data);
void GetCOF();
//BOOLEAN SaveCOF(BYTE* pointer);
void MulCOFC();
void MulCOFB();
void DropData();
void GetAcSampleCMD();
void AcProcess(BYTE* pointer);
void AcQueryInfo();
void PutGroup();
void Reset();
void deal();
};
class CProtocol
{
public:
struct dataque_t dataque; //for receive command
public:
CProtocol(){ };
~CProtocol(){};
public:
void putdata(BYTE data);
void dropdata();
unsigned int mod(unsigned int par1,unsigned int par2);
};//class CProtocol
class C101
{
public:
C101(){};
C101(BYTE portno){initial(portno);};
~C101(){};
public:
void deal();
private:
BYTE nportno;
struct dataque_t ique;
struct dataque_t oque;
unsigned int sum,flag,fcb,fcv,dlmyadd,lsfcb,lsfcv,save_count,save_start;
unsigned int oqp,acd,wobj,wt,widen;
unsigned int ycf[512],ycif[512],ycnum,temyc[512];
BOOLEAN waitf;
void initial(BYTE portn);
void deal_inf(unsigned int type);
void yk_select(unsigned int tem_obj,unsigned int tem_typ,unsigned int ident);
void yk_exe(unsigned int tem_obj,unsigned int tem_typ,unsigned int ident);
void res_calla();
void set_timesyn();
void send_class1();
void send_class2();
void send_confirm();
void send_no_data(unsigned int a1);
void send_ls();
void send_pack();
void putdi(unsigned int data); //for datalink layer
void dropdata(); //for application layer
void pdo(unsigned int data,int con);
void operate_res();
unsigned int yk_s_check(unsigned int switch_no,unsigned int type);
unsigned int qmod(unsigned int par1,unsigned int par2);
void report_count();
void clear_oque();
void clear_ique();
void getcmd();
void put_oth();
void send_over_call();
void send_group(unsigned int num,unsigned int course);
void putheado(unsigned int len);
void res_time();
void yk_esc(unsigned int iden);
void re_send();
void res_ym(unsigned int grp);
void yk_retc();
};
class CLfp
{
public:
CLfp(){};
CLfp(BYTE portno){initial(portno);};
~CLfp(){};
private:
BYTE BH_YC_add,YC_add,YX_add,PRO_add,sub_addr1,phaddre,frame_type,c20_add,c20_ack;
BYTE iportno;
BYTE askbuf[160];
BOOLEAN WaitCHK,send_protect_flag;
unsigned int check(BYTE *pointer,int len);
void initial(BYTE portno);
unsigned int lfpyxno(BYTE Attach_port,BYTE Device_Add,BYTE Inter_YXNO,BYTE ActType);
unsigned int lfpycno(BYTE Attach_port,BYTE Device_Add,BYTE Inter_YCNO);
void send_bh_yc();
void send_ack();
void send_nak();
void send_C1_C20();
void send_C8();
void send_C15();
void send_C19();
void send_ykpre();
void send_ykexec();
void send_ykesc();
void LFP_send(BYTE *pinter,int len);
void process_R1();
void process_R2(BYTE *pointer);
void process_R5(BYTE *pointer);
void process_R7(BYTE *pointer);
void process_R8();
void process_BH_YC(BYTE *pointer);
void process_R15(BYTE *pointer);
void process_R17(BYTE *pointer);
void process_R19(BYTE *pointer);
void process_R20(BYTE *pointer);
void process_R10(BYTE *pointer);
void process_R34(BYTE *pointer);
struct sendinfo_t sendinfo;
void send_frame_on_time();
void send_frame();
void send_ack_frame();
void send_nak_frame();
void getlfpcmd();
void getnbbcmd();
struct dataque_t dataque;
void putdata(BYTE data);
void dropdata();
unsigned int mod(unsigned int par1,unsigned int par2);//wkh update
public:
BOOLEAN yk_flag;
void deal();
};//class CLFP
class CZlp
{
private:
BYTE iportno; //indicate current port
BYTE askbuf[10]; //for send ask command
struct dataque_t dataque; //for receive command
int modbusaddr;
BOOLEAN query_flag;
unsigned int currentCMD;
public:
CZlp(){};
CZlp(BYTE portno){initial(portno);};
~CZlp(){};
public:
void initial(BYTE portno);
unsigned int getchk(BYTE* pointer,int len);
void putdata(BYTE data);
void dropdata();
unsigned int crc16( BYTE * msg , BYTE len );
void sendquery();
void getzlpinfo();
void process_zlp(BYTE* pointer);
void process_ABB_yc(BYTE* pointer);
void process_ABB_yx(BYTE* pointer);
void queryinfo();
void deal();
};//class CZlpmod
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// The end of class.h
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -