UniSet  1.4.0
Открытые члены | Защищенные члены | Защищенные данные
Класс ModbusRTUSlave

#include <ModbusRTUSlave.h>

Граф наследования:ModbusRTUSlave:
ModbusServer ModbusRTUSlaveSlot

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

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

 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 ModbusRTU::mbErrCode receive (ModbusRTU::ModbusAddr addr, timeout_t msecTimeout)
virtual void cleanupChannel ()
virtual void terminate ()

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

virtual int getNextData (unsigned char *buf, int len)
virtual void setChannelTimeout (timeout_t msec)
virtual ModbusRTU::mbErrCode sendData (unsigned char *buf, int len)

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

std::string dev
ComPortport
bool myport

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

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

Необходимо сделать:

Разобратся с тем как отвечать на неправильные запросы! Формат ответных сообщений!!! Коды ошибок!!!

Доработать terminate, чтобы можно было прервать ожидание


Методы

int ModbusRTUSlave::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.

Перекрестные ссылки port.

mbErrCode ModbusRTUSlave::receive ( ModbusRTU::ModbusAddr  addr,
timeout_t  msecTimeout 
) [virtual]

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

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

Замещает ModbusServer.

Перекрестные ссылки ModbusRTU::ModbusHeader::addr, ModbusRTU::ModbusHeader::func, ModbusServer::recv(), ModbusServer::send() и ModbusRTU::ErrorRetMessage::transport_msg().

Используется в MBSlave::execute().

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

set timeout for receive data

Замещает ModbusServer.

Перекрестные ссылки port и UniSetTimer::WaitUpTime.


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

std::string ModbusRTUSlave::dev [protected]

устройство

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

Используется в getNextData() и setChannelTimeout().


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