int CSeaMaxW32::Write ( slave_address_t  slave_id,
seaio_type_t  type,
address_loc_t  starting_address,
address_range_t  range,
unsigned char *  data 
)

Performs a Modbus write on an opened SeaI/O module and returns the data by reference.

Deprecated:
Version 2.x
Parameters
[in]slave_idSlave ID of the target module
[in]typeType of read to complete
[in]starting_addressAddress to begin reading
[in]rangeNumber of I/O points to read
[out]dataData pointer
Return values
>=0Success - the number of valid data bytes in the buffer.
-14A Modbus read exception has occured - the first byte of the data buffer contains the exception.
-22A null pointer has been supplied where a pointer to a data buffer was expected.
-9The specified communication is not current established.
-18Can not write data to the outbound connection - connection error.
-19The SeaI/O module did not respond.
-34Attempting to write to more IO points than are available.
-27Illegal data value.

Write performs a Modbus write on an opened SeaI/O module and returns the data by reference.

The actual Modbus write type is specified by the 'type' argument. Since Modbus is actually base one, the starting location should be no less than one. Likewise, the range indicates how many consecutive inputs should be read.

The final parameter, 'data', is a pointer to a buffer in which to store the returned data - specifically, an array of bytes. Consult the provided code examples for model specific information.

References SM_GlobalCommsReset(), SM_ReadInputRegisters(), SM_SelectDevice(), SM_WriteCoils(), SM_WriteHoldingRegisters(), and SM_WritePIO().

 
 
Generated on Mon Nov 26 2018.