|
|
|
|
/****************************************************************************
|
|
|
|
|
* FileName : Common.h *
|
|
|
|
|
* Programmer : Li Liangchu *
|
|
|
|
|
* Writen at : 2002.09.20 *
|
|
|
|
|
* Version : *
|
|
|
|
|
* Description: header of the nport.c *
|
|
|
|
|
* Last modify: 2002.11.6 *
|
|
|
|
|
****************************************************************************/
|
|
|
|
|
|
|
|
|
|
#ifndef __COMMON_H_ICL__
|
|
|
|
|
#define __COMMON_H_ICL__
|
|
|
|
|
|
|
|
|
|
#ifdef _WIN32
|
|
|
|
|
#else
|
|
|
|
|
#define OS_UNIX
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#ifdef _WIN32
|
|
|
|
|
|
|
|
|
|
#ifdef _DEBUG
|
|
|
|
|
// #define _OS_WINDOWS_DEBUG_
|
|
|
|
|
#else // _DEBUG
|
|
|
|
|
#define _OS_WINDOWS_
|
|
|
|
|
#endif // _DEBUG
|
|
|
|
|
#include <windows.h>
|
|
|
|
|
#include <winsock.h>
|
|
|
|
|
#include <dos.h>
|
|
|
|
|
#include <direct.h>
|
|
|
|
|
#include <sys/timeb.h>
|
|
|
|
|
#include <process.h>
|
|
|
|
|
#else
|
|
|
|
|
#include <sys/time.h>
|
|
|
|
|
#include <netinet/in.h>
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#include "platform_def.h"
|
|
|
|
|
#include <stdio.h>
|
|
|
|
|
#include <string.h>
|
|
|
|
|
#include <time.h>
|
|
|
|
|
|
|
|
|
|
//#include "menu.h"
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
#include "basefunc.h"
|
|
|
|
|
#include "DSFileSystem.h"
|
|
|
|
|
#include "chainlist.h"
|
|
|
|
|
#include "os_heap.h"
|
|
|
|
|
#include "basetype.h"
|
|
|
|
|
#include "confrw.h"
|
|
|
|
|
|
|
|
|
|
#define OPEN 0
|
|
|
|
|
#define CLOSE 1
|
|
|
|
|
|
|
|
|
|
// wen 2005.04.12 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>ʽ
|
|
|
|
|
/* !<21><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>ʾ<EFBFBD><CABE>Ϣ
|
|
|
|
|
*/
|
|
|
|
|
#define MSG_CLASS_TIP 1
|
|
|
|
|
/* !<21><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
*/
|
|
|
|
|
#define MSG_CLASS_WARN 2
|
|
|
|
|
/* !<21><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
*/
|
|
|
|
|
#define MSG_CLASS_ERROR 3
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
* <EFBFBD>˿ڶ<EFBFBD><EFBFBD><EFBFBD>ʶ
|
|
|
|
|
*/
|
|
|
|
|
#define FLAG_READ 0x0001
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
* <EFBFBD>˿<EFBFBD>д<EFBFBD><EFBFBD>ʶ
|
|
|
|
|
*/
|
|
|
|
|
#define FLAG_WRITE 0x0002
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
* <EFBFBD>˿ڶ<EFBFBD><EFBFBD><EFBFBD>ʶ
|
|
|
|
|
*/
|
|
|
|
|
#define FLAG_OPEN (FLAG_READ | FLAG_WRITE)
|
|
|
|
|
#define OPEN_PORT 3 // <20>˿ڴ<CBBF><DAB4><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD>״̬
|
|
|
|
|
#define CLOSE_PORT 0 // <20>˿ڴ<CBBF><DAB4>ڹر<DAB9>״̬
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD>˿ڴ<CBBF><DAB4><EFBFBD><EFBFBD><EFBFBD>ʶFAIL_GREATE<54><45>SUCCEED_GREATE<54><45>SOCKET_BEING
|
|
|
|
|
#define FAIL_GREATE 0 // <20><><EFBFBD><EFBFBD>socketʧ<74><CAA7>
|
|
|
|
|
#define SUCCEED_GREATE 1 // <20><><EFBFBD><EFBFBD>socket<65>ɹ<EFBFBD>
|
|
|
|
|
#define SOCKET_BEING 2 // socket<65>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD>ڣ<EFBFBD><DAA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>´<EFBFBD><C2B4><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define AI_DATA_DISP 4
|
|
|
|
|
#define DI_DATA_DISP 5
|
|
|
|
|
#define PI_DATA_DISP 6
|
|
|
|
|
|
|
|
|
|
#define WATCH_DATA_DISP 8
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
typedef u_char BYTE;
|
|
|
|
|
typedef u_short WORD;
|
|
|
|
|
typedef u_long DWORD;
|
|
|
|
|
|
|
|
|
|
#ifndef _WIN32
|
|
|
|
|
#define OS_UNIX
|
|
|
|
|
typedef unsigned long long ULONG_PTR, *PULONG_PTR;
|
|
|
|
|
typedef ULONG_PTR DWORD_PTR, *PDWORD_PTR;
|
|
|
|
|
|
|
|
|
|
#define LOWORD(l) ((WORD)(((DWORD_PTR)(l)) & 0xffff))
|
|
|
|
|
#define HIWORD(l) ((WORD)((((DWORD_PTR)(l)) >> 16) & 0xffff))
|
|
|
|
|
#define LOBYTE(w) ((BYTE)(((DWORD_PTR)(w)) & 0xff))
|
|
|
|
|
#define HIBYTE(w) ((BYTE)((((DWORD_PTR)(w)) >> 8) & 0xff))
|
|
|
|
|
|
|
|
|
|
#define _getpid getpid
|
|
|
|
|
#define _stricmp strcasecmp
|
|
|
|
|
#define Sleep(x) usleep(1000*x)
|
|
|
|
|
// #define GetPrivateProfileString QGetPrivateProfileString
|
|
|
|
|
#define max(a,b) (((a) > (b)) ? (a) : (b))
|
|
|
|
|
#define min(a,b) (((a) < (b)) ? (a) : (b))
|
|
|
|
|
#endif
|
|
|
|
|
#define BYTE3(a) (((a)&0xff)<<24)
|
|
|
|
|
#define BYTE2(a) (((a)&0xff)<<16)
|
|
|
|
|
#define BYTE1(a) (((a)&0xff)<<8)
|
|
|
|
|
#define BYTE0(a) ((a)&0xff)
|
|
|
|
|
|
|
|
|
|
#define ExchWord(a) (HIBYTE(a) | (LOBYTE(a)<<8))
|
|
|
|
|
#define ExchDWord(a) (ExchWord(HIWORD(a)) | (ExchWord(LOWORD(a))<<16))
|
|
|
|
|
#define BcdByteToInt( c ) (((c&0xf0) >> 4)*10 + (c&0x0f))
|
|
|
|
|
#define IntToBcdByte( c ) ((c/10)*16 + (c%10))
|
|
|
|
|
#define HexDigitToChar( c ) (((c) >= 10) ? ((c)-10+'A') : ((c)+'0'))
|
|
|
|
|
#define HexCharToInt( c ) \
|
|
|
|
|
( ((c) >= '0') && ((c) <= '9') ? (c) - '0' : \
|
|
|
|
|
((c) >= 'a') && ((c) <= 'f') ? (c) - 'a' + 10 : \
|
|
|
|
|
((c) >= 'A') && ((c) <= 'F') ? (c) - 'A' + 10 : 0 )
|
|
|
|
|
|
|
|
|
|
#define INC_TOTAL_MSG( port ) (SioParam[port].MsgNum++)
|
|
|
|
|
#define INC_Lost_SYNC_CNT( port ) (SioParam[port].LostSyncCnt++)
|
|
|
|
|
#define INC_ERROR_MSG( port ) \
|
|
|
|
|
do { \
|
|
|
|
|
SioParam[port].ErrMsgNum++; \
|
|
|
|
|
SioParam[port].MsgNum++; \
|
|
|
|
|
} while ( 0 )
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>궨<EFBFBD><EAB6A8>
|
|
|
|
|
#define DEFAULT_UDP_COMM_PORT 0xff00
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڶ<EFBFBD>дEEPROM<4F><4D>PB6<42><36>PB7<42><37>ַ
|
|
|
|
|
#define SUCC 1
|
|
|
|
|
#define FAIL 0
|
|
|
|
|
|
|
|
|
|
#define MAX_NET_BUF_SIZE (80*1024)
|
|
|
|
|
#define MAX_MSG_BUF_SIZE 81920
|
|
|
|
|
|
|
|
|
|
#define NET_MAC_LEN 6
|
|
|
|
|
|
|
|
|
|
#define DEFAULT_MAX_SERIAL_PORT_NUM 16
|
|
|
|
|
#define DEFAULT_MAX_NET_PORT_NUM 8
|
|
|
|
|
#define DEFAULT_MAX_PORT_NUM (DEFAULT_MAX_SERIAL_PORT_NUM+DEFAULT_MAX_NET_PORT_NUM)
|
|
|
|
|
|
|
|
|
|
#define MAX_DEV_NUM 16
|
|
|
|
|
|
|
|
|
|
#define MAX_PROV_PORT_NUM 16
|
|
|
|
|
|
|
|
|
|
#define MAX_NET_NUM 3
|
|
|
|
|
|
|
|
|
|
#define DEFAULT_BAUD 9600
|
|
|
|
|
|
|
|
|
|
//1<><31><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD>ó<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
|
|
|
|
|
#define SDS_GET_IP_ADDR 0x101
|
|
|
|
|
#define SDS_N_GET_IP_ADDR 0x102
|
|
|
|
|
#define SDS_SET_IP_ADDR 0x103
|
|
|
|
|
|
|
|
|
|
#define SDS_GET_NET_MAC_CODE 0x109
|
|
|
|
|
#define SDS_SET_NET_MAC_CODE 0x110
|
|
|
|
|
|
|
|
|
|
#define SDS_SIO_RECV_DATA 0x141
|
|
|
|
|
#define SDS_SIO_SEND_DATA 0x142
|
|
|
|
|
|
|
|
|
|
#define SDS_SIO_SET_WATCH_PORT 0x161
|
|
|
|
|
#define SDS_SIO_CLR_WATCH_PORT 0x162
|
|
|
|
|
|
|
|
|
|
//7<><37><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>
|
|
|
|
|
#define SDS_SIO_GET_PROTOCOL_NAME 0x201 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Э<EFBFBD><D0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
#define SDS_SIO_GET_PORT_CONFIG_INFO 0x203 // <20><><EFBFBD>˿ڹ<CBBF><DAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
#define SDS_SIO_GET_PROTOCOL_CONFIG_INFO 0x204 // <20><><EFBFBD><EFBFBD>Э<EFBFBD><D0AD><EFBFBD>Ŷ<EFBFBD>Э<EFBFBD><D0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>й<EFBFBD><D0B9><EFBFBD>Ŀ
|
|
|
|
|
#define SDS_SIO_GET_STAT_INFO 0x211 // <20><><EFBFBD><EFBFBD><EFBFBD>ж˿<D0B6>ͳ<EFBFBD><CDB3><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
#define SDS_SIO_CLR_STAT_INFO 0x212 // <20>˿<EFBFBD>ͳ<EFBFBD><CDB3><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
|
|
|
|
#define SDS_SIO_GET_AI_DATA_INFO 0x213 // <20><><EFBFBD>˿<EFBFBD>ң<EFBFBD><D2A3>
|
|
|
|
|
#define SDS_SIO_GET_DI_DATA_INFO 0x214 // <20><><EFBFBD>˿<EFBFBD>ң<EFBFBD><D2A3>
|
|
|
|
|
#define SDS_SIO_GET_PI_DATA_INFO 0x215 // <20><><EFBFBD>˿ڵ<CBBF><DAB5><EFBFBD>
|
|
|
|
|
|
|
|
|
|
#define SDS_SIO_GET_CONFIG_FILE 0x221 // <20><>portconfig.ini <20>ļ<EFBFBD>
|
|
|
|
|
#define SDS_SIO_SET_CONFIG_FILE 0x222 // дportconfig.ini <20>ļ<EFBFBD>
|
|
|
|
|
|
|
|
|
|
#define SDS_SIO_SET_SYSTEM_TIME 0x231 // ϵͳ<CFB5><CDB3>ʱ
|
|
|
|
|
|
|
|
|
|
#define SDS_SIO_RESET 0x255 // <20><><EFBFBD>˿ڵ<CBBF><DAB5><EFBFBD>
|
|
|
|
|
|
|
|
|
|
#define MAX_MAP_REG_NUM 8
|
|
|
|
|
|
|
|
|
|
#define NO_HANDSHAKE_MODE 0x00
|
|
|
|
|
#define HARDWARE_MODE 0x01
|
|
|
|
|
#define SOFTWARE_MODE 0x02
|
|
|
|
|
|
|
|
|
|
#define RS232_COMM_MODE 0x00
|
|
|
|
|
#define RS422_COMM_MODE 0x01
|
|
|
|
|
#define RS485_COMM_MODE 0x02
|
|
|
|
|
|
|
|
|
|
#define RS485_INPUT 0
|
|
|
|
|
#define RS485_OUTPUT 1
|
|
|
|
|
|
|
|
|
|
#define NO_COMM 0
|
|
|
|
|
#define UDP_COMM 1
|
|
|
|
|
#define TCP_S_COMM 2
|
|
|
|
|
#define TCP_C_COMM 3
|
|
|
|
|
|
|
|
|
|
#define RECV_PROTOCOL 0
|
|
|
|
|
#define PROV_PROTOCOL 1
|
|
|
|
|
#define PROTOCOL_SLAVE PROV_PROTOCOL
|
|
|
|
|
#define PROTOCOL_MASTER RECV_PROTOCOL
|
|
|
|
|
|
|
|
|
|
#define POLL_CMD_TYPE_NUM 3
|
|
|
|
|
#define NORMAL_CMD_TYPE 0
|
|
|
|
|
#define INSERAT_CMD_TYPE 1
|
|
|
|
|
#define FAST_CMD_TYPE 2
|
|
|
|
|
|
|
|
|
|
//<2F>趨maskbit<69><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&~maskbit)|bitȷ<74><C8B7>λֵ
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
|
|
|
|
|
#define BITMASK 0x03
|
|
|
|
|
#define BIT5 0x00
|
|
|
|
|
#define BIT6 0x01
|
|
|
|
|
#define BIT7 0x02
|
|
|
|
|
#define BIT8 0x03
|
|
|
|
|
|
|
|
|
|
// ֹͣλ
|
|
|
|
|
#define STOPMASK 0x0c
|
|
|
|
|
#define STOP1 0x04
|
|
|
|
|
#define STOP2 0x08
|
|
|
|
|
#define STOP15 0x0c
|
|
|
|
|
|
|
|
|
|
// У<><D0A3>λ
|
|
|
|
|
#define PARITYMASK 0xf0
|
|
|
|
|
#define PARITYNONE 0x00
|
|
|
|
|
#define PARITYODD 0x10
|
|
|
|
|
#define PARITYEVE 0x20
|
|
|
|
|
#define PARITYMRK 0x30
|
|
|
|
|
#define PARITYSPC 0x40
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
#define RTSMASK 0x01
|
|
|
|
|
#define DTRMASK 0x02
|
|
|
|
|
#define CTSMASK 0x04
|
|
|
|
|
|
|
|
|
|
#define PNT_ENABLE 0 // <20><>ʹ<EFBFBD><CAB9>
|
|
|
|
|
#define PNT_STATE 1 // <20><>״̬
|
|
|
|
|
#define PNT_RAWVALUE 3 // <20><>ԭֵ(ң<><D2A3>,<2C><><EFBFBD><EFBFBD>)
|
|
|
|
|
#define PNT_POLAR 5 // ң<><D2A3><EFBFBD>㼫<EFBFBD><E3BCAB>
|
|
|
|
|
#define PNT_STATUS 6 // ң<>ŵ<EFBFBD>״̬
|
|
|
|
|
#define PNT_CTRL_NO 7 // ң<>ſص<C5BF><D8B5><EFBFBD>
|
|
|
|
|
#define PNT_PROV_MSG 10 // ת<><D7AA><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
#define PNT_SOE_TIME 20 // ң<><D2A3> SOE ʱ<><CAB1>
|
|
|
|
|
#define PNT_ALL_MSG 21 // <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
#define PNT_SOE_TIME_EX 22 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>չ<EFBFBD><D5B9>Ϣ<EFBFBD><CFA2>ң<EFBFBD><D2A3>SOEʱ<45><CAB1>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define AI_PNT_TYPE 0
|
|
|
|
|
#define DI_PNT_TYPE 1
|
|
|
|
|
#define CN_PNT_TYPE 2
|
|
|
|
|
//#define PI_PNT_TYPE 2
|
|
|
|
|
#define PI_PNT_TYPE 3
|
|
|
|
|
#define OD_PNT_TYPE 4
|
|
|
|
|
|
|
|
|
|
#define AO_PNT_TYPE 20
|
|
|
|
|
#define DO_PNT_TYPE 21
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
\brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
#define PROTECT_AI_PNT_TYPE 128
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
\brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
#define PROTECT_DI_PNT_TYPE 129
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
\brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
#define PROTECT_FIX_PNT_TYPE 130
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
\brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
#define PROTECT_EVENT_PNT_TYPE 131
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define POLL_CMD_TYPE_CMD 3
|
|
|
|
|
#define NORMAL_POLL_CMD 0 // <20><>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
#define INSERT_POLL_CMD 1 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
#define FAST_POLL_CMD 2 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
// TIMER_CNT, CREATE_CNT, LED_CNT<4E><54><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1000
|
|
|
|
|
//#define TIMER_CNT 20 // Poll<6C><6C><EFBFBD>ʱ<EEB6A8><CAB1>ʱ<EFBFBD><CAB1> 20 ms
|
|
|
|
|
#define TIMER_CNT 200 // Poll<6C><6C><EFBFBD>ʱ<EEB6A8><CAB1>ʱ<EFBFBD><CAB1> 200 ms
|
|
|
|
|
#define DATA_PRO_CNT 10 // <20><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1> 10 ms
|
|
|
|
|
#define CREATE_CNT 100 // 100 ms
|
|
|
|
|
#define LED_CNT 250 // 250 ms
|
|
|
|
|
|
|
|
|
|
#define BLK_SIZE 256
|
|
|
|
|
|
|
|
|
|
#define SYSTEM_TIME 300 // RTU <20><>ʱ, 300<30><30>һ<EFBFBD><D2BB>
|
|
|
|
|
|
|
|
|
|
#define MAX_DISP_LINE 2048
|
|
|
|
|
|
|
|
|
|
#define MAX_PROV_SOE 128
|
|
|
|
|
|
|
|
|
|
#define STEP_YKYT_NOEXEC 0 // <20><> <20><> <20><>
|
|
|
|
|
#define STEP_YKYT_SELECT 1 // ң<><D2A3>ѡ<EFBFBD><D1A1>
|
|
|
|
|
#define STEP_YKYT_EXEC 2 // ң<><D2A3>ִ<EFBFBD><D6B4>
|
|
|
|
|
#define STEP_YKYT_CANCEL 3 // ң<>س<EFBFBD><D8B3><EFBFBD>
|
|
|
|
|
#define STEP_YT_SELECT 4 // ң<><D2A3>ѡ<EFBFBD><D1A1>
|
|
|
|
|
#define STEP_YT_EXEC 5 // ң<><D2A3>ִ<EFBFBD><D6B4>
|
|
|
|
|
#define STEP_YT_CANCEL 6 // ң<><D2A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
#define STEP_YKYT_DIRECT 7 // ֱ <20><>
|
|
|
|
|
#define STEP_YKYT_STOP 8 // ң<><D2A3><EFBFBD><EFBFBD>ͣ
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
/*!
|
|
|
|
|
<EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
#define DT_NO 0
|
|
|
|
|
/*!
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
#define DT_UINT 1
|
|
|
|
|
/*!
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
#define DT_INT 2
|
|
|
|
|
/*!
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
#define DT_FLOAT 3
|
|
|
|
|
/*!
|
|
|
|
|
<EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
#define DT_STRING 4
|
|
|
|
|
/*!
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
#define DT_BINARY 5
|
|
|
|
|
/*!
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
#define DT_CONTROL 6
|
|
|
|
|
|
|
|
|
|
// <20><>Ϣ<EFBFBD><CFA2>չ<EFBFBD><D5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>չ2<D5B9><32><EFBFBD>ֽڣ<D6BD><DAA3><EFBFBD><EFBFBD>е<EFBFBD>һ<EFBFBD>ֽ<EFBFBD>ָʾ<D6B8><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
|
|
|
|
|
// <20>ڶ<EFBFBD><DAB6>ֽڸ<D6BD><DAB8>ݲ<EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC>
|
|
|
|
|
#define CHECK_NO 1 // <20><>У<EFBFBD>飬<EFBFBD>ڶ<EFBFBD><DAB6><EFBFBD>չ<EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD>0
|
|
|
|
|
#define CHECK_WHOLE 2 // <20><>У<EFBFBD>飬<EFBFBD>ڶ<EFBFBD><DAB6><EFBFBD>չ<EFBFBD>ֽ<EFBFBD>ΪУ<CEAA><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
#define CHECK_GROUP 3 // <20><><EFBFBD><EFBFBD>У<EFBFBD>飬<EFBFBD>ڶ<EFBFBD><DAB6><EFBFBD>չУ<D5B9><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
#define DATATYPE_NO -1
|
|
|
|
|
#define DATATYPE_AI 0
|
|
|
|
|
#define DATATYPE_DI 1
|
|
|
|
|
#define DATATYPE_OD 2
|
|
|
|
|
#define DATATYPE_STRING 3
|
|
|
|
|
#define DATATYPE_PI 4
|
|
|
|
|
|
|
|
|
|
// wen 2005.10.08 <20><><EFBFBD><EFBFBD>malloc<6F><63><EFBFBD><EFBFBD><EFBFBD>ڴ治<DAB4><E6B2BB><EFBFBD>ͷŵ<CDB7><C5B5><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
#define MIN_MALLOC_SIZE 200 // malloc<6F><63><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD>ߴ<EFBFBD>
|
|
|
|
|
#define MAX_NO_WRITE_NUM 600000 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD>ߴ<EFBFBD>
|
|
|
|
|
#define MAX_BUFUNIT_NUM 1000 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>fend<6E><64><EFBFBD>ܵĺ궨<C4BA><EAB6A8>
|
|
|
|
|
#define MAX_HOST 2
|
|
|
|
|
#define MAX_FEND 2
|
|
|
|
|
#define MAX_ADDR 2
|
|
|
|
|
#define MAX_NET_BUF 16384
|
|
|
|
|
|
|
|
|
|
#define MMI_TYPE 0
|
|
|
|
|
#define FEND_TYPE 1
|
|
|
|
|
#define HOST_TYPE 2
|
|
|
|
|
|
|
|
|
|
#define TCPIP_ADDR_LEN 32 // TCP/IP ͨѶ<CDA8><D1B6>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>
|
|
|
|
|
#define MAX_MACHINE_NAME_LEN 48 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
#define MAX_RTU_MSG_SIZE 8192 // RTU <20><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
#ifdef OS_LINUX
|
|
|
|
|
// <20><>linux<75>¶<EFBFBD><C2B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ե<EFBFBD><D4B5>ֽڶ<D6BD><DAB6><EFBFBD>
|
|
|
|
|
typedef int SOCKET;
|
|
|
|
|
#define INVALID_SOCKET (SOCKET)(~0)
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#define __attribute__(x)
|
|
|
|
|
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
|
|
|
|
|
|
|
|
#define MAX_POLL_CMD_BUF_LEN 256 // <20><>ѯָ<D1AF><EFBFBD><EEBBBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
enum Param_Type
|
|
|
|
|
{
|
|
|
|
|
PARAM_NO=0,
|
|
|
|
|
PARAM_LINK,
|
|
|
|
|
PARAM_DEV,
|
|
|
|
|
PARAM_YC,
|
|
|
|
|
PARAM_YX,
|
|
|
|
|
PARAM_YM,
|
|
|
|
|
PARAM_YK,
|
|
|
|
|
PARAM_SYNCTIME,
|
|
|
|
|
PARAM_ASDU10
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#ifdef OS_WINDOWS
|
|
|
|
|
#pragma pack (push,1)
|
|
|
|
|
#else// OS_UNIX
|
|
|
|
|
#pragma pack(1)
|
|
|
|
|
#endif //OS_UNIX
|
|
|
|
|
|
|
|
|
|
//SDS <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
BYTE PortIdx; // <20><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
|
|
|
|
WORD MsgType; // <20><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
|
|
|
|
WORD MsgLen; // <20><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
|
|
|
|
} RTUMSGHEAD;
|
|
|
|
|
|
|
|
|
|
//SDS<44><53><EFBFBD><EFBFBD><EFBFBD>ͽṹ
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
BYTE PortIdx; // <20><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
|
|
|
|
WORD MsgType; // <20><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
|
|
|
|
WORD MsgLen; // <20><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
|
|
|
|
u_char MsgData[MAX_MSG_BUF_SIZE];
|
|
|
|
|
} RTUMSG;
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD>緢<EFBFBD><E7B7A2><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>緳<EFBFBD><E7B7B3>ṹ
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
int BufSize;
|
|
|
|
|
int MsgCnt;
|
|
|
|
|
int Front;
|
|
|
|
|
int Rear;
|
|
|
|
|
u_char MsgData[MAX_MSG_BUF_SIZE];
|
|
|
|
|
} DATA_BUF;
|
|
|
|
|
|
|
|
|
|
struct WR_DATA
|
|
|
|
|
{
|
|
|
|
|
// u_short MsgType ;
|
|
|
|
|
u_short MsgLen;
|
|
|
|
|
u_char *MsgData;
|
|
|
|
|
int PLen;
|
|
|
|
|
struct WR_DATA *Next;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
WORD PortNo;
|
|
|
|
|
WORD PntNo;
|
|
|
|
|
u_char Enable;
|
|
|
|
|
u_char ChangeFlag;
|
|
|
|
|
float fFactor;
|
|
|
|
|
|
|
|
|
|
// ģ<><C4A3><EFBFBD><EFBFBD>ר<EFBFBD>ò<EFBFBD><C3B2><EFBFBD>
|
|
|
|
|
WORD wType; // ת<><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
} PROV_AI_PNT;
|
|
|
|
|
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
WORD PortNo;
|
|
|
|
|
WORD PntNo;
|
|
|
|
|
u_char Enable;
|
|
|
|
|
u_char ChangeFlag;
|
|
|
|
|
|
|
|
|
|
u_char CtrlEnable;
|
|
|
|
|
short ControlNo;
|
|
|
|
|
|
|
|
|
|
// ģ<><C4A3><EFBFBD><EFBFBD>ר<EFBFBD>ò<EFBFBD><C3B2><EFBFBD>
|
|
|
|
|
WORD wType; // ת<><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
} PROV_DI_PNT;
|
|
|
|
|
|
|
|
|
|
typedef PROV_AI_PNT PROV_PI_PNT;
|
|
|
|
|
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
WORD PortNo;
|
|
|
|
|
WORD PntNo;
|
|
|
|
|
u_char Enable;
|
|
|
|
|
} PROV_PNT;
|
|
|
|
|
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
BYTE Enable;
|
|
|
|
|
BYTE State; // ң<><D2A3>״̬
|
|
|
|
|
|
|
|
|
|
//WORD RawValue; // ң<><D2A3>ԭֵ
|
|
|
|
|
DWORD RawValue; // ң<><D2A3>ԭֵ
|
|
|
|
|
BYTE Polar; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
PROV_PNT Prov[MAX_PROV_PORT_NUM]; // ת<><D7AA><EFBFBD><EFBFBD>־
|
|
|
|
|
} AI_DEF;
|
|
|
|
|
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
BYTE Enable;
|
|
|
|
|
BYTE State; // ң<><D2A3>״̬
|
|
|
|
|
|
|
|
|
|
BYTE Status; // ң<><D2A3>״̬
|
|
|
|
|
u_char CtrlEnable;
|
|
|
|
|
WORD ControlNo;
|
|
|
|
|
|
|
|
|
|
DAY_TIME SoeTime;
|
|
|
|
|
|
|
|
|
|
PROV_PNT Prov[MAX_PROV_PORT_NUM]; // ת<><D7AA><EFBFBD><EFBFBD>־
|
|
|
|
|
} DI_DEF;
|
|
|
|
|
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
BYTE Enable;
|
|
|
|
|
BYTE State; // <20><><EFBFBD><EFBFBD>״̬
|
|
|
|
|
|
|
|
|
|
u_long RawValue; // <20><><EFBFBD><EFBFBD>ԭֵ
|
|
|
|
|
|
|
|
|
|
PROV_PNT Prov[MAX_PROV_PORT_NUM]; // ת<><D7AA><EFBFBD><EFBFBD>־
|
|
|
|
|
} PI_DEF;
|
|
|
|
|
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
int iPntNo; // SOE<4F><45><EFBFBD><EFBFBD>
|
|
|
|
|
BYTE bStatus; // ״ֵ̬
|
|
|
|
|
|
|
|
|
|
// wen 2005.05.18 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>չ<EFBFBD>ֽڴ<D6BD><DAB4><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>103<30><33>Ч)
|
|
|
|
|
BYTE u8Type; // 103<30>б<EFBFBD><D0B1><EFBFBD>Ϊasdu<64><75>
|
|
|
|
|
BYTE u8ProvFun; // 103ת<33><D7AA><EFBFBD>е<EFBFBD>FUN
|
|
|
|
|
BYTE u8ProvInf; // 103ת<33><D7AA><EFBFBD>е<EFBFBD>INF
|
|
|
|
|
WORD wRelativeTime; // <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|
|
|
|
WORD wFaultNo; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
DAY_TIME SoeTime; // SOEʱ<45><CAB1>
|
|
|
|
|
|
|
|
|
|
// wen 2005.10.25 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC>еĹ<D0B5><C4B9>ϲ<EFBFBD><CFB2><EFBFBD>
|
|
|
|
|
char szMsgEx[64]; // <20><><EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ô<EFBFBD><C3B4><EFBFBD>64<36>ֽ<EFBFBD>
|
|
|
|
|
|
|
|
|
|
} SOE_DEF;
|
|
|
|
|
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
int iSoeNum; // soe<6F><65><EFBFBD><EFBFBD>
|
|
|
|
|
int iFront; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>
|
|
|
|
|
int iRear; // <20><><EFBFBD><EFBFBD>βָ<CEB2><D6B8>
|
|
|
|
|
SOE_DEF *ptrProvSoe; // <20>˿<EFBFBD>soe<6F><65><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MAX_PROV_SOE)<29><><EFBFBD><EFBFBD>
|
|
|
|
|
} PROV_SOE_DEF;
|
|
|
|
|
|
|
|
|
|
#define YKYT_CMD_FROM_NO 0 // û<><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ
|
|
|
|
|
#define YKYT_CMD_FROM_SCADA 1 // <20><>Դ<EFBFBD><D4B4>scadaϵͳ
|
|
|
|
|
#define YKYT_CMD_FROM_PROVPORT 2 // <20><>Դ<EFBFBD><D4B4>ת<EFBFBD><D7AA><EFBFBD>˿<EFBFBD>
|
|
|
|
|
// wen 2003.08.22 <20><><EFBFBD><EFBFBD>ң<EFBFBD><D2A3>ң<EFBFBD><D2A3>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
int m_iProvPortIdx; // ת<><D7AA><EFBFBD><EFBFBD>վ<EFBFBD>˿ں<CBBF>
|
|
|
|
|
int m_iProvPntIdx; // ת<><D7AA><EFBFBD><EFBFBD>վң<D5BE>ŵ<EFBFBD><C5B5><EFBFBD>
|
|
|
|
|
int m_iProvYkYtPointIdx;// ת<><D7AA><EFBFBD><EFBFBD>վң<D5BE><D2A3>ң<EFBFBD><D2A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
int m_iYkYtPointIdx; // ʵ<>ʳ<EFBFBD>վң<D5BE><D2A3>ң<EFBFBD><D2A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
int m_iYkYtStep; // ң<><D2A3>ң<EFBFBD><D2A3>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><EFBFBD><DEB2><EFBFBD>(=0)/ѡ<><D1A1>(=1)/ִ<><D6B4>(=2))
|
|
|
|
|
// <20>ýṹ<C3BD><E1B9B9>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>ң<EFBFBD><D2A3>)
|
|
|
|
|
int m_iYkYtOperate; // ң<><D2A3>ң<EFBFBD><D2A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ط֡<D8B7><D6A1>غϡ<D8BA>ʧ<EFBFBD>ܣ<EFBFBD>
|
|
|
|
|
int m_iYkYtMode; // ң<><D2A3>ң<EFBFBD><D2A3>ģʽ(<28><><EFBFBD><EFBFBD>104<30><34>Ч)
|
|
|
|
|
|
|
|
|
|
DAY_TIME m_sDayTime; // ң<><D2A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD>ʱ<EFBFBD><CAB1>
|
|
|
|
|
int m_iTimeOut; // ת<><D7AA>ң<EFBFBD>س<EFBFBD>ʱʱ<CAB1><CAB1>
|
|
|
|
|
int m_iCmdFrom; // ָ<><D6B8><EFBFBD><EFBFBD>Դ(=0 <20><><EFBFBD><EFBFBD>Դ; =1 <20><>Դscada; =2 <20><>Դת<D4B4><D7AA><EFBFBD>˿<EFBFBD>)
|
|
|
|
|
} PROV_YKYT_DEF;
|
|
|
|
|
|
|
|
|
|
#define YKYT_SEND_UP 1 //
|
|
|
|
|
#define YKYT_SEND_DOWN 2 //
|
|
|
|
|
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
int m_iYkYtStep; // ң<><D2A3>ң<EFBFBD><D2A3>ִ<EFBFBD>в<EFBFBD><D0B2><EFBFBD>
|
|
|
|
|
int m_iYkYtPnt; // ң<><D2A3>ң<EFBFBD><D2A3><EFBFBD><EFBFBD>
|
|
|
|
|
int m_iYkYtOperate; // ң<><D2A3>ң<EFBFBD><D2A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD>ط֡<D8B7><D6A1>غϡ<D8BA>ʧ<EFBFBD>ܣ<EFBFBD>
|
|
|
|
|
int m_iYkYtUpDown; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EEBBB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(1=up, 0=down)
|
|
|
|
|
} YKYT_PARAM;
|
|
|
|
|
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
//******************** <20><><EFBFBD>ж˿<D0B6><CBBF><EFBFBD>Ϣ ************************
|
|
|
|
|
DWORD Baud; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(cdt<64><74><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
|
|
|
|
|
|
|
|
|
//**************** <20><><EFBFBD><EFBFBD><EFBFBD>շ<EFBFBD><D5B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬*******************
|
|
|
|
|
int m_iRevStatus; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD><EFBFBD><EFBFBD>״̬
|
|
|
|
|
int m_iNeedRevLength; // <20><><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD>ݳ<EFBFBD><DDB3><EFBFBD>
|
|
|
|
|
|
|
|
|
|
//******************** Poll Cmd ****************************
|
|
|
|
|
u_long Retry; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
u_long RetryCnt; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
u_long RetryTime; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|
|
|
|
u_long RetryTimeCnt; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
u_long WaitTime; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|
|
|
|
u_long WaitTimeCnt; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
u_char ForceWaitFlag; // ǿ<>Ƶȴ<C6B5><C8B4><EFBFBD>־
|
|
|
|
|
u_short ForceWaitCnt; // ǿ<>Ƶȴ<C6B5><C8B4><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
u_char ReSendCmdFlag; // <20>ط<EFBFBD><D8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־
|
|
|
|
|
u_char SendCmdFlag; // <20><><EFBFBD><EFBFBD>ͱ<EFBFBD>־
|
|
|
|
|
u_char RevCmdFlag; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ձ<EFBFBD>־
|
|
|
|
|
|
|
|
|
|
u_char LastGetCmdBuf; // <20><>ǰʹ<C7B0>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
DATA_BUF PollCmd[POLL_CMD_TYPE_NUM];
|
|
|
|
|
|
|
|
|
|
//******************* <20>˿<EFBFBD><CBBF><EFBFBD><EFBFBD>ݿ<EFBFBD> ***************************
|
|
|
|
|
u_char PortType; // MAIN_PORT or SLAVE_PORT
|
|
|
|
|
u_char CheckTime; // ʱ<><CAB1>У<EFBFBD><D0A3>(=0, <20><><EFBFBD><EFBFBD>ʱ; =1, <20>϶<EFBFBD>ʱ(<28><><EFBFBD><EFBFBD>); =2, <20>¶<EFBFBD>ʱ(<28><><EFBFBD><EFBFBD>))
|
|
|
|
|
|
|
|
|
|
WORD AiNum; // <20>˿<EFBFBD>ң<EFBFBD><D2A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WORD DiNum; // <20>˿<EFBFBD>ң<EFBFBD><D2A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WORD PiNum; // <20>˿ڵ<CBBF><DAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
void *AiPtr; // ң<><D2A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>ָ<EFBFBD><D6B8>
|
|
|
|
|
void *DiPtr; // ң<><D2A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>ָ<EFBFBD><D6B8>
|
|
|
|
|
void *PiPtr; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>ָ<EFBFBD><D6B8>
|
|
|
|
|
|
|
|
|
|
// wen 2004.11.16 <20><><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>ʱ<EFBFBD><CAB1>
|
|
|
|
|
u_char DiChange; // ң<><D2A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7>仯
|
|
|
|
|
u_char AiChange; // ң<><D2A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7>仯
|
|
|
|
|
// wen 2004.11.16 <20><><EFBFBD><EFBFBD>soe<6F><65><EFBFBD>ݵ<EFBFBD>ת<EFBFBD><D7AA><EFBFBD>洢
|
|
|
|
|
PROV_SOE_DEF ProvSoeBuf; // ת<><D7AA>soe<6F><65><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
PROV_YKYT_DEF ProvYkYtMsg; // ת<><D7AA>ң<EFBFBD><D2A3><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
} SIO_PARAM_BAOHU_DEF;
|
|
|
|
|
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
//***************** <20><><EFBFBD>ж˿<D0B6><CBBF><EFBFBD>Ϣ ************************
|
|
|
|
|
DWORD Baud; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
u_char CommMode; // <20><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>У<EFBFBD><D0A3><EFBFBD><EFBFBD>ֹͣλ
|
|
|
|
|
u_char WorkMode; // <20><>ʽ<EFBFBD><CABD>RS323<32><33>422<32><32>485
|
|
|
|
|
|
|
|
|
|
int Rs485WaitCnt; // 485 <20>л<EFBFBD><D0BB>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
u_char ChipCheckOk; // оƬ<D0BE><C6AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־
|
|
|
|
|
u_char ChSelect; // оƬ<D0BE>ͺ<EFBFBD>
|
|
|
|
|
u_char FreqSelect; // оƬ<D0BE><C6AC><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5>
|
|
|
|
|
u_char WrRegMap[MAX_MAP_REG_NUM]; // оƬ<D0BE>Ĵ<EFBFBD><C4B4><EFBFBD>ӳ<EFBFBD><D3B3>
|
|
|
|
|
|
|
|
|
|
u_char HandshakeMode; // ͨѶ<CDA8><D1B6><EFBFBD>ַ<EFBFBD>ʽ
|
|
|
|
|
u_char XonChar1; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ON<4F>ַ<EFBFBD>1
|
|
|
|
|
u_char XonChar2; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ON<4F>ַ<EFBFBD>2
|
|
|
|
|
u_char XoffChar1; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>OFF<46>ַ<EFBFBD>1
|
|
|
|
|
u_char XoffChar2; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>OFF<46>ַ<EFBFBD>2
|
|
|
|
|
//**********************************************************
|
|
|
|
|
} SIO_PARAM_SERIAL_DEF;
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>в<EFBFBD><D0B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6><EFBFBD>
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
//******************** <20>˿ڻ<CBBF><DABB><EFBFBD><EFBFBD><EFBFBD>Ϣ ************************
|
|
|
|
|
u_char ProtocolIdx; // <20><>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0
|
|
|
|
|
u_char ByPassFlag; // <20><>·<EFBFBD><C2B7>־
|
|
|
|
|
u_char OpenFlag; // <20><EFBFBD>־(<28>ñ<EFBFBD>ʶ<EFBFBD><CAB6><EFBFBD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD>ڹ<EFBFBD><DAB9><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD>)
|
|
|
|
|
u_char Status; // <20>˿<EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж϶˿<CFB6><CBBF>Ƿ<EFBFBD>ͨѶ<CDA8><D1B6><EFBFBD><EFBFBD>
|
|
|
|
|
// <20>ڶ˿<DAB6><CBBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><31><EFBFBD>Ӻ<EFBFBD><D3BA><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δȫ<CEB4><C8AB>ˢ<EFBFBD>µ<EFBFBD><C2B5>µ<EFBFBD><C2B5>ұ<EFBFBD><D2B1><EFBFBD>
|
|
|
|
|
int iDelaySendAllData;// ȫ<><C8AB><EFBFBD><EFBFBD><EFBFBD>ӳٴ<D3B3><D9B4><EFBFBD>
|
|
|
|
|
int iForceSendFlag; // ǿ<><C7BF><EFBFBD>·<EFBFBD><C2B7><EFBFBD>־
|
|
|
|
|
|
|
|
|
|
//******************** <20><><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD><CBBF><EFBFBD>Ϣ ************************
|
|
|
|
|
u_char NetType; // UDP_COMM<4D><4D>TCP_S_COMM<4D><4D>TCO_C_COMM
|
|
|
|
|
DWORD NetPort; // <20><><EFBFBD><EFBFBD>ͨѶ<CDA8>˿<EFBFBD>
|
|
|
|
|
u_long NetCommIpAddr; // <20><><EFBFBD><EFBFBD>ͨѶ<CDA8><D1B6>ַ
|
|
|
|
|
int LiSock; // <20><><EFBFBD><EFBFBD>socket
|
|
|
|
|
int CommSock; // ͨѶsocket
|
|
|
|
|
//**********************************************************
|
|
|
|
|
|
|
|
|
|
//******************** <20><><EFBFBD><EFBFBD><EFBFBD>շ<EFBFBD><D5B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>***********************
|
|
|
|
|
DATA_BUF RecvBuf; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
struct WR_DATA *WriteData; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
int iWriteDataNo; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
//******************** ͳ<><CDB3><EFBFBD><EFBFBD>Ϣ ****************************
|
|
|
|
|
u_long MsgNum; // <20>˿<EFBFBD><CBBF><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
|
|
|
|
u_long LostSyncCnt; // <20>˿<EFBFBD>ʧ<EFBFBD><CAA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
u_long ErrMsgNum; // <20>˿ڴ<CBBF><DAB4><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
|
|
|
|
u_long RecvCharNum; // <20>˿<EFBFBD><CBBF><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>ͳ<EFBFBD><CDB3>
|
|
|
|
|
u_long SendCharNum; // <20>˿<EFBFBD><CBBF><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>ͳ<EFBFBD><CDB3>
|
|
|
|
|
u_long LineCommCnt; // <20>˿<EFBFBD><CBBF>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><DFBC><EFBFBD>
|
|
|
|
|
|
|
|
|
|
//****************** <20><><EFBFBD>ж˿<D0B6><CBBF><EFBFBD>Ϣ **************************
|
|
|
|
|
SIO_PARAM_SERIAL_DEF *m_psSerial;
|
|
|
|
|
//**********************************************************
|
|
|
|
|
|
|
|
|
|
//******************* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ *****************************
|
|
|
|
|
SIO_PARAM_BAOHU_DEF *m_psBaoHu;
|
|
|
|
|
//**********************************************************
|
|
|
|
|
|
|
|
|
|
//******************** <20>û<EFBFBD><C3BB><EFBFBD>չ<EFBFBD>ṹ ************************
|
|
|
|
|
void *ExtInfo;
|
|
|
|
|
//**********************************************************
|
|
|
|
|
} SIO_PARAM_DEF;
|
|
|
|
|
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
u_long AllIpAddr[MAX_NET_NUM];
|
|
|
|
|
u_long NetMaskIpAddr[MAX_NET_NUM];
|
|
|
|
|
u_long BroadCastIpAddr[MAX_NET_NUM];
|
|
|
|
|
u_long MainIpAddr[MAX_NET_NUM];
|
|
|
|
|
} HOST_IP_ADDR;
|
|
|
|
|
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
WORD PortNumber;
|
|
|
|
|
SOCKET Socket;
|
|
|
|
|
|
|
|
|
|
struct sockaddr_in Addr;
|
|
|
|
|
|
|
|
|
|
u_char WaitFalg;
|
|
|
|
|
} UDP_SET_DEF;
|
|
|
|
|
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
int LineCnt;
|
|
|
|
|
int Front;
|
|
|
|
|
int Rear;
|
|
|
|
|
char Line[MAX_DISP_LINE][128];
|
|
|
|
|
} DISP_LINE_BUF;
|
|
|
|
|
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
u_long IpAddr[MAX_NET_NUM];
|
|
|
|
|
u_char NetNum;
|
|
|
|
|
u_long CurCommIp;
|
|
|
|
|
u_char IpAddrChangeFlag;
|
|
|
|
|
u_char NetCardMacCode[MAX_NET_NUM][NET_MAC_LEN];
|
|
|
|
|
u_char ReadMacCodeFlag;
|
|
|
|
|
|
|
|
|
|
u_char PortNum;
|
|
|
|
|
u_char SerialPortNum;
|
|
|
|
|
u_char NetPortNum;
|
|
|
|
|
|
|
|
|
|
DISP_LINE_BUF WatchDispLine;
|
|
|
|
|
} DEV_DEF;
|
|
|
|
|
|
|
|
|
|
// wen 2005.05.27 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>Ĵ洢<C4B4>ṹ)
|
|
|
|
|
/*!
|
|
|
|
|
\struct GROUPDATADEF
|
|
|
|
|
\brief ͨ<EFBFBD>÷<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݶ<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
\par <EFBFBD><EFBFBD><EFBFBD>ٲο<EFBFBD>
|
|
|
|
|
common.h
|
|
|
|
|
*/
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
/*!
|
|
|
|
|
\var GROUPDATADEF::m_szName
|
|
|
|
|
\brief <EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
\note
|
|
|
|
|
ȡֵ<EFBFBD><EFBFBD>Χ<EFBFBD><EFBFBD>[<EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD>ASCII<EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ64]\n
|
|
|
|
|
*/
|
|
|
|
|
char m_szName[66];
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
\var GROUPDATADEF::m_u32DataID
|
|
|
|
|
\brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
\note
|
|
|
|
|
ȡֵ<EFBFBD><EFBFBD>Χ<EFBFBD><EFBFBD>[DATAID_NO(0)---DATAID_SINGLE(10)]\n
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΪDATAID_NO<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݷ<EFBFBD><EFBFBD>ظ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
u_32 m_u32DataID;
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
\var GROUPDATADEF::m_fValue
|
|
|
|
|
\brief <EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD>ֵ
|
|
|
|
|
|
|
|
|
|
\note
|
|
|
|
|
ȡֵ<EFBFBD><EFBFBD>Χ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡֵ<EFBFBD><EFBFBD>Χ\n
|
|
|
|
|
*/
|
|
|
|
|
float m_fValue;
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
\var GROUPDATADEF::m_fMaxValue
|
|
|
|
|
\brief <EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
|
|
|
|
|
|
|
|
|
|
\note
|
|
|
|
|
ȡֵ<EFBFBD><EFBFBD>Χ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡֵ<EFBFBD><EFBFBD>Χ\n
|
|
|
|
|
*/
|
|
|
|
|
float m_fMaxValue;
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
\var GROUPDATADEF::m_fMinValue
|
|
|
|
|
\brief <EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Сֵ
|
|
|
|
|
|
|
|
|
|
\note
|
|
|
|
|
ȡֵ<EFBFBD><EFBFBD>Χ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡֵ<EFBFBD><EFBFBD>Χ\n
|
|
|
|
|
*/
|
|
|
|
|
float m_fMinValue;
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
\var GROUPDATADEF::m_fStepValue
|
|
|
|
|
\brief <EFBFBD><EFBFBD>Ϣ<EFBFBD>㲽<EFBFBD><EFBFBD>ֵ
|
|
|
|
|
|
|
|
|
|
\note
|
|
|
|
|
ȡֵ<EFBFBD><EFBFBD>Χ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡֵ<EFBFBD><EFBFBD>Χ\n
|
|
|
|
|
*/
|
|
|
|
|
float m_fStepValue;
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
\var GROUPDATADEF::m_szUnit
|
|
|
|
|
\brief <EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
\note
|
|
|
|
|
ȡֵ<EFBFBD><EFBFBD>Χ<EFBFBD><EFBFBD>[<EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD>ASCII<EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ16]\n
|
|
|
|
|
*/
|
|
|
|
|
char m_szUnit[18];
|
|
|
|
|
/*!
|
|
|
|
|
\var GROUPDATADEF::iFixDataType
|
|
|
|
|
\brief <EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD>protect<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
\note
|
|
|
|
|
ȡֵ<EFBFBD><EFBFBD>Χ<EFBFBD><EFBFBD>[0-255](<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(AI=1, DI=2))\n
|
|
|
|
|
*/
|
|
|
|
|
u_char iFixDataType;
|
|
|
|
|
|
|
|
|
|
}GROUPDATADEF;
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
\struct GROUPEVENTDEF
|
|
|
|
|
\brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
\par <EFBFBD><EFBFBD><EFBFBD>ٲο<EFBFBD>
|
|
|
|
|
common.h
|
|
|
|
|
*/
|
|
|
|
|
typedef struct{
|
|
|
|
|
/*!
|
|
|
|
|
\var GROUPEVENTDEF::m_iNewEventNo
|
|
|
|
|
\brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
\note
|
|
|
|
|
ȡֵ<EFBFBD><EFBFBD>Χ<EFBFBD><EFBFBD>[0--(BUF_EVENT_NUM-1)=15]\n
|
|
|
|
|
*/
|
|
|
|
|
i_32 m_iNewEventNo;
|
|
|
|
|
/*!
|
|
|
|
|
\var GROUPEVENTDEF::m_iNewEvents
|
|
|
|
|
\brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
\note
|
|
|
|
|
ȡֵ<EFBFBD><EFBFBD>Χ<EFBFBD><EFBFBD>[0--16]\n
|
|
|
|
|
*/
|
|
|
|
|
i_32 m_iNewEvents;
|
|
|
|
|
/*!
|
|
|
|
|
\var GROUPEVENTDEF::m_iAllEvents
|
|
|
|
|
\brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
\note
|
|
|
|
|
ȡֵ<EFBFBD><EFBFBD>Χ<EFBFBD><EFBFBD>[0--16]\n
|
|
|
|
|
*/
|
|
|
|
|
i_32 m_iAllEvents;
|
|
|
|
|
/*!
|
|
|
|
|
\var GROUPEVENTDEF::m_sTm[]
|
|
|
|
|
\brief <EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
//SYSTEMTIME m_sTm[BUF_EVENT_NUM];
|
|
|
|
|
/*!
|
|
|
|
|
\var GROUPEVENTDEF::m_u8INF[]
|
|
|
|
|
\brief <EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
// BYTE m_u8INF[BUF_EVENT_NUM];
|
|
|
|
|
}GROUPEVENTDEF;
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
\struct GROUPDEF
|
|
|
|
|
\brief ͨ<EFBFBD>÷<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>鶨<EFBFBD><EFBFBD>
|
|
|
|
|
\note
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵͨ<EFBFBD>ô洢<EFBFBD>ṹ
|
|
|
|
|
|
|
|
|
|
\par <EFBFBD><EFBFBD><EFBFBD>ٲο<EFBFBD>
|
|
|
|
|
common.h
|
|
|
|
|
*/
|
|
|
|
|
typedef struct{
|
|
|
|
|
/*!
|
|
|
|
|
\var GROUPDEF::m_iGroupNo
|
|
|
|
|
\brief ͨ<EFBFBD>÷<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
\note
|
|
|
|
|
ȡֵ<EFBFBD><EFBFBD>Χ<EFBFBD><EFBFBD>[0--255]\n
|
|
|
|
|
*/
|
|
|
|
|
i_32 m_iGroupNo;
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
\var GROUPDEF::m_iStartItemNo
|
|
|
|
|
\brief ͨ<EFBFBD>÷<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
\note
|
|
|
|
|
ȡֵ<EFBFBD><EFBFBD>Χ<EFBFBD><EFBFBD>[0--255]\n
|
|
|
|
|
*/
|
|
|
|
|
i_32 m_iStartItemNo;
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
\var GROUPDEF::m_iDataType
|
|
|
|
|
\brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݶ<EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
\note
|
|
|
|
|
ȡֵ<EFBFBD><EFBFBD>Χ<EFBFBD><EFBFBD>AI_PNT_TYPE(ģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>)\n
|
|
|
|
|
DI_PNT_TYPE(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)\n
|
|
|
|
|
PI_PNT_TYPE(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)\n
|
|
|
|
|
PROTECT_AI_PNT_TYPE(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>)\n
|
|
|
|
|
PROTECT_DI_PNT_TYPE(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)\n
|
|
|
|
|
PROTECT_FIX_PNT_TYPE(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ֵ)\n
|
|
|
|
|
PROTECT_EVENT_PNT_TYPE(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>)\n
|
|
|
|
|
*/
|
|
|
|
|
i_32 m_iDataType;
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
\var GROUPDEF::m_iStationNo
|
|
|
|
|
\brief д<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><EFBFBD>еij<EFBFBD>վ<EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
\note
|
|
|
|
|
ȡֵ<EFBFBD><EFBFBD>Χ<EFBFBD><EFBFBD>[0--MAX_PORT_NUM<EFBFBD><EFBFBD>0Ϊ<EFBFBD><EFBFBD>Ч(ȱʡֵ)]\n
|
|
|
|
|
*/
|
|
|
|
|
i_32 m_iStationNo;
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
\var GROUPDEF::m_iStartPntNo
|
|
|
|
|
\brief д<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><EFBFBD>е<EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
\note
|
|
|
|
|
ȡֵ<EFBFBD><EFBFBD>Χ<EFBFBD><EFBFBD>[0--(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-1)]\n
|
|
|
|
|
*/
|
|
|
|
|
i_32 m_iStartPntNo;
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
\var GROUPDEF::m_u8NGD
|
|
|
|
|
\brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD>NGD
|
|
|
|
|
|
|
|
|
|
\note
|
|
|
|
|
ȡֵ<EFBFBD><EFBFBD>Χ<EFBFBD><EFBFBD>[0--(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-1)]\n
|
|
|
|
|
*/
|
|
|
|
|
BYTE m_u8NGD;
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
\var GROUPDEF::m_pu8DataType
|
|
|
|
|
\brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
\note
|
|
|
|
|
ȡֵ<EFBFBD><EFBFBD>Χ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n
|
|
|
|
|
*/
|
|
|
|
|
BYTE *m_pu8DataType;
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
\var GROUPDEF::m_pu8DataLen
|
|
|
|
|
\brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD>ݳ<EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
\note
|
|
|
|
|
ȡֵ<EFBFBD><EFBFBD>Χ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n
|
|
|
|
|
*/
|
|
|
|
|
BYTE *m_pu8DataLen;
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
\var GROUPDEF::m_pu8GIN
|
|
|
|
|
\brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
\note
|
|
|
|
|
ȡֵ<EFBFBD><EFBFBD>Χ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n
|
|
|
|
|
*/
|
|
|
|
|
BYTE *m_pu8GIN;
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
\var GROUPDEF::m_u32CurPntNo
|
|
|
|
|
\brief <EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
\note
|
|
|
|
|
ȡֵ<EFBFBD><EFBFBD>Χ<EFBFBD><EFBFBD>[1--255]\n
|
|
|
|
|
\note
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֡ͨ<EFBFBD>÷<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>ȷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>֡<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
u_32 m_u32CurPntNo;
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
\var GROUPDEF::m_iPntNum
|
|
|
|
|
\brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
\note
|
|
|
|
|
ȡֵ<EFBFBD><EFBFBD>Χ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n
|
|
|
|
|
\note
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ң<EFBFBD>ص<EFBFBD><EFBFBD>ͱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
i_32 m_iPntNum;
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
\var GROUPDEF::m_bInit
|
|
|
|
|
\brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD>ݳ<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
\note
|
|
|
|
|
ȡֵ<EFBFBD><EFBFBD>Χ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n
|
|
|
|
|
*/
|
|
|
|
|
BOOL m_bInit;
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
\var GROUPDEF::m_psDataInfo
|
|
|
|
|
\brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣָ<EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
\note
|
|
|
|
|
ȡֵ<EFBFBD><EFBFBD>Χ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n
|
|
|
|
|
*/
|
|
|
|
|
GROUPDATADEF *m_psDataInfo;
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
\var GROUPDEF::m_psEventInfo
|
|
|
|
|
\brief <EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
\note
|
|
|
|
|
ȡֵ<EFBFBD><EFBFBD>Χ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>飬<EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>ΪNULL\n
|
|
|
|
|
*/
|
|
|
|
|
GROUPEVENTDEF *m_psEventInfo;
|
|
|
|
|
}GROUPDEF;
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
\struct DBINFO
|
|
|
|
|
\brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
\par <EFBFBD><EFBFBD><EFBFBD>ٲο<EFBFBD>
|
|
|
|
|
common.h
|
|
|
|
|
*/
|
|
|
|
|
typedef struct{
|
|
|
|
|
/*!
|
|
|
|
|
\var DBINFO::m_u8Asdu
|
|
|
|
|
\brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
\note
|
|
|
|
|
ȡֵ<EFBFBD><EFBFBD>Χ<EFBFBD><EFBFBD>[0--255)]\n
|
|
|
|
|
*/
|
|
|
|
|
u_char m_u8Asdu; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
// wen 2006.05.20 <20><EFBFBD>Ϊ16λ
|
|
|
|
|
/*!
|
|
|
|
|
\var DBINFO::m_u8Fun
|
|
|
|
|
\brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>Ĺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
\note
|
|
|
|
|
ȡֵ<EFBFBD><EFBFBD>Χ<EFBFBD><EFBFBD>[0--255)]\n
|
|
|
|
|
*/
|
|
|
|
|
WORD m_u8Fun; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
/*!
|
|
|
|
|
\var DBINFO::m_u8Inf
|
|
|
|
|
\brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
\note
|
|
|
|
|
ȡֵ<EFBFBD><EFBFBD>Χ<EFBFBD><EFBFBD>[0--255]\n
|
|
|
|
|
*/
|
|
|
|
|
WORD m_u8Inf; // <20><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>²<EFBFBD><C2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>
|
|
|
|
|
/*!
|
|
|
|
|
\var DBINFO::m_u8ProvFun
|
|
|
|
|
\brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>Ĺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
\note
|
|
|
|
|
ȡֵ<EFBFBD><EFBFBD>Χ<EFBFBD><EFBFBD>[0--255)]\n
|
|
|
|
|
*/
|
|
|
|
|
BYTE m_u8ProvFun;
|
|
|
|
|
/*!
|
|
|
|
|
\var DBINFO::m_u8ProvInf
|
|
|
|
|
\brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
\note
|
|
|
|
|
ȡֵ<EFBFBD><EFBFBD>Χ<EFBFBD><EFBFBD>[0--255]\n
|
|
|
|
|
*/
|
|
|
|
|
BYTE m_u8ProvInf;
|
|
|
|
|
/*!
|
|
|
|
|
\var DBINFO::m_u8LoopData
|
|
|
|
|
\brief <EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
\note
|
|
|
|
|
ȡֵ<EFBFBD><EFBFBD>Χ<EFBFBD><EFBFBD>[0--1]\n
|
|
|
|
|
*/
|
|
|
|
|
BYTE m_u8LoopData;
|
|
|
|
|
}DBINFO, *pDBINFO;
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
\struct DBORIENTATION
|
|
|
|
|
\brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD>ݿⶨλ<EFBFBD>ṹ
|
|
|
|
|
|
|
|
|
|
\par <EFBFBD><EFBFBD><EFBFBD>ٲο<EFBFBD>
|
|
|
|
|
common.h
|
|
|
|
|
*/
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
/*!
|
|
|
|
|
\var DBORIENTATION::m_iStnNo
|
|
|
|
|
\brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD>վ<EFBFBD><EFBFBD>
|
|
|
|
|
\note
|
|
|
|
|
ȡֵ<EFBFBD><EFBFBD>Χ<EFBFBD><EFBFBD>[1--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>վ<EFBFBD><EFBFBD>)]\n
|
|
|
|
|
*/
|
|
|
|
|
i_32 m_iStnNo; // д<><D0B4><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>վ<EFBFBD><D5BE>
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
\var DBORIENTATION::m_iStartPntNo
|
|
|
|
|
\brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
\note
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>Լ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ṩ<EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD>ֵ
|
|
|
|
|
\note
|
|
|
|
|
ȡֵ<EFBFBD><EFBFBD>Χ<EFBFBD><EFBFBD>[0--(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ң<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-1)]\n
|
|
|
|
|
*/
|
|
|
|
|
i_32 m_iStartPntNo; // д<><D0B4><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
\var DBORIENTATION::m_iPntNum
|
|
|
|
|
\brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
\note
|
|
|
|
|
ȡֵ<EFBFBD><EFBFBD>Χ<EFBFBD><EFBFBD>[0--255]\n
|
|
|
|
|
*/
|
|
|
|
|
i_32 m_iPntNum; // <20><><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
\var DBORIENTATION::m_psDataInfo
|
|
|
|
|
\brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣָ<EFBFBD><EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
pDBINFO m_psDataInfo;
|
|
|
|
|
}DBORIENTATION;
|
|
|
|
|
|
|
|
|
|
typedef struct tagDEVADDRPARAM
|
|
|
|
|
{
|
|
|
|
|
/*!
|
|
|
|
|
\var DEVADDRPARAM::m_uchLinkAddr
|
|
|
|
|
\brief <EFBFBD><EFBFBD>·<EFBFBD><EFBFBD>ַ
|
|
|
|
|
*/
|
|
|
|
|
BYTE m_uchLinkAddr;
|
|
|
|
|
/*!
|
|
|
|
|
\var DEVADDRPARAM::m_uchCommAddr
|
|
|
|
|
\brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
|
|
|
|
*/
|
|
|
|
|
BYTE m_uchCommAddr;
|
|
|
|
|
/*!
|
|
|
|
|
\var DEVADDRPARAM::m_iLinkIdx
|
|
|
|
|
\brief <EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
int m_iLinkIdx;
|
|
|
|
|
/*!
|
|
|
|
|
\var DEVADDRPARAM::m_iDevIdx
|
|
|
|
|
\brief װ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
int m_iDevIdx;
|
|
|
|
|
}DEVADDRPARAM, *pDEVADDRPARAM;
|
|
|
|
|
|
|
|
|
|
typedef struct tagCMDPARAM
|
|
|
|
|
{
|
|
|
|
|
/*!
|
|
|
|
|
\var CMDPARAM::m_uchFun
|
|
|
|
|
\brief ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܺ<EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
BYTE m_uchFun;
|
|
|
|
|
/*!
|
|
|
|
|
\var CMDPARAM::m_uchInf
|
|
|
|
|
\brief ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
BYTE m_uchInf;
|
|
|
|
|
/*!
|
|
|
|
|
\var CMDPARAM::m_uchRII
|
|
|
|
|
\brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
|
|
|
|
|
*/
|
|
|
|
|
BYTE m_uchRII;
|
|
|
|
|
/*!
|
|
|
|
|
\var CMDPARAM::m_sDevAddr
|
|
|
|
|
\brief ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
*/
|
|
|
|
|
DEVADDRPARAM m_sDevAddr;
|
|
|
|
|
}CMDPARAM, *pCMDPARAM;
|
|
|
|
|
|
|
|
|
|
typedef struct tagBAOHUPROVPARAM
|
|
|
|
|
{
|
|
|
|
|
/*!
|
|
|
|
|
\var BAOHUPROVPARAM::m_sProvStartTime
|
|
|
|
|
\brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>·<EFBFBD>ʱ<EFBFBD><EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
DAY_TIME m_sBaoHuCmdStartTime;
|
|
|
|
|
/*!
|
|
|
|
|
\var BAOHUPROVPARAM::m_iBaoHuCommid
|
|
|
|
|
\brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD>
|
|
|
|
|
\note <0, û<EFBFBD>е<EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
int m_iBaoHuCommid;
|
|
|
|
|
/*!
|
|
|
|
|
\var BAOHUPROVPARAM::m_iBaoHuMsgType
|
|
|
|
|
\brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
\note <0, û<EFBFBD>е<EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
int m_iBaoHuMsgType;
|
|
|
|
|
/*!
|
|
|
|
|
\var BAOHUPROVPARAM::m_sProvRealAddrParam
|
|
|
|
|
\brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>ʵ<EFBFBD><EFBFBD>װ<EFBFBD>õIJ<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
DEVADDRPARAM m_sRealAddrParam;
|
|
|
|
|
}BAOHUPROVPARAM, *pBAOHUPROVPARAM;
|
|
|
|
|
|
|
|
|
|
#define PROV_SOE_MAX 10
|
|
|
|
|
/*!
|
|
|
|
|
\struct DEVPROVSOE
|
|
|
|
|
\brief ת<EFBFBD><EFBFBD>SOE<EFBFBD><EFBFBD><EFBFBD>ݽṹ
|
|
|
|
|
|
|
|
|
|
\par <EFBFBD><EFBFBD><EFBFBD>ٲο<EFBFBD>
|
|
|
|
|
common.h
|
|
|
|
|
*/
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
/*!
|
|
|
|
|
\var DEVPROVSOE::m_sSoeData
|
|
|
|
|
\brief ת<EFBFBD><EFBFBD>SOE<EFBFBD><EFBFBD><EFBFBD>ݲ<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
\note
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
SOE_DEF m_sSoeData[PROV_SOE_MAX];
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
\var DEVPROVSOE::m_shSoeNum
|
|
|
|
|
\brief ת<EFBFBD><EFBFBD>SOE<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ
|
|
|
|
|
|
|
|
|
|
\note
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
short m_shSoeNum;
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
\var DEVPROVSOE::m_shFront
|
|
|
|
|
\brief ת<EFBFBD><EFBFBD>SOE<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
\note
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
short m_shFront;
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
\var DEVPROVSOE::m_shRear
|
|
|
|
|
\brief ת<EFBFBD><EFBFBD>SOE<EFBFBD><EFBFBD><EFBFBD><EFBFBD>β<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
\note
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
short m_shRear;
|
|
|
|
|
}DEVPROVSOE;
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>й<EFBFBD>Լ<EFBFBD><D4BC>ͨ<EFBFBD>ú<EFBFBD><C3BA><EFBFBD><EFBFBD>ӿ<EFBFBD>ָ<EFBFBD><D6B8>
|
|
|
|
|
typedef const struct tagFUNCTION_CALL
|
|
|
|
|
{
|
|
|
|
|
char *ProtocolName; // <20><>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD>
|
|
|
|
|
char *Account; // <20><>Լ˵<D4BC><CBB5>
|
|
|
|
|
char **ProtocolInfo; // <20><>Լ<EFBFBD><D4BC>Ϣָ<CFA2><D6B8>
|
|
|
|
|
void (*ReadConfig)( int ); // <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
void (*RecvData)( int, u_char *, int ); // <20><>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD><DDB4><EFBFBD>
|
|
|
|
|
void (*Timer)( int ); // <20><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
void (*YkYtProcess)( int, u_char *, int ); // ң<><D2A3>ң<EFBFBD><D2A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
void (*SendSystemTime)( int ); // ϵͳ<CFB5><CDB3>ʱ
|
|
|
|
|
void (*ProtocolExit)( int ); // <20><>Լ<EFBFBD>˳<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
|
|
|
|
|
// <20><><EFBFBD>º<EFBFBD><C2BA><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC>Ч
|
|
|
|
|
void (*BaoHuCmdProcess)(int, RTUMSG *, BOOL); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD><DDB4><EFBFBD>
|
|
|
|
|
int (*GetBaohuDataBase)(int, int, GROUPDEF **); // <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>
|
|
|
|
|
}FUNCTION_CALL;
|
|
|
|
|
|
|
|
|
|
#ifdef OS_WINDOWS
|
|
|
|
|
#pragma pack (pop)
|
|
|
|
|
#else// OS_UNIX
|
|
|
|
|
#pragma pack (0)
|
|
|
|
|
#endif //OS_UNIX
|
|
|
|
|
#endif
|