Nix (Dev) 3.5.10
dev - 3.5.10 - 1af9301
|
#include <AbstractModbusCommunicationProtocol.hpp>
Protected Member Functions | |
void | buildAllQueries (const std::map< iv::types::comms::modbus::modbusAddressAndFunction, std::vector< std::shared_ptr< iv::channels::AbstractChannel > > > &channels, const iv::types::networkId &netId, bool forceContinuousRegisters) |
Protected Attributes | |
iv::model::comms::modbus::Settings | m_modbusSettings |
std::vector< iv::comms::modbus::ModbusQueryMessage > | m_queriesCoils |
std::vector< iv::comms::modbus::ModbusQueryMessage > | m_queriesDiscreteInputs |
std::vector< iv::comms::modbus::ModbusQueryMessage > | m_queriesInputRegisters |
std::vector< iv::comms::modbus::ModbusQueryMessage > | m_queriesHoldingRegisters |
std::vector< iv::comms::modbus::ModbusQueryMessage > | m_queriesWriteCoils |
std::vector< iv::comms::modbus::ModbusQueryMessage > | m_queriesWriteRegisters |
std::map< iv::types::comms::modbus::modbusAddressAndFunction, std::optional< iv::types::comms::modbus::registerValue > > | m_valueAtAddress |
std::weak_ptr< iv::channels::AbstractChannel > | m_heartbeatChannel |
std::weak_ptr< iv::diamar::AppFailuresLoggerManager > | m_appFailuresLoggerManager |
iv::types::networkId | m_networkId |
std::shared_ptr< iv::comms::ICommunicationDriver > | m_driver |
Private Member Functions | |
std::vector< iv::comms::modbus::ModbusQueryMessage > | buildSpecificQuery (const std::vector< std::shared_ptr< iv::channels::AbstractChannel > > &chVectOrderedByAddress, uint16_t maxRegPerQuery, iv::comms::modbus::eFunctionCode mbFunction, const iv::types::networkId &netId, bool forceContinuousRegisters=false) const |
Static Private Member Functions | |
static void | classifyChannelsMap (const std::map< iv::types::comms::modbus::modbusAddressAndFunction, std::vector< std::shared_ptr< iv::channels::AbstractChannel > > > &channelsByAddress, std::vector< std::shared_ptr< iv::channels::AbstractChannel > > &readCoils, std::vector< std::shared_ptr< iv::channels::AbstractChannel > > &readDiscreteInputs, std::vector< std::shared_ptr< iv::channels::AbstractChannel > > &readInputRegisters, std::vector< std::shared_ptr< iv::channels::AbstractChannel > > &readHoldingRegisters, std::vector< std::shared_ptr< iv::channels::AbstractChannel > > &writeCoils, std::vector< std::shared_ptr< iv::channels::AbstractChannel > > &writeHoldingRegisters, const iv::types::networkId &netId) |
|
delete |
iv::comms::modbus::AbstractModbusCommunicationProtocol::AbstractModbusCommunicationProtocol | ( | const std::shared_ptr< iv::comms::ICommunicationDriver > & | driver, |
iv::model::comms::modbus::Settings | settings, | ||
const std::weak_ptr< iv::diamar::AppFailuresLoggerManager > & | appFailuresLoggerManager, | ||
iv::types::networkId | networkId, | ||
std::weak_ptr< iv::channels::AbstractChannel > & | heartbeatChannel ) |
|
delete |
|
delete |
|
overridedefault |
|
protected |
TODO RAG: Esta opción genera problemas si tienes un canal de un tipo que ya de por si es mayor a 1 registro. ej: Float, Dint, Qint, etc. ¿Descartamos ese canal de la lista?
|
nodiscardprivate |
|
staticprivate |
void iv::comms::modbus::AbstractModbusCommunicationProtocol::emptyGrid | ( | ) |
std::optional< iv::types::comms::modbus::registerValue > iv::comms::modbus::AbstractModbusCommunicationProtocol::getAddressValue | ( | const iv::types::comms::modbus::modbusAddressAndFunction & | addressAndFunct | ) |
|
inlinenodiscardoverridevirtual |
Implements iv::comms::ICommunicationProtocol.
|
delete |
|
delete |
|
pure virtual |
|
pure virtual |
|
protected |
|
protectedinherited |
|
protected |
|
protected |
|
protected |
|
protected |
Queries para leer coils.
|
protected |
Queries para leer discrete inputs.
|
protected |
Queries para leer holding registers.
|
protected |
Queries para leer input registers.
|
protected |
Queries para escribir uno o multiples coils.
|
protected |
Queries para escribir uno o multiples registros.
|
protected |
Valor contenido en cada registro.