kernelv_ch_set_variable_value()
Prototype
KERNELV_RETURN | kernelv_ch_set_variable_value (unsigned long int chanIndex, |
Description
Writes variables defined for a CNC kernel.
Writing a variable is only possible if it is writeable by the NC program. External variables can always be written irrespective of the access type configured.
Currently, the following variable types can be written.
Type | Example |
External variables | V.E.VAR_1 |
Global variables, see (1) | V.G.WZ_AKT.R |
Axis-specific variables | V.A.WCS.X |
Program global, self-defined variables | V.P.VAR_1 |
Cross-program, self-defined variables | V.S.VAR_1 |
Program non-global, self-defined variables | V.L.VAR_1 |
Currently, it is not possible to read Type V.G.WZ[]. variables.
The variable to be written is identified on the basis of its name and the channel index.
The complete name (including the V.E. prefix and the array index in the case of array variables) must be specified as the name.
Example: "V.E.VAR_FLOAT_ARRAY[3]"
The variable value to be written must be transferred in the KERNELV_VARIABLE *var structure.
An error code is returned if an error occurred while writing the variables.
Parameter
Name | Type | Meaning |
chanIndex | unsigned long | Channel index of the channel from which the variable is to be read. |
varName | char* | Pointer to the variable name. |
var | KERNELV_VARIABLE* | Pointer to structure to which the variable value and the type are to be written. |
Return values
Symbol | Value | Meaning |
RET_FINISHED | 0 | The function was executed without error. |
ERR_INVALID_CHAN | -1 | The transferred channel index is higher than the number of configured channels - 1 |
ERR_CNC_NOT_INIT | -3 | The simulation CNC kernel was not yet initialised. |
ERR_CNC_RET_MEMORY | -4 | The return value(s) does/do not fit into the memory provided. |
ERR_INTERNAL_ERROR | -11 | An internal error has occurred in the DLL. |
ERR_UNKNOWN_VARIABLE | -12 | The variable name is not known in the CNC kernel. |
ERR_VARIABLE_SYNTAX | -13 | The variable name is syntactically incorrect, e.g. no closing bracket in the case of an array variable. |
ERR_DATA_TYPE_MISMATCH | -14 | On write access to a variable, the transferred data type does not match the data type used internally in the CNC. |
ERR_VAR_NAME_LENGTH | -18 | The variable name passed on to the function exceeds the maximum permissible length (KERNELV_VAR_NAME_LENGTH). |
ERR_ARRAY_NOT_SUPPORTED | -21 | With many CNC real-time variants, an array can be read or written ‘en block’ by omitting the array index at access. The kernelv DLL does not currently support this access type. |
ERR_VAR_NOT_WRITEABLE | -22 | An attempt was made to write a non-writeable variant. For write access to variables, the same access rules apply as within an NC program. The only exception here are V.E. variables. They can always be written irrespective of the access rights configured. |