//---------------------------------------------------------------------------- // KModbus.hpp - dcc32 generated hdr (DO NOT EDIT) rev: 0 // From: KModbus.pas //---------------------------------------------------------------------------- #ifndef KModbusHPP #define KModbusHPP //---------------------------------------------------------------------------- #include #include #include #include #include #include #include #include #include #include #include #include namespace Kmodbus { //-- type declarations ------------------------------------------------------- class __declspec(delphiclass) TModbus; class __declspec(pascalimplementation) TModbus : public Classes::TComponent { typedef Classes::TComponent inherited; private: System::ShortString LastAnswer; int LastReg; int LastMode; int LastSlave; void __fastcall SetPort(int nPortToSet); int __fastcall GetPort(void); protected: virtual void __fastcall SetErrors(Kerrors::TCommErrors* err); public: Com485::TCom485* com; Kerrors::TCommErrors* FErrors; __fastcall virtual TModbus(Classes::TComponent* AOwner); __fastcall virtual ~TModbus(void); void __fastcall ErrorShowMessage(const System::AnsiString s); bool __fastcall CheckLen(const System::ShortString &s, int n); bool __fastcall CheckCrc(const System::ShortString &s); bool __fastcall CheckModbusError(const System::ShortString &s); bool __fastcall CheckError(int len); bool __fastcall Open(void); bool __fastcall IsOpen(void); int __fastcall SetReg(int slave, int r, int v); int __fastcall SetReg2(int slave, int r, int v1, int v2); int __fastcall ReadReg(int slave, int r); int __fastcall ReadReg2(int slave, int r, int &v1, int &v2); System::AnsiString __fastcall Read(void); __published: __property int Port = {read=GetPort, write=SetPort, nodefault}; __property Kerrors::TCommErrors* Errors = {read=FErrors, write=SetErrors, nodefault}; }; class __declspec(delphiclass) TModBusSlave; class __declspec(pascalimplementation) TModBusSlave : public System::TObject { typedef System::TObject inherited; private: TModbus* fmodbus; int fslave; public: int __fastcall SetReg(int r, int v); int __fastcall SetReg2(int r, int v1, int v2); int __fastcall ReadReg(int r); int __fastcall ReadReg2(int r, int &v1, int &v2); bool __fastcall Ok(void); __published: __property TModbus* modbus = {read=fmodbus, write=fmodbus, nodefault}; __property int slave = {read=fslave, write=fslave, nodefault}; public: /* TObject.Create */ __fastcall TModBusSlave(void) : System::TObject() { } /* TObject.Destroy */ __fastcall virtual ~TModBusSlave(void) { } }; //-- var, const, procedure --------------------------------------------------- } /* namespace Kmodbus */ #if !defined(NO_IMPLICIT_NAMESPACE_USE) using namespace Kmodbus; #endif //-- end unit ---------------------------------------------------------------- #endif // KModbus