UniSet  2.2.1
Открытые типы | Открытые члены | Защищенные члены
Класс ModbusTCPSession
Граф наследования:ModbusTCPSession:
ModbusServerSlot ModbusServer

Полный список членов класса

Открытые типы

typedef sigc::slot< void,
ModbusTCPSession * > 
FinalSlot

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

 ModbusTCPSession (ost::TCPSocket &server, const std::unordered_set< ModbusRTU::ModbusAddr > &vmbaddr, timeout_t timeout)
void cleanInputStream ()
virtual void cleanupChannel ()
virtual void terminate ()
virtual ModbusRTU::mbErrCode receive (const std::unordered_set< ModbusRTU::ModbusAddr > &vmbaddr, timeout_t msecTimeout)
void connectFinalSession (FinalSlot sl)
unsigned int getAskCount ()
std::string getClientAddress ()
void setKeepAliveParams (timeout_t timeout_sec=3, int conn_keepcnt=2, int keepintvl=2)

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

virtual void run ()
virtual void final ()
virtual int getNextData (unsigned char *buf, int len)
virtual void setChannelTimeout (timeout_t msec)
virtual ModbusRTU::mbErrCode sendData (unsigned char *buf, int len)
virtual ModbusRTU::mbErrCode tcp_processing (ost::TCPStream &tcp, ModbusTCP::MBAPHeader &mhead)
virtual ModbusRTU::mbErrCode pre_send_request (ModbusRTU::ModbusMessage &request)
virtual ModbusRTU::mbErrCode post_send_request (ModbusRTU::ModbusMessage &request)
virtual ModbusRTU::mbErrCode readCoilStatus (ModbusRTU::ReadCoilMessage &query, ModbusRTU::ReadCoilRetMessage &reply)
virtual ModbusRTU::mbErrCode readInputStatus (ModbusRTU::ReadInputStatusMessage &query, ModbusRTU::ReadInputStatusRetMessage &reply)
virtual ModbusRTU::mbErrCode readOutputRegisters (ModbusRTU::ReadOutputMessage &query, ModbusRTU::ReadOutputRetMessage &reply)
virtual ModbusRTU::mbErrCode readInputRegisters (ModbusRTU::ReadInputMessage &query, ModbusRTU::ReadInputRetMessage &reply)
virtual ModbusRTU::mbErrCode forceSingleCoil (ModbusRTU::ForceSingleCoilMessage &query, ModbusRTU::ForceSingleCoilRetMessage &reply)
virtual ModbusRTU::mbErrCode writeOutputSingleRegister (ModbusRTU::WriteSingleOutputMessage &query, ModbusRTU::WriteSingleOutputRetMessage &reply)
virtual ModbusRTU::mbErrCode forceMultipleCoils (ModbusRTU::ForceCoilsMessage &query, ModbusRTU::ForceCoilsRetMessage &reply)
virtual ModbusRTU::mbErrCode writeOutputRegisters (ModbusRTU::WriteOutputMessage &query, ModbusRTU::WriteOutputRetMessage &reply)
virtual ModbusRTU::mbErrCode diagnostics (ModbusRTU::DiagnosticMessage &query, ModbusRTU::DiagnosticRetMessage &reply)
virtual ModbusRTU::mbErrCode read4314 (ModbusRTU::MEIMessageRDI &query, ModbusRTU::MEIMessageRetRDI &reply)
virtual ModbusRTU::mbErrCode journalCommand (ModbusRTU::JournalCommandMessage &query, ModbusRTU::JournalCommandRetMessage &reply)
virtual ModbusRTU::mbErrCode setDateTime (ModbusRTU::SetDateTimeMessage &query, ModbusRTU::SetDateTimeRetMessage &reply)
virtual ModbusRTU::mbErrCode remoteService (ModbusRTU::RemoteServiceMessage &query, ModbusRTU::RemoteServiceRetMessage &reply)
virtual ModbusRTU::mbErrCode fileTransfer (ModbusRTU::FileTransferMessage &query, ModbusRTU::FileTransferRetMessage &reply)

Методы

mbErrCode ModbusTCPSession::diagnostics ( ModbusRTU::DiagnosticMessage query,
ModbusRTU::DiagnosticRetMessage reply 
) [protected, virtual]

Обработка запроса на запись данных (0x08).

Аргументы:
query- запрос
reply- ответ. Заполняется в обработчике.
Возвращает:
Результат обработки

Замещает ModbusServer.

ModbusRTU::mbErrCode ModbusTCPSession::fileTransfer ( ModbusRTU::FileTransferMessage query,
ModbusRTU::FileTransferRetMessage reply 
) [protected, virtual]

Передача файла (0x66)

Аргументы:
query- запрос
reply- ответ. Заполняется в обработчике.
Возвращает:
Результат обработки

Замещает ModbusServer.

Обработка запроса на запись данных (0x0F).

Аргументы:
query- запрос
reply- ответ. Заполняется в обработчике.
Возвращает:
Результат обработки

Замещает ModbusServer.

Обработка запроса на запись данных (0x05).

Аргументы:
query- запрос
reply- ответ. Заполняется в обработчике.
Возвращает:
Результат обработки

Замещает ModbusServer.

int ModbusTCPSession::getNextData ( unsigned char *  buf,
int  len 
) [protected, virtual]

get next data block from channel ot recv buffer

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

Замещает ModbusServer.

Обработка запроса по журналу (0x65)

Аргументы:
query- запрос
reply- ответ. Заполняется в обработчике.
Возвращает:
Результат обработки

Замещает ModbusServer.

ModbusRTU::mbErrCode ModbusTCPSession::read4314 ( ModbusRTU::MEIMessageRDI query,
ModbusRTU::MEIMessageRetRDI reply 
) [protected, virtual]

Обработка запроса 43(0x2B).

Аргументы:
query- запрос
reply- ответ. Заполняется в обработчике.
Возвращает:
Результат обработки

Замещает ModbusServer.

mbErrCode ModbusTCPSession::readCoilStatus ( ModbusRTU::ReadCoilMessage query,
ModbusRTU::ReadCoilRetMessage reply 
) [protected, virtual]

Обработка запроса на чтение данных (0x01).

Аргументы:
query- запрос
reply- ответ. Заполняется в обработчике.
Возвращает:
Результат обработки

Замещает ModbusServer.

mbErrCode ModbusTCPSession::readInputRegisters ( ModbusRTU::ReadInputMessage query,
ModbusRTU::ReadInputRetMessage reply 
) [protected, virtual]

Обработка запроса на чтение данных (0x04).

Аргументы:
query- запрос
reply- ответ. Заполняется в обработчике.
Возвращает:
Результат обработки

Замещает ModbusServer.

Обработка запроса на чтение данных (0x02).

Аргументы:
query- запрос
reply- ответ. Заполняется в обработчике.
Возвращает:
Результат обработки

Замещает ModbusServer.

Обработка запроса на чтение данных (0x03).

Аргументы:
query- запрос
reply- ответ. Заполняется в обработчике.
Возвращает:
Результат обработки

Замещает ModbusServer.

ModbusRTU::mbErrCode ModbusTCPSession::receive ( const std::unordered_set< ModbusRTU::ModbusAddr > &  vaddr,
timeout_t  msecTimeout 
) [virtual]

обработать очередное сообщение

Аргументы:
vaddr- вектор адресов для которых принимать сообщения
msecTimeout- время ожидания прихода очередного сообщения в мсек.
Возвращает:
Возвращает код ошибки из ModbusRTU::mbErrCode

Замещает ModbusServer.

Перекрестные ссылки ModbusServer::aftersend_msec, ModbusRTU::ModbusHeader::func, UniSetTimer::getLeft(), msleep(), ModbusServer::recv(), ModbusServer::send(), PassiveTimer::setTiming(), ModbusRTU::ErrorRetMessage::transport_msg() и UniSetTimer::WaitUpTime.

ModbusRTU::mbErrCode ModbusTCPSession::remoteService ( ModbusRTU::RemoteServiceMessage query,
ModbusRTU::RemoteServiceRetMessage reply 
) [protected, virtual]

Вызов удалённого сервиса (0x53)

Аргументы:
query- запрос
reply- ответ. Заполняется в обработчике.
Возвращает:
Результат обработки

Замещает ModbusServer.

void ModbusTCPSession::setChannelTimeout ( timeout_t  msec) [protected, virtual]

set timeout for receive data

Замещает ModbusServer.

ModbusRTU::mbErrCode ModbusTCPSession::setDateTime ( ModbusRTU::SetDateTimeMessage query,
ModbusRTU::SetDateTimeRetMessage reply 
) [protected, virtual]

Обработка запроса по установке даты и времени (0x50)

Аргументы:
query- запрос
reply- ответ. Заполняется в обработчике.
Возвращает:
Результат обработки

Замещает ModbusServer.

Обработка запроса на запись данных (0x10).

Аргументы:
query- запрос
reply- ответ. Заполняется в обработчике.
Возвращает:
Результат обработки

Замещает ModbusServer.

Обработка запроса на запись данных (0x06).

Аргументы:
query- запрос
reply- ответ. Заполняется в обработчике.
Возвращает:
Результат обработки

Замещает ModbusServer.


Объявления и описания членов классов находятся в файлах: