1 #ifndef ModbusTCPMaster_H_
2 #define ModbusTCPMaster_H_
7 #include <Poco/Net/SocketStream.h>
8 #include "UTCPStream.h"
9 #include "ModbusTypes.h"
10 #include "ModbusClient.h"
24 bool connect(
const std::string& addr,
int port,
bool closeOldConnection =
true ) noexcept;
25 bool connect(
const Poco::Net::SocketAddress& addr,
int _port,
bool closeOldConnection =
true ) noexcept;
28 void forceDisconnect();
29 bool isConnection()
const;
31 static bool checkConnection(
const std::string& ip,
int port,
int timeout_msec = 100 );
33 inline void setForceDisconnect(
bool s )
39 void cleanInputStream();
41 virtual void cleanupChannel()
override
46 inline std::string getAddress()
const
50 inline int getPort()
const
55 void setReadTimeout( timeout_t msec );
56 timeout_t getReadTimeout()
const;
60 virtual size_t getNextData(
unsigned char* buf,
size_t len )
override;
62 virtual ModbusRTU::mbErrCode sendData(
unsigned char* buf,
size_t len )
override;
68 std::shared_ptr<UTCPStream> tcp;
69 ModbusRTU::ModbusData nTransaction;
70 std::queue<unsigned char> qrecv;
72 std::string iaddr = {
"" };
74 bool force_disconnect = {
false };
75 int keepAliveTimeout = { 1000 };
77 timeout_t readTimeout = { 50 };
82 #endif // ModbusTCPMaster_H_
Пассивный таймер
Definition: PassiveTimer.h:90
virtual void setChannelTimeout(timeout_t msec) override
Definition: ModbusTCPMaster.cc:57
Definition: CallbackTimer.h:29
Definition: ModbusClient.h:18
virtual size_t getNextData(unsigned char *buf, size_t len) override
Definition: ModbusTCPMaster.cc:52
virtual ModbusRTU::mbErrCode query(ModbusRTU::ModbusAddr addr, ModbusRTU::ModbusMessage &msg, ModbusRTU::ModbusMessage &reply, timeout_t timeout) override
Definition: ModbusTCPMaster.cc:84
Definition: ModbusTypes.h:190
Definition: ModbusTCPMaster.h:16