UniSet  2.6.0
Открытые члены | Защищенные члены | Защищенные данные | Полный список членов класса
Класс uniset::ModbusRTUSlave
Граф наследования:uniset::ModbusRTUSlave:
Inheritance graph
[см. легенду]
Граф связей класса uniset::ModbusRTUSlave:
Collaboration graph
[см. легенду]

Открытые члены

 ModbusRTUSlave (const std::string &dev, bool use485=false, bool tr_ctl=false)
 ModbusRTUSlave (ComPort *com)
void setSpeed (ComPort::Speed s)
void setSpeed (const std::string &s)
ComPort::Speed getSpeed ()
virtual void cleanupChannel () override
virtual void terminate () override
virtual bool isActive () const override
- Открытые члены inherited from uniset::ModbusServer
void initLog (uniset::Configuration *conf, const std::string &name, const std::string &logfile="")
void setLog (std::shared_ptr< DebugStream > dlog)
std::shared_ptr< DebugStreamlog ()
ModbusRTU::mbErrCode receive (const std::unordered_set< ModbusRTU::ModbusAddr > &vaddr, timeout_t msecTimeout)
virtual ModbusRTU::mbErrCode receive_one (const ModbusRTU::ModbusAddr addr, timeout_t msec)
PreReceiveSignal signal_pre_receive ()
PostReceiveSignal signal_post_receive ()
timeout_t setAfterSendPause (timeout_t msec)
timeout_t setReplyTimeout (timeout_t msec)
void setRecvTimeout (timeout_t msec)
void setSleepPause (timeout_t msec)
void setCRCNoCheckit (bool set)
bool isCRCNoCheckit () const
void setBroadcastMode (bool set)
bool getBroadcastMode () const
void setCleanBeforeSend (bool set)
bool getCleanBeforeSend ()
ExchangeErrorMap getErrorMap ()
size_t getErrCount (ModbusRTU::mbErrCode e)
size_t resetErrCount (ModbusRTU::mbErrCode e, size_t set=0)
size_t getAskCount () const
void resetAskCounter ()

Защищенные члены

virtual ModbusRTU::mbErrCode realReceive (const std::unordered_set< ModbusRTU::ModbusAddr > &vmbaddr, timeout_t msecTimeout) override
virtual size_t getNextData (unsigned char *buf, int len) override
virtual void setChannelTimeout (timeout_t msec) override
virtual ModbusRTU::mbErrCode sendData (unsigned char *buf, int len) override
- Защищенные члены inherited from uniset::ModbusServer
virtual void iowait (timeout_t usec)
virtual ModbusRTU::mbErrCode readCoilStatus (ModbusRTU::ReadCoilMessage &query, ModbusRTU::ReadCoilRetMessage &reply)=0
virtual ModbusRTU::mbErrCode readInputStatus (ModbusRTU::ReadInputStatusMessage &query, ModbusRTU::ReadInputStatusRetMessage &reply)=0
virtual ModbusRTU::mbErrCode readOutputRegisters (ModbusRTU::ReadOutputMessage &query, ModbusRTU::ReadOutputRetMessage &reply)=0
virtual ModbusRTU::mbErrCode readInputRegisters (ModbusRTU::ReadInputMessage &query, ModbusRTU::ReadInputRetMessage &reply)=0
virtual ModbusRTU::mbErrCode forceSingleCoil (ModbusRTU::ForceSingleCoilMessage &query, ModbusRTU::ForceSingleCoilRetMessage &reply)=0
virtual ModbusRTU::mbErrCode writeOutputSingleRegister (ModbusRTU::WriteSingleOutputMessage &query, ModbusRTU::WriteSingleOutputRetMessage &reply)=0
virtual ModbusRTU::mbErrCode forceMultipleCoils (ModbusRTU::ForceCoilsMessage &query, ModbusRTU::ForceCoilsRetMessage &reply)=0
virtual ModbusRTU::mbErrCode writeOutputRegisters (ModbusRTU::WriteOutputMessage &query, ModbusRTU::WriteOutputRetMessage &reply)=0
virtual ModbusRTU::mbErrCode diagnostics (ModbusRTU::DiagnosticMessage &query, ModbusRTU::DiagnosticRetMessage &reply)=0
virtual ModbusRTU::mbErrCode read4314 (ModbusRTU::MEIMessageRDI &query, ModbusRTU::MEIMessageRetRDI &reply)=0
virtual ModbusRTU::mbErrCode journalCommand (ModbusRTU::JournalCommandMessage &query, ModbusRTU::JournalCommandRetMessage &reply)=0
virtual ModbusRTU::mbErrCode setDateTime (ModbusRTU::SetDateTimeMessage &query, ModbusRTU::SetDateTimeRetMessage &reply)=0
virtual ModbusRTU::mbErrCode remoteService (ModbusRTU::RemoteServiceMessage &query, ModbusRTU::RemoteServiceRetMessage &reply)=0
virtual ModbusRTU::mbErrCode fileTransfer (ModbusRTU::FileTransferMessage &query, ModbusRTU::FileTransferRetMessage &reply)=0
virtual ModbusRTU::mbErrCode send (ModbusRTU::ModbusMessage &buf)
virtual ModbusRTU::mbErrCode make_adu_header (ModbusRTU::ModbusMessage &request)
virtual ModbusRTU::mbErrCode post_send_request (ModbusRTU::ModbusMessage &request)
virtual ModbusRTU::mbErrCode processing (ModbusRTU::ModbusMessage &buf)
ModbusRTU::mbErrCode recv (const std::unordered_set< ModbusRTU::ModbusAddr > &vaddr, ModbusRTU::ModbusMessage &buf, timeout_t timeout)
ModbusRTU::mbErrCode recv_pdu (ModbusRTU::ModbusMessage &rbuf, timeout_t timeout)
void printProcessingTime ()

