MetaKit Руководство по компонентам

PulseCtrl — импульсы с переходом на постоянное включение

PulseCtrl сначала включает команду короткими импульсами, а затем оставляет её включённой постоянно. Например, первые 10 секунд подаёт команду с паузами, после чего переходит к непрерывной работе.

Если импульсы должны повторяться всё время, используйте Pulse. Если выход нужно включить один раз после выдержки — Delay.

Состав и связи

PulseCtrl: Выход подключается к управлению механизмом. При снятии разрешения последовательность прекращается, при новом включении начинается сначала.
В рамке — состав компонента, снаружи — подключения проекта. Нажмите на схему, чтобы открыть её крупнее.

Выход подключается к управлению механизмом. При снятии разрешения последовательность прекращается, при новом включении начинается сначала.

Первое подключение

Заполняйте пример в таблице «Параметры» (Params) добавленного компонента. Как добавить компонент и где искать настройки.

При начале подачи нужно первые 10 секунд чередовать 1 секунду работы и 1 секунду паузы. После этого подача должна идти непрерывно. bFeedDemand включает эту последовательность; при FALSE подача должна прекратиться.

1. Заполните параметры

Параметр Значение для примера
PulseCtrlId FeedStart
PulseCtrlComment Постепенное включение подачи
PulseCtrlEn bFeedDemand

2. Задайте время

Настройка Значение для примера
Conf.FeedStart_PulseCtrl_diTotalTime 10
Conf.FeedStart_PulseCtrl_diPulseCycle 2
Conf.FeedStart_PulseCtrl_diPulseTime 1

Все три значения задаются в секундах. Цикл включает импульс и паузу: при цикле 2 с и импульсе 1 с пауза составляет 1 с.

3. Используйте результат

Команду выдаёт FeedStart_PulseCtrl_Inst.out_bSignal. Подключите её к управлению оборудованием подачи.

Время от появления запроса Команда
От 0 до 1 с Включена
От 1 до 2 с Выключена
От 2 до 10 с Повторяются импульс 1 с и пауза 1 с
Начиная с 10 с Постоянно включена
Запрос снят Сразу выключена; оба отсчёта сброшены

Первый импульс начинается сразу. После снятия и повторной подачи запроса последовательность начинается заново. Окончание diTotalTime означает переход на постоянное включение, а не завершение команды.

Настройка последовательности

diTotalTime — всё время от начала последовательности до постоянного включения. Паузы тоже входят в эти 10 секунд.

При diTotalTime = 0 или отрицательном значении разрешённый выход сразу включается постоянно. Если цикл или длительность импульса неположительны, импульсов в начальной части нет; по окончании положительного diTotalTime выход всё равно включается постоянно.

Если длительность импульса равна циклу или больше него, пауз не будет. Для импульсной работы задайте 0 < diPulseTime < diPulseCycle.

Чтобы остановить последовательность, выключите PulseCtrlEn. При следующем включении она начнётся сначала. Отдельного сброса и связи с родителем у PulseCtrl нет.

Параметры компонента — Params

Параметр По умолчанию Назначение
$PulseCtrl Импульсное управление Название группы параметров
PulseCtrlId _ID_ ID последовательности. Для FeedStart создаётся экземпляр FeedStart_PulseCtrl_Inst
PulseCtrlComment Комментарий Название управляемого действия
PulseCtrlEn true Запрос работы: TRUE запускает последовательность, FALSE снимает выход и сбрасывает время
PulseCtrlConf Пусто ID набора настроек. Если пусто, используется PulseCtrlId
PulseCtrlConfComment Пусто Название набора настроек. Если пусто, комментарий составляется из PulseCtrlComment и $PulseCtrl

Настройки во время работы — Conf

Полные имена приведены для PulseCtrlId = FeedStart и пустого PulseCtrlConf.

Настройка Тип Начальное значение Назначение
Conf.FeedStart_PulseCtrl_diTotalTime DINT 10 Время от включения до перехода на постоянную команду, с
Conf.FeedStart_PulseCtrl_diPulseCycle DINT 2 Период повторения импульсов, включая паузу, с
Conf.FeedStart_PulseCtrl_diPulseTime DINT 1 Длительность одного импульса, с

Для одинаковых выдержек нескольких последовательностей назначьте им общий PulseCtrlConf. Например, при PulseCtrlConf = FeedCommon время начальной части задаётся через Conf.FeedCommon_PulseCtrl_diTotalTime. Остальные настройки также получают ID FeedCommon; отсчёт каждого экземпляра остаётся независимым.

Выход компонента

Результат для примера Тип Назначение
FeedStart_PulseCtrl_Inst.out_bSignal BOOL Импульсная команда в начальной части; постоянная команда после её окончания

Для отображения результата используется View.FeedStart_PulseCtrl_Inst_out_bSignal.