This is topic Кнопка без фиксации. in forum TRACE MODE 7 профессиональная версия / TRACE MODE 7 professional version at Форум TRACE MODE: техническая поддержка.


To visit this topic, use this URL:
http://forum.adastra.ru/ultimatebb.php/ubb/get_topic/f/59/t/000037.html

Posted by Kalinin4 (Участник № / Member № 9552) on :
 
Добрый день. Внезапно столкнулся с проблемой.
Нужно по ГЭ "Кнопка" отправить 1 в канал типа out, по ее отжатию 0.
Кнопка привязана к аргументу типа out, который в свою очередь привязан к каналу типа out. В свойствах кнопки настроена прямая передача значения 1 по ЛК. Проблема в том, что после посылки, так все и залипает с единицей в канале. Как вернуть в ноль после отжатия?
 
Posted by Kalinin4 (Участник № / Member № 9552) on :
 
Релиз 7.1.0.1 для Windows
 
Posted by Nico (Участник № / Member № 5342) on :
 
- в ТМ7 действия только по клику
- используйте 2кнопки( посылка 0 и 1)
- используйте XOR
send = source ^ send_value;
- используйте посылку в CALL.PulseOut(19)
через заданное Вами время 1 сброситься в 0
 
Posted by Kalinin4 (Участник № / Member № 9552) on :
 
Спасибо, попробую.
 
Posted by Kharin (Участник № / Member № 9628) on :
 
Добрый день, в целом через программу я реализовал кнопку без фиксации через TOFF.
Не самое изящное решение, но у нас вся программа контроллера реализована через импульс от HMI и такая простая ешь как кнопка без фиксации конечно просто обязана быть. Тем кому жизненно важно обойтись одной кнопкой ниже подробности.
_______________________________________________
Если кому-то интересно, распишу подробнее, но предварительно это выглядит так:
Аргумент экрана для импульсной команды in/out
Привязываем и к результату и к источнику в кнопке. Значение = 1. Прямая команда.
Пишем программу кому как нравится, я в FBD. В программе единственный аргумент in/out. Вход на Set RS-триггера, а его выход по переднему фронту запускает таймер на задержку отключения. Время 1 такт. Выход таймера подается и на сброс RS-триггера, а также обратно на аргумент программы. Уже в Узле все это дело связываем. Костыль, но с ходу лучше придумать не смог.
 
Posted by Nico (Участник № / Member № 5342) on :
 
CALL.PulseOut делает то же самое
 
Posted by юный_инженер (Участник № / Member № 8204) on :
 
мой костыль: туже программу с триггером как и у Kharin с 1м in и 1м out в привязках привязать на уровне шаблона к прототипам discretR и diskretA и бросить эту программу прям на канал DO который кнопку обслуживает, прямо на исполнение в слое трансляции. вообще не замусоривает дерево проекта. Как-то так по памяти..
 
Posted by Nico (Участник № / Member № 5342) on :
 
из HELPа:
в канале DISCRETE формата F0 (HEX) типа OUTPUT – спустя заданное время (202 – минуты, 203 – секунды) значение канала сбрасывается в 0;
 
Posted by Kharin (Участник № / Member № 9628) on :
 
Nico, спасибо огромное за такой совет. Действительно. если в параметре 203 поставить 1, и в 53 поставить галочку, то после нажатия кнопки, сигнал через 1 сек снимется. Это ровно то, что нам нужно. Снимает кучу вопросов, и убирает ненужные алгоритмы и привязки.
 
Posted by Nico (Участник № / Member № 5342) on :
 
53 галка не нужна !!!!!!!!!!!!!!!!
 
Posted by Kharin (Участник № / Member № 9628) on :
 
Да, убрал. Почему-то вначале показалось, что без нее не работает. Это для 9 (Q) параметра. Потом уже в справке посмотрел. Еще раз спасибо.
 
Posted by юный_инженер (Участник № / Member № 8204) on :
 
и действительно! работает! спасибо Nico!
жалко тут лайки не поставить под постом!
 
Posted by Kalinin4 (Участник № / Member № 9552) on :
 
В общем-то из предложенных вариантов подошел последний предложенный с 203 атрибутом. Спасибо.
 
Posted by юный_инженер (Участник № / Member № 8204) on :
 
а аналоговый канал AO как можно заставить после нажатия на кнопку, через секунду другую на 0 вернуть значение?
 
Posted by Nico (Участник № / Member № 5342) on :
 
аналог ни как. только програмно.
да и зачем?
 
Posted by юный_инженер (Участник № / Member № 8204) on :
 
у отечественных PLC КР500 алгоблоки защиты УПЗ отдают и принимают только целые INT(16).
Соответственно и INPUTиOUTPUT в виде analog32/int16 (прототип/аргумент).
вот для снятия блокировки и надо отправить 1, а через секунду 0, и перестать что либо отправлять.
 
Posted by юный_инженер (Участник № / Member № 8204) on :
 
если в кнопке делаю сперва отправку 1 а ниже отправку 0 - то контроллер не успевает воспринять команды. слишком быстро.
 
Posted by юный_инженер (Участник № / Member № 8204) on :
 
туда бы в кнопке между отправками 1 и 0 паузу куда-нибудь ввернуть..
 
Posted by юный_инженер (Участник № / Member № 8204) on :
 
из шаблона экран на кнопке 1 (int16) - в дискретный OUT (F0) с атрибутом общие 203 параметром в 3 сек - оттуда уже в АлгоблокВход(int16) - и заработала связка!
еще раз всем спасибо!
 


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us



Powered by Infopop Corporation
UBB.classic™ 6.7.2