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