📄 cmbrtu.h
字号:
// CMBRTU.h : Declaration of the CCMBRTU
#ifndef __CMBRTU_H_
#define __CMBRTU_H_
#include "resource.h" // main symbols
/////////////////////////////////////////////////////////////////////////////
// CCMBRTU
class ATL_NO_VTABLE CCMBRTU :
public CComObjectRootEx<CComSingleThreadModel>,
public CComCoClass<CCMBRTU, &CLSID_CMBRTU>,
public IDispatchImpl<ICMBRTU, &IID_ICMBRTU, &LIBID_MBRTULib>
{
public:
CCMBRTU()
{
}
DECLARE_REGISTRY_RESOURCEID(IDR_CMBRTU)
DECLARE_PROTECT_FINAL_CONSTRUCT()
BEGIN_COM_MAP(CCMBRTU)
COM_INTERFACE_ENTRY(ICMBRTU)
COM_INTERFACE_ENTRY(IDispatch)
END_COM_MAP()
// ICMBRTU
public:
STDMETHOD(WriteRegShort)(/*[in]*/int iStation, /*[in]*/int iStartAddr, /*[in]*/short sVal);
STDMETHOD(WriteRegInt)(/*[in]*/int iStation, /*[in]*/int iStartAddr, /*[in]*/int iVal);
STDMETHOD(WriteRegFloat)(/*[in]*/int iStation, /*[in]*/int iStartAddr, /*[in]*/float fVal);
STDMETHOD(ReadRegShort)(/*[in]*/int iStation, /*[in]*/int iStartAddr, /*[out]*/short *psVal);
STDMETHOD(ReadRegInt)(/*[in]*/int iStation, /*[in]*/int iStartAddr, /*[out]*/int *piVal);
STDMETHOD(ReadRegFloat)(/*[in]*/int iStation, /*[in]*/int iStartAddr, /*[out]*/float *pFloat);
STDMETHOD(FloatToFourByte)(/*[in]*/float fVal, /*[out]*/BYTE *pByteOneHi, /*[out]*/BYTE *pByteOneLo, /*[out]*/BYTE *pByteTwoHi, /*[out]*/BYTE *pByteTwoLo);
STDMETHOD(FourByteToFloat)(/*[in]*/BYTE byteOneHi, /*[in]*/BYTE byteOneLo, /*[in]*/BYTE byteTwoHi, /*[in]*/BYTE byteTwoLo, /*[out]*/float *pfVal);
STDMETHOD(IntToFourByte)(/*[in]*/int iVal, /*[out]*/BYTE *pByteOneHi, /*[out]*/BYTE *pByteOneLo, /*[out]*/BYTE *pByteTwoHi, /*[out]*/BYTE *pByteTwoLo);
STDMETHOD(FourByteToInt)(/*[in]*/BYTE byteOneHi, /*[in]*/BYTE byteOneLo, /*[in]*/BYTE byteTwoHi, /*[in]*/BYTE byteTwoLo, /*[out]*/int *piVal);
STDMETHOD(ReadDiscretes)(/*[in]*/int iStation, /*[in]*/int iStartAddr, /*[in]*/int iQuantity, /*[out]*/int *pRetLen);
STDMETHOD(WriteCoil)(/*[in]*/int iStation, /*[in]*/int iStartAddr, /*[in]*/BOOL bCoilStatus);
STDMETHOD(WriteCoils)(/*[in]*/int iStation, /*[in]*/int iStartAddr, /*[in]*/int iQuantity);
STDMETHOD(WriteCoilsStatus)(/*[in]*/int iIndex, /*[in]*/BOOL bCoilStatus);
STDMETHOD(ReadCoilsStatus)(/*[in]*/int iIndex, /*[out]*/BOOL *pCoilStauts);
STDMETHOD(ReadCoils)(/*[in]*/int iStation, /*[in]*/int iStartAddr, /*[in]*/int iQuantity, /*[out]*/int *pRetLen);
STDMETHOD(ShortToTwoByte)(/*[in]*/short sVal, /*[out]*/BYTE *pbyteHi, /*[out]*/BYTE *pbyteLo);
STDMETHOD(TwoByteToShort)(/*[in]*/BYTE byte1, /*[in]*/BYTE byte2, /*[out]*/short *psVal);
STDMETHOD(SetRegVal)(/*[in]*/int iIndex, /*[in]*/BYTE byteVal);
STDMETHOD(WriteRegister)(/*[in]*/int iSation, /*[in]*/int iStartAddr, /*[in]*/int iLen);
STDMETHOD(GetRetVal)(/*[in]*/int iIndex, /*[out, retval]*/BYTE *pByte);
STDMETHOD(GetRetVal_Cimplicity)(/*[in]*/int iIndex, /*[out, retval]*/int *piVal);
STDMETHOD(ReadRegister)(/*[in]*/int iStation, /*[in]*/int iStartAddr, /*[in]*/int iLen, /*[out]*/int *pRetLen);
STDMETHOD(CloseCom)();
STDMETHOD(OpenCom)(/*[in]*/BSTR bstrComParam);
private:
BYTE Power(BYTE iJiShu, BYTE byteMi);
char *cParam;
BOOL bConnect;
char *cReceive;
char *cWrite;
HANDLE hCom;
COMSTAT cs;
DWORD dwError;
};
#endif //__CMBRTU_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -