pub enum Response {
Show 13 variants
ReadCoils(Vec<bool>),
ReadDiscreteInputs(Vec<bool>),
WriteSingleCoil(Address, bool),
WriteMultipleCoils(Address, Quantity),
ReadInputRegisters(Vec<u16>),
ReadHoldingRegisters(Vec<u16>),
WriteSingleRegister(Address, u16),
WriteMultipleRegisters(Address, Quantity),
ReportServerId(u8, bool, Vec<u8>),
MaskWriteRegister(Address, u16, u16),
ReadWriteMultipleRegisters(Vec<u16>),
ReadDeviceIdentification(ReadDeviceIdentificationResponse),
Custom(u8, Bytes),
}
Expand description
The data of a successful request.
ReadCoils/ReadDiscreteInputs: The length of the result Vec is always a multiple of 8. Only the values of the first bits/coils that have actually been requested are defined. The value of the remaining bits depend on the server implementation and those coils should be ignored.
Variants§
ReadCoils(Vec<bool>)
Response to a ReadCoils
request
The parameter contains the coil values that have been read
See also the note above regarding the vector length
ReadDiscreteInputs(Vec<bool>)
Response to a ReadDiscreteInputs
request
The parameter contains the discrete input values that have been read
See also the note above regarding the vector length
WriteSingleCoil(Address, bool)
Response to a WriteSingleCoil
request
The first parameter contains the address of the coil that has been written to
The second parameter contains the value that has been written to the coil the given address
WriteMultipleCoils(Address, Quantity)
Response to a WriteMultipleCoils
request
The first parameter contains the address at the start of the range that has been written to
The second parameter contains the amount of values that have been written
ReadInputRegisters(Vec<u16>)
Response to a ReadInputRegisters
request
The parameter contains the register values that have been read
ReadHoldingRegisters(Vec<u16>)
Response to a ReadHoldingRegisters
request
The parameter contains the register values that have been read
WriteSingleRegister(Address, u16)
Response to a WriteSingleRegister
request
The first parameter contains the address of the register that has been written to
The second parameter contains the value that has been written to the register at the given address
WriteMultipleRegisters(Address, Quantity)
Response to a WriteMultipleRegisters
request
The first parameter contains the address at the start of the register range that has been written to
The second parameter contains the amount of register that have been written
ReportServerId(u8, bool, Vec<u8>)
Response to a ReportServerId
request
The first parameter contains the server ID
The second parameter indicates whether the server is running
The third parameter contains additional data from the server
MaskWriteRegister(Address, u16, u16)
Response MaskWriteRegister
The first parameter is the address of the holding register.
The second parameter is the AND mask.
The third parameter is the OR mask.
ReadWriteMultipleRegisters(Vec<u16>)
Response to a ReadWriteMultipleRegisters
request
The parameter contains the register values that have been read as part of the read instruction
ReadDeviceIdentification(ReadDeviceIdentificationResponse)
Response to a ReadDeviceIdentification
request
Custom(u8, Bytes)
Response to a raw Modbus request The first parameter contains the returned Modbus function code The second parameter contains the bytes read following the function code
Implementations§
Source§impl Response
impl Response
Sourcepub const fn function_code(&self) -> FunctionCode
pub const fn function_code(&self) -> FunctionCode
Get the FunctionCode
of the Response
.