Просмотр полной версии : Имя присвоеное входу не работает
mummy117
10.09.2015, 22:04
Доброго времени суток. Столкнулся с очередной непоняткой.
Есть вход ПЛК110 - DI9, присваиваем переменной sb_stop значение входа 19888,
если использовать эту переменную в PLC_PRG, то все хорошо срабатывает 19889
а если попытаться истользовать переменную в ФБ (который однозначно вызываеться из PLC_PRG) то переменная подсвечивается
но реакции на выходе нету. 19890 19891
Если в этом же ФБ вместо переменной прописать непосредственно вход DI9 то все работает работает.
Переменная объявлена в Global Variables.
Вы вобще про что? По факту Вы положили на холст какую то переменную не привязав её линиями ни к одному объекту, что с ней должно происходить? Если я не понял ход Вашей мысли, прикрепите более понятную картинку
mummy117
10.09.2015, 22:17
Вот так работает 19892
Вот так не работает 19893
а у меня почему то работает
ferret_maybe
10.09.2015, 22:53
Выложили бы неработающий код, Вам бы что-то конкретное посоветовали. По скриншотам не совсем понятна суть проблемы (где ошибка).
Николаев Андрей
11.09.2015, 15:42
Очень часто ошибка бывает в том, что одна и та же переменная с одним и тем же именем используется и в Конфигурации ПЛК и объявляется в PLC_PRG.
Ну и по правилу локальная переменная бъет глобальную и на выходе ничего не будет :)
mummy117
11.09.2015, 22:26
Очень часто ошибка бывает в том, что одна и та же переменная с одним и тем же именем используется и в Конфигурации ПЛК и объявляется в PLC_PRG.
Ну и по правилу локальная переменная бъет глобальную и на выходе ничего не будет :)
Очень похоже на мою ситуацию. В конфигурации ПЛК есть бит, который устанавливаеться с панели оператора ИП320. Этому биту присвоено имя "IP_zakrutit". 19917
Делаем 2е локальные переменные var1 var2, BOOL. Ставим их на робочее поле, запускаем проэкт, подымаем var1 за ней подымается var2.
19918
Ставим рядом имя присвоеное битовому входу "IP_zakrutit" и теперь var1 не может поднять var2.
19919
mummy117
11.09.2015, 22:36
Вижу что топчусь где то радом но не могу понять закономерности: если завести "IP_zakrutit" и var3 (тоже локальная переменная) на элемент OR, то var3 может поднять var2, а var1 все так же не может.
19920
Объсните тугодуму.
Ставим рядом имя присвоенное битовому входу "IP_zakrutit" и теперь var1 не может поднять var2.
Это потому, что "IP_zakrutit" в данный момент равно FALSE. Вот это значение и присваивается var2. Поскольку это присвоение было последним, то это и будет конечным результатом.
mummy117
12.09.2015, 11:22
Это потому, что "IP_zakrutit" в данный момент равно FALSE. Вот это значение и присваивается var2. Поскольку это присвоение было последним, то это и будет конечным результатом.
Тогда если я переставлю их местами, должно срабатывать var1 а "IP_zakrutit" не должно. Но такого не происходит.
19923
Вы переставили местами, но порядок выполнения не изменился, у Вас OR под номером 13, он выполняется последним.
Вам надо сначала определиться с логикой и написать подробное ТЗ:
1. Включается с панели одной кнопкой, отключается другой (или иначе).
2. Из ПЛК включается и выключается одной переменной (или одной включается, а другой выключается).
3. Определитесь с приоритетом, что будет если включили/выключили одновременно из панели и ПЛК
mummy117
12.09.2015, 18:37
Вы переставили местами, но порядок выполнения не изменился, у Вас OR под номером 13, он выполняется последним.
Большое спасибо, теперь понял.
Большое спасибо, теперь понял.Клик правой по холсту -порядок -в соответствии с потоком данных
mummy117
15.09.2015, 11:01
Вы переставили местами, но порядок выполнения не изменился, у Вас OR под номером 13, он выполняется последним.
Вам надо сначала определиться с логикой и написать подробное ТЗ:
1. Включается с панели одной кнопкой, отключается другой (или иначе).
2. Из ПЛК включается и выключается одной переменной (или одной включается, а другой выключается).
3. Определитесь с приоритетом, что будет если включили/выключили одновременно из панели и ПЛК
Дошел до этих вопросов. Есть биты устанавливаемые с панели (19954), их значение нужно передать переменным, но моя беда в том что эти же переменные нужно устанавливать в "1" и с других мест. Как это сделать.
Если не затруднит, посмотрите мой ФБ, там видно где эти переменные устанавливаються в "1". Но как мне тут уже обьяснили, что выше по программе они выставляются в "1" а биты с панели (если они "0") выставляют опять эти переменные в "0".
Дошел до этих вопросов. Есть биты устанавливаемые с панели (19954), их значение нужно передать переменным, но моя беда в том что эти же переменные нужно устанавливать в "1" и с других мест. Как это сделать.
Если не затруднит, посмотрите мой ФБ, там видно где эти переменные устанавливаються в "1". Но как мне тут уже обьяснили, что выше по программе они выставляются в "1" а биты с панели (если они "0") выставляют опять эти переменные в "0".
Сделали бы панель Мастером и такие вопросы отпали бы сами:rolleyes:.
mummy117
15.09.2015, 12:13
Сделали бы панель Мастером и такие вопросы отпали бы сами:rolleyes:.
1000 ивенений, а по теме?
1000 ивенений, а по теме?
Так это и есть по теме.
mummy117
15.09.2015, 13:09
Спасибо, сам решил этот вопрос. По переднему фронту подымаю переменную, по заднему сбрасываю. И никто никому не мешает.
19969
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot