В предыдущих статьях мы обсуждали различные типы блоков в SIEMENS TIA Portal, мы говорили о функциональных блоках FB, функциях FC и блоках данных DB.
В этой статье мы рассмотрим другой тип блока в ПЛК SIEMENS, это организационные блоки, и в этой статье мы обсудим самый важный организационный блок из всех, который является основным организационным блоком или OB1.
Содержание:
- Что такое организационные блоки?
- Различные типы OB.
- Что такое OB1?
- Мониторинг времени цикла.
- Простой пример программы.
- Заключение.
Что такое организационный блок (OB)?
Организационные блоки, вы можете думать о них как о функциях FC или функциональных блоках FB. Но разница в том, что вы не вызываете их, операционная система ПЛК вызывает эти организационные блоки, независимо от того, вызывает ли операционная система OB циклически как OB1 или он вызывается при возникновении определенного события, в любом случае операционная система позаботится об этом. Вам нужно только создать блок и добавить любую логику, которую вы хотите, внутри блока. Иногда вам даже не нужно добавлять какой-либо код внутри OB, простое создание самого OB может дать много преимуществ, которые мы увидим при обсуждении некоторых из этих OB.
Организационные блоки являются интерфейсом между операционной системой ПЛК и пользовательской программой. Любой ПЛК будет иметь две разные программы: исполняемую программу, которая является операционной системой ПЛК, и пользовательскую программу, которая является логикой или кодом, который программист ПЛК напишет для управления определенным процессом. Эти два разных программного обеспечения должны общаться друг с другом, и организационные блоки OB — это то, как это делается.
Организационные блоки OB используются для выполнения множества задач, некоторые из которых перечислены ниже:
- Характеристики запуска системы автоматизации
- Циклическая обработка программ
- Выполнение программ, управляемых прерываниями
- Обработка ошибок.
Различные типы организационных блоков
Поскольку организационные блоки в основном являются инструментами операционной системы для выполнения множества задач.
Различные задачи требуют разных OB, и именно поэтому у вас есть много разных OB внутри ПЛК, количество разных OB будет зависеть от типа используемого вами ПЛК, но вот некоторые из наиболее распространенных OB, которые вы можете найти почти во всех ПЛК SIEMENS:
- Главный циклический OB1.
- OB прерываний по времени.
- OB времени суток.
- OB ошибок программного обеспечения.
- OB ошибок оборудования
Многие другие организационные блоки доступны для использования с вашей логикой. См. рисунок 1.
Рисунок 1 – Различные организационные блоки, доступные в TIA Portal
В этой статье мы обсудим самый важный организационный блок из всех, а именно главный циклический прерыватель OB1.
Главный циклический прерыватель OB1
Главный циклический OB1 – это организационный блок, который отвечает за циклическое выполнение вашей логики ПЛК. Всякий раз, когда вы создаете новый проект и добавляете ПЛК, главный OB1 будет автоматически создан программным обеспечением. Это минимально необходимые блоки для кода ПЛК. См. рисунок 2.
Рисунок 2 – главный OB1 создается автоматически
Внутри главного OB1 вы можете либо написать всю свою программу ПЛК, если это небольшой проект. Если ваш проект довольно большой, то у вас, вероятно, есть некоторые функции FC функциональных блоков FB, которые вам нужно выполнить. В этом случае вы будете использовать главный OB1 для их вызова.
Конечно, вам не нужно вызывать каждый FC или FB с помощью OB1, но если ваш OB1 не является первым блоком ваших вложенных вызовов, то он не будет выполнен. Смотрите рисунок 3.
Рисунок 3 — Вызов ваших блоков с помощью OB1
Основой вашего кода ПЛК является циклическое поведение, то есть вам нужно, чтобы ваш код выполнялся непрерывно. Когда обработка вашей логики завершена, операционная система начинает обрабатывать ее снова. Это делается с помощью главного OB1, вы помещаете и вызываете всю вашу логику и код внутри этого OB1, и операционная система будет обеспечивать его непрерывное выполнение.
Вы должны знать, что даже если вы не можете создать блок OB1, поскольку он автоматически создается при добавлении нового ПЛК, вы можете создать более одного блока циклических прерываний.
OB1 — это циклическое прерывание, которое операционная система будет автоматически и непрерывно вызывать и выполнять любую логику внутри. Однако для больших проектов ПЛК, где в логике ПЛК так много функций и функциональных блоков, вы можете использовать более одного OB циклического прерывания, чтобы лучше структурировать свой код и сделать его более удобным для чтения и понимания.
В этом случае вы создадите еще одно циклическое прерывание, см. рисунок 4.
Рисунок 4 — Создание более одного циклического OB
Когда вы создали несколько OB программного цикла, они вызываются один за другим в порядке их номеров OB.
OB программного цикла с наименьшим номером OB вызывается первым. См. рисунок 5.
Рисунок 5 — Программный цикл с более чем одним циклическим OB
После завершения циклической программы операционная система обновляет образы процессов следующим образом:
- Он записывает значения из выходного образа процесса в выходные модули.
- Он считывает входные данные из входных модулей и передает их на входной образ процесса.
Предыдущие два шага плюс выполнение программы ПЛК называются циклом сканирования. См. рисунок 6.
Рисунок 6 – Цикл сканирования ПЛК Siemens
Мониторинг времени цикла
Время цикла относится к времени выполнения циклической программы, включая время выполнения всех вложенных частей программы, таких как FC, FB и OB с более высоким приоритетом. Если вы создали несколько OB программного цикла, каждый OB программного цикла вносит свой вклад во время цикла.
Операционная система отслеживает, остается ли время цикла меньше настроенного максимального времени цикла. Если оно превышает максимальное время цикла, ПЛК либо перейдет в режим STOP, либо вызовет OB80 в зависимости от вашего программирования.
Помимо мониторинга максимального времени цикла, также можно гарантировать минимальное время цикла. Для этого операционная система откладывает начало нового цикла до тех пор, пока не будет достигнуто минимальное время цикла.
Вы можете настроить минимальное и максимальное время цикла в свойствах конфигурации вашего ПЛК. Смотрите рисунок 7.
Фото 7 – Настройка минимального и максимального времени цикла
Простой пример программы в ПЛК
Фото 8 – Пример программы ПЛК
Чтобы лучше понять цикл программы ПЛК и выполнение OB1, давайте создадим простую программу. Эта программа будет использовать инструкцию сложения, которая будет накапливать значение 1 в области памяти каждый 1 цикл сканирования. Смотрите следующую симуляцию.
Как вы видите из анимации, инструкция сложения выполняется очень быстро; это то, насколько быстро выполняется цикл сканирования. Это будет зависеть от мощности вашего ПЛК. Но в основном цикл сканирования находится в диапазоне миллисекунд.
Заключение
- Организационные блоки — это интерфейс между операционной системой ПЛК и вашей программой управления.
- Основной циклический OB1 циклически выполняется операционной системой.
- Вы будете выполнять свою логику, включив ее в один или несколько циклических OB.
- Время цикла сканирования — это время, используемое для выполнения вашей логики 1 раз.