Цитата Сообщение от Frants Посмотреть сообщение
Вот написано в руководстве " Объявлять экземпляр функционального блока в теле функции нельзя." А почему нельзя, не разъясняется.
Нельзя потому что запрещено правилами или нельзя потому что не имеет смысла?

Или ещё, написано "Нельзя вызывать программу из функции." А ранее по тексту пишут "POU могут вызывать другие POU..." - без дополнительных уточнений.
Нужно внимательно читать руководство.
Функция не сохраняет внутренние переменные в интервалах между вызовами, а экземпляр ФБ или POU - сохраняют. Именно поэтому и нельзя.
Повторяю - если Вы программировали на "обычных" языках программирования - то все понятно. А если нет - тупо, в хорошем смысле слова, выполняйте указания руководства.