PDA

Просмотр полной версии : Чтение переменной var_out даёт всегда 0!



Daedal
05.03.2018, 14:35
Всем доброго дня!

Есть следующее описание выходных переменных некоего 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 никакое значение. Почему так? Как это правильно сделать?

capzap
05.03.2018, 14:40
может Вы просто ни где не вызываете ФБ

Daedal
05.03.2018, 14:45
может Вы просто ни где не вызываете ФБ

Тогда бы я не смог считать те значения, которые могу считать..


хотя нет, смог бы...проверяю..

Спасибо, Вы были правы экземпляр не вызывал..:rolleyes: