UniSet  2.24.2
ModbusRTUErrors.h
1 #ifndef ModbusRTUErrors_H_
2 #define ModbusRTUErrors_H_
3 // -------------------------------------------------------------------------
4 #include <string>
5 #include <iostream>
6 #include "Exceptions.h"
7 // -------------------------------------------------------------------------
8 namespace uniset
9 {
10  // -------------------------------------------------------------------------
11  namespace ModbusRTU
12  {
16  enum mbErrCode
17  {
18  erNoError = 0,
19  erUnExpectedPacketType = 1,
20  erBadDataAddress = 2,
21  erBadDataValue = 3,
22  erHardwareError = 4,
23  erAnknowledge = 5,
24  erSlaveBusy = 6,
25  erOperationFailed = 7,
26  erMemoryParityError = 8,
27  erGatewayUnavailable = 10,
28  erGatewayTargetUnavailable = 11,
30  // коды ошибок >= erInternalErrorCode не посылаются в ответах,
31  // а используются только для внутренней диагностики
32  erInternalErrorCode = 100,
33  erInvalidFormat = 111,
34  erBadCheckSum = 112,
35  erBadReplyNodeAddress = 113,
36  erTimeOut = 114,
37  erPacketTooLong = 115,
38  erSessionClosed = 116
39  };
40 
41  // ---------------------------------------------------------------------
42  std::string mbErr2Str( mbErrCode e );
43  // ---------------------------------------------------------------------
44  class mbException:
45  public uniset::Exception
46  {
47  public:
48  mbException():
49  uniset::Exception("mbException"), err(ModbusRTU::erNoError) {}
50  mbException( ModbusRTU::mbErrCode err ):
51  uniset::Exception(mbErr2Str(err)), err(err) {}
52 
53 
54  ModbusRTU::mbErrCode err;
55 
56  friend std::ostream& operator<<(std::ostream& os, mbException& ex )
57  {
58  return os << "(" << ex.err << ") " << mbErr2Str(ex.err);
59  }
60  };
61  // ---------------------------------------------------------------------
62  } // end of namespace ModbusRTU
63  // -------------------------------------------------------------------------
64 } // end of namespace uniset
65 // -------------------------------------------------------------------------
66 #endif // ModbusRTUErrors_H_
67 // -------------------------------------------------------------------------
Definition: Exceptions.h:46
Definition: ModbusRTUErrors.h:46
Definition: CommonEventLoop.h:15