Форум TRACE MODE: техническая поддержка Послать новую тему / Post New Topic  Послать ответ / Post A Reply
мой профиль / my profile авторизация / login | регистрация / register | поиск / search | часто задаваемые вопросы / faq | начало / forum home

  Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
» Форум TRACE MODE: техническая поддержка » ТЕХНИЧЕСКАЯ ПОДДЕРЖКА / TECHNICAL SUPPORT TRACE MODE 6 » Языки программирования в TRACE MODE 6 / Algorithm Programming Languages » Вызов функции в программе

   
Автор / Author Тема / Topic: Вызов функции в программе
Grigorovskih
Forum Professor / Завсегдатай форума
Участник № / Member № 1915


Icon 4 отправлено / posted      Профиль для / Profile for Grigorovskih           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
При создании функции в программе мы, по идее,
можем вызывать эту функцию сколь угодно раз
передавая и получая через ее аргументы значения.
Реально так не работает! Почему то при
использовании (вызове) функции для выходных
аргументов программы, в которые эта функция
передаёт расчитанные ею значения, при её вызове,
во все указанные аргументы разом! И чтоб этого
избежать приходится создавать несколько функций
с идентичным телом но с разными названиями!
Хотя эта функция вызывается в программе
последовательно и с разными "привязанными"
аргументами, значения выходных
аргументов "попадают" на все аргументы в которые
эта функция передаёт выходное значение во всех
последующих вызовах. Т.е. стоит предать значения
входным аргументам функции в одном из вызовов как
сразу эта функция "раздаёт" всем аргументам
в других вызовах этой функции!!!

Господа - это противоречит всем канонам программирования!

Сообщения / Posts 362 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Из документации:
"Следующие функции (функции-блоки) могут быть вызваны в основной программе только однократно:
содержащие глобальные переменные программы;
содержащие FBD-блоки с внутренними переменными (см. Редактирование FBD-программ ).
Другие функции могут вызываться в основной программе многократно."

В Вашей программе используются FBD-блоки с внутренними переменными (триггеры и счетчики).

Сообщения / Posts 17109 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
   

Quick Reply
Сообщение / Message:

HTML код не разрешен. / HTML is not enabled.
UBB код разрешен. / UBB Code is enabled.

Значки Graemlins / Instant Graemlins
   


Послать новую тему / Post New Topic  Послать ответ / Post A Reply Закрыть тему / Close Topic   Feature Topic   Переместить топик / Move Topic   Удалить топик / Delete Topic Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
 - Printer-friendly view of this topic
Перейти к / Hop To


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us



Powered by Infopop Corporation
UBB.classic™ 6.7.2