UniSet 2.32.1
Открытые члены | Защищенные члены | Защищенные данные | Полный список членов класса
Класс uniset::ModbusClientabstract

#include <ModbusClient.h>

Граф наследования:uniset::ModbusClient:
Inheritance graph
[см. легенду]
Граф связей класса uniset::ModbusClient:
Collaboration graph
[см. легенду]

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

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< DebugStreamdlog
 
PassiveTimer tmProcessing
 

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

Modbus client (master) interface

Методы

◆ diag08()

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

Диагностика (0x08) throw ModbusRTU::mbException

◆ fileTransfer()

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

◆ getNextData()

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 length ( must be <= len )

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

◆ partOfFileTransfer()

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

◆ query()

virtual ModbusRTU::mbErrCode uniset::ModbusClient::query ( ModbusRTU::ModbusAddr addr,
ModbusRTU::ModbusMessage & msg,
ModbusRTU::ModbusMessage & qreply,
timeout_t timeout )
protectedpure virtual

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

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

◆ read01()

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

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

Аргументы
addr- адрес slave-узла
start- начальный регистр с которого читать
count- сколько регистров читать

throw ModbusRTU::mbException

◆ read02()

ReadInputStatusRetMessage uniset::ModbusClient::read02 ( ModbusRTU::ModbusAddr addr,
ModbusRTU::ModbusData start,
ModbusRTU::ModbusData count )

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

Аргументы
addr- адрес slave-узла
start- начальный регистр с которого читать
count- сколько регистров читать

throw ModbusRTU::mbException

◆ read03()

ReadOutputRetMessage uniset::ModbusClient::read03 ( ModbusRTU::ModbusAddr addr,
ModbusRTU::ModbusData start,
ModbusRTU::ModbusData count )

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

Аргументы
addr- адрес slave-узла
start- начальный регистр с которого читать
count- сколько регистров читать

throw ModbusRTU::mbException

◆ read04()

ReadInputRetMessage uniset::ModbusClient::read04 ( ModbusRTU::ModbusAddr addr,
ModbusRTU::ModbusData start,
ModbusRTU::ModbusData count )

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

Аргументы
addr- адрес slave-узла
start- начальный регистр с которого читать
count- сколько регистров читать

throw ModbusRTU::mbException

◆ read4314()

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

◆ recv()

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

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

◆ send()

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

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

◆ setAfterSendPause()

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

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

Возвращает
старое значение

◆ setChannelTimeout()

virtual void uniset::ModbusClient::setChannelTimeout ( timeout_t msec)
protectedpure virtual

set timeout for send/receive data

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

◆ setDateTime()

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

◆ setSleepPause()

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

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

◆ setTimeout()

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

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

◆ write05()

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

0x05

Аргументы
addr- адрес slave-узла
reg- записываемый регистр
cmd- команда ON | OFF

throw ModbusRTU::mbException

◆ write06()

WriteSingleOutputRetMessage uniset::ModbusClient::write06 ( ModbusRTU::ModbusAddr addr,
ModbusRTU::ModbusData reg,
ModbusRTU::ModbusData data )

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

Аргументы
addr- адрес slave-узла
reg- записываемый регистр
data- данные

throw ModbusRTU::mbException

◆ write0F()

ForceCoilsRetMessage uniset::ModbusClient::write0F ( ModbusRTU::ForceCoilsMessage & msg)

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

◆ write10()

WriteOutputRetMessage uniset::ModbusClient::write10 ( ModbusRTU::WriteOutputMessage & msg)

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

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

◆ aftersend_msec

timeout_t uniset::ModbusClient::aftersend_msec
protected

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

◆ replyTimeOut_ms

timeout_t uniset::ModbusClient::replyTimeOut_ms
protected

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

◆ sleepPause_usec

timeout_t uniset::ModbusClient::sleepPause_usec
protected

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