UniSet
1.4.0
|
00001 // ------------------------------------------------------------------------- 00002 #ifndef ModbusRTUSlaveSlot_H_ 00003 #define ModbusRTUSlaveSlot_H_ 00004 // ------------------------------------------------------------------------- 00005 #include <string> 00006 #include <sigc++/sigc++.h> 00007 #include "ModbusRTUSlave.h" 00008 #include "ModbusServerSlot.h" 00009 // ------------------------------------------------------------------------- 00015 class ModbusRTUSlaveSlot: 00016 public ModbusRTUSlave, 00017 public ModbusServerSlot 00018 { 00019 public: 00020 ModbusRTUSlaveSlot( ComPort* com ); 00021 ModbusRTUSlaveSlot( const std::string dev, bool use485=false, bool tr_ctl=false ); 00022 virtual ~ModbusRTUSlaveSlot(); 00023 00024 virtual void sigterm( int signo ); 00025 00026 inline ComPort* getComPort(){ return port; } 00027 00028 protected: 00029 00030 virtual ModbusRTU::mbErrCode readCoilStatus( ModbusRTU::ReadCoilMessage& query, 00031 ModbusRTU::ReadCoilRetMessage& reply ); 00032 00033 virtual ModbusRTU::mbErrCode readInputStatus( ModbusRTU::ReadInputStatusMessage& query, 00034 ModbusRTU::ReadInputStatusRetMessage& reply ); 00035 00036 virtual ModbusRTU::mbErrCode readOutputRegisters( ModbusRTU::ReadOutputMessage& query, 00037 ModbusRTU::ReadOutputRetMessage& reply ); 00038 00039 virtual ModbusRTU::mbErrCode readInputRegisters( ModbusRTU::ReadInputMessage& query, 00040 ModbusRTU::ReadInputRetMessage& reply ); 00041 00042 virtual ModbusRTU::mbErrCode forceSingleCoil( ModbusRTU::ForceSingleCoilMessage& query, 00043 ModbusRTU::ForceSingleCoilRetMessage& reply ); 00044 00045 virtual ModbusRTU::mbErrCode writeOutputSingleRegister( ModbusRTU::WriteSingleOutputMessage& query, 00046 ModbusRTU::WriteSingleOutputRetMessage& reply ); 00047 00048 virtual ModbusRTU::mbErrCode forceMultipleCoils( ModbusRTU::ForceCoilsMessage& query, 00049 ModbusRTU::ForceCoilsRetMessage& reply ); 00050 00051 virtual ModbusRTU::mbErrCode writeOutputRegisters( ModbusRTU::WriteOutputMessage& query, 00052 ModbusRTU::WriteOutputRetMessage& reply ); 00053 00054 virtual ModbusRTU::mbErrCode diagnostics( ModbusRTU::DiagnosticMessage& query, 00055 ModbusRTU::DiagnosticRetMessage& reply ); 00056 00057 virtual ModbusRTU::mbErrCode journalCommand( ModbusRTU::JournalCommandMessage& query, 00058 ModbusRTU::JournalCommandRetMessage& reply ); 00059 00060 virtual ModbusRTU::mbErrCode setDateTime( ModbusRTU::SetDateTimeMessage& query, 00061 ModbusRTU::SetDateTimeRetMessage& reply ); 00062 00063 virtual ModbusRTU::mbErrCode remoteService( ModbusRTU::RemoteServiceMessage& query, 00064 ModbusRTU::RemoteServiceRetMessage& reply ); 00065 00066 virtual ModbusRTU::mbErrCode fileTransfer( ModbusRTU::FileTransferMessage& query, 00067 ModbusRTU::FileTransferRetMessage& reply ); 00068 00069 private: 00070 }; 00071 // ------------------------------------------------------------------------- 00072 #endif // ModbusRTUSlaveSlot_H_ 00073 // -------------------------------------------------------------------------