This is topic ГЭ кнопка без фиксации in forum TRACE MODE 6 бесплатная Базовая версия / TRACE MODE 6 free Base version at Форум TRACE MODE: техническая поддержка.


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

Posted by sa104 (Участник № / Member № 5825) on :
 
Добрый день.
Возможно ли использовать элемент Переключатель без фиксации, т.е. чтобы по удержанию мышкой заданное значение посылалось в канал, а по отпусканию выключатель возвращался в исходное положение? Пробовал реализовать это на стандартном элементе Кнопка, но он почему-то только принимает значение из канала, а не передает.
Буду признателен за помощь.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
1. Проверьте правильность привязки аргумента экрана, связанного с каналом и кнопкой:
тип INPUT, привязан к атрибуту РЕАЛЬНОЕ_ЗНАЧЕНИЕ канала.
2. Функция "Передать значение" кнопки должна иметь установленное свойство "Восстанавливать значение" и атрибутом "Результат" должна быть привязана к указанному в п.1 аргументу.

Следует иметь в виду, что при достаточно коротком нажатии на кнопку ее сигнал может не успеть пройти через канал к Вашему исполнительному органу.
Кроме того, функция "Ввести и передать" не может использоваться в таком режиме.
 
Posted by jenyak542 (Участник № / Member № 9353) on :
 
Здравствуйте. Возникла проблема со сбросом значения по нажатию кнопки. Необходимо передавать единицу в бит в канале hex16, затем при отпускании кнопки значение восстанавливать в ноль. Можно сделать при помощи восстановления значения или mousereleas, все работает без проблем.
Но проблема в том, что необходимо подтверждение действия. При наличии подтверждения значение принимает единицу и в дальнейшем при отпускании кнопки не изменяется. Возможно ли как-то решить эту проблему?
 
Posted by АдАстра. Техподдержка (Участник № / Member № 4) on :
 
Устанавливать подтверждение действия и ставить на кнопку Release событие - это взаимоисключающие требования. Поставьте действие по нажатию, XOR, отправка единицы, Результат и Источник привязать к аргументу, ставить подтверждение. Теперь посылается 1 или 0 по порядку и подтверждение работает в обоих случаях.
 
Posted by jenyak542 (Участник № / Member № 9353) on :
 
Таким образом работает, спасибо. Но все-таки, хотелось бы, чтобы все происходило по однократному нажатию на кнопку. Возможно ли это сделать?
Если не возможно, то сделаю через разграничение прав пользователей, кнопка без подтверждения, но нажать на нее может только администратор
 
Posted by АдАстра. Техподдержка (Участник № / Member № 4) on :
 
Так. Поэтапно как это должно работать? Нажали кнопку, появилось окно с подтверждением. Дальше что?
 
Posted by jenyak542 (Участник № / Member № 9353) on :
 
Нужно, чтобы появилось окно с подтверждением, оператор подтверждает, бит возводится в 1 и затем в 0, без каких-либо повторных нажатий на кнопку или еще чего-то.

Без подтверждения все работает, но подтверждение нужно.
По рекомендации, которую дали ранее, через XOR, необходимо нажать один раз, подтвердить, бит возведется в 1, затем, нажать второй раз, подтвердить, бит установится в 0. Но такой вариант не устраивает
 
Posted by АдАстра. Техподдержка (Участник № / Member № 4) on :
 
По описанию напоминает классический импульс. рекомендуем кнопкой просто по нажатию посылать с подтверждением команду в программу, в программе формировать прямоугольный импульс. В FBD есть готовые блоки для этого, можно на 1 такт, можно задать произвольную длительность. Выход программы уже привязывать к каналу, который связан с источником.
 
Posted by jenyak542 (Участник № / Member № 9353) on :
 
quote:
Отправитель / Originally posted by АдАстра. Техподдержка:
По описанию напоминает классический импульс. рекомендуем кнопкой просто по нажатию посылать с подтверждением команду в программу, в программе формировать прямоугольный импульс. В FBD есть готовые блоки для этого, можно на 1 такт, можно задать произвольную длительность. Выход программы уже привязывать к каналу, который связан с источником.

Здравствуйте. Можете, пожалуйста подробнее сказать, как описанный способ реализовать. Я беру блок Импульс по переднему фронту, на его выход ставлю необходимый бит, в который нужно передавать значение. А что на вход ставить?
какую-то вспомогательную переменную и передавать в эту переменную единицу по нажатию кнопки с подтверждением? Если так делать, то ничего не меняется, в этой вспомогательной переменной после нажатия кнопки с подтверждением единица установится и уже не уйдет, процедура подтверждения не дает этого сделать, а нужно, чтобы при отжатии она в 0 возвращалась. Как это сделать?
 
Posted by jenyak542 (Участник № / Member № 9353) on :
 
Мне удалось придумать рабочий алгоритм программы, все работает. Спасибо
 


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



Powered by Infopop Corporation
UBB.classic™ 6.7.2