⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mbrtu.idl

📁 实现了modbus RTU通讯协议的COM组件
💻 IDL
字号:
// MBRTU.idl : IDL source for MBRTU.dll
//

// This file will be processed by the MIDL tool to
// produce the type library (MBRTU.tlb) and marshalling code.

import "oaidl.idl";
import "ocidl.idl";
	[
		object,
		uuid(9C1BDD18-EB33-44AD-842C-9828DC328E09),
		dual,
		helpstring("ICMBRTU Interface"),
		pointer_default(unique)
	]
	interface ICMBRTU : IDispatch
	{
		[id(1), helpstring("method OpenCom")] HRESULT OpenCom([in]BSTR bstrComParam);
		[id(2), helpstring("method CloseCom")] HRESULT CloseCom();
		[id(3), helpstring("method ReadReg")] HRESULT ReadRegister([in]int iStation, [in]int iStartAddr, [in]int iLen, [in, out]int *pRetLen);		
		[id(4), helpstring("method GetRetVal")] HRESULT GetRetVal([in]int iIndex, [out, retval]BYTE *pByte);
		[id(5), helpstring("method WriteRegister")] HRESULT WriteRegister([in]int iSation, [in]int iStartAddr, [in]int iLen);
		[id(6), helpstring("method SetRegVal")] HRESULT SetRegVal([in]int iIndex, [in]BYTE byteVal);
		[id(7), helpstring("method TwoByteToShort")] HRESULT TwoByteToShort([in]BYTE byte1, [in]BYTE byte2, [out]short *psVal);
		[id(8), helpstring("method ShortToTwoByte")] HRESULT ShortToTwoByte([in]short sVal, [out]BYTE *pbyteHi, [out]BYTE *pbyteLo);
		[id(9), helpstring("method ReadCoils")] HRESULT ReadCoils([in]int iStation, [in]int iStartAddr, [in]int iQuantity, [out]int *pRetLen);
		[id(10), helpstring("method ReadCoilsStatus")] HRESULT ReadCoilsStatus([in]int iIndex, [out]BOOL *pCoilStauts);
		[id(11), helpstring("method WriteCoilsStatus")] HRESULT WriteCoilsStatus([in]int iIndex, [in]BOOL bCoilStatus);
		[id(12), helpstring("method WriteCoils")] HRESULT WriteCoils([in]int iStation, [in]int iStartAddr, [in]int iQuantity);
		[id(13), helpstring("method WriteCoil")] HRESULT WriteCoil([in]int iStation, [in]int iStartAddr, [in]BOOL bCoilStatus);
		[id(14), helpstring("method ReadDiscretes")] HRESULT ReadDiscretes([in]int iStation, [in]int iStartAddr, [in]int iQuantity, [out]int *pRetLen);
		[id(15), helpstring("method FourByteToInt")] HRESULT FourByteToInt([in]BYTE byteOneHi, [in]BYTE byteOneLo, [in]BYTE byteTwoHi, [in]BYTE byteTwoLo, [out]int *piVal);
		[id(16), helpstring("method IntToFourByte")] HRESULT IntToFourByte([in]int iVal, [out]BYTE *pByteOneHi, [out]BYTE *pByteOneLo, [out]BYTE *pByteTwoHi, [out]BYTE *pByteTwoLo);
		[id(17), helpstring("method FourByteToFloat")] HRESULT FourByteToFloat([in]BYTE byteOneHi, [in]BYTE byteOneLo, [in]BYTE byteTwoHi, [in]BYTE byteTwoLo, [out]float *pfVal);
		[id(18), helpstring("method FloatToFourByte")] HRESULT FloatToFourByte([in]float fVal, [out]BYTE *pByteOneHi, [out]BYTE *pByteOneLo, [out]BYTE *pByteTwoHi, [out]BYTE *pByteTwoLo);
		[id(19), helpstring("method ReadRegFloat")] HRESULT ReadRegFloat([in]int iStation, [in]int iStartAddr, [out]float *pFloat);
		[id(20), helpstring("method ReadRegInt")] HRESULT ReadRegInt([in]int iStation, [in]int iStartAddr, [out]int *piVal);
		[id(21), helpstring("method ReadRegShort")] HRESULT ReadRegShort([in]int iStation, [in]int iStartAddr, [out]short *psVal);
		[id(22), helpstring("method WriteRegFloat")] HRESULT WriteRegFloat([in]int iStation, [in]int iStartAddr, [in]float fVal);
		[id(23), helpstring("method WriteRegInt")] HRESULT WriteRegInt([in]int iStation, [in]int iStartAddr, [in]int iVal);
		[id(24), helpstring("method WriteRegShort")] HRESULT WriteRegShort([in]int iStation, [in]int iStartAddr, [in]short sVal);
		[id(25), helpstring("method GetRetVal_Cimplicity")] HRESULT GetRetVal_Cimplicity([in]int iIndex, [out, retval]int *piVal);
	};

[
	uuid(E5F8A584-ECFF-4053-B4FB-E9F0090AEB5B),
	version(1.0),
	helpstring("MBRTU 1.0 Type Library")
]
library MBRTULib
{
	importlib("stdole32.tlb");
	importlib("stdole2.tlb");

	[
		uuid(21C88AB1-7C8F-43B4-9D99-3B178FAE5E04),
		helpstring("CMBRTU Class")
	]
	coclass CMBRTU
	{
		[default] interface ICMBRTU;
	};
};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -