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