Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: > Siemens _step 7
Диалог специалистов АВОК > ОБЩИЙ ФОРУМ > Автоматизация систем
jecos
У меня возникла такая проблема есть две функции FC которые я вызываю в функциональном блоке работаю через симулятор при вызове этих функций происходит перекрытие темповых переменных этих двух функций т.е. если в одной функции например присваиваю 1 по темповому адресу в одной функции то 1 присваивается и темповой переменной с таким же адресом и в другой функции.
Ashihara
У вас скорее проблема с орфографией, а не степом. А то, что вы описали - вполне логичное поведение и причину его вы описали исчерпывающе.
jecos
Спасибо за ответ, но я новичок в STEP. Исходя из мануала по созданию функций после ее выполнения временная память должна освобождаться, а у меня получается что нет и поэтому происходит такая ситуация. Может быть я просто что то неправильно понимаю или неправильно вызываю функции пожалуйста если можно проясните пожалуйста ситуацию.
Ka3ax
вы случайно не присваиваете временнные переменные глобальным?
где прокет?
http://iprog.pp.ru/forum/read.php?f=1&...t=78381&v=f
Михайло
Цитата(jecos @ 10.12.2017, 10:00) *
У меня возникла такая проблема есть две функции FC которые я вызываю в функциональном блоке работаю через симулятор при вызове этих функций происходит перекрытие темповых переменных этих двух функций т.е. если в одной функции например присваиваю 1 по темповому адресу в одной функции то 1 присваивается и темповой переменной с таким же адресом и в другой функции.

Придерживайтесь простого правила: не применяйте переменную вида TEMP, если её значение нужно хранить после окончания выполнения тела функции. Если Вы не знаете, подходит ли Вам TEMP или нет, то примените лучше переменную STATIC, которая универсальна.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2025 IPS, Inc.