PDA

Просмотр полной версии : Кнопка с инверсией для ПР-200



сергей тверь
20.02.2017, 07:52
Добрый день, подскажите пожалуйста как на ПР-200 можно реализовать кнопку которая при нажатии будет менять значение переменной на 1, а в отпущенном состоянии будет отдавать 0

Василий Кашуба
20.02.2017, 08:09
Добрый день, подскажите пожалуйста как на ПР-200 можно реализовать кнопку которая при нажатии будет менять значение переменной на 1, а в отпущенном состоянии будет отдавать 0
А разве кнопка без фиксации не так работает?

maximov2009
20.02.2017, 08:11
Добрый день. Или Вы как то не так выразили свою мысль?
Если Вы скоммутируете обычную кнопку (без фиксации) на дискретный вход ПР 200, то пока Вы её удерживаете, будет поступать напряжение на вход, а в программе на входе будет сформирована 1. Как только отпустите, пропадёт напряжение и на входе в программе будет 0.
Пишу именно напряжение, поскольку неизвестно, какая у Вас модификация ПР.
С уважением.

сергей тверь
20.02.2017, 08:54
Прошу прощения, утро, мысли в предложения складываются с трудом. Я хочу привязать переменную к кнопке (на корпусе ПР 200). Мне нужно сбрасывать аварию, для этого я подаю вход "1" на RTRIG, Команду на сброс аварии хочу сделать через соответствующий экран меню.

maximov2009
20.02.2017, 08:59
Добрый день. Сделайте в программе БУЛЕВУЮ переменную и привяжите её к экрану. Изменяя на экране - измените в программе, правда потом её надо будет перевести обратно, или сделать сброс в программе.

сергей тверь
20.02.2017, 09:06
Спасибо, так я уже делал, эксплуатация не довольна (для сброса нужно ввести 1, затем выйти, снова зайти и ввести 0), по этому и прося сделать все одной кнопкой ESC при нажатии на которую авария будет сброшена, а после того как ее отпустят в переменной установиться 0

melky
20.02.2017, 09:23
сергей тверь не так, для сброса надо ввести 1, а в 0 сбросить таймером. А так же можно сделать текстом через Combobox
Пока к сожалению разработчики не удовлетворяют просьбы о введении переменной для опроса клавиш на ПР.

сергей тверь
20.02.2017, 09:44
Интересная идея, а ,что за макрос Change 28?

melky
20.02.2017, 09:50
Макрос IChange http://www.owen.ru/forum/showthread.php?t=9398&p=216824&viewfull=1#post216824
тот, что я использую чуть переделан относительно макроса от AI!, он только для перезаписи переменных

http://www.owen.ru/forum/showthread.php?t=26024&p=236981&viewfull=1#post236981
мой укороченный только для взаимодействия внутренней переменной и сетевой. Если по сети вам не надо менять, то он не нужен собственно.

AI!
20.02.2017, 21:00
Спасибо, так я уже делал, эксплуатация не довольна (для сброса нужно ввести 1, затем выйти, снова зайти и ввести 0)как вариант - ловить любое изменение (как из 0 в 1, так и из 1 в 0), и интерпретировать его как сброс.
тогда не надо будет 2 раза менять переменную..

Алексей Геннадьевич
20.02.2017, 22:01
сергей тверь не так, для сброса надо ввести 1, а в 0 сбросить таймером. А так же можно сделать текстом через Combobox
Пока к сожалению разработчики не удовлетворяют просьбы о введении переменной для опроса клавиш на ПР.
Проще надо быть. Используешь энергонезависимую переменную, которая после установки в"1" сама сбрасывается в "0"(немного логики), После- TP, и дело в шляпе.


Спасибо, так я уже делал, эксплуатация не довольна (для сброса нужно ввести 1, затем выйти, снова зайти и ввести 0), по этому и прося сделать все одной кнопкой ESC при нажатии на которую авария будет сброшена, а после того как ее отпустят в переменной установиться 0
Эксплуатация всегда будет недовольна.
А ESC оставьте для выхода в предыдущий экран, если он есть.

melky
20.02.2017, 22:46
Алексей Геннадьевич а у меня что-то не так без логики ?

Алексей Геннадьевич
21.02.2017, 06:43
Алексей Геннадьевич а у меня что-то не так без логики ?
Чтобы у вас посмотреть, нужно макрос открыть.
29663

melky
21.02.2017, 09:11
Алексей Геннадьевич картинка упрощенного макроса есть по ссылке, которую давал чуть ниже. И к тому же у меня двойное управление, со стороны ПР а так же по сети. Выбран отдельный регистр, чтобы не заморачиваться с паковкой битов со стороны SCADA

При перемещении завис контур сетевой переменной :)

Чтобы повторить вашу логику надо на каждую переменную лепить это с обратными связями

Василий Кашуба
21.02.2017, 10:15
как вариант - ловить любое изменение (как из 0 в 1, так и из 1 в 0), и интерпретировать его как сброс.
тогда не надо будет 2 раза менять переменную..
Вообще то, AI! говорил про это.
29669Этот элемент ловит и фронт и тыл.

