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