208 lines
4.8 KiB
C
208 lines
4.8 KiB
C
|
|
#ifndef __GUI_H
|
|||
|
|
#define __GUI_H
|
|||
|
|
|
|||
|
|
#include "time.h"
|
|||
|
|
|
|||
|
|
#define LINE_TOTAL_NUM 4 //<2F><>·<EFBFBD><C2B7><EFBFBD><EFBFBD>
|
|||
|
|
#define ANALOG_CH_NUM 12 //AI<41><49>AOģ<4F><C4A3><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
|
|||
|
|
/*************<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*************************************************С<><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -> <20><><EFBFBD><EFBFBD>****************************************************************************/
|
|||
|
|
|
|||
|
|
//ʵʱ<CAB5><CAB1>
|
|||
|
|
typedef struct
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹ
|
|||
|
|
float Ua; //A<><41><EFBFBD><EFBFBD>ѹ
|
|||
|
|
float Ub; //B<><42><EFBFBD><EFBFBD>ѹ
|
|||
|
|
float Uc; //C<><43><EFBFBD><EFBFBD>ѹ
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
float Ia; //A<><41><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
float Ib; //B<><42><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
float Ic; //C<><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F>й<EFBFBD><D0B9><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
float Pa;
|
|||
|
|
float Pb;
|
|||
|
|
float Pc;
|
|||
|
|
float Pt; //<2F><><EFBFBD>й<EFBFBD><D0B9><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><EFBFBD><DEB9><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
float Qa;
|
|||
|
|
float Qb;
|
|||
|
|
float Qc;
|
|||
|
|
float Qt; //<2F><><EFBFBD><EFBFBD><DEB9><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>ڹ<EFBFBD><DAB9><EFBFBD>
|
|||
|
|
float Sa;
|
|||
|
|
float Sb;
|
|||
|
|
float Sc;
|
|||
|
|
float St; //<2F><><EFBFBD><EFBFBD><EFBFBD>ڹ<EFBFBD><DAB9><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
float PFa;
|
|||
|
|
float PFb;
|
|||
|
|
float PFc;
|
|||
|
|
float PFt; //<2F>ܹ<EFBFBD><DCB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F>ߵ<EFBFBD>ѹ
|
|||
|
|
float Uab;
|
|||
|
|
float Ubc;
|
|||
|
|
float Uca;
|
|||
|
|
|
|||
|
|
//Ƶ<><C6B5>
|
|||
|
|
float frq;
|
|||
|
|
|
|||
|
|
}measure_unit_t;
|
|||
|
|
|
|||
|
|
//B<><42><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
typedef union
|
|||
|
|
{
|
|||
|
|
uint8_t b_code[6];
|
|||
|
|
|
|||
|
|
struct
|
|||
|
|
{
|
|||
|
|
uint8_t ascii_s_unit : 4;
|
|||
|
|
uint8_t ascii_s_ten : 4;
|
|||
|
|
uint8_t ascii_min_unit : 4;
|
|||
|
|
uint8_t ascii_min_ten : 4;
|
|||
|
|
uint8_t ascii_hour_unit : 4;
|
|||
|
|
uint8_t ascii_hour_ten : 4;
|
|||
|
|
uint8_t ascii_m_day_unit: 4;
|
|||
|
|
uint8_t ascii_m_day_ten : 4;
|
|||
|
|
uint8_t ascii_month_unit: 4; //4bit
|
|||
|
|
uint8_t ascii_month_ten : 4; //4bit
|
|||
|
|
uint8_t ascii_year_unit : 4; //4bit
|
|||
|
|
uint8_t ascii_year_ten : 4; //4bit
|
|||
|
|
}time;
|
|||
|
|
}b_code_t;
|
|||
|
|
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>롢<EFBFBD><EBA1A2><EFBFBD><EFBFBD>
|
|||
|
|
typedef struct
|
|||
|
|
{
|
|||
|
|
uint16_t in; //ÿһλ<D2BB><CEBB>Ӧһ<D3A6><D2BB>ͨ<EFBFBD><CDA8>״̬ <20><> 1 = <20>ϣ<EFBFBD> 0 = <20><>
|
|||
|
|
uint16_t out; //ÿһλ<D2BB><CEBB>Ӧһ<D3A6><D2BB>ͨ<EFBFBD><CDA8>״̬ <20><> 1 = <20>ϣ<EFBFBD> 0 = <20><>
|
|||
|
|
}d_io_t;
|
|||
|
|
|
|||
|
|
//ģ<><C4A3><EFBFBD><EFBFBD>:AI AO
|
|||
|
|
typedef struct
|
|||
|
|
{
|
|||
|
|
float in[ANALOG_CH_NUM]; //ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
float out[ANALOG_CH_NUM]; //ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
}a_io_t;
|
|||
|
|
|
|||
|
|
//<2F>¼<EFBFBD>
|
|||
|
|
typedef struct
|
|||
|
|
{
|
|||
|
|
struct tm t; //<2F>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
|
uint32_t ms; //<2F>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĺ<EFBFBD><C4BA><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
|
uint8_t evt; //<2F><><EFBFBD>ͣ<EFBFBD>0 = <20><><EFBFBD>¼<EFBFBD><C2BC><EFBFBD> 1 = <20>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
}event_t;
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
typedef struct
|
|||
|
|
{ uint32_t stamp; //ʱ<><CAB1>
|
|||
|
|
int16_t ch[8]; //4<><34><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>8<EFBFBD><38>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD>ua<75><61>ub<75><62>uc, ia<69><61>ib<69><62>ic<69><63>Ƶ<EFBFBD><C6B5>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
//AI<41>ɼ<EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ <20><>8<EFBFBD><38>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
}ch_data_t;
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
typedef struct
|
|||
|
|
{
|
|||
|
|
uint8_t line_index; //<2F><>·<EFBFBD><C2B7> <20><> 0 ~ 3 = 4·<34><C2B7>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>4 = AI<41>ɼ<EFBFBD><C9BC><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
ch_data_t dot[64]; //64<36><34><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ܲ<EFBFBD>
|
|||
|
|
}waveform_data_t;
|
|||
|
|
|
|||
|
|
|
|||
|
|
//С<><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -> <20><><EFBFBD><EFBFBD>
|
|||
|
|
typedef struct
|
|||
|
|
{
|
|||
|
|
measure_unit_t measure_unit[LINE_TOTAL_NUM];//<2F>ܹ<EFBFBD>4<EFBFBD><34><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
a_io_t d_io; //ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>롢<EFBFBD><EBA1A2><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
d_io_t a_io; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>롢<EFBFBD><EBA1A2><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
b_code_t b_code; //B<><42><EFBFBD><EFBFBD>ʱ
|
|||
|
|
|
|||
|
|
event_t event[2]; //<2F>¼<EFBFBD><C2BC><EFBFBD>־:event[0] = pt <20><><EFBFBD>ߣ<EFBFBD> event[1] = CT<43><54><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
waveform_data_t waveform; //ʵʱһ<CAB1>ܲ<EFBFBD><DCB2><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
}gui_in_t;
|
|||
|
|
|
|||
|
|
|
|||
|
|
/********<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>******************************************************<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -> С<><D0A1>****************************************************************************/
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>ģ<DEB8><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD>һ<EFBFBD><D2BB>
|
|||
|
|
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
typedef struct
|
|||
|
|
{
|
|||
|
|
uint32_t baud_tate; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> 9600 115200<30><30>Ĭ<EFBFBD>ϣ<EFBFBD>
|
|||
|
|
uint8_t parity; //У<><D0A3>λ <20><> 0 = <20><>У<EFBFBD>飬 1 = <20><>У<EFBFBD>飬 2 = żУ<C5BC><D0A3>
|
|||
|
|
uint8_t data; //<2F><><EFBFBD><EFBFBD>λ <20><> 0 = 8λ
|
|||
|
|
uint8_t stop; //ֹͣλ <20><> 0 = 1λ<31><CEBB> 1 = 2λ
|
|||
|
|
uint8_t protocol; //ͨѶЭ<D1B6><D0AD> <20><>0 = <20><>Э<EFBFBD>飬1 = modbus
|
|||
|
|
}com_param_t;
|
|||
|
|
|
|||
|
|
|
|||
|
|
//ģ<><C4A3>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
|
|||
|
|
typedef struct
|
|||
|
|
{
|
|||
|
|
uint8_t sig_type;//<2F>ź<EFBFBD><C5BA><EFBFBD><EFBFBD><EFBFBD> <20><> 0 = 4~20ma<6D>źţ<C5BA> 1 = 1~5V<35>ź<EFBFBD>
|
|||
|
|
uint8_t line_sub;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>· <20><> 1 = <20><>·1<C2B7><31> 2 = <20><>·2<C2B7><32> 3 =<3D><>·3<C2B7><33> 4 = <20><>·4<C2B7><34> 0 = װ<><D7B0>
|
|||
|
|
uint8_t att; //<2F><><EFBFBD><EFBFBD> : 0 = UA, 1 = UB, 2 = UC, 3 = UAB, 4 = UBC, 5 = UCA, 6 = P, 7 = Q, 8 = F
|
|||
|
|
uint8_t u_limit; //<2F><><EFBFBD><EFBFBD>ֵ :
|
|||
|
|
uint8_t d_limit; //<2F><><EFBFBD><EFBFBD>ֵ :
|
|||
|
|
}analog_ch_param_t;
|
|||
|
|
|
|||
|
|
|
|||
|
|
//<2F><>·<EFBFBD><C2B7>ֵ-><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
typedef struct
|
|||
|
|
{
|
|||
|
|
// uint8_t index; //<2F><>·<EFBFBD>ţ<EFBFBD> 1 = <20><>·1, 2 = <20><>·2<C2B7><32> 3 = <20><>·3, 4 = <20><>·4
|
|||
|
|
uint8_t limit; //<2F><>ֵ<EFBFBD><D6B5>
|
|||
|
|
uint8_t delay; //<2F><>ʱ<EFBFBD><CAB1> [1 ~ 10<31><30>]
|
|||
|
|
uint8_t out_num; //<2F><><EFBFBD><EFBFBD><EFBFBD>ڵ㣺 [1 = <20><><EFBFBD><EFBFBD>1<EFBFBD><31> 2 = <20><><EFBFBD><EFBFBD>2<EFBFBD><32>...]
|
|||
|
|
uint8_t select; //Ͷ<>ˣ<EFBFBD> [0 = <20><>Ͷ<EFBFBD><CDB6> 1 = Ͷ<><CDB6>]
|
|||
|
|
}line_param_t;
|
|||
|
|
|
|||
|
|
typedef struct
|
|||
|
|
{
|
|||
|
|
line_param_t type[7]; //7<><37><EFBFBD><EFBFBD><EFBFBD>𣺵<EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD>ʣ<EFBFBD>Ƶ<EFBFBD>ʣ<EFBFBD>PT<50><54><EFBFBD>ߣ<EFBFBD>CT<43><54><EFBFBD><EFBFBD>
|
|||
|
|
}line_type_t;
|
|||
|
|
|
|||
|
|
|
|||
|
|
//AI <20><><EFBFBD><EFBFBD>-> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
typedef struct
|
|||
|
|
{
|
|||
|
|
uint8_t u_limit; //<2F><><EFBFBD><EFBFBD>ֵ :
|
|||
|
|
uint8_t d_limit; //<2F><><EFBFBD><EFBFBD>ֵ :
|
|||
|
|
uint8_t delay; //<2F><>ʱ<EFBFBD><CAB1> [1 ~ 10<31><30>]
|
|||
|
|
uint8_t out_num; //<2F><><EFBFBD><EFBFBD><EFBFBD>ڵ㣺 [1 = <20><><EFBFBD><EFBFBD>1<EFBFBD><31> 2 = <20><><EFBFBD><EFBFBD>2<EFBFBD><32>...]
|
|||
|
|
uint8_t select; //Ͷ<>ˣ<EFBFBD> [0 = <20><>Ͷ<EFBFBD><CDB6> 1 = Ͷ<><CDB6>]
|
|||
|
|
}ai_alarm_param_t;
|
|||
|
|
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -> С<><D0A1>
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
typedef struct
|
|||
|
|
{
|
|||
|
|
struct tm t; //ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
d_io_t a_io; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>롢<EFBFBD><EBA1A2><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
com_param_t com_param[4]; //<2F><><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
line_type_t line_param[4]; //<2F><>·<EFBFBD><C2B7>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>: 4·<34><C2B7>ֵһ<D6B5><D2BB><EFBFBD>·<EFBFBD>
|
|||
|
|
analog_ch_param_t a_in_param[12]; //12·AIģ<49><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
analog_ch_param_t a_out_param[12]; //12·AOģ<4F><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
ai_alarm_param_t ai_alarm_param[12];//12·AIģ<49><C4A3><EFBFBD><EFBFBD><EFBFBD>뱨<EFBFBD><EBB1A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
}gui_out_t;
|
|||
|
|
|
|||
|
|
|
|||
|
|
#endif
|