This is topic Включение только одной кнопки. in forum TRACE MODE 6 бесплатная Базовая версия / TRACE MODE 6 free Base version at Форум TRACE MODE: техническая поддержка.
Есть 8 кнопок привязаных к аргументам типа Float, которые открывают и закрывают клапана.
Нам необходимо написать программу, которая будет включать только одну кнопку. если работает кнопка 2 например, то нельзя включить все остальные, пока кнопка 2 не будет выключена.
Нписал такую программу, но она работет только вниз. Т.е. если кнопка 2 включена, то все что находится ниже не включается, а если включить кнопку 1, то кнопка 2 выключается и включается кнопка 1. Подскажите пожалуйста как заставить работать правильно программу. Какое условие нужно добавить?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Языки программирования, которые предлагает Trace Mode 6, позволяют без проблем программировать такие задачи. Написание программ для решения пользовательских задач выходит за рамки функций технической поддержки.
Posted by Реуцкий Александр (Участник № / Member № 3206) on :
Уважаемая тех.поддержка не могли ли Вы просматреть листинг такой программы и подсказать в чем ошибка?
Все Клапаны привязаны к кнопкам. Почему при нажатии например на кнопку 2, кнопки 3 и 4 нельзя нажать, а если нажать кнопку 1 выключается действующая кнопка 2 и ключается кнопка 1?
if Клапан_1 == 1 then Клапан_2=0; Клапан_3=0; Клапан_4=0;
end_if;
if Клапан_2 == 1 then Клапан_1=0; Клапан_3=0; Клапан_4=0; end_if; if Клапан_3 == 1 then Клапан_1=0; Клапан_2=0; Клапан_4=0; end_if; if Клапан_4 == 1 then Клапан_1=0; Клапан_2=0; Клапан_4=0; end_if;
END_PROGRAM
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Вам необходимо ввести глобальные переменные, которые запоминали бы предыдущее состояние кнопок. С их помощью можно анализировать какая кнопка уже была включена ранее и остается включенной, а какую пытаются включить только что. По результатам анализа приоритет отдается ранее включенной кнопке, а остальные - выключаются.