This is topic Реализация Таймера в FBD in forum Языки программирования в TRACE MODE 6 / Algorithm Programming Languages at Форум TRACE MODE: техническая поддержка.
Как реализовать таймер в FBD ??? Стандартного блока нету. Нужен таймер в программу для micro RTM.
Подскажите что нибудь...
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Различные таймерные функции a FBD-программах реализуются с помощью блоков раздела "Триггеры и счетчики". Кроме того, используя блоки TIME и DATE раздела "Генераторы" можно работать с компонентами текущего временем сравнивать, запоминать (например, в глобальных переменных). Используя системные переменные (например, @t_Set_Date), можно ввести в программу текущее время, запоминать его метки и формировать нужные временные интервалы.
Posted by sinegub_mihail (Участник № / Member № 4460) on :
А в NanoRTM I-8000 эти функции будут работать ???
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
В NanoRTM I-8000 работают.
Posted by Selya (Участник № / Member № 6591) on :
Сделал вот такую программу Timer на FBD (основную идею подсказал Александр Юрьевич на курсах):
Аргументы: Timer_C OUT USINT привязан к атрибуту 3 (Состояние) CALL.Program "Timer" (тип Input, Дополнительно -> Выключить) ARG_000 OUT USINT (нужен для отображения прогресса таймера)
Программа "Timer" запускается передачей в её 3й атрибут (Состояние) значения 0. Как только таймер отработает её состояние самостоятельно переходит в значение 1, программа выключается.
Единственный минус в том, что таймер работает не 5, а 10 секунд. Дело в том, что блок rTRIG формирует импульс не каждую секунду, а раз в 2 секунды! Это ошибка или так и надо?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Из документации: "Импульс по переднему фронту (rTRIG) Этот блок формирует прямоугольный импульс длиной в один такт пересчета при изменении значения младшего разряда INP с 0 на 1." Так он у Вас и работает.
1. Уберите из программы блоки TIME и rTRIG. 2. Задайте у блока CTU значение входа INP=1. 3. Задайте каналу вызова программы период обработки, равный 1 сек.