This is topic ГЭ Кнопка, восстановление исходного значения in forum TRACE MODE 7 бесплатная базовая версия / TRACE MODE 7 free basic version at Форум TRACE MODE: техническая поддержка.
Я новичек. Помогите разобраться с 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 :
Трудна дорога, но осилит идущий. Задача состоит в управлении 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 :