adapnex::drivers::modbus::ModbusMaster

A Modbus master capable of Modbus TCP and RTU.

Synopsis

Declared in <adapnex/drivers/modbus.h>

class ModbusMaster
    : public boost::noncopyable

Description

All methods are blocking. In most cases, a bus scheduler instance should be used to interact with the Modbus master.

All methods are thread‐safe.

Base Classes

Name

Description

boost::noncopyable

Enums

Name

Description

Result

Status code returned by Modbus operations.

Member Functions

Name

Description

ModbusMaster [constructor]

Constructs a Modbus master in TCP mode.

ModbusMaster [constructor]

Constructs a Modbus master in RTU mode.

~ModbusMaster [destructor]

Destructor

Close

Closes the underlying TCP connection if TCP transport is used.

ReadCoils

Reads contiguous coils from a slave device using function code 0x01.

ReadCoils

Reads contiguous coils from a slave device using function code 0x01 into an iterator range.

ReadDiscreteInputs

Reads contiguous discrete inputs from a slave device using function code 0x02.

ReadDiscreteInputs

Reads contiguous discrete inputs from a slave device using function code 0x02 into an iterator range.

ReadHoldingRegisters

Reads contiguous holding registers from a slave device using function code 0x03.

ReadInputRegisters

Reads contiguous input registers from a slave device using function code 0x04.

Reconnect

Reconnects the underlying TCP connection if TCP transport is used.

WriteMultipleCoils

Writes contiguous coils on a slave device using function code 0x0F.

WriteMultipleCoils

Writes contiguous coils on a slave device using function code 0x0F from an iterator range.

WriteMultipleRegisters

Writes contiguous holding registers on a slave device using function code 0x10.

WriteReadMultipleRegisters

Performs a combined write and read operation on registers using function code 0x17.

WriteSingleCoil

Writes a single coil on a slave device using function code 0x05.

WriteSingleRegister

Writes a single holding register on a slave device using function code 0x06.

Created with MrDocs