Цитата Сообщение от 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
Что-то голова пухнет с непривычки..
Где-то я написал фигню, а где - не пойму...