Дочерние программы
Дочерние программы могут быть вызваны на исполнение по мере необходимости только из родительской программы. После вызова родительская программа приостанавливает свое выполнение до полного завершения дочерней программы. Вызов дочерней программы осуществляется через конструкцию вида:
<результат> := <имя_дочерней_программы>(<параметр1>, … , <параметрN>);
|
где может быть использовано произвольное количество входных параметров для передачи данных в дочернюю программу, а также они могут отсутствовать. После выполнения дочерняя программа обязательно должна вернуть результат в виде одного выходного значения. Общее количество всех дочерних программ приложения не должно превышать 255.
Локальные переменные дочерней программы.
Для каждого входного параметра в словаре дочерней программы должна быть добавлена переменная с атрибутом "Вход". После добавления дочерней программы в проект в ее локальном словаре по умолчанию создается одна выходная переменная, имя которой совпадает с именем дочерней программы и не может быть изменено. Внутренние локальные переменные не доступны за пределами дочерней программы и используются для временного хранения промежуточных результатов вычислений. Использование типов данных в словаре дочерней программы не ограничено.

Область видимости данных.
Из дочерней программы доступны все глобальные переменные, а также переменные из локального словаря текущей дочерней программы и локального словаря ее родительской программы.
При совпадении имен переменных дочерней программы с именами глобальных или локальных переменных родительской программы, приоритетом обладают переменные дочерней программы.
Доступные для вызова компоненты.
Из дочерней программы могут быть вызваны функциональные блоки и функции проекта. Перед вызовом функциональных блоков предварительно требуется в локальном словаре дочерней программы объявить переменную соответствующего структурного типа. Функции могут быть вызваны напрямую.

