UniSet 2.32.1
|
#include <ModbusClient.h>
Открытые члены | |
ModbusRTU::ReadCoilRetMessage | read01 (ModbusRTU::ModbusAddr addr, ModbusRTU::ModbusData start, ModbusRTU::ModbusData count) |
ModbusRTU::ReadInputStatusRetMessage | read02 (ModbusRTU::ModbusAddr addr, ModbusRTU::ModbusData start, ModbusRTU::ModbusData count) |
ModbusRTU::ReadOutputRetMessage | read03 (ModbusRTU::ModbusAddr addr, ModbusRTU::ModbusData start, ModbusRTU::ModbusData count) |
ModbusRTU::ReadInputRetMessage | read04 (ModbusRTU::ModbusAddr addr, ModbusRTU::ModbusData start, ModbusRTU::ModbusData count) |
ModbusRTU::ForceSingleCoilRetMessage | write05 (ModbusRTU::ModbusAddr addr, ModbusRTU::ModbusData reg, bool cmd) |
ModbusRTU::WriteSingleOutputRetMessage | write06 (ModbusRTU::ModbusAddr addr, ModbusRTU::ModbusData reg, ModbusRTU::ModbusData data) |
ModbusRTU::ForceCoilsRetMessage | write0F (ModbusRTU::ForceCoilsMessage &msg) |
ModbusRTU::WriteOutputRetMessage | write10 (ModbusRTU::WriteOutputMessage &msg) |
ModbusRTU::DiagnosticRetMessage | diag08 (ModbusRTU::ModbusAddr addr, ModbusRTU::DiagnosticsSubFunction subfunc, ModbusRTU::ModbusData dat=0) |
ModbusRTU::MEIMessageRetRDI | read4314 (ModbusRTU::ModbusAddr addr, ModbusRTU::ModbusByte devID, ModbusRTU::ModbusByte objID) |
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) |
ModbusRTU::FileTransferRetMessage | partOfFileTransfer (ModbusRTU::ModbusAddr addr, ModbusRTU::ModbusData idFile, ModbusRTU::ModbusData numpack, timeout_t part_timeout_msec=2000) |
void | fileTransfer (ModbusRTU::ModbusAddr addr, ModbusRTU::ModbusData idFile, const std::string &save2filename, timeout_t part_timeout_msec=2000) |
void | setTimeout (timeout_t msec) |
int | setAfterSendPause (timeout_t msec) |
void | setSleepPause (timeout_t usec) |
void | initLog (std::shared_ptr< uniset::Configuration > conf, const std::string &name, const std::string &logfile="") |
void | setLog (std::shared_ptr< DebugStream > dlog) |
void | setCRCNoCheckit (bool set) |
bool | isCRCNoCheckit () const |
virtual void | cleanupChannel () |
Защищенные члены | |
virtual size_t | getNextData (unsigned char *buf, size_t len)=0 |
virtual void | setChannelTimeout (timeout_t msec)=0 |
virtual ModbusRTU::mbErrCode | sendData (unsigned char *buf, size_t len)=0 |
virtual ModbusRTU::mbErrCode | query (ModbusRTU::ModbusAddr addr, ModbusRTU::ModbusMessage &msg, ModbusRTU::ModbusMessage &qreply, 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 () |
Защищенные данные | |
timeout_t | replyTimeOut_ms |
timeout_t | aftersend_msec |
timeout_t | sleepPause_usec |
bool | crcNoCheckit |
uniset::uniset_rwmutex | sendMutex |
std::shared_ptr< DebugStream > | dlog |
PassiveTimer | tmProcessing |
Modbus client (master) interface
DiagnosticRetMessage uniset::ModbusClient::diag08 | ( | ModbusRTU::ModbusAddr | addr, |
ModbusRTU::DiagnosticsSubFunction | subfunc, | ||
ModbusRTU::ModbusData | dat = 0 ) |
Диагностика (0x08) throw ModbusRTU::mbException
void uniset::ModbusClient::fileTransfer | ( | ModbusRTU::ModbusAddr | addr, |
ModbusRTU::ModbusData | idFile, | ||
const std::string & | save2filename, | ||
timeout_t | part_timeout_msec = 2000 ) |
Загрузить файл
idFile | - идентификатор файла |
save2filename | - имя файла, под которым будет сохранён полученный файл |
part_timeout_msec | - таймаут на получение очередной части файла. |
throw ModbusRTU::mbException
|
protectedpure virtual |
get next data block from channel ot recv buffer
begin | - get from position |
buf | - buffer for data |
len | - size of buf |
Замещается в uniset::ModbusRTUMaster и uniset::ModbusTCPMaster.
FileTransferRetMessage uniset::ModbusClient::partOfFileTransfer | ( | ModbusRTU::ModbusAddr | addr, |
ModbusRTU::ModbusData | idFile, | ||
ModbusRTU::ModbusData | numpack, | ||
timeout_t | part_timeout_msec = 2000 ) |
Загрузить файл (0x66)
idFile | - идентификатор файла |
numpack | - номер очередного запрашиваемого пакета |
save2filename | - имя файла, под которым будет сохранён полученный файл |
part_timeout_msec | - таймаут на получение очередной части файла. |
throw ModbusRTU::mbException
|
protectedpure virtual |
функция запрос-ответ
Замещается в uniset::ModbusRTUMaster и uniset::ModbusTCPMaster.
ReadCoilRetMessage uniset::ModbusClient::read01 | ( | ModbusRTU::ModbusAddr | addr, |
ModbusRTU::ModbusData | start, | ||
ModbusRTU::ModbusData | count ) |
Чтение группы регистров (0x01)
addr | - адрес slave-узла |
start | - начальный регистр с которого читать |
count | - сколько регистров читать |
throw ModbusRTU::mbException
ReadInputStatusRetMessage uniset::ModbusClient::read02 | ( | ModbusRTU::ModbusAddr | addr, |
ModbusRTU::ModbusData | start, | ||
ModbusRTU::ModbusData | count ) |
Чтение группы регистров (0x02)
addr | - адрес slave-узла |
start | - начальный регистр с которого читать |
count | - сколько регистров читать |
throw ModbusRTU::mbException
ReadOutputRetMessage uniset::ModbusClient::read03 | ( | ModbusRTU::ModbusAddr | addr, |
ModbusRTU::ModbusData | start, | ||
ModbusRTU::ModbusData | count ) |
Чтение группы регистров (0x03)
addr | - адрес slave-узла |
start | - начальный регистр с которого читать |
count | - сколько регистров читать |
throw ModbusRTU::mbException
ReadInputRetMessage uniset::ModbusClient::read04 | ( | ModbusRTU::ModbusAddr | addr, |
ModbusRTU::ModbusData | start, | ||
ModbusRTU::ModbusData | count ) |
Чтение группы регистров (0x04)
addr | - адрес slave-узла |
start | - начальный регистр с которого читать |
count | - сколько регистров читать |
throw ModbusRTU::mbException
ModbusRTU::MEIMessageRetRDI uniset::ModbusClient::read4314 | ( | ModbusRTU::ModbusAddr | addr, |
ModbusRTU::ModbusByte | devID, | ||
ModbusRTU::ModbusByte | objID ) |
Modbus Encapsulated Interface 43(0x2B) Read Device Identification 14(0x0E) throw ModbusRTU::mbException
|
protectedvirtual |
обработка ответа
|
protectedvirtual |
посылка запроса
int uniset::ModbusClient::setAfterSendPause | ( | timeout_t | msec | ) |
Установка паузы после посылки запроса
|
protectedpure virtual |
set timeout for send/receive data
Замещается в uniset::ModbusRTUMaster и uniset::ModbusTCPMaster.
SetDateTimeRetMessage uniset::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 ) |
Установить системное время (0x50) hour - часы [0..23] min - минуты [0..59] sec - секунды [0..59] day - день [1..31] mon - месяц [1..12] year - год [0..99] century - столетие [19-20]
throw ModbusRTU::mbException
|
inline |
установить паузу при ожидании символа
void uniset::ModbusClient::setTimeout | ( | timeout_t | msec | ) |
установить время ожидания по умолчанию
ForceSingleCoilRetMessage uniset::ModbusClient::write05 | ( | ModbusRTU::ModbusAddr | addr, |
ModbusRTU::ModbusData | reg, | ||
bool | cmd ) |
0x05
addr | - адрес slave-узла |
reg | - записываемый регистр |
cmd | - команда ON | OFF |
throw ModbusRTU::mbException
WriteSingleOutputRetMessage uniset::ModbusClient::write06 | ( | ModbusRTU::ModbusAddr | addr, |
ModbusRTU::ModbusData | reg, | ||
ModbusRTU::ModbusData | data ) |
Запись одного регистра (0x06)
addr | - адрес slave-узла |
reg | - записываемый регистр |
data | - данные |
throw ModbusRTU::mbException
ForceCoilsRetMessage uniset::ModbusClient::write0F | ( | ModbusRTU::ForceCoilsMessage & | msg | ) |
Запись группы выходов (0x0F) throw ModbusRTU::mbException
WriteOutputRetMessage uniset::ModbusClient::write10 | ( | ModbusRTU::WriteOutputMessage & | msg | ) |
Запись группы регистров (0x10) throw ModbusRTU::mbException
|
protected |
пауза после посылки запроса
|
protected |
таймаут на ожидание ответа
|
protected |
пауза между попытками чтения символа из канала