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

📄 taas.h

📁 一个通讯管理机的源代码。比较好用。推荐
💻 H
字号:
#ifndef _TAAS_H#define _TAAS_H#include "msystem.h"#include "dlservice.h"#include "appservice.h"class CTAAS : public CMAppService{public:	CTAAS(CAllMgr* pAllMgr,bool bIsBlanane,BYTE byMaxReportTimes,CSerialPortDef* pChannel);	~CTAAS();		bool YK(WORD wDevNo,BYTE byRoute,bool bIsOn);	bool GetFV(WORD wDevNo,BYTE*& pbyData,WORD& wLength,WORD wFuncCode=0) {return false;}	bool PutFV(WORD wDevNo,BYTE* pFixVal,WORD bySize,WORD wFuncCode=0){return false;}//	int Read(WORD wDevNo,CFrameNode &FNSend);//	int Write(WORD wDevNo,FVData* pData,WORD wCount,CFrameNode &FNSend);//	int SReset(WORD wDevNo,CFrameNode &FNSend);	bool Init();	void Destroy();//	void SetPRM(bool bIsPRM){m_bPRM = bIsPRM;}//主动;被动//	bool GetPRM() {return m_bPRM;}//	void SetDIR(bool bDIR) {m_bDIR = bDIR;}//	bool GetDIR() {return m_bDIR}protected:	CTADLS m_DLService;	void Run();	protected:	int GetPeriod(CFrameNode& fn); //ret -1:no send data; 0:no echo frame; 1:have echo frame	int ExplainRESP(CFrameNode* pFNRecv);	//byRoute = 0 : SingalReset;	int Select(WORD wDevNo,BYTE byRoute,bool bIsOn,CFrameNode &FNSend);	int Operate(WORD wDevNo,BYTE byRoute,bool bIsOn,CFrameNode &FNSend);//	bool GetTARDD(BYTE byAddr,CFrameNode& mn);	void RectifyTime(CFrameNode& mn);//	bool ZBRectifyTime(CFrameNode& mn);	bool GetYC(BYTE byAddr,CFrameNode& mn);//	bool GetBZTYC(BYTE byAddr,CFrameNode& mn);//	bool GetPYC(BYTE byAddr,CFrameNode& mn);//	bool GetLYC(BYTE byAddr,CFrameNode& mn);	bool GetYXSOE(BYTE byAddr,CFrameNode& mn);//	bool GetYXAndSOE(BYTE byAddr,CFrameNode& mn);//	bool GetBZTYX(BYTE byAddr,CFrameNode& mn);//	bool GetPYXSOE(BYTE byAddr,CFrameNode& mn);//	bool GetLYXSOE(BYTE byAddr,CFrameNode& mn);//	bool GetPReport(BYTE byAddr,CFrameNode& mn);//	bool GetBZTReport(BYTE byAddr,CFrameNode& mn);		void ExpYXSOE(BYTE byAddr,BYTE* pbyData,BYTE bySize);	void ExpTARYC(BYTE byAddr,BYTE* pbyData,BYTE bySize);//	void ExpReportData(BYTE byNo,BYTE* pbyData,BYTE bySize);///	void ExpTALReportDataToYX(BYTE byNo,BYTE byType);//	void ExpZBReportData(BYTE byNo,BYTE* pbyData,BYTE bySize);//	void Exp211ReportData(BYTE byNo,BYTE* pbyData,BYTE bySize);//	void ExpDRQReportData(BYTE byNo,BYTE* pbyData,BYTE bySize);//	void ExpDRQReportDataToYX(BYTE byNo,BYTE byType);//	void ExpKMBReportData(BYTE byNo,BYTE* pbyData,BYTE bySize);//	void ExpTARDD(BYTE byAddr,BYTE* pbyData,BYTE bySize);private:	CTimeVal	m_tmRectify;	BYTE		m_bySendNo;	BYTE		m_bySendOrder;	BYTE		m_byAddr;	void ExpTAR200DCYC(BYTE byNo,BYTE* pbyData,BYTE bySize);	void ExpTAR200AYC(BYTE byNo,BYTE* pbyData,BYTE bySize);	void ExpTAR200CYC(BYTE byNo,BYTE* pbyData,BYTE bySize);	float ConvertP(WORD wValue)	{		float fValue;		BOOL bSignal = FALSE;		if (wValue >= 0x8000)		{			bSignal = TRUE;			wValue = ~wValue;		}		fValue = float(wValue) * float(1440) / float(0x7fff);		if (bSignal) fValue = -fValue;		return fValue;	}	float ConvertF(WORD wValue)	{		return float(50*20000)/wValue;	}	float ConvertI(WORD wValue)	{		return float(6*wValue)/32768;	}	float ConvertU(WORD wValue)	{		return float(120*wValue)/32768;	}friend void *TAMaster(void* pVoid);};/*class CTAMDev : public CMDev{public:	CTAMDev(CAllMgr* pAllMgr,)		: CMDev(pAllMgr,nOverTime)	{		m_bySendOrder = 0;		m_tmRectify.GetCurrentTime();		m_tmRectify += CTimeValSpan(0,0,-2,0);		for (BYTE b=0; b<18; b++) m_BreakNo[b]=0;		m_bySendNo = 0;	}	int GetPeriod(CFrameNode& fn); //ret -1:no send data; 0:no echo frame; 1:have echo frame	int ExplainRESP(CFrameNode* pFNRecv,CFQue& FDQueSTD);		int Read(WORD wDevNo,CFrameNode &FNSend);	int Write(WORD wDevNo,FVData* pData,WORD wCount,CFrameNode &FNSend);	//byRoute = 0 : SingalReset;	int Select(WORD wDevNo,BYTE byRoute,bool bIsOn,CFrameNode &FNSend);	int Operate(WORD wDevNo,BYTE byRoute,bool bIsOn,CFrameNode &FNSend);		int SReset(WORD wDevNo,CFrameNode &FNSend);	//	virtual cmd_echo YK(BYTE byDeviceNo,short sRoadNo,BOOL bIsOn);//	virtual cmd_echo SReset(BYTE byDeviceNo);//	virtual cmd_echo ReadCurFixVal(BYTE byProtNo,BYTE*& pbyData,WORD& wLength);//	virtual cmd_echo PutFixVal(BYTE byNo,BYTE* pFixVal,WORD bySize);		BOOL SetDD(BYTE byNo);	BOOL SetCal(BYTE byNo,BOOL bStatus);	void SetFaultYX(BYTE by9,BYTE byChannel);	BYTE m_BreakNo[18];protected:		string Get210FaultString(WORD wFaultNo);	string Get211FaultString(WORD wFaultNo);	BYTE		m_byBreakCount[256];	CTimeVal	m_tmRectify;	CTimeVal	m_tmLast;	BYTE		m_bySendNo;	BYTE		m_bySendOrder;	BYTE		m_byAddr;	void ExpYXSOEData(BYTE byAddr,BYTE* pbyData,BYTE bySize);	void ExpYCData(BYTE byAddr,BYTE* pbyData,BYTE bySize);	void ExpReportData(BYTE byNo,BYTE* pbyData,BYTE bySize);	void ExpTALReportDataToYX(BYTE byNo,BYTE byType);	void ExpZBReportData(BYTE byNo,BYTE* pbyData,BYTE bySize);	void Exp211ReportData(BYTE byNo,BYTE* pbyData,BYTE bySize);	void ExpDRQReportData(BYTE byNo,BYTE* pbyData,BYTE bySize);	void ExpDRQReportDataToYX(BYTE byNo,BYTE byType);	void ExpKMBReportData(BYTE byNo,BYTE* pbyData,BYTE bySize);	void ExpTARDD(BYTE byAddr,BYTE* pbyData,BYTE bySize);	string GetFaultString(WORD wFaultNo,BYTE byNo);		BYTE GetAddr(BYTE byProtectorNo)	{		return m_subdevmgr.GetAddr(byProtectorNo);	}	void SetAddr(BYTE byProtectorNo,BYTE byNewAddr)	{		m_subdevmgr.SetAddr(byProtectorNo,byNewAddr);	}	WORD GetPasswd(BYTE byProtectorNo)	{		return m_subdevmgr.GetPasswd(byProtectorNo);	}	void SetPasswd(BYTE byProtectorNo,WORD wNewPasswd)	{		m_subdevmgr.SetPasswd(byProtectorNo,wNewPasswd);	}public:	float ConvertP(WORD wValue)	{		float fValue;		BOOL bSignal = FALSE;		if (wValue >= 0x8000)		{			bSignal = TRUE;			wValue = ~wValue;		}		fValue = float(wValue) * float(1440) / float(0x7fff);		if (bSignal) fValue = -fValue;		return fValue;	}	float ConvertF(WORD wValue)	{		return float(50*20000)/wValue;	}	float ConvertI(WORD wValue)	{		return float(6*wValue)/32768;	}	float ConvertTAR200CI(WORD wValue)	{		return float(100*wValue)/32768;	}	float ConvertTAR200CP(WORD wValue)	{		float fValue;		BOOL bSignal = FALSE;		if (wValue >= 0x8000)		{			bSignal = TRUE;			wValue = ~wValue;		}		fValue = float(wValue) * float(24000) / float(0x7fff);		if (bSignal) fValue = -fValue;		return fValue;	}	float ConvertU(WORD wValue)	{		return float(120*wValue)/32768;	}};*/#endif

⌨️ 快捷键说明

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