This is topic Реализация Таймера в FBD in forum Языки программирования в TRACE MODE 6 / Algorithm Programming Languages at Форум TRACE MODE: техническая поддержка.


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

Posted by sinegub_mihail (Участник № / Member № 4460) on :
 
Добрый день!!!

Как реализовать таймер в 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 сек.
 


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



Powered by Infopop Corporation
UBB.classic™ 6.7.2