Защищенные данные

std::string dev
ComPortport
bool myport
- Защищенные данные inherited from uniset::ModbusServer
std::timed_mutex recvMutex
timeout_t recvTimeOut_ms = { 50 }
timeout_t replyTimeout_ms = { 2000 }
timeout_t aftersend_msec = { 0 }
timeout_t sleepPause_msec = { 10 }
bool onBroadcast = { false }
bool crcNoCheckit = { false }
bool cleanBeforeSend = { false }
PassiveTimer tmProcessing
std::shared_ptr< DebugStreamdlog
size_t askCount = { 0 }
ExchangeErrorMap errmap
PreReceiveSignal m_pre_signal
PostReceiveSignal m_post_signal

Additional Inherited Members

- Открытые типы inherited from uniset::ModbusServer
typedef sigc::signal
< ModbusRTU::mbErrCode, const
std::unordered_set
< ModbusRTU::ModbusAddr >
, timeout_t > 
PreReceiveSignal
typedef sigc::signal< void,
ModbusRTU::mbErrCode > 
PostReceiveSignal
typedef std::unordered_map
< ModbusRTU::mbErrCode, size_t > 
ExchangeErrorMap
- Открытые статические члены inherited from uniset::ModbusServer
static std::unordered_set
< ModbusRTU::ModbusAddr > 
addr2vaddr (ModbusRTU::ModbusAddr &mbaddr)
static bool checkAddr (const std::unordered_set< ModbusRTU::ModbusAddr > &vaddr, const ModbusRTU::ModbusAddr addr)
static std::string vaddr2str (const std::unordered_set< ModbusRTU::ModbusAddr > &vaddr)
static ModbusRTU::mbErrCode replySetDateTime (ModbusRTU::SetDateTimeMessage &query, ModbusRTU::SetDateTimeRetMessage &reply, std::shared_ptr< DebugStream > dlog=nullptr)
static ModbusRTU::mbErrCode replyFileTransfer (const std::string &fname, ModbusRTU::FileTransferMessage &query, ModbusRTU::FileTransferRetMessage &reply, std::shared_ptr< DebugStream > dlog=nullptr)

Подробное описание

Modbus RTU slave mode Класс не самостоятельный и содержит "чисто" виртуальные функции для реализации ответов на запросы.

Методы

size_t uniset::ModbusRTUSlave::getNextData ( unsigned char *  buf,
int  len 
)
overrideprotectedvirtual

get next data block from channel or recv buffer

Аргументы
begin- get from position
buf- buffer for data
len- size of buf
Возвращает
real data lenght ( must be <= len )

Замещает uniset::ModbusServer.

mbErrCode uniset::ModbusRTUSlave::realReceive ( const std::unordered_set< ModbusRTU::ModbusAddr > &  vaddr,
timeout_t  msecTimeout 
)
overrideprotectedvirtual

реализация получения очередного сообщения

Замещает uniset::ModbusServer.

void uniset::ModbusRTUSlave::setChannelTimeout ( timeout_t  msec)
overrideprotectedvirtual

set timeout for receive data

Замещает uniset::ModbusServer.

Данные класса

std::string uniset::ModbusRTUSlave::dev
protected

устройство

ComPort* uniset::ModbusRTUSlave::port
protected

устройство для работы с COM-портом