|
|
|
|
/************************************************************************************
|
|
|
|
|
*
|
|
|
|
|
* Copyright (C) 2004-2005 SCADA Control Technology Co., Ltd.
|
|
|
|
|
* All rights reserved.
|
|
|
|
|
*
|
|
|
|
|
* <EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD>buban104.h
|
|
|
|
|
* <EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>ʶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>104<EFBFBD><EFBFBD>Լ
|
|
|
|
|
* ժ Ҫ<EFBFBD><EFBFBD>104<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/14
|
|
|
|
|
*
|
|
|
|
|
* ȡ<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>
|
|
|
|
|
**************************************************************************************/
|
|
|
|
|
// buban104.h: interface for the buban104 class.
|
|
|
|
|
//
|
|
|
|
|
//////////////////////////////////////////////////////////////////////
|
|
|
|
|
#if !defined(_BUBAN104_H_200509141152__INCLUDED_)
|
|
|
|
|
#define _BUBAN104_H_200509141152__INCLUDED_
|
|
|
|
|
#ifdef OS_LINUX
|
|
|
|
|
#include "baohulib/common.h"
|
|
|
|
|
#else
|
|
|
|
|
#include "common.h"
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
|
|
|
// <09>궨<EFBFBD><EAB6A8> //
|
|
|
|
|
// WEN 2005.09.08 //
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
|
|
|
#define MAX_104_PINUM 30
|
|
|
|
|
|
|
|
|
|
#define FORMAT_I 14 // I-<2D><>ʽ
|
|
|
|
|
#define FORMAT_S 15 // S-<2D><>ʽ
|
|
|
|
|
#define FORMAT_U_START_ACT 16 // U-<2D><>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>
|
|
|
|
|
#define FORMAT_U_START_CON 17 // U-<2D><>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>
|
|
|
|
|
#define FORMAT_U_STOP_ACT 18 // U-<2D><>ʽֹͣ
|
|
|
|
|
#define FORMAT_U_STOP_CON 19 // U-<2D><>ʽֹͣӦ<D6B9><D3A6>
|
|
|
|
|
#define FORMAT_U_TEST_ACT 20 // U-<2D><>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>
|
|
|
|
|
#define FORMAT_U_TEST_CON 21 // U-<2D><>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>
|
|
|
|
|
|
|
|
|
|
// <20><>ʱ<EFBFBD>ٻ<EFBFBD><D9BB><EFBFBD><EFBFBD><EFBFBD><EEBCB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
#define BUBAN104_TIMER_CMD_NUM 3 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ
|
|
|
|
|
#define MAX_SEQUENCE 0x7fff // <20><><EFBFBD><EFBFBD>֡<EFBFBD><D6A1><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
#define MAX_FRAMEMATCHING_SIZE 2 // ֡<><D6A1>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߴ<EFBFBD>
|
|
|
|
|
|
|
|
|
|
// <20><>Լ<EFBFBD>汾<EFBFBD><E6B1BE>
|
|
|
|
|
#define VER_BUBAN_104 0 // <20><><EFBFBD><EFBFBD>104
|
|
|
|
|
#define VER_IEC870_5_104 1 // IEC104
|
|
|
|
|
/////////////////////////////<2F>ṹ<EFBFBD><E1B9B9><EFBFBD><EFBFBD>/////////////////////////////////
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
long CmdTimerCnt;
|
|
|
|
|
long CmdTimerConst;
|
|
|
|
|
} BUBAN104CMDDEF;
|
|
|
|
|
|
|
|
|
|
typedef struct tagBUBAN104PORTPARAM
|
|
|
|
|
{
|
|
|
|
|
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>֡
|
|
|
|
|
WORD wLinkAddr; // <20><>ַ<EFBFBD><D6B7>
|
|
|
|
|
|
|
|
|
|
WORD wSendSequence; // <20><><EFBFBD><EFBFBD>֡<EFBFBD><D6A1><EFBFBD><EFBFBD>
|
|
|
|
|
WORD wRecvSequence; // <20><><EFBFBD><EFBFBD>֡<EFBFBD><D6A1><EFBFBD><EFBFBD>
|
|
|
|
|
WORD wAckSequence; // Ӧ<><D3A6>֡<EFBFBD><D6A1><EFBFBD><EFBFBD>
|
|
|
|
|
BOOL bAckRight; // Ӧ<><D3A6>֡<EFBFBD>Ƿ<EFBFBD>ͬ<EFBFBD><CDAC> (<28><>վ<EFBFBD><D5BE><EFBFBD><EFBFBD>Ч)
|
|
|
|
|
BOOL bStopComm; // ͨѶֹͣ
|
|
|
|
|
|
|
|
|
|
BOOL bSendFormatI;
|
|
|
|
|
BYTE ProvAckOrNot; // ת<><D7AA><EFBFBD>Ƿ<EFBFBD>Ҫ<EFBFBD><D2AA>Ӧ<EFBFBD><D3A6>
|
|
|
|
|
|
|
|
|
|
long lTimeOutSendTest;// <20><>ʱ<EFBFBD><CAB1><EFBFBD>Ͳ<EFBFBD><CDB2><EFBFBD>֡
|
|
|
|
|
long lTimeOutConst; // <20><>ʱʱ<CAB1><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
long lTimeOutCnt; // <20><>ʱʱ<CAB1><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
long lYkYtAckTimeConst;// <20><>У<EFBFBD><D0A3>ʱʱ<CAB1><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
long lYkYtAckTime; // <20><>У<EFBFBD><D0A3>ʱʱ<CAB1><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
BOOL bCloseSocket; // <20>ر<EFBFBD>socket<65>˿<EFBFBD>
|
|
|
|
|
char YkCmdBuf[32]; // ң<><D2A3><EFBFBD>ӳٷ<D3B3><D9B7>ͷ<EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
long lYkCmdBuflen; // ң<><D2A3><EFBFBD>ӳٷ<D3B3><D9B7>ͷ<EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݳ<EFBFBD>
|
|
|
|
|
|
|
|
|
|
long m_lNoDataCnt; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>䣬<EFBFBD><E4A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱʱ<CAB1>䷢<EFBFBD>Ͳ<EFBFBD><CDB2><EFBFBD>֡
|
|
|
|
|
|
|
|
|
|
short RtuVersion; // <20>汾<EFBFBD><E6B1BE>
|
|
|
|
|
int m_iPublishYear; // <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>(ȱʡΪ2000<30><30>)
|
|
|
|
|
|
|
|
|
|
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;
|
|
|
|
|
|
|
|
|
|
int m_iFrameSize; // ֡<><D6A1>Ӧ<EFBFBD><D3A6><EFBFBD>ߴ<EFBFBD>
|
|
|
|
|
|
|
|
|
|
BYTE m_bProvAiType; // ת<><D7AA>ң<EFBFBD><D2A3><EFBFBD><EFBFBD><EFBFBD>ͱ<EFBFBD>ʶ
|
|
|
|
|
|
|
|
|
|
BUBAN104CMDDEF CmdTime[BUBAN104_TIMER_CMD_NUM];
|
|
|
|
|
|
|
|
|
|
SIO_PARAM_BAOHU_DEF *m_psBaoHu; // <20>ù<EFBFBD>Լ<EFBFBD>Ķ˿<C4B6><CBBF><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>
|
|
|
|
|
} BUBAN104PORTPARAM, *pBUBAN104PORTPARAM;
|
|
|
|
|
|
|
|
|
|
/////////////////////////<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 Buban104ReadConfig(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 Buban104RecvData(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 Buban104Timer(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 Buban104YkYtProcess(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 Buban104SendSystemTime(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 Buban104Exit(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 Buban104BaoHuCmdProcess(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 Buban104GetBaohuDataBase(int commid, int iProvAddr, GROUPDEF **ppBaoHuDB);
|
|
|
|
|
/////////////////////////ͨ<>ú<EFBFBD><C3BA><EFBFBD><EFBFBD>ӿڽ<D3BF><DABD><EFBFBD>///////////////////////////////
|
|
|
|
|
|
|
|
|
|
/////////////////////////buban104<30><34><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>///////////////////////////
|
|
|
|
|
//ָ<><EFBFBD><EEBBBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>
|
|
|
|
|
void InitBuban104CommandBuffer(int commid);
|
|
|
|
|
//<2F>ر<EFBFBD>socketͨѶ
|
|
|
|
|
void Buban104CloseSocket(u_32 commid);
|
|
|
|
|
/////////////////////////buban104<30><34><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿڽ<D3BF><DABD><EFBFBD>///////////////////////
|
|
|
|
|
|
|
|
|
|
/////////////////////////<2F><><EFBFBD><EFBFBD>Ϊͨ<CEAA>ú<EFBFBD><C3BA><EFBFBD>֧<EFBFBD>ֽӿ<D6BD>/////////////////////////
|
|
|
|
|
void Buban104ProvMakeYkYtCommand(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> Buban104 <20><><EFBFBD><EFBFBD>?
|
|
|
|
|
void MakeBuban104Command(u_32 commid, u_char cmdidx);
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>ң<EFBFBD><D2A3>ң<EFBFBD><D2A3>ָ<EFBFBD><D6B8>
|
|
|
|
|
void MakeBuBan104YkYtCommand(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 Buban104FindNextCmd(int commid);
|
|
|
|
|
void Buban104FindNextProvCmd(int commid);
|
|
|
|
|
void Buban104SendCmdFormPollCmdBuf(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 Buban104ProcessData(u_32 commid, BUBAN104PORTPARAM *psPortParam, BOOL bProcess);
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݸ<EFBFBD>ʽI
|
|
|
|
|
void Buban104FormatI(RTUMSG *rtumsg);
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݸ<EFBFBD>ʽU
|
|
|
|
|
void Buban104FormatU(RTUMSG *rtumsg);
|
|
|
|
|
|
|
|
|
|
//Buban104 <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD><DDB4><EFBFBD>
|
|
|
|
|
void Buban104InitdataProecss(RTUMSG * rtumsg);
|
|
|
|
|
//<2F><><EFBFBD>Ƚ<EFBFBD><C8BD><EFBFBD>֡
|
|
|
|
|
void Buban104PidataEnd(RTUMSG * rtumsg);
|
|
|
|
|
//<2F>趨ȷ<E8B6A8><C8B7>
|
|
|
|
|
void Buban104SetAck(RTUMSG *rtumsg);
|
|
|
|
|
//Buban104 ң<><D2A3>ң<EFBFBD><D2A3><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD>
|
|
|
|
|
void Buban104YkYtAck(RTUMSG * rtumsg);
|
|
|
|
|
//Buban104 <20><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
|
|
|
|
|
void Buban104SynTime(RTUMSG * rtumsg);
|
|
|
|
|
|
|
|
|
|
// <20><>վ<EFBFBD><D5BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ң<EFBFBD>ű<EFBFBD>λ֡
|
|
|
|
|
void Buban104AutoSendDiProcess(RTUMSG *rtumsg);
|
|
|
|
|
|
|
|
|
|
void Buban104AiWithPzDataProcess(RTUMSG *, int);
|
|
|
|
|
void Buban104AllAiDataProcess(RTUMSG *rtumsg);
|
|
|
|
|
void Buban104AllFloatAiDataProcess(RTUMSG *rtumsg);
|
|
|
|
|
void Buban104DiDataProcess(RTUMSG *rtumsg, int);
|
|
|
|
|
void Buban104SoeDataProcess(RTUMSG *rtumsg, int);
|
|
|
|
|
void Buban104PiDataProcess(RTUMSG * rtumsg);
|
|
|
|
|
void Buban104PiWithTimeDataProcess(RTUMSG *rtumsg);
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD><DDB4><EFBFBD>
|
|
|
|
|
void Buban104BaoHuDataProcess(RTUMSG *rtumsg);
|
|
|
|
|
void Buban104DefaultBaoHuDataProcess(RTUMSG *rtumsg);
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 7 BYTE <20><>ʱ<EFBFBD><CAB1>
|
|
|
|
|
void Buban104SoeDataProcessWithCP56Time2a(RTUMSG *rtumsg, int flag);
|
|
|
|
|
void Buban104AiWithDataProcessWithM_ME_TD_1(RTUMSG * rtumsg);
|
|
|
|
|
void Buban104AiWithDataProcessWithM_ME_TE_1(RTUMSG * rtumsg);
|
|
|
|
|
void Buban104AiWithDataProcessWithM_ME_TF_1(RTUMSG * rtumsg);
|
|
|
|
|
void Buban104PiWithTimeDataProcessWithM_IT_TB_1(RTUMSG *rtumsg);
|
|
|
|
|
|
|
|
|
|
//======================<3D><><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>վ<EFBFBD><D5BE><EFBFBD>ݴ<EFBFBD><DDB4><EFBFBD>============================
|
|
|
|
|
void ProvBuban104dataProcess(int commid, RTUMSG *rtumsg);
|
|
|
|
|
void ProvBuban104FormatI(int commid, RTUMSG *rtumsg);
|
|
|
|
|
void ProvBuban104FormatU(int commid, RTUMSG *rtumsg);
|
|
|
|
|
void ProvBuban104FormatS(int commid, RTUMSG *rtumsg);
|
|
|
|
|
void ProvBuban104SendAllData(int commid, RTUMSG *rtumsg);
|
|
|
|
|
void ProvBuban104SendPIData(int commid, RTUMSG *rtumsg);
|
|
|
|
|
void ProvBuban104ProcessTime(int commid, RTUMSG *rtumsg);
|
|
|
|
|
//iGroupNo=0Ϊ<30><CEAA>Ӧ<EFBFBD><D3A6><EFBFBD>ٻ<EFBFBD>
|
|
|
|
|
void ProvBuban104SendPI(int commid, RTUMSG *rtumsg, int iGroupNo);
|
|
|
|
|
void ProvBuban104SendAI(int commid, RTUMSG *rtumsg, int iGroupNo);
|
|
|
|
|
void ProvBuban104SendDI(int commid, RTUMSG *rtumsg, int iGroupNo);
|
|
|
|
|
void ProvBuban104SendSoe(int commid);
|
|
|
|
|
void ProvBuban104YkYtData(int commid, RTUMSG *rtumsg);
|
|
|
|
|
void MakeProvBuban104YkYtAckMsg(int commid, int pnt, int op, int step);
|
|
|
|
|
|
|
|
|
|
void ProvBuban104SendClass1(int commid);
|
|
|
|
|
void ProvBuban104SendClass2(int commid);
|
|
|
|
|
void ProvMakeBuban104Command(int commid, u_char cmdidx);
|
|
|
|
|
|
|
|
|
|
void ProvBuban104SendAIwithFloat(int commid, RTUMSG *rtumsg, int iGroupNo);
|
|
|
|
|
void ProvBuban104SendClass2withFloat(int commid);
|
|
|
|
|
/////////////////////////<2F><>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿڽ<D3BF><DABD><EFBFBD>///////////////////////////
|
|
|
|
|
#endif // !defined(_BUBAN104_H_200509141152__INCLUDED_)
|