|
UniSet
1.4.0
|
#include <ModbusRTUSlave.h>
Открытые члены | |
| 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 |
| ComPort * | port |
| 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 |
Замещает ModbusServer.
Перекрестные ссылки port.
| mbErrCode ModbusRTUSlave::receive | ( | ModbusRTU::ModbusAddr | addr, |
| timeout_t | msecTimeout | ||
| ) | [virtual] |
обработать очередное сообщение
| addr | - адрес для которого принимать сообщения |
| msecTimeout | - время ожидания прихода очередного сообщения в мсек. |
Замещает 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] |
устройство
ComPort* ModbusRTUSlave::port [protected] |
устройство для работы с COM-портом
Используется в getNextData() и setChannelTimeout().
1.7.6.1