// Borland C++ Builder
// Copyright (c) 1995, 1999 by Borland International
// All rights reserved
// (DO NOT EDIT: machine generated header) 'ModbusM.pas' rev: 5.00
#ifndef ModbusMHPP
#define ModbusMHPP
#pragma delphiheader begin
#pragma option push -w-
#pragma option push -Vx
#include <Forms.hpp> // Pascal unit
#include <ExtCtrls.hpp> // Pascal unit
#include <Classes.hpp> // Pascal unit
#include <SysUtils.hpp> // Pascal unit
#include <Messages.hpp> // Pascal unit
#include <Windows.hpp> // Pascal unit
#include <SysInit.hpp> // Pascal unit
#include <System.hpp> // Pascal unit
//-- user supplied -----------------------------------------------------------
namespace Modbusm
{
//-- type declarations -------------------------------------------------------
typedef DynamicArray<Byte > TDataByte;
typedef Byte *PByte;
#pragma option push -b-
enum TComPortBaudRate { br110, br300, br600, br1200, br2400, br4800, br9600, br14400, br19200, br38400,
br56000, br57600, br115200, br128000, br256000 };
#pragma option pop
#pragma option push -b-
enum TComPortNumber { pnCOM1, pnCOM2, pnCOM3, pnCOM4 };
#pragma option pop
#pragma option push -b-
enum TComPortDataBits { db5BITS, db6BITS, db7BITS, db8BITS };
#pragma option pop
#pragma option push -b-
enum TComPortStopBits { sb1BITS, sb1HALFBITS, sb2BITS };
#pragma option pop
#pragma option push -b-
enum TComPortParity { ptNONE, ptODD, ptEVEN, ptMARK, ptSPACE };
#pragma option pop
#pragma option push -b-
enum TComPortHwHandshaking { hhNONE, hhRTSCTS };
#pragma option pop
#pragma option push -b-
enum TComPortSwHandshaking { shNONE, shXONXOFF };
#pragma option pop
class DELPHICLASS TModbusM;
class PASCALIMPLEMENTATION TModbusM : public Classes::TComponent
{
typedef Classes::TComponent inherited;
private:
Extctrls::TTimer* FTimer;
Classes::TNotifyEvent FResponseReady;
Classes::TNotifyEvent FOnError;
Byte FSlaveId;
Byte FFunction;
Word FOffset;
Word FQuantity;
Byte FRegisterDim;
Byte FError;
bool FBusy;
unsigned FComPortHandle;
DynamicArray<Byte > FReadValues;
DynamicArray<Byte > FWriteValues;
TComPortNumber FComPort;
TComPortBaudRate FComPortBaudRate;
TComPortDataBits FComPortDataBits;
TComPortStopBits FComPortStopBits;
TComPortParity FComPortParity;
TComPortHwHandshaking FComPortHwHandshaking;
TComPortSwHandshaking FComPortSwHandshaking;
Word FComPortInBufSize;
Word FComPortOutBufSize;
Word FComPortPollingDelay;
bool FEnableDTROnOpen;
Word FOutputTimeout;
HWND FNotifyWnd;
void *FTempInBuffer;
Word FTimeout;
void __fastcall SetComHandle(unsigned Value);
void __fastcall SetComPort(TComPortNumber Value);
void __fastcall SetComPortBaudRate(TComPortBaudRate Value);
void __fastcall SetComPortDataBits(TComPortDataBits Value);
void __fastcall SetComPortStopBits(TComPortStopBits Value);
void __fastcall SetComPortParity(TComPortParity Value);
void __fastcall SetComPortHwHandshaking(TComPortHwHandshaking Value);
void __fastcall ApplyCOMSettings(void);
void __fastcall TimerWndProc(Messages::TMessage &msg);
void __fastcall Response(System::TObject* Sender, void * DataPtr, int DataSize);
void __fastcall OnTimeout(System::TObject* Sender);
void __fastcall FlushBuffers(bool inBuf, bool outBuf);
Word __fastcall OutFreeSpace(void);
int __fastcall SendData(void * DataPtr, int DataSize);
public:
__property TDataByte WriteValues = {read=FWriteValues, write=FWriteValues};
__property TDataByte ReadValues = {read=FReadValues};
__property Byte Error = {read=FError, nodefault};
__property bool Busy = {read=FBusy, nodefault};
void __fastcall Query(void);
__fastcall virtual TModbusM(Classes::TComponent* AOwner);
__fastcall virtual ~TModbusM(void);
__property unsigned ComHandle = {read=FComPortHandle, write=SetComHandle, nodefault};
bool __fastcall Connect(void);
void __fastcall Disconnect(void);
bool __fastcall Connected(void);
__published:
__property TComPortNumber ComPort = {read=FComPort, write=SetComPort, default=1};
__property TComPortBaudRate ComPortSpeed = {read=FComPortBaudRate, write=SetComPortBaudRate, default=6
};
__property TComPortDataBits ComPortDataBits = {read=FComPortDataBits, write=SetComPortDataBits, default=3
};
__property TComPortStopBits ComPortStopBits = {read=FComPortStopBits, write=SetComPortStopBits, default=0
};
__property TComPortParity ComPortParity = {read=FComPortParity, write=SetComPortParity, default=0};
__property TComPortHwHandshaking ComPortHwHandshaking = {read=FComPortHwHandshaking, write=SetComPortHwHandshaking
, default=0};
__property Classes::TNotifyEvent OnResponseReady = {read=FResponseReady, write=FResponseReady};
__property Classes::TNotifyEvent OnError = {read=FOnError, write=FOnError};
__property Byte SlaveId = {read=FSlaveId, write=FSlaveId, nodefault};
__property Byte FunctionCode = {read=FFunction, write=FFunction, nodefault};
__property Word Offset = {read=FOffset, write=FOffset, nodefault};
__property Word Quantity = {read=FQuantity, write=FQuantity, nodefault};
__property Byte RegisterDim = {read=FRegisterDim, write=FRegisterDim, nodefault};
__property Word Timeout = {read=FTimeout, write=FTimeout, nodefault};
};
//-- var, const, procedure ---------------------------------------------------
extern PACKAGE void __fastcall Register(void);
} /* namespace Modbusm */
#if !defined(NO_IMPLICIT_NAMESPACE_USE)
using namespace Modbusm;
#endif
#pragma option pop // -w-
#pragma option pop // -Vx
#pragma delphiheader end.
//-- end unit ----------------------------------------------------------------
#endif // ModbusM
评论0