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().