Но если одни и те же переменные в разных POU то как без глобальных. Локальные ведь не будут видны . И вы мне скажите предупреждения которые выдает компилятор. ЭЭЭто нормально. Или должно быть 0 ошибок 0 предупреждений. проект в LD.
Но если одни и те же переменные в разных POU то как без глобальных. Локальные ведь не будут видны . И вы мне скажите предупреждения которые выдает компилятор. ЭЭЭто нормально. Или должно быть 0 ошибок 0 предупреждений. проект в LD.
В основной программе (PLC_PRG) у вас есть какие-то переменные. Чтобы они стали доступны POU надо их передать ему в качестве параметров. Чтобы такая возможность появилась, в POU объявляете переменные следующим образом:
VAR_INPUT
var1: BOOL; (*первый входной параметр блока*)
var2: BOOL; (*второй входной параметр блока*)
END_VAR
VAR_OUTPUT
q1: BOOL; (*первый выходной параметр блока*)
q2: BOOL; (*второй выходной параметр блока*)
END_VAR
VAR
var3: BOOL; (*первая локальная переменная блока*)
var4: BOOL; (*вторая локальная переменная блока*)
END_VAR
В этом случае в блоке POU появятся дополнительные входы и выходы. Обратите внимание, у вас в примере у блоков нет параметров и поэтому они выглядят пустыми квадратиками.
Кстати, имена переменных, которые вы передаете в качестве параметров в POU из основной программы не обязательно должны быть такими же как и объявленные внутри POU.
Если сделаете все правильно будет 0 ошибок и 0 предупреждений.