📄 simusas.h
字号:
#ifndef SIMUSAS_H#define SIMUSAS_H#include "msystem.h"#include "dlservice.h"#include "appservice.h"#include "allmgr.h"/** *@author */struct SYC { DWORD m_dwYCNo; BYTE m_byPointBit; WORD m_wValue;};class CCXSerialNo{public: CCXSerialNo(){Init();} SYC* GetYCS(BYTE byIndex) { if (byIndex < m_wYCNum) return &m_pYCChar[byIndex]; else return NULL; } WORD GetYCNo(BYTE byIndex) { if (byIndex < m_wYCNum) return m_pYCChar[byIndex].m_dwYCNo; else return 0xffff; } WORD GetYXNo(BYTE byIndex) { if (byIndex < m_wYXNum) return m_pwYXSerialNo[byIndex]; else return 0xffff; } BYTE GetYXIndex(WORD wYXNo) { for (BYTE b=0; b<m_wYXNum; b++) { if (m_pwYXSerialNo[b] == wYXNo) return b; } return 0xff; } BYTE GetYCIndex(DWORD dwYCNo) { for (BYTE b=0; b<m_wYCNum; b++) { if (m_pYCChar[b].m_dwYCNo == dwYCNo) return b; } return 0xff; } BYTE GetYCPointBit(DWORD dwYCNo) { for (BYTE b=0; b<m_wYCNum; b++) { if (m_pYCChar[b].m_dwYCNo == dwYCNo) return m_pYCChar[b].m_byPointBit; } return 0; }protected: SYC* m_pYCChar ; DWORD* m_pwYXSerialNo; WORD m_wYCNum; WORD m_wYXNum; void Init();};class CSimuSAS : public CSAppService {public: CSimuSAS(CAllMgr* pAllMgr,CSerialPortDef* pChannel); ~CSimuSAS(); bool Init(); // void SetYC(WORD byYCNo);// void SetYX(WORD byYXGNo); void YC(YCData* pYCValue,WORD wCount){}; void YX(YXData* pBoolValue,WORD wCount){}; void DD(DDData* pDDValue,WORD wCount){}; void SOE(SOEData* pSOEValue,WORD wCount){}; WORD FloatToWORD(float fValue,BYTE byPointBit) { if (fValue < float(0)) fValue = -fValue; if (fValue != 0) { for (BYTE byBit=0; byBit<byPointBit; byBit++) fValue *= 10; // while (fValue > 1000) fValue /= 10; // while (fValue < 100) fValue *= 10; } return (WORD)fValue; } void WORDToBuf(WORD wValue,BYTE* pBuf) { if (wValue > 1000) wValue = 999; for (BYTE b=0; b<4; b++) { if (b==0) pBuf[b] = (BYTE)(wValue%10); else if (b==1) pBuf[b-1] |= (BYTE)(wValue%10)<<4; else if (b==2) pBuf[b-1] = (BYTE)(wValue%10); else break; wValue /= 10; } pBuf[2] = 0; pBuf[3] = 0;}protected: CSimuDLS m_DLService; void SendCycleData(); void SendYX(); CCXSerialNo m_CXSerialNo;private: pthread_t m_hThreadSend;friend void *CycleSend(void* pVoid);};#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -