« Close

Datasheets and User Guides

App Notes

Software & Driver

 

2.3.13 - eWriteNameArray

Write consecutive values, specified by a name.

Syntax

LJM_ERROR_RETURN LJM_eWriteNameArray(
                      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 write.  Names can be found throughout the device datasheet or in the Modbus Map.
NumValues [in]
The number of consecutive values.
aValues [in]
An array of values to be transferred to 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_eWriteAddressArray.

If NumValues is large enough, these functions will automatically split writes 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.

Examples

[C/C++] Write DAC0 and DAC1 as an array

int LJMError;
int errorAddress;
double newValues[2] = {1.2, 3.4};

// handle comes from LJM_Open()
LJMError = LJM_eWriteNameArray(handle, "DAC0", 2, newValues, &errorAddress);
if (LJMError != LJME_NOERROR) {
    // Deal with error
}