|
|
|
|
/************************************************************************************
|
|
|
|
|
*
|
|
|
|
|
* Copyright (C) 2004-2005 SCADA Control Technology Co., Ltd.
|
|
|
|
|
* All rights reserved.
|
|
|
|
|
*
|
|
|
|
|
* <EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD>buban101.h
|
|
|
|
|
* <EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>ʶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>101<EFBFBD><EFBFBD>Լ
|
|
|
|
|
* ժ Ҫ<EFBFBD><EFBFBD>101<EFBFBD><EFBFBD>Լ<EFBFBD>Ĵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ľṹ<EFBFBD><EFBFBD><EFBFBD>껹<EFBFBD>к<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
*
|
|
|
|
|
* <EFBFBD><EFBFBD>ǰ<EFBFBD>汾<EFBFBD><EFBFBD>1.0
|
|
|
|
|
* <EFBFBD><EFBFBD> <EFBFBD>ߣ<EFBFBD>aaawen
|
|
|
|
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD>2005/09/08
|
|
|
|
|
*
|
|
|
|
|
* ȡ<EFBFBD><EFBFBD><EFBFBD>汾<EFBFBD><EFBFBD>1.0
|
|
|
|
|
* ԭ<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>
|
|
|
|
|
* u8 --- BYTE(usigned char)
|
|
|
|
|
* ch --- char
|
|
|
|
|
* w --- WORD(u_short, usigned short)
|
|
|
|
|
* sh --- short
|
|
|
|
|
* b --- BOOL(bool)
|
|
|
|
|
* i --- int
|
|
|
|
|
* l --- long
|
|
|
|
|
* u32 --- u_32
|
|
|
|
|
* ui --- unsigned int(u_int)
|
|
|
|
|
* ul --- unsigned long(u_long)
|
|
|
|
|
* f --- float
|
|
|
|
|
* db --- double
|
|
|
|
|
* c --- class
|
|
|
|
|
* s --- struct
|
|
|
|
|
* sta --- static
|
|
|
|
|
* g --- ȫ<EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
* Array --- <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
* a --- <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
* m_ --- <EFBFBD><EFBFBD><EFBFBD>ݳ<EFBFBD>Ա
|
|
|
|
|
* p --- ָ<EFBFBD><EFBFBD>
|
|
|
|
|
* str --- <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>
|
|
|
|
|
**************************************************************************************/
|
|
|
|
|
// buban101.h: interface for the buban101 class.
|
|
|
|
|
//
|
|
|
|
|
//////////////////////////////////////////////////////////////////////
|
|
|
|
|
#if !defined(_BUBAN101_H_200509081012__INCLUDED_)
|
|
|
|
|
#define _BUBAN101_H_200509081012__INCLUDED_
|
|
|
|
|
#ifdef OS_LINUX
|
|
|
|
|
#include "baohulib/common.h"
|
|
|
|
|
#else
|
|
|
|
|
#include "common.h"
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
|
|
|
// <09>궨<EFBFBD><EAB6A8> //
|
|
|
|
|
// WEN 2005.09.08 //
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
|
|
|
//<2F><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>ַ
|
|
|
|
|
#define INFO_DI_BASEADDR 0x001 // <20><>,˫<><CBAB>ң<EFBFBD><D2A3><EFBFBD><EFBFBD>
|
|
|
|
|
#define INFO_PROTECT_BASEADDR 0x401 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD>Ϣ
|
|
|
|
|
#define INFO_PROTECT_STARTBASEADDR 0x501 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>
|
|
|
|
|
#define INFO_PROTECT_GROUPBASEADDR 0x601 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7>Ϣ
|
|
|
|
|
#define INFO_AI_BASEADDR 0x701 // ң<><D2A3><EFBFBD><EFBFBD>
|
|
|
|
|
#define INFO_PARA_BASEADDR 0x901 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ,<2C><>ң<EFBFBD><D2A3><EFBFBD><EFBFBD>һһ<D2BB><D2BB>Ӧ
|
|
|
|
|
#define INFO_YKYT_BASEADDR 0xB01 // ң<>ء<EFBFBD>ң<EFBFBD><D2A3>
|
|
|
|
|
#define INFO_SET_BASEADDR 0xB81 // <20>趨<EFBFBD><E8B6A8>ַ<EFBFBD><D6B7>Χ
|
|
|
|
|
#define INFO_PI_BASEADDR 0xC01 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
#define INFO_STEP_BASEADDR 0xC81 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><>:<3A><>ѹ<EFBFBD><D1B9><EFBFBD>ֽ<EFBFBD>ͷ)
|
|
|
|
|
#define INFO_BIN_BASEADDR 0xCA1 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<D7B4><CCAC>Ϣ
|
|
|
|
|
#define INFO_BCD_BASEADDR 0xCC1 // BCD<43><44>(ˮλ,Ƶ<><C6B5>)
|
|
|
|
|
#define INFO_STATUS_BASEADDR 0xCE9 // <20><>վԶ<D5BE><D4B6><EFBFBD>ն<EFBFBD>״̬
|
|
|
|
|
#define INFO_FILE_BASEADDR 0xCEA // <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
//һ<><D2BB><EFBFBD>еĸ<D0B5><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
#define MAX_GROUP_AINUM 128
|
|
|
|
|
//#define MAX_GROUP_FLOATAINUM 128
|
|
|
|
|
#define MAX_GROUP_DINUM 128
|
|
|
|
|
#define MAX_GROUP_PINUM 32
|
|
|
|
|
|
|
|
|
|
//ת<><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD><CDB5><EFBFBD><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
#define MAX_AINUM 120
|
|
|
|
|
#define MAX_FLOATAINUM 48
|
|
|
|
|
#define MAX_DINUM 127
|
|
|
|
|
#define MAX_PINUM 35
|
|
|
|
|
|
|
|
|
|
#define MAX_POLL_CMD_BUF_NUM 32 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EEBBBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>
|
|
|
|
|
#define ASK_LINK 0 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·
|
|
|
|
|
#define RST_LINK 1 // <20><>λ<EFBFBD><CEBB>·
|
|
|
|
|
#define RTU_TIME 2 // <20><>ʱʱ<CAB1><CAB1>
|
|
|
|
|
#define ASK_DI_DATA 3 // <20>ٻ<EFBFBD>2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>YX
|
|
|
|
|
#define ASK_AI_DATA 4 // <20>ٻ<EFBFBD>2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>YC
|
|
|
|
|
#define ASK_PI_DATA 5 // <20>ٻ<EFBFBD>2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>YM
|
|
|
|
|
#define ASK_ALL_DATA 6 // <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ٻ<EFBFBD>
|
|
|
|
|
|
|
|
|
|
#define ASK_FIRST_DATA 7 // <20>ٻ<EFBFBD>1 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
#define ASK_SECOND_DATA 8 // <20>ٻ<EFBFBD>2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
#define ACK 9 // ȷ<>ϻش<CFBB>
|
|
|
|
|
#define ANS_LINK 10 // <20><>·<EFBFBD>ش<EFBFBD>
|
|
|
|
|
#define ASK_PI 11 // <20>ٻ<EFBFBD><D9BB><EFBFBD><EFBFBD><EFBFBD>YM
|
|
|
|
|
|
|
|
|
|
#define ASK_DATA_NO 12 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
#define ASK_ALLDATA_END 13 // <20>ٻ<EFBFBD><D9BB><EFBFBD><EFBFBD>ݽ<EFBFBD><DDBD><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٻ<EFBFBD><D9BB>͵<EFBFBD><CDB5><EFBFBD><EFBFBD>ٻ<EFBFBD>)
|
|
|
|
|
//#define ASK_ALLDATA_ACK 14 // <20>ٻ<EFBFBD><D9BB><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٻ<EFBFBD><D9BB>͵<EFBFBD><CDB5><EFBFBD><EFBFBD>ٻ<EFBFBD>)
|
|
|
|
|
|
|
|
|
|
// <20><>ʱ<EFBFBD>ٻ<EFBFBD><D9BB><EFBFBD><EFBFBD><EFBFBD><EEBCB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
#define BUBAN101_TIMER_CMD_NUM 2 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ
|
|
|
|
|
#define MAX_POLLCMD_BUF_LEN 320 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EEBBBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>ģʽ
|
|
|
|
|
#define CONTROL_DOUBLE 0 // ˫<><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
#define CONTROL_SINGAL 1 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
#define CONTROL_DIRECT 2 // ֱ<>ӿ<EFBFBD><D3BF><EFBFBD>
|
|
|
|
|
|
|
|
|
|
// <20><>Լ<EFBFBD>汾<EFBFBD><E6B1BE>
|
|
|
|
|
#define VER_BUBAN_101 0 // <20><><EFBFBD><EFBFBD>101
|
|
|
|
|
#define VER_IEC870_5_101 1 // IEC101
|
|
|
|
|
/////////////////////////////<2F>ṹ<EFBFBD><E1B9B9><EFBFBD><EFBFBD>/////////////////////////////////
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
long CmdTimerCnt;
|
|
|
|
|
long CmdTimerConst;
|
|
|
|
|
} BUBAN101CMDDEF;
|
|
|
|
|
|
|
|
|
|
typedef struct tagBUBAN101PORTPARAM
|
|
|
|
|
{
|
|
|
|
|
BOOL RstLinkOk; // <20><>ʼ<EFBFBD><CABC>ʱ<EFBFBD><CAB1>FALSE
|
|
|
|
|
BOOL LinkOk; // <20><>վ<EFBFBD><D5BE>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>־ 1:ok; 0:no <20><>ʼ<EFBFBD><CABC>ʱ<EFBFBD><CAB1>FALSE
|
|
|
|
|
BOOL Initdata; // <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ٻ<EFBFBD><D9BB><EFBFBD>־ TRUE<55><45><EFBFBD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD>ٻ<EFBFBD><D9BB><EFBFBD><EFBFBD><EFBFBD>֡
|
|
|
|
|
// FALSE<53><45>δ<EFBFBD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD>ٻ<EFBFBD><D9BB><EFBFBD><EFBFBD><EFBFBD>֡
|
|
|
|
|
// <20>ٻ<EFBFBD><D9BB><EFBFBD><EFBFBD>ȱ<EFBFBD>־ TRUE<55><45><EFBFBD>յ<EFBFBD><D5B5>ٻ<EFBFBD><D9BB><EFBFBD><EFBFBD><EFBFBD>֡
|
|
|
|
|
// FALSE<53><45>δ<EFBFBD>յ<EFBFBD><D5B5>ٻ<EFBFBD><D9BB><EFBFBD><EFBFBD><EFBFBD>֡
|
|
|
|
|
BYTE LinkAddr; // <20><>ַ<EFBFBD><D6B7>
|
|
|
|
|
BYTE CtlByte; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
|
|
|
|
|
long LinkOkCnt;
|
|
|
|
|
long lTimeOutConst; // <20><>ʱʱ<CAB1><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
short RtuVersion; // <20>汾<EFBFBD><E6B1BE>
|
|
|
|
|
|
|
|
|
|
short BalanceOrNot; //<2F>Ƿ<EFBFBD>ƽ<EFBFBD><C6BD>ʽ =1:ok; =0:no
|
|
|
|
|
|
|
|
|
|
short CurCmdIdx;
|
|
|
|
|
short YkMode; // ң<>ط<EFBFBD>ʽ(=0<><30>˫<EFBFBD><CBAB>ң<EFBFBD>أ<EFBFBD>=1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ң<EFBFBD>أ<EFBFBD>=2<><32>ֱ<EFBFBD>ط<EFBFBD>ʽ)
|
|
|
|
|
|
|
|
|
|
// wen 2005.01.15 <20><EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>ַ
|
|
|
|
|
int iAiBaseAddr; //ң<><D2A3><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>ַ
|
|
|
|
|
int iDiBaseAddr; //ң<><D2A3><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>ַ
|
|
|
|
|
int iPiBaseAddr; //ң<><D2A3><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>ַ
|
|
|
|
|
int iYkBaseAddr; //ң<><D2A3><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>ַ
|
|
|
|
|
|
|
|
|
|
BYTE m_au8RecvBuf[300];
|
|
|
|
|
int m_iRecvLen;
|
|
|
|
|
|
|
|
|
|
BUBAN101CMDDEF CmdTime[BUBAN101_TIMER_CMD_NUM];
|
|
|
|
|
|
|
|
|
|
SIO_PARAM_BAOHU_DEF *m_psBaoHu; // <20>ù<EFBFBD>Լ<EFBFBD>Ķ˿<C4B6><CBBF><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>
|
|
|
|
|
} BUBAN101PORTPARAM, *pBUBAN101PORTPARAM;
|
|
|
|
|
|
|
|
|
|
/////////////////////////<2F><><EFBFBD><EFBFBD>Ϊͨ<CEAA>ú<EFBFBD><C3BA><EFBFBD><EFBFBD>ӿ<EFBFBD>///////////////////////////
|
|
|
|
|
/*!
|
|
|
|
|
\brief <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>ú<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
\param commid -- <EFBFBD>˿ں<EFBFBD>
|
|
|
|
|
\note
|
|
|
|
|
ȡֵ<EFBFBD><EFBFBD>Χ<EFBFBD><EFBFBD>0 -- MaxSerialPortNum + MaxNetPortNum -1\n
|
|
|
|
|
*/
|
|
|
|
|
void Buban101ReadConfig(int commid); // <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
/*!
|
|
|
|
|
\brief <EFBFBD><EFBFBD>ȡ<EFBFBD>˿<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݺ<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
\param commid -- <EFBFBD>˿ں<EFBFBD>
|
|
|
|
|
\note
|
|
|
|
|
ȡֵ<EFBFBD><EFBFBD>Χ<EFBFBD><EFBFBD>0 -- MaxSerialPortNum + MaxNetPortNum -1\n
|
|
|
|
|
\param buf -- <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
|
|
|
|
|
\param len -- <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
void Buban101RecvData(int commid, u_char *buf, int len);// <20><>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD><DDB4><EFBFBD>
|
|
|
|
|
/*!
|
|
|
|
|
\brief <EFBFBD><EFBFBD>Լ<EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
\param commid -- <EFBFBD>˿ں<EFBFBD>
|
|
|
|
|
\note
|
|
|
|
|
ȡֵ<EFBFBD><EFBFBD>Χ<EFBFBD><EFBFBD>0 -- MaxSerialPortNum + MaxNetPortNum -1\n
|
|
|
|
|
*/
|
|
|
|
|
void Buban101Timer(int commid); // <20><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
/*!
|
|
|
|
|
\brief ң<EFBFBD><EFBFBD>ң<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
\param commid -- <EFBFBD>˿ں<EFBFBD>
|
|
|
|
|
\note
|
|
|
|
|
ȡֵ<EFBFBD><EFBFBD>Χ<EFBFBD><EFBFBD>0 -- MaxSerialPortNum + MaxNetPortNum -1\n
|
|
|
|
|
\param buf -- <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
|
|
|
|
|
\param len -- <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
void Buban101YkYtProcess(int commid, u_char *buf, int len); // ң<><D2A3>ң<EFBFBD><D2A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
/*!
|
|
|
|
|
\brief ϵͳ<EFBFBD>·<EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
\param commid -- <EFBFBD>˿ں<EFBFBD>
|
|
|
|
|
\note
|
|
|
|
|
ȡֵ<EFBFBD><EFBFBD>Χ<EFBFBD><EFBFBD>0 -- MaxSerialPortNum + MaxNetPortNum -1\n
|
|
|
|
|
*/
|
|
|
|
|
void Buban101SendSystemTime(int commid); // ϵͳ<CFB5><CDB3>ʱ
|
|
|
|
|
/*!
|
|
|
|
|
\brief ϵͳ<EFBFBD>˳<EFBFBD>ʱ<EFBFBD><EFBFBD>Լ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
\param commid -- <EFBFBD>˿ں<EFBFBD>
|
|
|
|
|
\note
|
|
|
|
|
ȡֵ<EFBFBD><EFBFBD>Χ<EFBFBD><EFBFBD>0 -- MaxSerialPortNum + MaxNetPortNum -1\n
|
|
|
|
|
*/
|
|
|
|
|
void Buban101Exit(int commid); // <20><>Լ<EFBFBD>˳<EFBFBD>
|
|
|
|
|
/*!
|
|
|
|
|
\brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
\param commid -- <EFBFBD>˿ں<EFBFBD>
|
|
|
|
|
\param rtumsg -- <EFBFBD>·<EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
|
|
|
|
|
\note
|
|
|
|
|
ȡֵ<EFBFBD><EFBFBD>Χ<EFBFBD><EFBFBD>0 -- MaxSerialPortNum + MaxNetPortNum -1\n
|
|
|
|
|
*/
|
|
|
|
|
void Buban101BaoHuCmdProcess(int commid, RTUMSG *rtumsg, BOOL bUpData);
|
|
|
|
|
/*!
|
|
|
|
|
\brief ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>ָ<EFBFBD>뺯<EFBFBD><EFBFBD>
|
|
|
|
|
\param commid -- <EFBFBD>˿ں<EFBFBD>
|
|
|
|
|
\param iProvAddr -- ͳһ<EFBFBD><EFBFBD><EFBFBD>ŵı<EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
|
|
|
|
\param ppBaoHuDB -- <EFBFBD><EFBFBD><EFBFBD>ű<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
|
|
|
|
|
\retval -- <EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD>װ<EFBFBD>ñ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
int Buban101GetBaohuDataBase(int commid, int iProvAddr, GROUPDEF **ppBaoHuDB);
|
|
|
|
|
/////////////////////////ͨ<>ú<EFBFBD><C3BA><EFBFBD><EFBFBD>ӿڽ<D3BF><DABD><EFBFBD>///////////////////////////////
|
|
|
|
|
|
|
|
|
|
/////////////////////////buban101<30><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>///////////////////////////
|
|
|
|
|
// У<><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֡<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>ȷ
|
|
|
|
|
BOOL Buban101Check(u_char* msg, int len);
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD> Buban101 <20>ۼӺͼ<D3BA><CDBC><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
u_char CalBuban101Lpc(u_char* msg, int len);
|
|
|
|
|
//ָ<><EFBFBD><EEBBBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>
|
|
|
|
|
void InitBuban101CommandBuffer(int commid);
|
|
|
|
|
/////////////////////////buban101<30><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿڽ<D3BF><DABD><EFBFBD>///////////////////////
|
|
|
|
|
|
|
|
|
|
/////////////////////////<2F><><EFBFBD><EFBFBD>Ϊͨ<CEAA>ú<EFBFBD><C3BA><EFBFBD>֧<EFBFBD>ֽӿ<D6BD>/////////////////////////
|
|
|
|
|
void Buban101ProvMakeYkYtCommand(int commid, u_char *buf, int len);
|
|
|
|
|
/////////////////////////ͨ<>ú<EFBFBD><C3BA><EFBFBD>֧<EFBFBD>ֽӿڽ<D3BF><DABD><EFBFBD>///////////////////////////
|
|
|
|
|
|
|
|
|
|
///////////////////////////<2F><><EFBFBD><EFBFBD>Ϊָ<CEAA><D6B8><EFBFBD><EFBFBD><EFBFBD>ɺ<EFBFBD><C9BA><EFBFBD>///////////////////////////
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD> Buban101 <20><><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
void MakeBuban101Command(u_32 commid, u_char cmdidx);
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>ң<EFBFBD><D2A3>ң<EFBFBD><D2A3>ָ<EFBFBD><D6B8>
|
|
|
|
|
void MakeBuBan101YkYtCommand(u_32 commid, u_char *buf, int len);
|
|
|
|
|
///////////////////////////ָ<><D6B8><EFBFBD><EFBFBD><EFBFBD>ɺ<EFBFBD><C9BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/////////////////////////////
|
|
|
|
|
|
|
|
|
|
/////////////////////<2F><><EFBFBD><EFBFBD>ΪPOLLING<4E><47>Լ<EFBFBD><D4BC><EFBFBD>溯<EFBFBD><E6BAAF><EFBFBD>ӿ<EFBFBD>//////////////////////
|
|
|
|
|
void Buban101FindNextCmd(int commid);
|
|
|
|
|
BOOL Buban101FindNextCmdEx(int commid);
|
|
|
|
|
void Buban101SendCmdFormPollCmdBuf(int commid);
|
|
|
|
|
//////////////////////POLLING<4E><47>Լ<EFBFBD><D4BC><EFBFBD>溯<EFBFBD><E6BAAF><EFBFBD>ӿڽ<D3BF><DABD><EFBFBD>///////////////////////
|
|
|
|
|
|
|
|
|
|
///////////////////////<2F><><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>///////////////////////////
|
|
|
|
|
//======================<3D><><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>վ<EFBFBD><D5BE><EFBFBD>ݴ<EFBFBD><DDB4><EFBFBD>============================
|
|
|
|
|
void Buban101ProcessData(u_32 commid, BUBAN101PORTPARAM *psPortParam, BOOL bProcess);
|
|
|
|
|
void Buban101shortprocess(RTUMSG *rtumsg);
|
|
|
|
|
void Buban101longprocess(RTUMSG *rtumsg);
|
|
|
|
|
void Buban101NoChanged(RTUMSG * rtumsg);
|
|
|
|
|
|
|
|
|
|
//Buban101 <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD><DDB4><EFBFBD>
|
|
|
|
|
void Buban101InitdataProecss(RTUMSG * rtumsg);
|
|
|
|
|
//<2F><><EFBFBD>Ƚ<EFBFBD><C8BD><EFBFBD>֡
|
|
|
|
|
void Buban101PidataEnd(RTUMSG * rtumsg);
|
|
|
|
|
//<2F>趨ȷ<E8B6A8><C8B7>
|
|
|
|
|
void Buban101SetAck(RTUMSG *rtumsg);
|
|
|
|
|
//Buban101 ң<><D2A3>ң<EFBFBD><D2A3><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD>
|
|
|
|
|
void Buban101YkYtAck(RTUMSG * rtumsg);
|
|
|
|
|
//Buban101 <20><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
|
|
|
|
|
void Buban101SynTime(RTUMSG * rtumsg);
|
|
|
|
|
|
|
|
|
|
// <20><>վ<EFBFBD><D5BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ң<EFBFBD>ű<EFBFBD>λ֡
|
|
|
|
|
void Buban101AutoSendDiProcess(RTUMSG *rtumsg);
|
|
|
|
|
|
|
|
|
|
void Buban101AiWithPzDataProcess(RTUMSG *, int);
|
|
|
|
|
void Buban101AllAiDataProcess(RTUMSG *rtumsg);
|
|
|
|
|
void Buban101DiDataProcess(RTUMSG *rtumsg, int);
|
|
|
|
|
void Buban101SoeDataProcess(RTUMSG *rtumsg, int);
|
|
|
|
|
void Buban101PiDataProcess(RTUMSG * rtumsg);
|
|
|
|
|
void Buban101PiWithTimeDataProcess(RTUMSG *rtumsg);
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD><DDB4><EFBFBD>
|
|
|
|
|
void Buban101BaoHuDataProcess(RTUMSG *rtumsg);
|
|
|
|
|
void Buban101DefaultBaoHuDataProcess(RTUMSG *rtumsg);
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 7 BYTE <20><>ʱ<EFBFBD><CAB1>
|
|
|
|
|
void Buban101SoeDataProcessWithCP56Time2a(RTUMSG *rtumsg, int flag);
|
|
|
|
|
void Buban101AiWithDataProcessWithM_ME_TD_1(RTUMSG * rtumsg);
|
|
|
|
|
void Buban101AiWithDataProcessWithM_ME_TE_1(RTUMSG * rtumsg);
|
|
|
|
|
void Buban101AiWithDataProcessWithM_ME_TF_1(RTUMSG * rtumsg);
|
|
|
|
|
void Buban101PiWithTimeDataProcessWithM_IT_TB_1(RTUMSG *rtumsg);
|
|
|
|
|
|
|
|
|
|
//======================<3D><><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>վ<EFBFBD><D5BE><EFBFBD>ݴ<EFBFBD><DDB4><EFBFBD>============================
|
|
|
|
|
void ProvBuban101dataProcess(int commid, RTUMSG *rtumsg);
|
|
|
|
|
void ProvBuban101shortprocess(int commid, RTUMSG * rtumsg);
|
|
|
|
|
void ProvBuban101longprocess(int commid, RTUMSG * rtumsg);
|
|
|
|
|
void ProvBuban101SendAllData(int commid, RTUMSG * rtumsg);
|
|
|
|
|
void ProvBuban101SendPIData(int commid, RTUMSG * rtumsg);
|
|
|
|
|
void ProvBuban101ProcessTime(int commid, RTUMSG *rtumsg);
|
|
|
|
|
//iGroupNo=0Ϊ<30><CEAA>Ӧ<EFBFBD><D3A6><EFBFBD>ٻ<EFBFBD>
|
|
|
|
|
void ProvBuban101SendPI(int commid, RTUMSG *rtumsg, int iGroupNo);
|
|
|
|
|
void ProvBuban101SendAI(int commid, RTUMSG *rtumsg, int iGroupNo);
|
|
|
|
|
void ProvBuban101SendDI(int commid, RTUMSG *rtumsg, int iGroupNo);
|
|
|
|
|
|
|
|
|
|
void ProvBuban101YkYtData(int commid, RTUMSG *rtumsg);
|
|
|
|
|
void MakeProvBuban101YkYtAckMsg(int commid, int pnt, int op, int step);
|
|
|
|
|
|
|
|
|
|
void ProvBuban101SendClass1(int commid);
|
|
|
|
|
void ProvBuban101SendClass2(int commid);
|
|
|
|
|
void ProvMakeBuban101Command(int commid, u_char cmdidx);
|
|
|
|
|
/////////////////////////<2F><>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿڽ<D3BF><DABD><EFBFBD>///////////////////////////
|
|
|
|
|
|
|
|
|
|
#endif // !defined(_BUBAN101_H_200509081012__INCLUDED_)
|