eReadNameArray [LJM User's Guide]
Read consecutive device registers, with the starting register specified by a name.
Syntax
LJM_ERROR_RETURN LJM_eReadNameArray(
int Handle,
const char * Name,
int NumValues,
double * aValues,
int * ErrorAddress)
Parameters
Handle [in]
A device handle. The handle is a connection ID for an active device. Generate a handle with LJM_Open or LJM_OpenS.
Name [in]
The name that specifies the Modbus register(s) to read. Names can be found throughout the device datasheet or in the Modbus Map.
NumValues [in]
The number of consecutive values to read.
aValues [out]
An array of values to be transferred from the device. The array size should be equal to NumValues
. Each value will be converted according to the type of Name
.
ErrorAddress [out]
If error, the address responsible for causing an error.
Returns
LJM errorcodes or 0
for no error.
Remarks
The Address version of this function is LJM_eReadAddressArray.
If NumValues
is large enough, these functions will automatically split reads into multiple packets based on the current device's effective data packet size. Using both non-buffer and buffer registers in one function call is not supported.
Example
Read analog inputs 0 through 7
int LJMError;
int errorAddress;
double newValues[8];
// handle comes from LJM_Open()
LJMError = LJM_eReadNameArray(handle, "AIN0", 8, newValues, &errorAddress);
if (LJMError != LJME_NOERROR) {
// Deal with error
}