ValueSet (FB)ΒΆ
FUNCTION_BLOCK ABSTRACT ValueSet IMPLEMENTS IValueSet
Basic function block to implement a set of values.
A 
ValueSet contains an array of Value instances for reading or writing.Note
This kind of function block should be generated automatically by a configuration
Usage (Declaration):
{attribute 'no_assign'}
{attribute 'call_after_init'}
FUNCTION_BLOCK FINAL ValueSet EXTENDS UA.ValueSet
VAR
    _aValues : ARRAY[0..1] OF UA.Value := [
        (
            eType := UA.IEC_UDINT,
            pValue := ADR(udiValue),
            psNodeId := ADR('ns=4;s=path.udiValue')
        ),
        (
            eType := UA.IEC_STRING,
            pValue := ADR(sValue),
            udiSize := SIZEOF(sValue),
            psNodeId := ADR('ns=4;s=path.sValue')
        )
    ];
END_VAR
Override the Init method of UA.ValueSet and set _pValues and _udiItemCount:
{attribute 'call_after_init'}
METHOD PROTECTED FINAL Init
    _pValues := ADR(_aValues);
    _udiItemCount := SIZEOF(_aValues) / SIZEOF(UA.Value);
    SUPER^.Init();
Implement the method PrepareValues of UA.ValueSet:
METHOD PROTECTED FINAL PrepareValues : UA.ERROR
    (*  0 *) _aValues[0].pValue := ADR(udiValue);
    (*  1 *) _aValues[1].pValue := ADR(sValue);
Methods:
Structure:
