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

📄 protocol.h

📁 保护装置的mbpc软件
💻 H
字号:
#ifndef _PROTOCOL_H
#define _PROTOCOL_H

typedef	char	STATION_NAME[16];
typedef	char	DEVICE_NAME[16];
typedef	char	DEVICE_TYPE[16];
typedef	char	DESIGNER[16];

typedef struct
{	
	STATION_NAME	station_name;
	DEVICE_NAME		device_name;
	DEVICE_TYPE		device_type;
	DESIGNER		designer;
	BYTE			device_type_id;
	BYTE			revision;
	BYTE			sub_revision;
	BYTE			revision_year;
	BYTE			revision_month;
	BYTE			revision_day;
	BYTE			device_address;
	BYTE			analog_count;
	BYTE			energy_count;
	BYTE			di_count;
	BYTE			enable_count;
	BYTE			do_count;
	BYTE			setting_sect_count;
	BYTE			used_setting_sec_count;
	BYTE			current_sect;
	BYTE			item_in_sect;
	BYTE			time_mod;
	BYTE			mmi_revision;
	BYTE			mmi_sub_revision;
	BYTE			alarm_count;
	BYTE			act_count;
}DEVICE_INFO;



typedef	char	NAME[13];
typedef	char	UNIT[5];

typedef struct
{
	NAME			analog_name;
	float			primary_ratio;
	float			secondary_ratio;
	UNIT			primary_unit;
	UNIT			secondary_unit;
	WORD			nZeroDeviation;
}ANALOG_INFO;

typedef struct
{
	NAME			energy_name;
	float			primary_ratio;
	float			secondary_ratio;
	UNIT			primary_unit;
	UNIT			secondary_unit;
}ENERGY_INFO;

typedef	char	ON_OFF_NAME[5];

typedef struct
{
	NAME			digital_name;
	ON_OFF_NAME		on_name;
	ON_OFF_NAME		off_name;
}DIGITAL_INFO;

typedef union
{
	char 	bValue;
	WORD 	nValue;
	float	fValue;
}PK_Value;

typedef struct
{
	NAME			setting_name;
	UNIT			setting_unit;
	BYTE			data_type;
	PK_Value		upper;
	PK_Value		lowwer;
}SETTING_INFO;

typedef struct
{
	BYTE			year;
	BYTE			month;
	BYTE			day;
	BYTE			hour;
	BYTE			minute;
	BYTE			second;
	WORD			ms;
}TIME;

typedef struct
{
	TIME TimeBuf;
	TIME AnalogTime;
	TIME MeterTime;
	TIME FrequencyTime;
	TIME DiChangeTime;
	TIME DiReguTime;
	TIME DoChangeTime;
	TIME DoReguTime;
	TIME EnableChangeTime;
	TIME EnableReguTime;
	TIME AckDoEnableTime;
	TIME AckDoCmdTime;
	TIME AckEnaEnabelTime;
	TIME AckEnaSetTime;
	TIME AlarmTime;
	TIME RecordTime;
}TIMEMAIN;

typedef struct
{
	BYTE	mmi_revision;
	BYTE	mmi_sub_revision;
	BYTE	revision_year;
	BYTE	revision_month;
	BYTE	revision_day;
}MMI_REV;

typedef struct
{
	WORD	digital_cntr;
	TIME	digital_start_time;
	TIME	digital_end_time;
	BYTE	act_cntr;
	TIME	act_start_time;
	TIME	act_end_time;
	BYTE	operation_cntr;
	TIME	operation_start_time;
	TIME	operation_end_time;
	BYTE	alarm_cntr;
	TIME	alarm_start_time;
	TIME	alarm_end_time;
}SOE_INDEX;

typedef struct
{
	BYTE	soe_type;
	BYTE	soe_id;
	BYTE	soe_value;
	TIME	soe_time;
}SOE;
//define address
#define LOCAL_ADDRESS	0x08
#define REMOTE_ADDRESS	0xff

//define text ID
#define REQ_DEVICE_INFO		0//
#define ACK_DEVICE_INFO		1//
#define REQ_ANALOG_INFO		2//
#define ACK_ANALOG_INFO		3//
#define REQ_METER_INFO		4//
#define ACK_METER_INFO		5//                           
#define REQ_DI_INFO			6//                           
#define ACK_DI_INFO			7//                           
#define REQ_DO_INFO			8//                           
#define ACK_DO_INFO			9//                           
#define REQ_ENABLE_INFO		10//                          
#define ACK_ENABLE_INFO		11//                          
#define REQ_SETTING_INFO	12//                          
#define ACK_SETTING_INFO	13//
#define REQ_ALARM_INFO		14//
#define ACK_ALARM_INFO		15//
#define REQ_RECORD_INFO		16//
#define	ACK_RECORD_INFO		17//
                          
