acl_read_symbol_c
status.i4.v = acl_read_symbol_c(symbol_name.i1a.r, value.g.v,
value_type.i4.r, value_length.i4.r,
desired_type.i4.v, max_length.i4.v
[,options.u4.v] [,array_index.i4.v])
This routine reads the value of a symbol created by an Accelerator
Command Language (ACL) command. These symbol values still
exist after the ACL file has finished executing to determine
reading or status values resulting from the execution.
symbol_name null terminated symbol name
value returned value (type of data returned depends
upon "desired_type")
value_type returned type of the stored value
(ACL_BYTE_VALUE -> byte integer value,
ACL_UNSIGNED_BYTE_VALUE -> unsigned byte integer value,
ACL_SHORT_INT_VALUE -> short integer value,
ACL_UNSIGNED_SHORT_VALUE -> unsigned short integer
value,
ACL_INTEGER_VALUE -> long integer value,
ACL_UNSIGNED_INT_VALUE -> unsigned long integer value,
ACL_FLOAT_VALUE -> single precision floating
point value,
ACL_DOUBLE_VALUE -> double precision floating
point value,
ACL_STRING_VALUE -> null terminated string value,
ACL_LOGICAL_VALUE -> logical value (integer value),
ACL_DATE_VALUE -> date value in clinks
(unsigned integer value),
ACL_ERROR_VALUE -> ACNET error value (integer value),
ACL_SYSTEM_ERROR_VALUE -> system error value
(integer value),
ACL_RTL_ERROR_VALUE -> RTL error value (integer value),
ACL_NODE_VALUE -> ACNET node value (integer value),
ACL_EVENT_VALUE -> clock event value (integer value),
ACL_DEVICE_INDEX_VALUE -> device index value
(integer value))
value_length returned length of the stored value
desired_type desired data type for returned value
(ACL_DEFAULT_TYPE -> return data in the same form
as it is stored in the symbol,
ACL_BYTE_VALUE -> byte integer value,
ACL_UNSIGNED_BYTE_VALUE -> unsigned byte integer value,
ACL_SHORT_INT_VALUE -> short integer value,
ACL_UNSIGNED_SHORT_VALUE -> unsigned short integer
value,
ACL_INTEGER_VALUE -> return long integer value,
ACL_UNSIGNED_INT_VALUE -> unsigned long integer value,
ACL_FLOAT_VALUE -> single precision floating
point value,
ACL_DOUBLE_VALUE -> double precision floating
point value,
ACL_STRING_VALUE -> null terminated string value,
ACL_LOGICAL_VALUE -> logical value (integer value),
ACL_DATE_VALUE -> date value in clinks
(unsigned integer value),
ACL_ERROR_VALUE -> ACNET error value (integer value),
ACL_SYSTEM_ERROR_VALUE -> system error value
(integer value),
ACL_RTL_ERROR_VALUE -> RTL error value (integer value),
ACL_NODE_VALUE -> ACNET node value (integer value),
ACL_EVENT_VALUE -> clock event value (integer value),
ACL_DEVICE_INDEX_VALUE -> device index value,
(integer value))
max_length maximum number of bytes to return for the value
(only used for ACL_STRING_VALUE)
[options] read symbol name options
(ACL_OPT_NONE -> no options selected (default),
ACL_OPT_READ_VARIABLE -> return variable names (This
should only be used during
an execution callback.))
[array_index] array index (default is 0)
This function returns ACNET status values as follows:
CLIB_OK success
CLIB_NO_SUCH symbol doesn't exist
CLIB_DELETED symbol has been deleted
CLIB_NOINIT symbol has not been set
otherwise other ACNET format error code
This function requires the following include files:
cbslib_h, acnet_errors.h
Related functions:
intro_acl, acl_read_symbol_info_c, acl_set_symbol_c, acl_execute_c,
acl_file_execute_c, acl_file_read_c, acl_file_write_c, acl_compile_c,
acl_free_c, acl_read_symbol_names, acl_delete_symbol, acl_info_c,
acl_cancel_requests_c, acl_default_data_source_c, acl_log_file_c,
acl_default_script_path_c, acl_script_is_executing,
acl_register_host_request_func, acl_unregister_host_request_func,
acl_translate_command_string
C usage:
static const char symbol_name[] = "my_symbol";
int status;
int value_type;
int value_length;
int desired_type = ACL_FLOAT_VALUE;
int max_length = sizeof(float);
int array_index = 0;
unsigned int options = ACL_OPT_NONE;
float value;
status = acl_read_symbol_c(symbol_name,(void *) &value,&value_type,
&value_length,desired_type,max_length,
options,array_index);