This is topic Вызов функции в программе in forum Языки программирования в TRACE MODE 6 / Algorithm Programming Languages at Форум TRACE MODE: техническая поддержка.
При создании функции в программе мы, по идее, можем вызывать эту функцию сколь угодно раз передавая и получая через ее аргументы значения. Реально так не работает! Почему то при использовании (вызове) функции для выходных аргументов программы, в которые эта функция передаёт расчитанные ею значения, при её вызове, во все указанные аргументы разом! И чтоб этого избежать приходится создавать несколько функций с идентичным телом но с разными названиями! Хотя эта функция вызывается в программе последовательно и с разными "привязанными" аргументами, значения выходных аргументов "попадают" на все аргументы в которые эта функция передаёт выходное значение во всех последующих вызовах. Т.е. стоит предать значения входным аргументам функции в одном из вызовов как сразу эта функция "раздаёт" всем аргументам в других вызовах этой функции!!!
Господа - это противоречит всем канонам программирования!
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Из документации: "Следующие функции (функции-блоки) могут быть вызваны в основной программе только однократно: содержащие глобальные переменные программы; содержащие FBD-блоки с внутренними переменными (см. Редактирование FBD-программ ). Другие функции могут вызываться в основной программе многократно."
В Вашей программе используются FBD-блоки с внутренними переменными (триггеры и счетчики).