ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ САИУ

Сетевой комплекс контроллеров (PLC, Network).

Сетевые ПМК наиболее широко применяются для управления производственными процессами во всех отраслях промышленности. Минимальный состав данного класса ПМК подразумевает наличие следующих компонентов:

· набор контроллеров;

· несколько дисплейных рабочих станций операторов;

· системную (промышленную) сеть, соединяющую контроллеры между собою и контроллеры с рабочими станциями.

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

В качестве дисплейных рабочих станций почти всегда используются персональные компьютеры в обычном или промышленном исполнении; большей частью с двумя типами клавиатур: традиционной алфавитно-цифровой и специальной функциональной - и оснащенные одним или несколькими мониторами с большими экранами.


Программное обеспечение, используемое в современных САиУ, подразделяется на системное и прикладное. Системное программное обеспечение - это прежде всего операционные системы - системы программ, предназначенных для обеспечения определённого уровня эффективности вычислительной системы за счёт автоматизированного управления её работой и предоставления пользователям определённого набора услуг. Прикладное программное обеспечение предназначено для непосредственного управления технологическим объектом управления.

Системное программное обеспечение САиУ

Системное программное обеспечение обычно поставляется фирмой и рассчитано на конкретную вычислительную платформу, используемую в данной САиУ. Возможность работы в реальном времени, обеспечение высокого уровня надежности при работе, поддержка стандартов на все виды интерфейсов - все эти требования позволяют выделить промышленные вычислительные системы в отдельный класс. Основное требование (помимо надёжности), предъявляемое к таким вычислительным системам, - это гарантированное время реакции на произошедшее событие.

В итоге можно выделить следующие отличительные качества промышленных вычислительных систем:

− максимально возможная адаптация вычислительного блока к датчикам и периферийным устройствам;

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

− использование операционных систем реального времени (ОС РВ), гарантирующих выработку сигналов обратной связи за фиксированный промежуток времени.

Операционная система реального времени (ОС РВ), как и всякая другая операционная система, выполняет следующие основные функции, необходимые при использовании средств вычислительной техники в автоматике:

− обеспечение бесконфликтного взаимодействия множества параллельных задач (процессов) с аппаратурой;

− бесконфликтное разделение общих ресурсов вычислительной системы (память, процессорное время и т.п.);

− обеспечение безопасной передачи данных между процессами в защищенных адресных пространствах;

− обеспечение стандартных средств доступа к ресурсам без необходимости программисту писать соответствующие коды;

− обеспечение стандартных телекоммуникаций и сетевой поддержки;

− поддержание службы времени (системных и сетевых таймеров);

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

Особенностью ОС РВ является выполнение этих функций за гарантированное время.

Существуют разные структуры ОС РВ (монолитные, на основе микроядра, объектно-ориентированные), но главное заключается в том, что любая ОС отделяет от исполняемых задач аппаратуру, гарантируя стандартные надёжные методы доступа к ней, и обеспечивает взаимодействие между задачами (рис. 14.2).

Рис. 14.2 Иллюстрация к работе операционной системы

В свою очередь, сама ОС может быть построена как единый блок программного обеспечения (монолитная ОС) либо может быть модульной. Частным случаем модульного построения является архитектура микроядра (рис. 14.3), главное отличие которой заключается в том, что в основе ОС лежит компактное, быстродействующее ядро, которое может быть легко размещено в ПЗУ. Другие дополнительные модули ОС добавляются (оперативно заменяются и дорабатываются) по мере необходимости.

Модульное построение ОС, особенно с использованием микроядра, имеет один важный недостаток - при интенсивном использовании функций (вызовов) операционной системы скорость её работы является не самой высокой, по крайней мере ниже скорости системы с монолитной архитектурой. Это происходит из-за вызова дополнительных, не находящихся в ядре, функций ОС как процессов: происходит переключение задач в многозадачном режиме, а на это может потребоваться значительное время.

Рис. 14.3. ОС на основе микроядра

Обзор операционных систем реального времени

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

Главный критерий, по которому операционные системы можно разделить на обычные и ОС РВ, - строго определенная задержка (время ожидания) каждого процесса, прежде чем он получит управление. В ОС РВ различают два основных элемента - это время отклика и детерминизм. Время отклика определяет среднюю задержку системы при ответе на запросы. Детерминизм - это показатель наибольшей задержки системы (иначе, предсказуемость времени реакции). Некоторые операционные системы, например DOS, являются недетерминированными и поэтому непригодными для использования в реальном масштабе времени.

Системы реального времени также делятся на "soft real-time" и "hard real-time" - системы мягкого реального времени (МРВ) и жёсткого реального времени (ЖРВ). Для МРВ-систем возможна потеря внешнего события (прерывания) без оказания серьезного влияния на систему в целом. Потерянное прерывание в ситуации с ЖРВ-системами имеет серьезные последствия. Например, система исключения столкновений на авиалиниях, которая допускает аварийную ситуацию, может оказаться слишком дорогой во всех смыслах.

Граница между системами МРВ и ЖРВ размыта. Также следует учесть, что понятие ЖРВ не связано с абсолютными значениями времени реакции ОС, т.к. есть процессы с характерными временами работы в сотые доли секунды (энергетические системы), а есть такие, для которых характерные постоянные времени равны часам (тепловые процессы).

 

Прикладное программное обеспечение. Принципы программирования для САиУ

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

− дополнения к операционной системе (драйверы и т.п.);

