📄 taas.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 + -