
Сообщение от
capzap
я не делал пример под Вас, просто показал работу, что переменная может быть на "верху", т.е. видна всем, а какие то манипуляции с ней могут происходить в функциях, блоках, причем в нутри не надо объявлять ни какие новые переменные, что то им присваивать, делать ошибки, возвращать результат через другую переменную, а конкретно одна переменная отвечает за сохранение результата, если в одном блоке ей что то присвоили, то в других блоках с этой переменной уже будут считатся и по необходимости брать её значение, когда нужно
Да понятно, что не для меня... Просто начал разбираться - да, если пользовать функцию, все работает. А вот с функциональным блоком получается фигня... Т.е. совсем не получается.
Мне нужны ФБ...
Код:
================= Программа ======================
PROGRAM PLC_PRG
VAR
TTT : INT;
RRR : INT;
QQQ : INT;
WWW : PT;
END_VAR
TTT := 100;
RRR := TTT;
IF DI1 THEN
WWW (INP := ADR(TTT));
QQQ := WWW.XXX;
ELSE
QQQ := RRR;
END_IF
================= ФБ ======================
FUNCTION_BLOCK PT
VAR_INPUT
INP :POINTER TO INT;
END_VAR
VAR_OUTPUT
XXX : INT;
END_VAR
VAR
SSS : INT;
I: INT := 0;
END_VAR
SSS := INP^ +30 ;
IF I < 9 THEN
SSS := SSS + 3;
I := I+1;
ELSE
XXX := SSS;
END_IF
Что-то голова пухнет с непривычки.. 
Где-то я написал фигню, а где - не пойму...