Боюсь про понятность ФБД в таких типах задач вы сильно преувеличиваете, но это моё мнение, и я не боюсь, что многие со мной согласятся.
Сколько программных циклов занимает просмотр входных значений и передача результата на выход? Кстати в качестве генератора можно попробовать использовать элемент НЕ с обратной связью.
Функция с номерами входов имеет тот-же код, с перестановкой местами Max и Count в заголовке. Жаль конечно, что ST в OL не поддерживает передачу параметров по ссылке (IN_OUT).