Performs a Modbus read on an opened SeaI/O module and returns the data by reference.
- Deprecated:
- Version 2.x
- Parameters
-
[in] | slave_id | Slave ID of the target module |
[in] | type | Type of read to complete |
[in] | starting_address | Address to begin reading |
[in] | range | Number of I/O points to read |
[out] | data | Data pointer |
- Return values
-
>=0 | Success - the number of valid data bytes in the buffer. |
-14 | A Modbus read exception has occured - the first byte of the data buffer contains the exception. |
-22 | A null pointer has been supplied where a pointer to a data buffer was expected. |
-9 | The specified communication is not current established. |
-19 | The SeaI/O module did not respond. |
Read performs a Modbus read on an opened SeaI/O module and returns the data by reference.
The actual Modbus read type is specified by the 'type' argument. Since Modbus is one-indexed, 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 - most often, an array of bytes. Consult the provided code examples for model specific information.
- Note
- The following are deviations from SeaMAX v2:
- The SETUPREG and COMMREG options are not supported and will return -1.
References SM_GetConfig(), SM_GetPIODirection(), SM_ReadCoils(), SM_ReadDiscreteInputs(), SM_ReadHoldingRegisters(), SM_ReadInputRegisters(), SM_ReadPIO(), and SM_SelectDevice().