загорание лампочек "Больше", "Меньше" в TraceMode |
Ответить |
Автор | |
Новичок Присоединился: 20 Апрель 2009 Категория: Ukraine Online Status: Offline Публикации: 2 |
Опубликовано: 20 Апрель 2009 00:40 |
Здравствуйте. Я студент. В одной из частей лабораторной работы нужно решить следующюю задачу: загорание лампочек "Больше", "Меньше" регулятора (реализовать в ТМ5).
Как это сделать стандартными блоками FBD-программирования я не смог придумать, поэтому решил создать новый функциональный блок (FB). Он должен сравнивать входящее значение параметра U(t) с его предыдущим значением U(t-1), и если U(t)>U(t-1) на выход выводил бы 1, иначе 0. Т.е., если сигнал управления увеличивается, то загорается лампочка "Б", если уменьшается - "М". Текст программы FB (то, что я придумал): F0=I0 F1=I1 IF F0>F1 THEN Q0=1 ELSE Q0=0 END_IF I1=I0 Только программа как нужно не работает. На выходе всё время 1. Вопрос. 1. Как в ТМ использовать функции, зависящие от времени, в данном случае U(t) и U(t-1). 2. Можно ли указанную задачу решить стандартными блоками ТМ, если нет, то как это сделать на IL? |
|
Новичок Присоединился: 11 Июнь 2008 Категория: Rwanda Online Status: Offline Публикации: 3 |
|
Нет не так, нужно получить значение параметра (как защелку от времени). Проще брать компаратор и сравнивать текущее значение с заданным значением или интервалом, образцовой прямой/кривой...
|
|
Игорь
|
|
Действительный член Присоединился: 01 Июнь 2006 Категория: Russian Federation Online Status: Offline Публикации: 464 |
|
IN(*Входная переменная*)
OLD_IN (*Значение полученное в прошлом цикле*) MOVE_UP(*ЕСЛИ ПРОИСХОДИТ РОСТ*) MOVE_DOWN (*ЕСЛИ ПРОИСХОДИТ УМЕНЬШЕНИЕ*) (*ВОЗМОЖНО ПРИ НАЛИЧИИ ЗАВЕДОМО НЕРАБОЧЕГО ДИАПОЗОНА РЕАЛИЗОВАТЬ ИНИЦИАЛИЗАЦИЮ ПЕРЕМЕННОЙ ХРАНЕНИЕЯ ИНАЧЕ В ПЕРВОМ ЦИКЛЕ ПОЛУЧАЕМ ЛОЖНОЕ СРАБАТЫВАНИЕ*) IF IN<OLD_IN THEN MOVE_UP := FALSE; MOVE_DOWN:=TRUE; ELSIF IN>OLD_IN THEN MOVE_UP := TRUE; MOVE_DOWN:=FALSE; ELSE MOVE_UP := FALSE; MOVE_DOWN:=FALSE; END_IF; OLD_IN:=IN; Вы почти правильно все сделали, только сохранять значение нужно после сравнения а не перед, иначе вы его просто теряете в самом начале. |
|
Новичок Присоединился: 20 Апрель 2009 Категория: Ukraine Online Status: Offline Публикации: 2 |
|
Всем спасибо
|
|
Ответить |
Переход на форум | Права доступа на форуме Вы не можете публиковать новые темы в этом форуме Вы не можете отвечать на сообщения в этом форуме Вы не можете удалять Ваши сообщения на этом форуме Вы не можете редактировать Ваши сообщения на этом форуме Вы не можете создавать голосования на этом форуме Вы не можете выражать своё мнение в голосованиях на этом форуме |