This is topic ГЭ Кнопка, восстановление исходного значения in forum TRACE MODE 7 бесплатная базовая версия / TRACE MODE 7 free basic version at Форум TRACE MODE: техническая поддержка.


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

Posted by SergeySarov2009 (Участник № / Member № 9600) on :
 
Я новичек. Помогите разобраться с TM7. По нажатию ГЭ кнопка, в канал "out" уходит 1 (тип передачи - прямая; значение 1). Вопрос: Как восстановить значение кнопки - 0, но без передачи в канал. Т.е. сделать так, что бы в канал уходило установленное значение только при нажатии кнопки, далее восстанавливалось значение 0 без передачи в канал. Восстановление 0 возможно через "отслеживание" в канале, но при этом этот 0 уходит и в канал..
Можно восстанавливать без передачи выключая и потом включая канал, но это "длинный" путь. Подскажите пожалуйста решение.
 
Posted by АдАстра. Техподдержка (Участник № / Member № 4) on :
 
Здравствуйте!
Новички, обычно, выбирают не тот метод решения задачи.
Опишите максимально подробно что планируется реализовать и мы сможем предложить метод решения.

[ 21.11.2023, 15:41: Сообщение отредактировал / Message edited by АдАстра. Техподдержка ]
 
Posted by SergeySarov2009 (Участник № / Member № 9600) on :
 
[Улыбка / Smile] Трудна дорога, но осилит идущий.
Задача состоит в управлении ModBus TCP устройством, путем посылки в Холдинг регистр команды 8000 HEX - установить 15 бит.
Созданы: 1. В источниках: ModBus TCP устройство с компонентом ModBus (команда W_1Hreg(6), тип OUT).
2. Помещен в Каналы (создан канал типа Out, с привязкой к источнику).
3.Создан компонент Экран
4. В шаблоне Экран создан ГЭ Кнопка с типом передачи - прямая (значение 32768 (8000hex)). Результат передается в аргумент out (uint(16)). Аргумент привязан к IN[2] созданного канала. Возврат значения Кнопки в 0 осуществляется настройками Канала: Отслеживать 0-1. При нажатии кнопки, в канал идет значение 32768 и устанавливается в True (1) 15 бит регистра. Но после сброса значения Кнопки в 0, этим нулем сбрасывается этот же бит.
 
Posted by АдАстра. Техподдержка (Участник № / Member № 4) on :
 
Понятно.
Принципиально есть два решения (и они описаны в Справочной Системе).

Самый простой - у канала OUT изменить "Размерность периода" (38) на CALC EXE
Из Справки для CALC EXE (Каналы - Пересчет базы каналов):
"Если тип канала – OUTPUT, его значение передается приемнику даже в том случае, если приемник имеет такое же значение."


Второй вариант - контролировать значение регистра и это значение присваивать каналу OUT.
 
Posted by SergeySarov2009 (Участник № / Member № 9600) on :
 
Благодарю за ответ! За подсказку направления!
 


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



Powered by Infopop Corporation
UBB.classic™ 6.7.2