− программы управления, снятия (получения) и передачи данных, обработки данных, планирования и т.п., то есть прикладные вычислительные задачи;

− программное обеспечение локальных регуляторов. Эта часть программного обеспечения часто создаётся для специализированных микроконтроллеров и поэтому имеет свои особенности.

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

Наиболее традиционной частью являются прикладные вычислительные задачи, и решать эти задачи стремятся традиционными методами, для чего стараются использовать программирование на языках высокого уровня, не упуская из видимости тот факт, что работа программы должна вестись в реальном времени. Обычно удаётся обойтись программированием на языках С, C++ и Pascal, привлекая для этого интегрированные среды типа Visual С, Builder или Delphi. Если это удается, то имеется возможность создания мощного современного программного обеспечения, удовлетворяющего всем требованиям к интерфейсам пользователя.

При создании программного обеспечения для локальных контроллеров важно придерживаться следующих принципов:

− при разработке проекта САиУ стараются обеспечить однородность вычислительной платформы, что позволит в дальнейшем упростить программирование: это означает, что целесообразно в локальных системах использовать не специализированные, а PC-совместимые контроллеры. Это требование не является необходимым, так как имеется достаточное количество примеров, когда наиболее эффективны именно специализированные контроллеры - например, в задачах цифровой обработки сигналов используются специальные DSP-процессоры. Но при этом следует понимать, что обслуживание узкоспециализированного программного обеспечения зачастую накладно;

− при разработке микропрограмм для локальных контроллеров тщательно обосновывают выбор контроллеров, исходя из перспективности той или иной микроконтроллерной платформы, причём основным аспектом является не экономический (стоимость современных микроконтроллеров быстро снижается), а системный. Использование устаревающих контроллеров нецелесообразно: кросс-средства программирования для различных контроллеров существенно отличаются с точки зрения универсальности, стандартизованности и готовности к интеграции в более сложные иерархические системы.

Библиотеки программ, созданные для микроконтроллеров, с трудом поддаются повторному использованию и передаче другим пользователям - часто оказывается проще создать программы заново. К сожалению, объектно-ориентированный подход здесь применим далеко не всегда, так как влечёт резкое увеличение объёмов кодов. Альтернативой традиционному программированию микроконтроллеров является технология Java, предполагающая сетевую загрузку исполняемых программ (апплетов) в контроллеры. Однако это не вполне безопасно и не всегда надёжно.

Международная Электротехническая Комиссия (МЭК) в 1993 г. утвердила международный стандарт IEC 1131 часть 3 (IEC 1131-3). Назначение IEC 1131-3 -стандартизация существующих языков программируемых логических контроллеров (ПЛК).

Стандарт IEC 1131-3 описывает синтаксис и семантику пяти языков программирования ПЛК. Эти языки не являются чем-то совершенно новым, а лишь обобщают то, что широко известно в области автоматизации промышленных объектов:

− SFC (Sequential Function Chart) - графический язык, используемый для
описания алгоритма в виде набора связанных пар: шаг (step) и переход (transition). Шаг представляет собой набор операций над переменными, а переход - набор логических условных выражений, определяющий передачу управления к следующей паре шаг-переход. По внешнему виду описание на языке SFC напоминает хорошо известные логические блок-схемы алгоритмов.;

− LD (Ladder Diagram) — графический язык программирования, являющийся стандартизованным вариантом класса языков релейно-контактных схем. Логические выражения на этом языке описываются в виде реле, которые широко применялись в области автоматизации в 60-х годах, и дополнены дискретными устройствами: таймерами, счетчиками и т.п.;

− FBD (Functional Block Diagram) - графический язык, по сути похожий на LD. Вместо реле в этом языке используются функциональные блоки, назначение которых гораздо шире. Сюда входят такие блоки, как ПИД-регулятор, фильтр и т.п. По сути, FBD является наиболее естественным способом описания структуры САУ с точки зрения инженера по автоматике. FBD поддерживается многими современными системами проектирования и SCADA-системами;

− ST (Structured Text) - текстовый высокоуровневый язык общего назначения, по синтаксису ориентированный на Паскаль. Это обычное программирование на языке высокого уровня;

− IL (Instruction List) - текстовый язык низкого уровня. В дополнение к языку ST — это программирование фактически на Ассемблере. Необходим в случае разработки драйверов и критических ко времени программ.

Перечисленные языки IEC 1131-3 используются ведущими-фирмами-изготовителями ПЛК, имеют длительную историю применения, достаточно распространены и известны пользователям.

Изначально для разделения данных между прикладными системами и ПЛК применялся протокол DDE. Появление OPC-технологии привело к разработке стандарта обмена с технологическими устройствами. Спецификация OPC описывает объекты OPC COM и их интерфейсы, реализованные в OPC-серверах. OPC-клиенты могут связываться с одним или несколькими OPC-серверами, разработанными разными производителями.

С OPC-решениями интеграция в гетерогенные (неоднородные) системы становится достаточно простой. С точки зрения SCADA-системы OPC-серверы, расположенные на компьютерах всего производственного предприятия, стандартным способом могут поставлять данные в программу визуализации, базы данных и т.п., в некотором смысле уничтожая само понятие неоднородной стстемы.

Широкому распространению OPC-компонентов способствует наличие инструментальных средств, которые:

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

- позволяют экономить время разработки, поскольку нет необходимости вникать в детали OPC-стандарта;

- не требуют отслеживать различия в версиях стандарта (по сравнению с предыдущими).