UniSet  2.6.0
Открытые члены | Защищенные члены | Защищенные данные | Полный список членов класса
Класс uniset::ModbusClient
Граф наследования:uniset::ModbusClient:
Inheritance graph
[см. легенду]
Граф связей класса uniset::ModbusClient:
Collaboration graph
[см. легенду]

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

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::MEIMessageRetRDI read4314 (ModbusRTU::ModbusAddr addr, ModbusRTU::ModbusByte devID, ModbusRTU::ModbusByte objID) 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 (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< DebugStreamdlog
PassiveTimer tmProcessing

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

Modbus client (master) interface

Методы

DiagnosticRetMessage uniset::ModbusClient::diag08 ( ModbusRTU::ModbusAddr  addr,
ModbusRTU::DiagnosticsSubFunction  subfunc,
ModbusRTU::ModbusData  dat = 0 
) throw (ModbusRTU::mbException)

Диагностика (0x08)

void uniset::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- таймаут на получение очередной части файла.
virtual size_t uniset::ModbusClient::getNextData ( unsigned char *  buf,
size_t  len 
)
protectedpure 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 )

Замещается в uniset::ModbusTCPMaster и uniset::ModbusRTUMaster.

FileTransferRetMessage uniset::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- таймаут на получение очередной части файла.
virtual ModbusRTU::mbErrCode uniset::ModbusClient::query ( ModbusRTU::ModbusAddr  addr,
ModbusRTU::ModbusMessage msg,
ModbusRTU::ModbusMessage qreply,
timeout_t  timeout 
)
protectedpure virtual

функция запрос-ответ

Замещается в uniset::ModbusTCPMaster и uniset::ModbusRTUMaster.

ReadCoilRetMessage uniset::ModbusClient::read01 ( ModbusRTU::ModbusAddr  addr,
ModbusRTU::ModbusData  start,
ModbusRTU::ModbusData  count 
) throw (ModbusRTU::mbException)

Чтение группы регистров (0x01)

Аргументы
addr- адрес slave-узла
start- начальный регистр с которого читать
count- сколько регистров читать
ReadInputStatusRetMessage uniset::ModbusClient::read02 ( ModbusRTU::ModbusAddr  addr,
ModbusRTU::ModbusData  start,
ModbusRTU::ModbusData  count 
) throw (ModbusRTU::mbException)

Чтение группы регистров (0x02)

Аргументы
addr- адрес slave-узла
start- начальный регистр с которого читать
count- сколько регистров читать
ReadOutputRetMessage uniset::ModbusClient::read03 ( ModbusRTU::ModbusAddr  addr,
ModbusRTU::ModbusData  start,
ModbusRTU::ModbusData  count 
) throw (ModbusRTU::mbException)

Чтение группы регистров (0x03)

Аргументы
addr- адрес slave-узла
start- начальный регистр с которого читать
count- сколько регистров читать
ReadInputRetMessage uniset::ModbusClient::read04 ( ModbusRTU::ModbusAddr  addr,
ModbusRTU::ModbusData  start,
ModbusRTU::ModbusData  count 
) throw (ModbusRTU::mbException)

Чтение группы регистров (0x04)

Аргументы
addr- адрес slave-узла
start- начальный регистр с которого читать
count- сколько регистров читать
ModbusRTU::MEIMessageRetRDI uniset::ModbusClient::read4314 ( ModbusRTU::ModbusAddr  addr,
ModbusRTU::ModbusByte  devID,
ModbusRTU::ModbusByte  objID 
) throw (ModbusRTU::mbException)

Modbus Encapsulated Interface 43(0x2B) Read Device Identification 14(0x0E)

mbErrCode uniset::ModbusClient::recv ( ModbusRTU::ModbusAddr  addr,
ModbusRTU::ModbusByte  qfunc,
ModbusRTU::ModbusMessage rbuf,
timeout_t  timeout 
)
protectedvirtual

обработка ответа

mbErrCode uniset::ModbusClient::send ( ModbusRTU::ModbusMessage msg)
protectedvirtual

посылка запроса

int uniset::ModbusClient::setAfterSendPause ( timeout_t  msec)

Установка паузы после посылки запроса

Возвращает
старое значение
virtual void uniset::ModbusClient::setChannelTimeout ( timeout_t  msec)
protectedpure virtual

set timeout for send/receive data

Замещается в uniset::ModbusTCPMaster и uniset::ModbusRTUMaster.

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 
) 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]

void uniset::ModbusClient::setSleepPause ( timeout_t  usec)
inline

установить паузу при ожидании символа

void uniset::ModbusClient::setTimeout ( timeout_t  msec)

установить время ожидания по умолчанию

ForceSingleCoilRetMessage uniset::ModbusClient::write05 ( ModbusRTU::ModbusAddr  addr,
ModbusRTU::ModbusData  reg,
bool  cmd 
) throw (ModbusRTU::mbException)

0x05

Аргументы
addr- адрес slave-узла
reg- записываемый регистр
cmd- команда ON | OFF
WriteSingleOutputRetMessage uniset::ModbusClient::write06 ( ModbusRTU::ModbusAddr  addr,
ModbusRTU::ModbusData  reg,
ModbusRTU::ModbusData  data 
) throw (ModbusRTU::mbException)

Запись одного регистра (0x06)

Аргументы
addr- адрес slave-узла
reg- записываемый регистр
data- данные
ForceCoilsRetMessage uniset::ModbusClient::write0F ( ModbusRTU::ForceCoilsMessage msg) throw (ModbusRTU::mbException)

Запись группы выходов (0x0F)

WriteOutputRetMessage uniset::ModbusClient::write10 ( ModbusRTU::WriteOutputMessage msg) throw (ModbusRTU::mbException)

Запись группы регистров (0x10)

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

timeout_t uniset::ModbusClient::aftersend_msec
protected

пауза после посылки запроса

timeout_t uniset::ModbusClient::replyTimeOut_ms
protected

таймаут на ожидание ответа

timeout_t uniset::ModbusClient::sleepPause_usec
protected

пауза между попытками чтения символа из канала