UniSet
1.4.0
|
#include <ModbusClient.h>
Открытые члены | |
ModbusRTU::ReadCoilRetMessage | read01 (ModbusRTU::ModbusAddr addr, ModbusRTU::ModbusData start, ModbusRTU::ModbusData count) throw (ModbusRTU::mbException) |
ModbusRTU::ReadInputStatusRetMessage | read02 (ModbusRTU::ModbusAddr addr, ModbusRTU::ModbusData start, ModbusRTU::ModbusData count) throw (ModbusRTU::mbException) |
ModbusRTU::ReadOutputRetMessage | read03 (ModbusRTU::ModbusAddr addr, ModbusRTU::ModbusData start, ModbusRTU::ModbusData count) throw (ModbusRTU::mbException) |
ModbusRTU::ReadInputRetMessage | read04 (ModbusRTU::ModbusAddr addr, ModbusRTU::ModbusData start, ModbusRTU::ModbusData count) throw (ModbusRTU::mbException) |
ModbusRTU::ForceSingleCoilRetMessage | write05 (ModbusRTU::ModbusAddr addr, ModbusRTU::ModbusData reg, bool cmd) throw (ModbusRTU::mbException) |
ModbusRTU::WriteSingleOutputRetMessage | write06 (ModbusRTU::ModbusAddr addr, ModbusRTU::ModbusData reg, ModbusRTU::ModbusData data) throw (ModbusRTU::mbException) |
ModbusRTU::ForceCoilsRetMessage | write0F (ModbusRTU::ForceCoilsMessage &msg) throw (ModbusRTU::mbException) |
ModbusRTU::WriteOutputRetMessage | write10 (ModbusRTU::WriteOutputMessage &msg) throw (ModbusRTU::mbException) |
ModbusRTU::DiagnosticRetMessage | diag08 (ModbusRTU::ModbusAddr addr, ModbusRTU::DiagnosticsSubFunction subfunc, ModbusRTU::ModbusData dat=0) throw (ModbusRTU::mbException) |
ModbusRTU::SetDateTimeRetMessage | setDateTime (ModbusRTU::ModbusAddr addr, ModbusRTU::ModbusByte hour, ModbusRTU::ModbusByte min, ModbusRTU::ModbusByte sec, ModbusRTU::ModbusByte day, ModbusRTU::ModbusByte mon, ModbusRTU::ModbusByte year, ModbusRTU::ModbusByte century) throw (ModbusRTU::mbException) |
ModbusRTU::FileTransferRetMessage | partOfFileTransfer (ModbusRTU::ModbusAddr addr, ModbusRTU::ModbusData idFile, ModbusRTU::ModbusData numpack, timeout_t part_timeout_msec=2000) throw (ModbusRTU::mbException) |
void | fileTransfer (ModbusRTU::ModbusAddr addr, ModbusRTU::ModbusData idFile, const char *save2filename, timeout_t part_timeout_msec=2000) throw (ModbusRTU::mbException) |
void | setTimeout (timeout_t msec) |
int | setAfterSendPause (timeout_t msec) |
void | setSleepPause (timeout_t usec) |
void | initLog (UniSetTypes::Configuration *conf, const std::string name, const std::string logfile="") |
void | setLog (DebugStream &dlog) |
void | setCRCNoCheckit (bool set) |
bool | isCRCNoCheckit () |
virtual void | cleanupChannel () |
Защищенные члены | |
virtual int | getNextData (unsigned char *buf, int len)=0 |
virtual void | setChannelTimeout (timeout_t msec)=0 |
virtual ModbusRTU::mbErrCode | sendData (unsigned char *buf, int len)=0 |
virtual ModbusRTU::mbErrCode | query (ModbusRTU::ModbusAddr addr, ModbusRTU::ModbusMessage &msg, ModbusRTU::ModbusMessage &reply, timeout_t timeout)=0 |
virtual ModbusRTU::mbErrCode | send (ModbusRTU::ModbusMessage &msg) |
virtual ModbusRTU::mbErrCode | recv (ModbusRTU::ModbusAddr addr, ModbusRTU::ModbusByte qfunc, ModbusRTU::ModbusMessage &rbuf, timeout_t timeout) |
virtual ModbusRTU::mbErrCode | recv_pdu (ModbusRTU::ModbusByte qfunc, ModbusRTU::ModbusMessage &rbuf, timeout_t timeout) |
void | printProcessingTime () |
Защищенные данные | |
ModbusRTU::ModbusMessage | reply |
ModbusRTU::ModbusMessage | qbuf |
timeout_t | replyTimeOut_ms |
timeout_t | aftersend_msec |
timeout_t | sleepPause_usec |
bool | crcNoCheckit |
UniSetTypes::uniset_mutex | sendMutex |
DebugStream | dlog |
PassiveTimer | tmProcessing |
Modbus client (master) interface
DiagnosticRetMessage ModbusClient::diag08 | ( | ModbusRTU::ModbusAddr | addr, |
ModbusRTU::DiagnosticsSubFunction | subfunc, | ||
ModbusRTU::ModbusData | dat = 0 |
||
) | throw (ModbusRTU::mbException) |
Диагностика (0x08)
Перекрестные ссылки ModbusRTU::ModbusHeader::addr и ModbusRTU::DiagnosticMessage::transport_msg().
void ModbusClient::fileTransfer | ( | ModbusRTU::ModbusAddr | addr, |
ModbusRTU::ModbusData | idFile, | ||
const char * | save2filename, | ||
timeout_t | part_timeout_msec = 2000 |
||
) | throw (ModbusRTU::mbException) |
Загрузить файл
idFile | - идентификатор файла |
save2filename | - имя файла, под которым будет сохранён полученный файл |
part_timeout_msec | - таймаут на получение очередной части файла. |
Перекрестные ссылки PassiveTimer::checkTime(), DebugStream::debugging(), ModbusRTU::FileTransferRetMessage::dlen, ModbusRTU::FileTransferRetMessage::numfile, ModbusRTU::FileTransferRetMessage::numpacks, ModbusRTU::FileTransferRetMessage::packet и PassiveTimer::reset().
virtual int ModbusClient::getNextData | ( | unsigned char * | buf, |
int | len | ||
) | [protected, pure virtual] |
get next data block from channel ot recv buffer
begin | - get from position |
buf | - buffer for data |
len | - size of buf |
Замещается в ModbusRTUMaster и ModbusTCPMaster.
FileTransferRetMessage ModbusClient::partOfFileTransfer | ( | ModbusRTU::ModbusAddr | addr, |
ModbusRTU::ModbusData | idFile, | ||
ModbusRTU::ModbusData | numpack, | ||
timeout_t | part_timeout_msec = 2000 |
||
) | throw (ModbusRTU::mbException) |
Загрузить файл (0x66)
idFile | - идентификатор файла |
numpack | - номер очередного запрашиваемого пакета |
save2filename | - имя файла, под которым будет сохранён полученный файл |
part_timeout_msec | - таймаут на получение очередной части файла. |
Перекрестные ссылки ModbusRTU::FileTransferMessage::transport_msg().
virtual ModbusRTU::mbErrCode ModbusClient::query | ( | ModbusRTU::ModbusAddr | addr, |
ModbusRTU::ModbusMessage & | msg, | ||
ModbusRTU::ModbusMessage & | reply, | ||
timeout_t | timeout | ||
) | [protected, pure virtual] |
функция запрос-ответ
Замещается в ModbusRTUMaster и ModbusTCPMaster.
ReadCoilRetMessage ModbusClient::read01 | ( | ModbusRTU::ModbusAddr | addr, |
ModbusRTU::ModbusData | start, | ||
ModbusRTU::ModbusData | count | ||
) | throw (ModbusRTU::mbException) |
Чтение группы регистров (0x01)
addr | - адрес slave-узла |
start | - начальный регистр с которого читать |
count | - сколько регистров читать |
Перекрестные ссылки ModbusRTU::ReadCoilMessage::transport_msg().
ReadInputStatusRetMessage ModbusClient::read02 | ( | ModbusRTU::ModbusAddr | addr, |
ModbusRTU::ModbusData | start, | ||
ModbusRTU::ModbusData | count | ||
) | throw (ModbusRTU::mbException) |
Чтение группы регистров (0x02)
addr | - адрес slave-узла |
start | - начальный регистр с которого читать |
count | - сколько регистров читать |
Перекрестные ссылки ModbusRTU::ReadInputStatusMessage::transport_msg().
ReadOutputRetMessage ModbusClient::read03 | ( | ModbusRTU::ModbusAddr | addr, |
ModbusRTU::ModbusData | start, | ||
ModbusRTU::ModbusData | count | ||
) | throw (ModbusRTU::mbException) |
Чтение группы регистров (0x03)
addr | - адрес slave-узла |
start | - начальный регистр с которого читать |
count | - сколько регистров читать |
Перекрестные ссылки ModbusRTU::ReadOutputMessage::transport_msg().
ReadInputRetMessage ModbusClient::read04 | ( | ModbusRTU::ModbusAddr | addr, |
ModbusRTU::ModbusData | start, | ||
ModbusRTU::ModbusData | count | ||
) | throw (ModbusRTU::mbException) |
Чтение группы регистров (0x04)
addr | - адрес slave-узла |
start | - начальный регистр с которого читать |
count | - сколько регистров читать |
Перекрестные ссылки ModbusRTU::ReadInputMessage::transport_msg().
mbErrCode ModbusClient::recv | ( | ModbusRTU::ModbusAddr | addr, |
ModbusRTU::ModbusByte | qfunc, | ||
ModbusRTU::ModbusMessage & | rbuf, | ||
timeout_t | timeout | ||
) | [protected, virtual] |
обработка ответа
Перекрестные ссылки ModbusRTU::ModbusHeader::addr, PassiveTimer::checkTime() и UniSetTimer::WaitUpTime.
Используется в ModbusTCPMaster::query().
mbErrCode ModbusClient::send | ( | ModbusRTU::ModbusMessage & | msg | ) | [protected, virtual] |
посылка запроса
Перекрестные ссылки DebugStream::debugging(), ModbusRTU::ModbusMessage::len и msleep().
Используется в ModbusTCPMaster::query().
int ModbusClient::setAfterSendPause | ( | timeout_t | msec | ) |
Установка паузы после посылки запроса
virtual void ModbusClient::setChannelTimeout | ( | timeout_t | msec | ) | [protected, pure virtual] |
set timeout for send/receive data
Замещается в ModbusRTUMaster и ModbusTCPMaster.
SetDateTimeRetMessage ModbusClient::setDateTime | ( | ModbusRTU::ModbusAddr | addr, |
ModbusRTU::ModbusByte | hour, | ||
ModbusRTU::ModbusByte | min, | ||
ModbusRTU::ModbusByte | sec, | ||
ModbusRTU::ModbusByte | day, | ||
ModbusRTU::ModbusByte | mon, | ||
ModbusRTU::ModbusByte | year, | ||
ModbusRTU::ModbusByte | century | ||
) | throw (ModbusRTU::mbException) |
Установить системное время (0x50) hour - часы [0..23] min - минуты [0..59] sec - секунды [0..59] day - день [1..31] mon - месяц [1..12] year - год [0..99] century - столетие [19-20]
Перекрестные ссылки ModbusRTU::SetDateTimeMessage::century, ModbusRTU::SetDateTimeMessage::day, ModbusRTU::SetDateTimeMessage::hour, ModbusRTU::SetDateTimeMessage::min, ModbusRTU::SetDateTimeMessage::mon, ModbusRTU::SetDateTimeMessage::sec, ModbusRTU::SetDateTimeMessage::transport_msg() и ModbusRTU::SetDateTimeMessage::year.
void ModbusClient::setSleepPause | ( | timeout_t | usec | ) | [inline] |
установить паузу при ожидании символа
Перекрестные ссылки sleepPause_usec.
void ModbusClient::setTimeout | ( | timeout_t | msec | ) |
установить время ожидания по умолчанию
Перекрестные ссылки UniSetTimer::WaitUpTime.
ForceSingleCoilRetMessage ModbusClient::write05 | ( | ModbusRTU::ModbusAddr | addr, |
ModbusRTU::ModbusData | reg, | ||
bool | cmd | ||
) | throw (ModbusRTU::mbException) |
0x05
addr | - адрес slave-узла |
reg | - записываемый регистр |
cmd | - команда ON | OFF |
Перекрестные ссылки ModbusRTU::ForceSingleCoilMessage::transport_msg().
WriteSingleOutputRetMessage ModbusClient::write06 | ( | ModbusRTU::ModbusAddr | addr, |
ModbusRTU::ModbusData | reg, | ||
ModbusRTU::ModbusData | data | ||
) | throw (ModbusRTU::mbException) |
Запись одного регистра (0x06)
addr | - адрес slave-узла |
reg | - записываемый регистр |
data | - данные |
Перекрестные ссылки ModbusRTU::WriteSingleOutputMessage::transport_msg().
ForceCoilsRetMessage ModbusClient::write0F | ( | ModbusRTU::ForceCoilsMessage & | msg | ) | throw (ModbusRTU::mbException) |
Запись группы выходов (0x0F)
Перекрестные ссылки ModbusRTU::ForceCoilsRetMessage::transport_msg().
WriteOutputRetMessage ModbusClient::write10 | ( | ModbusRTU::WriteOutputMessage & | msg | ) | throw (ModbusRTU::mbException) |
Запись группы регистров (0x10)
Перекрестные ссылки ModbusRTU::WriteOutputRetMessage::transport_msg().
timeout_t ModbusClient::aftersend_msec [protected] |
пауза после посылки запроса
ModbusRTU::ModbusMessage ModbusClient::qbuf [protected] |
буфер для посылки сообщений
ModbusRTU::ModbusMessage ModbusClient::reply [protected] |
буфер для приёма сообщений
timeout_t ModbusClient::replyTimeOut_ms [protected] |
таймаут на ожидание ответа
timeout_t ModbusClient::sleepPause_usec [protected] |
пауза между попытками чтения символа из канала
Используется в setSleepPause().