#define SEND_ANALOG			18//
#define SEND_METER			19//
#define SEND_FREQUENCY		20//
#define SEND_DI_CHANGE		21//?
#define SEND_DI_REGU		22//?
#define SEND_DO_CHANGE		23//?
#define SEND_DO_REGU		24//?
#define SEND_ENABLE_CHANGE	25//?
#define SEND_ENABLE_REGU	26//?
#define	SEND_ALARM			27//
#define REQ_INFO_CHANGE		28//?
#define ACK_INFO_CHANGE		29//?
#define REQ_ALL_INFO		30//?

#define DO_ENABLE			32//
#define ACK_DO_ENABLE		33//
#define DO_CMD				34//
#define ACK_DO_CMD          35//
#define ENABLE_ENABLE		36//
#define ACK_ENABLE_ENABLE	37//
#define EN_SETTING			38//
#define ACK_ENABLE_SETTING	39//
#define RESET				40//
#define ACK_RESET			41//

#define SOE_INDEX_CALLING	64
#define SOE_INDEX_SENDING	65
#define SOE_CALLING			66
#define SOE_SENDING			67
#define REC_DATA_CALLING	68
#define REC_DATA_FRAME_CALLING	69
#define REC_DATA_SENDING	70
#define DEL_SOE_CALLING		71
#define ACK_DEL_SOE			72
#define SEND_RECORD_CHANGE	73//

#define SETTING_SWITCH		96//
#define ACK_SETTING_SWITCH	97//
#define CHG_SETTING_DATA	98//
#define ACK_SET_DATA_CHG	99//
#define CHG_SETTING_CMD		100//
#define ACK_SET_CMD_CHG		101//
#define CALLING_SETTING		102//
#define SEND_SETTING		103//
#define ADD_SETTING_SEC		104//
#define ACK_ADD_SETTING_SEC 105//
#define DEL_SETTING_SEC		106//保留(未写)
#define ACK_DEL_SETTING_SEC 107//保留(未写)

#define ADDR_SETTING		128//
#define ACK_ADDR_SETTING	129//
#define TIME_SETTING		130//
#define DI_SETTING			131//
#define METER_INIT			132//
#define METER_PARA_SET		133//
#define ACK_METER_PARA_SET	134//
#define ANALOG_PRIMARY_PARA_SET		135//
#define ACK_ANALOG_PRIMARY_PARA_SET	136//
#define SET_DEVICE_BAUDRATE 137
#define ACK_SET_DEVICE_BAUDRATE 138
#define SET_TIME_STYLE		139//

#define CHG_PASSWORD		140//
#define ACK_CHG_PASSWORD	141//
#define SIGN_IN				142//
#define	ACK_SIGN_IN			143//
#define	SIGN_OUT			144//
#define	ACK_SIGN_OUT		145//
#define SET_DEVICE_NAME		146

#define SET_ANALOG_DUMMY	160
#define SET_ENERGY_DUMMY	161
#define SET_ENABLE_DUMMY	162
#define SET_DO_DUMMY		163

#define ANALOG_SECONDARY_PARA_SET		192//
#define ACK_ANALOG_SECONDARY_PARA_SET	193//
#define MMI_INFO			194//
	
#define KEY_M_FUN			224
#define ACK_KEY_M			225
#define KEY_P_FUN			226
#define ACK_KEY_P			227

//Just for test
#define ROUTINE_MODE		0
#define CHANGE_MODE			1
#define ANALOG_MODE			0
#define ENERGY_MODE			1

//define program version
#define PROG_PRIM_VERSION	1
#define PROG_SCND_VERSION	0
//define program version
#define PROT_PRIM_VERSION	1
#define PROT_SCND_VERSION	0
//define size
#define MAX_ANALOG_ITEM			64
#define MAX_ENERGY_ITEM			8
#define MAX_DI_ITEM				64
#define MAX_ENABLE_ITEM			64
#define MAX_DO_ITEM				32	
#define MAX_SETTING_ITEM		256
#define MAX_SETTING_SECT		16
#define RMT_MSG_BUF_DEEPTH		10
#define MAX_ALARM_ITEM			32
#define MAX_RECORD_ITEM			32

#endif

⌨️ 快捷键说明

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