Вход

Просмотр полной версии : Имя присвоеное входу не работает



mummy117
10.09.2015, 22:04
Доброго времени суток. Столкнулся с очередной непоняткой.

Есть вход ПЛК110 - DI9, присваиваем переменной sb_stop значение входа 19888,

если использовать эту переменную в PLC_PRG, то все хорошо срабатывает 19889

а если попытаться истользовать переменную в ФБ (который однозначно вызываеться из PLC_PRG) то переменная подсвечивается
но реакции на выходе нету. 19890 19891

Если в этом же ФБ вместо переменной прописать непосредственно вход DI9 то все работает работает.

Переменная объявлена в Global Variables.

capzap
10.09.2015, 22:10
Вы вобще про что? По факту Вы положили на холст какую то переменную не привязав её линиями ни к одному объекту, что с ней должно происходить? Если я не понял ход Вашей мысли, прикрепите более понятную картинку

mummy117
10.09.2015, 22:17
Вот так работает 19892
Вот так не работает 19893

capzap
10.09.2015, 22:31
а у меня почему то работает

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

Объсните тугодуму.

amn
12.09.2015, 00:32
Ставим рядом имя присвоенное битовому входу "IP_zakrutit" и теперь var1 не может поднять var2.
Это потому, что "IP_zakrutit" в данный момент равно FALSE. Вот это значение и присваивается var2. Поскольку это присвоение было последним, то это и будет конечным результатом.

mummy117
12.09.2015, 11:22
Это потому, что "IP_zakrutit" в данный момент равно FALSE. Вот это значение и присваивается var2. Поскольку это присвоение было последним, то это и будет конечным результатом.
Тогда если я переставлю их местами, должно срабатывать var1 а "IP_zakrutit" не должно. Но такого не происходит.
19923

amn
12.09.2015, 12:27
Вы переставили местами, но порядок выполнения не изменился, у Вас OR под номером 13, он выполняется последним.

Вам надо сначала определиться с логикой и написать подробное ТЗ:
1. Включается с панели одной кнопкой, отключается другой (или иначе).
2. Из ПЛК включается и выключается одной переменной (или одной включается, а другой выключается).
3. Определитесь с приоритетом, что будет если включили/выключили одновременно из панели и ПЛК

mummy117
12.09.2015, 18:37
Вы переставили местами, но порядок выполнения не изменился, у Вас OR под номером 13, он выполняется последним.

Большое спасибо, теперь понял.

жекон
12.09.2015, 19:05
Большое спасибо, теперь понял.Клик правой по холсту -порядок -в соответствии с потоком данных

mummy117
15.09.2015, 11:01
Вы переставили местами, но порядок выполнения не изменился, у Вас OR под номером 13, он выполняется последним.

Вам надо сначала определиться с логикой и написать подробное ТЗ:
1. Включается с панели одной кнопкой, отключается другой (или иначе).
2. Из ПЛК включается и выключается одной переменной (или одной включается, а другой выключается).
3. Определитесь с приоритетом, что будет если включили/выключили одновременно из панели и ПЛК

Дошел до этих вопросов. Есть биты устанавливаемые с панели (19954), их значение нужно передать переменным, но моя беда в том что эти же переменные нужно устанавливать в "1" и с других мест. Как это сделать.
Если не затруднит, посмотрите мой ФБ, там видно где эти переменные устанавливаються в "1". Но как мне тут уже обьяснили, что выше по программе они выставляются в "1" а биты с панели (если они "0") выставляют опять эти переменные в "0".

petera
15.09.2015, 11:44
Дошел до этих вопросов. Есть биты устанавливаемые с панели (19954), их значение нужно передать переменным, но моя беда в том что эти же переменные нужно устанавливать в "1" и с других мест. Как это сделать.
Если не затруднит, посмотрите мой ФБ, там видно где эти переменные устанавливаються в "1". Но как мне тут уже обьяснили, что выше по программе они выставляются в "1" а биты с панели (если они "0") выставляют опять эти переменные в "0".
Сделали бы панель Мастером и такие вопросы отпали бы сами:rolleyes:.

mummy117
15.09.2015, 12:13
Сделали бы панель Мастером и такие вопросы отпали бы сами:rolleyes:.
1000 ивенений, а по теме?

petera
15.09.2015, 12:34
1000 ивенений, а по теме?
Так это и есть по теме.

mummy117
15.09.2015, 13:09
Спасибо, сам решил этот вопрос. По переднему фронту подымаю переменную, по заднему сбрасываю. И никто никому не мешает.
19969