UniSet  2.6.0
ModbusRTUSlaveSlot.h
1 // -------------------------------------------------------------------------
2 #ifndef ModbusRTUSlaveSlot_H_
3 #define ModbusRTUSlaveSlot_H_
4 // -------------------------------------------------------------------------
5 #include <string>
6 #include <sigc++/sigc++.h>
7 #include "ModbusRTUSlave.h"
8 #include "ModbusServerSlot.h"
9 // -------------------------------------------------------------------------
10 namespace uniset
11 {
12 
19  public ModbusRTUSlave,
20  public ModbusServerSlot
21  {
22  public:
24  ModbusRTUSlaveSlot( const std::string& dev, bool use485 = false, bool tr_ctl = false );
25  virtual ~ModbusRTUSlaveSlot();
26 
27  virtual void sigterm( int signo );
28 
29  inline ComPort* getComPort()
30  {
31  return port;
32  }
33 
34  protected:
35 
36  virtual ModbusRTU::mbErrCode readCoilStatus( ModbusRTU::ReadCoilMessage& query,
38 
39  virtual ModbusRTU::mbErrCode readInputStatus( ModbusRTU::ReadInputStatusMessage& query,
41 
42  virtual ModbusRTU::mbErrCode readOutputRegisters( ModbusRTU::ReadOutputMessage& query,
44 
45  virtual ModbusRTU::mbErrCode readInputRegisters( ModbusRTU::ReadInputMessage& query,
47 
48  virtual ModbusRTU::mbErrCode forceSingleCoil( ModbusRTU::ForceSingleCoilMessage& query,
50 
51  virtual ModbusRTU::mbErrCode writeOutputSingleRegister( ModbusRTU::WriteSingleOutputMessage& query,
53 
54  virtual ModbusRTU::mbErrCode forceMultipleCoils( ModbusRTU::ForceCoilsMessage& query,
56 
57  virtual ModbusRTU::mbErrCode writeOutputRegisters( ModbusRTU::WriteOutputMessage& query,
59 
60  virtual ModbusRTU::mbErrCode diagnostics( ModbusRTU::DiagnosticMessage& query,
62 
63  virtual ModbusRTU::mbErrCode read4314( ModbusRTU::MEIMessageRDI& query,
65 
66  virtual ModbusRTU::mbErrCode journalCommand( ModbusRTU::JournalCommandMessage& query,
68 
69  virtual ModbusRTU::mbErrCode setDateTime( ModbusRTU::SetDateTimeMessage& query,
71 
72  virtual ModbusRTU::mbErrCode remoteService( ModbusRTU::RemoteServiceMessage& query,
74 
75  virtual ModbusRTU::mbErrCode fileTransfer( ModbusRTU::FileTransferMessage& query,
77 
78  private:
79  };
80  // -------------------------------------------------------------------------
81 } // end of namespace uniset
82 // -------------------------------------------------------------------------
83 #endif // ModbusRTUSlaveSlot_H_
84 // -------------------------------------------------------------------------