- •Программное обеспечение компьютеризированных систем управления
- •Общая характеристика и классификация по ксу уровня асу тп.
- •Программное обеспечение программируемых логических контроллеров (операционная система и программа пользователя).
- •Циклическая обработка программы пользователя в плк.
- •1. Общая характеристика и классификация программного обеспечения компьютеризированных систем управления уровня асу тп
- •Trace Mode/Трейс Моуд (AdAstrA) - Россия;
- •WinCc (Siemens) - Германия;
- •2. Программное обеспечение программируемых логических контроллеров (операционная система и программа пользователя).
- •2.1 Операционная система плк
- •2.2 Программа пользователя
- •3. Циклическая обработка программы пользователя
Trace Mode/Трейс Моуд (AdAstrA) - Россия;
InTouch (Wonderware) - США;
Genesis (Iconics Co) - США;
RealFlex (BJ Software Systems) - США;
WinCc (Siemens) - Германия;
RTWin (SWD Real Time Systems) - Россия;
САРГОН (НВТ - Автоматика) - Россия;
RSView (Rockwell Automation) - США и многие другие.
2. Программное обеспечение программируемых логических контроллеров (операционная система и программа пользователя).
2.1 Операционная система плк
В центральном процессоре исполняются две программы:
• операционная система;
• прикладная программа (программа пользователя).
Операционная система встроена в каждый центральный процессор и организует все функции центрального процессора, которые не связаны со специфическими задачами автоматизации, рис. 3.1.
Задачи операционной системы:
• осуществление перезагрузки и перезапуска;
• актуализация отображения процессов входов и выходов;
• вызов и обработка программы пользователя;
• обнаружение ошибок (аварий) и их обработка;
• обнаружение прерываний и их обработка;
• управление областями памяти;
• обмен информацией с устройствами программирования и другими коммуникационными партнерами.
Быстродействие ПЛК или компьютера влияет на величину динамической погрешности системы автоматизации и запас ее устойчивости при наличии обратной связи. Для улучшения этих характеристик используют быстродействующие модули ввода-вывода и компьютер (ПЛК) с высокопроизводительным процессором. Это позволяет улучшить динамические характеристики системы, однако большинство операционных систем (ОС) не могут обеспечить одно и то же время выполнения задачи при повторных ее запусках, т. е. время выполнения является случайной величиной. В некоторых случаях непредсказуемость времени исполнения задачи приводит к отказу системы.
Рисунок 3.1 – Функции и интерфейсы операционной системы
Для устранения этой проблемы был разработан класс операционных систем, которые обеспечивают детерминированное (т.е. не случайное) время выполнения задач и время реакции на аппаратные прерывания. Такие ОС, использующиеся в ПЛК и компьютерах для решения задач автоматизации, получили название операционных систем реального времени ОС РВ) и были поделены на ОС жесткого и мягкого реального времени. Отличительным признаком ОС РВ является не время выполнение задач, а гарантированность постоянства величины этого времени для одной и той же задачи.
ОС жесткого реального времени гарантирует выполнение задачи за заранее известное время. В ОС мягкого реального времени приняты особые меры для устранения неопределенности времени выполнения, однако полностью неопределенность не устраняется.
2.2 Программа пользователя
Программа пользователя должна создаваться проектировщиком и загружаться в центральный процессор. Она содержит все функции, необходимые для обработки специфических задач автоматизации. К задачам прикладной программы относятся:
- определение условий для перезагрузки и перезапуска центрального процессора (например, инициализация сигналов с определенным значением);
- обработка данных процесса (например, логическая обработка бинарные сигналы, считывание и анализ аналоговых величин, установление бинарных сигналов для выходов, вывод аналоговых значений);
- реагирование на аварийную ситуацию;
- обработка ошибок при нормальном протекании программы.
Программа пользователя является структурированной, то есть подразделенной на отдельные, законченные программные блоки. Это дает следующие преимущества:
- большие программы наглядно программируются (сразу видна структура программы);
- отдельные программы могут быть стандартизированы;
- упрощается организация программ;
- легче производится модификация программ;
- текст программы упрощен, так как он может записываться по частям;
- упрощены отладка и введение в эксплуатацию.
Блоки программ структурированной программы пользователя отвечают этим задачам. В качестве примера рассмотрим блоки, применяемые в контроллерах SIMATIC.
Таблица 3.1 - Виды блоков
Блок |
Краткое описание функций |
Организационные блоки (OB) |
Устанавливают структуру программы пользователя и ее связь с ОС |
Функциональные блоки (FB) |
Часть программы, которая может несколько раз встречаться в основной программе, поэтому программируется отдельно, а в основной программе производится ее вызов |
Экземплярные блоки данных (Instanz-DB) |
Вызовы FB/SFB блока могут осуществляться для различных значений параметров, которые хранятся в Instanz-DB |
Функции (FC) |
Аналогичны FB, но без экземплярного DB (обычно это расчет математических функций) |
Глобальные блоки данных (DB) |
Области для сохранения данных пользователя. Если экземплярные блоки данных подчинены определенному функциональному блоку, то глобальные данные могут быть определены и использованы любыми блоками. |
Системные функциональные блоки (SFB) и системные функции (SFC) |
SFBs и SFCs интегрированы в CPU, т.е не программируются пользователем, в программе осуществляется только их вызов. |
Системные блоки данных (SDB) |
Области данных для сохранения данных конфигурации и параметров аппаратных средств. |
OB, FB, SFB, FC и SFC содержат блоки программ и поэтому являются кодовыми или логическими блоками. Возможное число блоков каждого типа и возможная длина блоков зависит от центрального процессора.
Некоторые из этих блоков могут выполняться циклически, в то время как другие только по требованию.
Системные блоки (SFB, SFC и SDB) – это определенные функции или функциональные блоки, которые встроены в операционную систему центрального процессора. Эти блоки не занимают дополнительного места в памяти пользователя. Системные блоки вызываются из программы пользователя.
Организационные блоки
Организационные блоки образовывают интерфейс между операционной системой CPU и программой пользователя. Программа пользователя вызывает эти кодовые блоки, чтобы запустить соответствующую им функцию или операцию.
Каждый центральный процессор поддерживает разные организационные блоки и соответствующие функции. Разные организационные блоки выполняют соответственно разные специфические функции.
ОВ определяют порядок, в котором исполняются отдельные программные секции. Исполнение ОВ может быть прервано вызовом другого ОВ. Какому ОВ разрешается прервать выполнение другого ОВ, зависит от его приоритета. Например, операционная система некторых центральных процессоров SIMATIC предлагает до 26 классов приоритета. Наименьший приоритет имеет класс приоритета 1.
Прерывание инициализируется событием, которое оговорено как вызывающее соответствующий ОВ.
Рассмотрим ОВ и их классы приоритетов.
OB1 Цикл основной программы
блок циклической обработки программы. ОС выполняет ОВ1 непрерывно и последовательно. Когда ОВ1 выполнен, ОС начинает его обработку заново, т.е. циклически
OB10 – OB18 Прерывание по времени (класс 2)
запускаются в запрограммированное время суток
OB20 – OB23 Прерывание с задержкой (классы с 3 по 6)
запускаются после запрограммированной задержки
OB30 – OB38 Циклическое прерывание (классы с 7 по 15)
запускается каждые n мс
OB40 – OB47 Аппаратное прерывание (классы с 16 по 23)
если сигнал поступает от соответствующего модуля, который имеют возможность сигнализации
OB80 – OB87 Ошибка OB
запускаются при асинхронной ошибке
OB121, OB122 Ошибка OB
запускается при синхронной ошибке
OB100 Перезагрузка (ручное/автоматическое)
запускается при изменении СТОП – ПУСК или включении питания центрального процессора
OB101 Поведение при перезапуске (класс 27)
выполняется при перезапуске («горячий» рестарт с определенными условиями) центрального процессора.
Операционная система обрабатывает ОВ соответственно их классу приоритета. Организационный блок ОВ1 (класс приоритета 1) имеет наименьший приоритет по сравнению с другими, это означает, что все другие организационные блоки могут перерывать циклическую выполнение ОВ1 при необходимости.
