В LD не силен совсем, мне понятнее будет ST где все операции наглядно видно, что и как происходит. А какая разница, что мы будем после каждого вызова ФБ устанавливать значения выхода, что после всех ФБ установим значения выходов обращаясь выход:=массив[0] и т.д.
В общих чертах у меня сейчас выглядит так:
FB1(in1, mb_bit1, power1);
out1:=FB.output;
mb_bit1:=FB.mb_bit;
FB2(in2, mb_bit2, power);
out2:=FB.output;
mb_bit2:=FB.mb_bit;
И таких вызовов от 40шт, на каждое реле. Мы в ФБ передаем бит из ModBus_slave, значение выхода и некий параметр мощности за который отвечает конкретное реле. И внутри ФБ происходит логика включения и выключения реле с контролем обрыва и мощности.
Это примерный вариант, по памяти, так как весь проект на работе.