#pragma once #include #include "SignalControl.h" class AFX_EXT_CLASS CSignalControl_MxComponent : public CSignalControl { public: CSignalControl_MxComponent(int nIndex, DWORD dwPeriod=100); virtual ~CSignalControl_MxComponent(void); virtual int Connect(const CSignalControlInfo* pControlInfo); virtual void Disconnect(); virtual BOOL Read_ReceiveSignal(int nAddrIndex, WORD& dwValue); virtual BOOL Write_SendSignal(int nAddrIndex, int nSignalIndex, WORD wSignalValue, int nOnTime=1000); virtual BOOL Read_SendSignal(int nAddrIndex, WORD& dwValue); virtual BOOL ReadData(const CString strAddr, int nSize, CString& strData); virtual BOOL ReadData(const CString strAddr, int nSize, char* pData); virtual BOOL WriteWordData(const CString strAddr, int nSize, int nData); virtual BOOL WriteData(const CString strAddr, int nSize, CString strData); virtual BOOL WritePacketData(const CString strAddr, int nSize, short* pPacketData); protected: virtual int Hex2Dec(const CString& hex_str); private: // memory map HANDLE m_hMemMap; char* m_pMemStartAddr; CEvent m_ReadEvent; CEvent m_WriteEvent; };