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

#include <MBSlave.h>

Граф связей класса MBSlave:
Collaboration graph
[см. легенду]

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

 MBSlave (const std::unordered_set< uniset::ModbusRTU::ModbusAddr > &vaddr, const std::string &dev, const std::string &speed, bool use485=false)
 
void setVerbose (bool state)
 
void setReply (long val)
 
void setReply2 (long val)
 
void setReply3 (long val)
 
void setRandomReply (long min, long max)
 
void execute ()
 
void setLog (std::shared_ptr< DebugStream > dlog)
 

Защищенные члены

void sigterm (int signo)
 
uniset::ModbusRTU::mbErrCode readCoilStatus (uniset::ModbusRTU::ReadCoilMessage &query, uniset::ModbusRTU::ReadCoilRetMessage &reply)
 
uniset::ModbusRTU::mbErrCode readInputStatus (uniset::ModbusRTU::ReadInputStatusMessage &query, uniset::ModbusRTU::ReadInputStatusRetMessage &reply)
 
uniset::ModbusRTU::mbErrCode readOutputRegisters (uniset::ModbusRTU::ReadOutputMessage &query, uniset::ModbusRTU::ReadOutputRetMessage &reply)
 
uniset::ModbusRTU::mbErrCode readInputRegisters (uniset::ModbusRTU::ReadInputMessage &query, uniset::ModbusRTU::ReadInputRetMessage &reply)
 
uniset::ModbusRTU::mbErrCode forceSingleCoil (uniset::ModbusRTU::ForceSingleCoilMessage &query, uniset::ModbusRTU::ForceSingleCoilRetMessage &reply)
 
uniset::ModbusRTU::mbErrCode forceMultipleCoils (uniset::ModbusRTU::ForceCoilsMessage &query, uniset::ModbusRTU::ForceCoilsRetMessage &reply)
 
uniset::ModbusRTU::mbErrCode writeOutputRegisters (uniset::ModbusRTU::WriteOutputMessage &query, uniset::ModbusRTU::WriteOutputRetMessage &reply)
 
uniset::ModbusRTU::mbErrCode writeOutputSingleRegister (uniset::ModbusRTU::WriteSingleOutputMessage &query, uniset::ModbusRTU::WriteSingleOutputRetMessage &reply)
 
uniset::ModbusRTU::mbErrCode journalCommand (uniset::ModbusRTU::JournalCommandMessage &query, uniset::ModbusRTU::JournalCommandRetMessage &reply)
 
uniset::ModbusRTU::mbErrCode setDateTime (uniset::ModbusRTU::SetDateTimeMessage &query, uniset::ModbusRTU::SetDateTimeRetMessage &reply)
 
uniset::ModbusRTU::mbErrCode remoteService (uniset::ModbusRTU::RemoteServiceMessage &query, uniset::ModbusRTU::RemoteServiceRetMessage &reply)
 
uniset::ModbusRTU::mbErrCode fileTransfer (uniset::ModbusRTU::FileTransferMessage &query, uniset::ModbusRTU::FileTransferRetMessage &reply)
 
uniset::ModbusRTU::mbErrCode diagnostics (uniset::ModbusRTU::DiagnosticMessage &query, uniset::ModbusRTU::DiagnosticRetMessage &reply)
 
uniset::ModbusRTU::mbErrCode read4314 (uniset::ModbusRTU::MEIMessageRDI &query, uniset::ModbusRTU::MEIMessageRetRDI &reply)
 

Защищенные данные

uniset::ModbusRTUSlaveSlotrscomm
 
std::unordered_set< uniset::ModbusRTU::ModbusAddr > vaddr
 
bool verbose
 
std::random_device rnd
 
std::unique_ptr< std::mt19937 > gen = { nullptr }
 
std::unique_ptr< std::uniform_int_distribution<> > rndgen = { nullptr }
 
long replyVal
 
long replyVal2
 
long replyVal3
 

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

Ничего не делающая реализация MBSlave для тестирования

Методы

◆ execute()

void MBSlave::execute ( )

основной цикл работы

◆ forceMultipleCoils()

ModbusRTU::mbErrCode MBSlave::forceMultipleCoils ( uniset::ModbusRTU::ForceCoilsMessage & query,
uniset::ModbusRTU::ForceCoilsRetMessage & reply )
protected

обработка 0x0F

◆ forceSingleCoil()

ModbusRTU::mbErrCode MBSlave::forceSingleCoil ( uniset::ModbusRTU::ForceSingleCoilMessage & query,
uniset::ModbusRTU::ForceSingleCoilRetMessage & reply )
protected

обработка 0x05

◆ journalCommand()

ModbusRTU::mbErrCode MBSlave::journalCommand ( uniset::ModbusRTU::JournalCommandMessage & query,
uniset::ModbusRTU::JournalCommandRetMessage & reply )
protected

обработка запросов на чтение ошибок

◆ readCoilStatus()

ModbusRTU::mbErrCode MBSlave::readCoilStatus ( uniset::ModbusRTU::ReadCoilMessage & query,
uniset::ModbusRTU::ReadCoilRetMessage & reply )
protected

обработка 0x01

◆ readInputRegisters()

mbErrCode MBSlave::readInputRegisters ( uniset::ModbusRTU::ReadInputMessage & query,
uniset::ModbusRTU::ReadInputRetMessage & reply )
protected

обработка 0x04

◆ readInputStatus()

ModbusRTU::mbErrCode MBSlave::readInputStatus ( uniset::ModbusRTU::ReadInputStatusMessage & query,
uniset::ModbusRTU::ReadInputStatusRetMessage & reply )
protected

обработка 0x02

◆ readOutputRegisters()

ModbusRTU::mbErrCode MBSlave::readOutputRegisters ( uniset::ModbusRTU::ReadOutputMessage & query,
uniset::ModbusRTU::ReadOutputRetMessage & reply )
protected

обработка 0x03

◆ remoteService()

ModbusRTU::mbErrCode MBSlave::remoteService ( uniset::ModbusRTU::RemoteServiceMessage & query,
uniset::ModbusRTU::RemoteServiceRetMessage & reply )
protected

обработка запроса удалённого сервиса

◆ setDateTime()

ModbusRTU::mbErrCode MBSlave::setDateTime ( uniset::ModbusRTU::SetDateTimeMessage & query,
uniset::ModbusRTU::SetDateTimeRetMessage & reply )
protected

обработка запроса на установку времени

◆ writeOutputRegisters()

ModbusRTU::mbErrCode MBSlave::writeOutputRegisters ( uniset::ModbusRTU::WriteOutputMessage & query,
uniset::ModbusRTU::WriteOutputRetMessage & reply )
protected

обработка 0x10

◆ writeOutputSingleRegister()

ModbusRTU::mbErrCode MBSlave::writeOutputSingleRegister ( uniset::ModbusRTU::WriteSingleOutputMessage & query,
uniset::ModbusRTU::WriteSingleOutputRetMessage & reply )
protected

обработка 0x06

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

◆ rscomm

uniset::ModbusRTUSlaveSlot* MBSlave::rscomm
protected

интерфейс ModbusRTUSlave для обмена по RS

◆ vaddr

std::unordered_set<uniset::ModbusRTU::ModbusAddr> MBSlave::vaddr
protected

адреса на которые отвечаем