|
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().
1.7.6.1