NamesToAddresses [LJM User's Guide]
Takes a list of Modbus register names as input and produces two lists as output - the corresponding Modbus addresses and types. These two lists can serve as input to functions that have Address/aAddresses and Type/aTypes as input parameters.
Syntax
LJM_ERROR_RETURN LJM_NamesToAddresses( int NumFrames, const char ** aNames, int * aAddresses, int * aTypes)
Parameters
NumFrames [in]
The number of names in aNames and the allocated size of aAddresses and aTypes.
aNames [in]
An array of null-terminated c-string register identifiers. These register identifiers can be register names or register alternate names.
aAddresses [out]
An output array containing the addresses specified by aNames in the same order, must be allocated to the size NumFrames before calling LJM_NamesToAddresses.
aTypes [out]
An output array containing the types specified by aNames in the same order, must be allocated to the size NumFrames before calling LJM_NamesToAddresses.
Returns
LJM errorcodes or 0 for no error.
Remarks
For each register identifier in aNames that is invalid, the corresponding aAddresses value will be set to LJM_INVALID_NAME_ADDRESS.
Example
Get the addresses and types of "AIN3" and "DAC0".
int LJMError;
const char * aNames[2] = {"AIN3", "DAC0"};
int aAddresses[2];
int aTypes[2];
int AIN3Address;
int AIN3Type;
int DAC0Address;
int DAC0Type;
LJMError = LJM_NamesToAddresses(2, aNames, aAddresses, aTypes);
AIN3Address = aAddresses[0];
AIN3Type = aTypes[0];
DAC0Address = aAddresses[1];
DAC0Type = aTypes[1];