Чтение переменной var_out даёт всегда 0!
Всем доброго дня!
Есть следующее описание выходных переменных некоего FB под названием ANALOGIN :
Код:
VAR_OUTPUT
Valueout : AIValueOut;
testval : WORD := 111;
END_VAR
где,
AIValueOut является структурой:
Код:
TYPE AIValueOut :
STRUCT
code : WORD;
qvalue : BOOL;
END_STRUCT
END_TYPE
Пытаюсь считать данные в теле основной программы, где я объявлял экземпляр этого FB ANALOGIN:
Код:
val := ANALOGIN.Valueout.code,
получаю 0, чтобы я ни присвоил в:
Код:
Valueout.code := XXX внутри FB ANALOGIN;
При этом, если я считываю переменную testval, то получаю 111.
И, если я присваиюваю code := 1, то при считывании:
Код:
val := ANALOGIN.Valueout.code,
получаю 1
Очевидно, что я не могу присвоить Valueout.code внутри FB ANALOGIN никакое значение. Почему так? Как это правильно сделать?