📄 sepam1000mas.h
字号:
#ifndef _SEPAM1000MAS_H#define _SEPAM1000MAS_H#include "msystem.h"#include "appservice.h"#include "allmgr.h"class CSepam1000Mas : public CMAppService{public: CSepam1000Mas(CAllMgr* pAllMgr,CSerialPortDef* pChannel) : CMAppService(pAllMgr,pChannel->m_wChannelNo) , m_DLService(pChannel) { m_bySendOrder = 0; m_bySendNo = 0xff; m_byCID = 0; m_bIsAck = FALSE; for (WORD w=0;w<256;w++) { m_wBreakCount[w] = 1; m_b9[w] = m_b10[w] = m_b15[w] = m_b17[w] = m_b199[w] = false; } m_tmRectify.GetCurrentTime(); m_tmRectify += CTimeValSpan(0,0,-2,0); m_bFirst = true; m_dwIntervalMS = pChannel->m_dwIntervalMS; } ~CSepam1000Mas(); bool Init(); bool YK(WORD wDevNo,BYTE byRoute,bool bIsOn); bool GetPeriod(CFrameNode& fn); void ExplainRecvData(BYTE* pbyInBuf,WORD wInSize);// CFrame* GetEchoFrame() {return &m_frmEcho;} bool GetFV(WORD wDevNo,BYTE*& pbyData,WORD& wLength,WORD wFuncCode=0); bool PutFV(WORD wDevNo,BYTE* pFixVal,WORD bySize,WORD wFuncCode=0); void Query(); void Run();protected: BYTE m_bySendOrder; BYTE m_byCID; CModbusDLL m_DLService; BYTE m_bySendNo; BYTE m_byQueryNo; CTimeVal m_tmRectify; bool GetEvent(BYTE byAddr,BYTE byType); bool GetYC(BYTE byAddr,BYTE byType); bool GetYX(BYTE byAddr,BYTE byType); BYTE m_byFrameType; void ExpYCData(BYTE byAddr,BYTE* pbyData,BYTE bySize); void ExpYXData(BYTE byAddr,BYTE* pbyData,BYTE bySize,BYTE byOrder); void ExpEventData(BYTE byAddr,BYTE* pbyData,BYTE bySize); void SyncClock(); void ACK(BYTE byNo,CFrameNode& fn); bool m_bIsAck; BYTE m_byExchanged; WORD m_wBreakCount[256]; bool m_bFirst;private: bool m_b9[256],m_b10[256],m_b15[256],m_b17[256],m_b199[256]; DWORD m_dwIntervalMS;};#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -