Back to all lessons

Lesson 13

Логика конвейера

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

The English article translation is being prepared. For now, Russian lesson content is shown with English navigation.

1. Что разбираем

Логика конвейера - это один из самых удобных учебных примеров для изучения PLC и FBD.

В такой задаче есть кнопки оператора, разрешающие условия, аварийный запрет и выход управления двигателем. На этом примере хорошо видно, как отдельные логические элементы объединяются в рабочую программу.

В этой статье рассматривается простая учебная схема: конвейер запускается кнопкой Start, останавливается кнопкой Stop и выключается при аварии или отсутствии разрешения работы.

Start_Button + Stop_Button + Safety_OK -> логика PLC -> Conveyor_Run

2. Где это применяется

Похожая логика встречается во многих реальных задачах промышленной автоматизации.

  • запуск и остановка ленточного конвейера;
  • подающий транспортер перед упаковочной машиной;
  • накопительный конвейер перед роботом;
  • рольганг подачи коробов или паллет;
  • выдающий транспортер после станка;
  • учебная модель запуска двигателя с блокировками.

В реальной системе выход PLC обычно не включает двигатель напрямую. Он может подавать команду на контактор, частотный преобразователь, сервопривод или промежуточное реле.

3. Сигналы примера

СигналТипНазначение
Start_Buttonвходкнопка запуска конвейера
Stop_Buttonвходкнопка остановки конвейера
Safety_OKвходобщее разрешение работы: аварии нет, дверь закрыта
Product_Stop_Sensorвходдатчик заполнения на выходе конвейера
Conveyor_Runвнутренний сигналзапомненная команда работы конвейера
Motor_Runвыходкоманда двигателя конвейера

Для начального примера можно использовать только Start_Button, Stop_Button, Safety_OK и Motor_Run. Датчик Product_Stop_Sensor добавлен как типичное расширение схемы.

4. Основная идея логики

Простой конвейер обычно не должен работать только пока оператор держит кнопку Start. После краткого нажатия Start команда работы должна запомниться.

Поэтому в схеме используется самоподхват: выход Conveyor_Run поддерживает сам себя после отпускания кнопки Start.

Conveyor_Run = (Start_Button OR Conveyor_Run) AND NOT Stop_Button AND Safety_OK

Смысл этой формулы:

  • Start_Button запускает конвейер;
  • Conveyor_Run удерживает команду после отпускания Start;
  • Stop_Button снимает команду работы;
  • Safety_OK запрещает работу при аварии или отсутствии разрешения.

6. Таблица работы

В таблице показаны основные режимы работы без учета Product_Stop_Sensor.

Start_ButtonStop_ButtonSafety_OKConveyor_Run до циклаConveyor_Run после цикла
FALSEFALSETRUEFALSEFALSE
TRUEFALSETRUEFALSETRUE
FALSEFALSETRUETRUETRUE
FALSETRUETRUETRUEFALSE
TRUETRUETRUEFALSEFALSE
TRUEFALSEFALSEFALSEFALSE
FALSEFALSEFALSETRUEFALSE

Важный момент: если Stop_Button = TRUE, команда работы должна быть снята. Если Safety_OK = FALSE, конвейер также должен быть выключен.

7. Разрешения и аварийные условия

Сигнал Safety_OK лучше понимать как общее разрешение работы. Он может объединять несколько условий.

Safety_OK = Emergency_OK AND Door_Closed AND Drive_Ready

Тогда логика конвейера становится более понятной:

Conveyor_Run = (Start_Button OR Conveyor_Run) AND NOT Stop_Button AND Safety_OK

Если любое разрешающее условие пропадает, Safety_OK становится FALSE, а Conveyor_Run выключается.

Для учебной статьи Safety_OK можно оставить одним входом. В следующих более сложных примерах его можно раскрыть через отдельные блоки AND.

8. Расширение: датчик заполнения на выходе

Часто конвейер должен останавливаться не только по кнопке Stop, но и по состоянию датчика. Например, если на выходе накопилась деталь или следующая зона занята.

Для этого можно добавить вход Product_Stop_Sensor.

Conveyor_Run = (Start_Button OR Conveyor_Run) AND NOT Stop_Button AND Safety_OK AND NOT Product_Stop_Sensor

Если Product_Stop_Sensor = TRUE, конвейер останавливается. Когда датчик снова станет FALSE, поведение зависит от выбранной логики.

Для учебного варианта проще считать, что после срабатывания датчика команда Conveyor_Run сбрасывается, и оператор должен снова нажать Start.

9. Вариант с автоматическим продолжением

В некоторых задачах нужно, чтобы конвейер временно остановился при заполнении и автоматически продолжил работу, когда место освободится.

Тогда лучше разделить два сигнала:

СигналНазначение
Conveyor_Enableзапомненная команда оператора: конвейер разрешен к работе
Motor_Runфактическая команда на двигатель с учетом датчиков и разрешений

Conveyor_Enable = (Start_Button OR Conveyor_Enable) AND NOT Stop_Button AND Safety_OK Motor_Run = Conveyor_Enable AND NOT Product_Stop_Sensor

В этом варианте Stop_Button снимает разрешение работы, а Product_Stop_Sensor только временно запрещает включение двигателя.

Для начального обучения такой вариант сложнее, но он лучше показывает разницу между внутренним состоянием программы и реальным выходом на двигатель.

10. Связь с реальным оборудованием

В реальной системе команда Motor_Run обычно идет не прямо на двигатель, а на управляющее устройство.

  • катушка контактора;
  • дискретный вход частотного преобразователя;
  • вход Enable или Run привода;
  • модуль управления мотором;
  • промежуточное реле.

Кроме программной логики, в реальной линии обязательно учитываются требования безопасности. Аварийная остановка, защитные двери и цепи безопасности не должны зависеть только от учебной логики программы.

11. Практика в симуляторе

Откройте пример логики конвейера в редакторе PLC Portal.

  • Установите Safety_OK = TRUE.
  • Нажмите Start_Button и проверьте, что Conveyor_Run стал TRUE.
  • Отпустите Start_Button и проверьте, что Conveyor_Run остается TRUE.
  • Проверьте, что Motor_Run также находится в TRUE.
  • Нажмите Stop_Button и проверьте, что Conveyor_Run и Motor_Run стали FALSE.
  • Снова запустите конвейер через Start_Button.
  • Установите Safety_OK = FALSE и убедитесь, что конвейер остановился.
  • Если в примере есть Product_Stop_Sensor, проверьте поведение при его переключении в TRUE.

Цель упражнения - увидеть, как кнопки, память состояния и разрешающие условия вместе формируют команду работы конвейера.

12. Краткий итог

Логика конвейера объединяет несколько базовых тем: TRUE/FALSE, AND, OR, NOT, самоподхват и разрешающие условия.

Conveyor_Run = (Start_Button OR Conveyor_Run) AND NOT Stop_Button AND Safety_OK Motor_Run = Conveyor_Run

В более сложных схемах к этой логике добавляют датчики наличия детали, сигналы готовности соседних механизмов, таймеры, аварии и режимы работы.

Важно разделять простую учебную модель и реальную промышленную систему. Учебная схема помогает понять принцип, но реальное оборудование требует дополнительной проверки безопасности и аппаратных цепей защиты.

Practice block

Open the related example in the editor, run the simulation, and repeat the exercise from the article. The JSON is also available as a direct download.