Grigorovskih
Forum Professor / Завсегдатай форума
Участник № / Member № 1915
отправлено / posted
При создании функции в программе мы, по идее, можем вызывать эту функцию сколь угодно раз передавая и получая через ее аргументы значения. Реально так не работает! Почему то при использовании (вызове) функции для выходных аргументов программы, в которые эта функция передаёт расчитанные ею значения, при её вызове, во все указанные аргументы разом! И чтоб этого избежать приходится создавать несколько функций с идентичным телом но с разными названиями! Хотя эта функция вызывается в программе последовательно и с разными "привязанными" аргументами, значения выходных аргументов "попадают" на все аргументы в которые эта функция передаёт выходное значение во всех последующих вызовах. Т.е. стоит предать значения входным аргументам функции в одном из вызовов как сразу эта функция "раздаёт" всем аргументам в других вызовах этой функции!!!
отправлено / posted
Из документации: "Следующие функции (функции-блоки) могут быть вызваны в основной программе только однократно: содержащие глобальные переменные программы; содержащие FBD-блоки с внутренними переменными (см. Редактирование FBD-программ ). Другие функции могут вызываться в основной программе многократно."