Trait libmodbus_rs::ModbusClient
[−]
[src]
pub trait ModbusClient {
fn read_bits(&self, address: i32, num: i32, dest: &mut [u8]) -> Result<i32>;
fn read_input_bits(
&self,
address: i32,
num: i32,
dest: &mut [u8]
) -> Result<i32>;
fn read_registers(
&self,
address: i32,
num: i32,
dest: &mut [u16]
) -> Result<i32>;
fn read_input_registers(
&self,
address: i32,
num: i32,
dest: &mut [u16]
) -> Result<i32>;
fn report_slave_id(&self, max_dest: usize, dest: &mut [u8]) -> Result<i32>;
fn write_bit(&self, address: i32, status: bool) -> Result<()>;
fn write_bits(&self, address: i32, num: i32, src: &[u8]) -> Result<i32>;
fn write_register(&self, address: i32, value: i32) -> Result<()>;
fn write_registers(
&self,
address: i32,
num: i32,
src: &[u16]
) -> Result<i32>;
fn write_and_read_registers(
&self,
write_address: i32,
write_num: i32,
src: &[u16],
read_address: i32,
read_num: i32,
dest: &mut [u16]
) -> Result<i32>;
fn send_raw_request(&self, raw_request: &mut [u8]) -> Result<i32>;
fn receive_confirmation(&self) -> Result<Vec<u8>>;
}The Modbus protocol defines different data types and functions to read and write them from/to remote devices. The following functions are used by the clients to send Modbus requests:
- Read data
- Write data
- Write and read data
- Raw requests
- Reply an exception
Required Methods
fn read_bits(&self, address: i32, num: i32, dest: &mut [u8]) -> Result<i32>
fn read_input_bits(
&self,
address: i32,
num: i32,
dest: &mut [u8]
) -> Result<i32>
&self,
address: i32,
num: i32,
dest: &mut [u8]
) -> Result<i32>
fn read_registers(
&self,
address: i32,
num: i32,
dest: &mut [u16]
) -> Result<i32>
&self,
address: i32,
num: i32,
dest: &mut [u16]
) -> Result<i32>
fn read_input_registers(
&self,
address: i32,
num: i32,
dest: &mut [u16]
) -> Result<i32>
&self,
address: i32,
num: i32,
dest: &mut [u16]
) -> Result<i32>
fn report_slave_id(&self, max_dest: usize, dest: &mut [u8]) -> Result<i32>
fn write_bit(&self, address: i32, status: bool) -> Result<()>
fn write_bits(&self, address: i32, num: i32, src: &[u8]) -> Result<i32>
fn write_register(&self, address: i32, value: i32) -> Result<()>
fn write_registers(&self, address: i32, num: i32, src: &[u16]) -> Result<i32>
fn write_and_read_registers(
&self,
write_address: i32,
write_num: i32,
src: &[u16],
read_address: i32,
read_num: i32,
dest: &mut [u16]
) -> Result<i32>
&self,
write_address: i32,
write_num: i32,
src: &[u16],
read_address: i32,
read_num: i32,
dest: &mut [u16]
) -> Result<i32>
fn send_raw_request(&self, raw_request: &mut [u8]) -> Result<i32>
fn receive_confirmation(&self) -> Result<Vec<u8>>
Implementors
impl ModbusClient for Modbus