melky
21.02.2017, 10:21
Василий, и как это поможет для сброса переменной обратно в ноль ? Речь о переменной экрана, которую надо перевести в 1 для сброса параметра и чтобы сама переменная потом сбросилась в 0.

То есть чтобы сбросить некий параметр один раз надо переменную экрана перевести в 1, чтобы сбросить второй раз надо перевести в 0 - взрыв мозга для оператора...

Василий Кашуба
21.02.2017, 10:51
Василий, и как это поможет для сброса переменной обратно в ноль ? Речь о переменной экрана, которую надо перевести в 1 для сброса параметра и чтобы сама переменная потом сбросилась в 0.

То есть чтобы сбросить некий параметр один раз надо переменную экрана перевести в 1, чтобы сбросить второй раз надо перевести в 0 - взрыв мозга для оператора...
Сигнал с экрана подаёте на ТР, с ТР на ХОR и на выходе получаете импульсы и по фронту и по тылу.

melky
21.02.2017, 10:54
а зачем подавать 2 импульса на сброс параметра ? типа чтобы наверняка сбросилось ? :)

Василий Кашуба
21.02.2017, 11:13
а зачем подавать 2 импульса на сброс параметра ? типа чтобы наверняка сбросилось ? :)
Чтобы первый импульс поднял флаг, а второй сбросил.

melky
21.02.2017, 11:21
Я запутался, можно картинкой с учетом экранной переменной, которой мы должны что-то сбросить ?

Василий Кашуба
21.02.2017, 11:39
Я запутался, можно картинкой с учетом экранной переменной, которой мы должны что-то сбросить ?
Вот так поднять.
29672
А вот так сбросить.
29673

Алексей Геннадьевич
21.02.2017, 12:01
Сигнал с экрана подаёте на ТР, с ТР на ХОR и на выходе получаете импульсы и по фронту и по тылу.
На экране останется активным режим сброс. при работе, ага.
29676 Нужно делать так, чтобы переменная после сброса сама в 0 возвращалась. Поэтому переменная- энергонезависимая.

melky
21.02.2017, 12:45
Василий Кашуба перейду на русский :) Есть на экране переменная RESET, ее надо превести в 1 (что-то сбросилось) и она САМА должна сбросится в 0 (переменная RESET).
Вот то, что вы привели на картинках - ЗАЧЕМ (тут русское слово) :) ?

Вот этого НЕ ПОНИМАЮ, зачем весь этот огород то ?
Вот у Алексей Геннадьевич все четко и понятно и соответствует задаче, а вот вариант с XOR для данной задачи какой-то бред...

SA104
21.02.2017, 13:19
На экране останется активным режим сброс. при работе, ага.
29676 Нужно делать так, чтобы переменная после сброса сама в 0 возвращалась. Поэтому переменная- энергонезависимая.
Поясните пожалуйста. У вас на картинке на входе элемента NOT лог.0 А визуально он подключен к входу RES , на котором лог.1
Как такое возможно?

Алексей Геннадьевич
21.02.2017, 13:22
Поясните пожалуйста. У вас на картинке на входе элемента NOT лог.0 А визуально он подключен к входу RES , на котором лог.1
Как такое возможно?
"Обратная связь" - задержка на 1 цикл исполнения программы. Скрин в режиме паузы.

capzap
21.02.2017, 13:23
Поясните пожалуйста. У вас на картинке на входе элемента NOT лог.0 А визуально он подключен к входу RES , на котором лог.1
Как такое возможно?

пунктиром обозначена задержка сигнала на один цикл

SA104
21.02.2017, 13:24
Спасибо, паузой не пользуюсь. поэтому недопонял.

Василий Кашуба
21.02.2017, 15:11
На экране останется активным режим сброс. при работе, ага.
29676 Нужно делать так, чтобы переменная после сброса сама в 0 возвращалась. Поэтому переменная- энергонезависимая.
У меня скрины тоже в пошаговом исполнении, так как в динамике я бы эти скрины не сделал, не успел бы.

Сергей0308
21.02.2017, 19:26
Не могу не присоединится, любимая тема, правда уже много раз встречалась: http://www.owen.ru/forum/showthread.php?t=23696
Короче, чем так не устраивает?

29685

Василий Кашуба
21.02.2017, 21:01
Василий Кашуба перейду на русский :) Есть на экране переменная RESET, ее надо превести в 1 (что-то сбросилось) и она САМА должна сбросится в 0 (переменная RESET).
Вот то, что вы привели на картинках - ЗАЧЕМ (тут русское слово) :) ?

Вот этого НЕ ПОНИМАЮ, зачем весь этот огород то ?
Вот у Алексей Геннадьевич все четко и понятно и соответствует задаче, а вот вариант с XOR для данной задачи какой-то бред...
Вы не увидели на моих скринах внутренних и сетевых переменных и поэтому решили, что я о чём то о другом? А самим подставить переменные фантазии не хватает?