1. Что делает программа
Пример формирует короткий импульс запуска привода. Кнопка Start_Button проходит через детектор фронта R_TRIG, затем через блокировку Drive_Running, после чего TP-таймер выдаёт импульс на выход Drive_Start_Pulse.
Такая логика нужна, когда внешнему устройству требуется не постоянная команда, а короткий стартовый сигнал.
Start_Button -> R_TRIG -> AND -> TP -> Drive_Start_Pulse
2. Сигналы примера
| Сигнал | Тип | Назначение |
|---|---|---|
| Start_Button | вход | команда оператора на запуск |
| Drive_Running | вход | привод уже работает |
| R_TRIG | блок | выделяет фронт нажатия Start_Button |
| NOT | блок | формирует условие "привод не работает" |
| AND | блок | разрешает старт только при фронте и отсутствии работы |
| TP | блок | держит короткий импульс 3 скана |
| Drive_Start_Pulse | выход | стартовый импульс для привода |
3. Основная логика
R_TRIG делает TRUE только на одном скане, когда Start_Button меняется с FALSE на TRUE. Это защищает схему от удержания кнопки.
Блок NOT инвертирует Drive_Running. Если привод уже запущен, повторный старт блокируется.
Start_Allowed = Rising_Start AND NOT Drive_Running
TP получает Start_Allowed и удерживает выход TRUE в течение заданного числа сканов. В этом примере PT_SCANS = 3.
4. Как проверять в симуляции
- сделайте Start_Button TRUE - появится импульс Drive_Start_Pulse;
- оставьте Start_Button TRUE - новый импульс не появится без нового фронта;
- верните Start_Button в FALSE и снова включите - импульс повторится;
- включите Drive_Running и попробуйте старт - импульс должен быть заблокирован;
- используйте шаги скана, чтобы увидеть длительность TP.
5. На что обратить внимание
R_TRIG отвечает за событие нажатия, а TP - за длительность выходного импульса. Эти задачи лучше разделять, потому что детектор фронта сам по себе выдаёт TRUE только на один скан.
Если привод сообщает Drive_Running с задержкой, в реальном проекте могут потребоваться дополнительные межблокировки и контроль ошибки запуска.
Проверка в редакторе
Откройте готовую FBD-схему, переключайте входы и сравните поведение симуляции с описанием программы. JSON можно скачать отдельно.