Цитата Сообщение от vniko Посмотреть сообщение
Данный вариант (без использования массива FB) возможно будет работать только с простейшей логикой. Если в FB будет, например, таймер, то однозначно не подойдет, т.к. экземпляр FB один на все 4 котла.
Я использую в этом случае массивы FB:
Создается один функциональный блок FB_KOTEL, а в программе объявляется массив функциональных блоков KOTEL[i]:
VAR
...
KOTEL: ARRAY[1..i_max] OF FB_KOTEL;
...
END_VAR

Вызов экземпляров функциональных блоков из PLC_PRG:
FOR i:=1 TO i_max DO
...
KOTEL[i](i:=i, ...);
...
END_FOR

Входные, выходные и другие индивидуальные переменные экземпляров функциональных блоков удобнее задавать массивом структуры, хотя двухмерный массив думаю тоже подойдет.
Добрый день, Vniko. С написанием ФБ и последующем размножением через массив понятно. Цикл FOR для "оживления" также ясен. А вот что имеется ввиду в последней строке сообщения: "Входные, выходные и другие индивидуальные переменные экземпляров..." Я обычно использую область VAR_INPUT и VAR_OUTPUT сответсвенно. Могли бы Вы написать коротенький пример с применением структуры. Заранее спасибо..