Структура ПО КСПА
Программное обеспечение (ПО) КСПА состоит из ПО разработчика и исполняемого ПО. Исполняемое ПО, в свою очередь, делится на ПО контроллера (контроллеров) и ПО АРМ.

Программное обеспечение контроллера
Контроллер работает под управлением операционной системы реального времени, поставляемой вместе с контроллером. В КСПА-0 используется ОС QNX, в КСПА-100 — специализированная ОС разработки фирмы WAGO. ПО контроллера выполняет все функции управления технологическим объектом, от опроса датчиков до выполнения алгоритмов управления и регулирования.
Во всех проектах систем автоматики можно выделить общие компоненты, например каналы дискретного и аналогового ввода-вывода. Для программной обработки таких типовых компонентов предназначено системное ПО контроллера. Системное ПО взаимодействует с аппаратурой, обеспечивая ввод-вывод сигналов в технологическую программу и передачу информации в SCADA-систему.
При разработке прикладного ПО применяется объектно-ориентированный подход. В данном случае это означает следующее:
- каждому элементу технологического оборудования (крану, насосу, вентилятору и т.п.) сопоставляется программный объект-обработчик;
- используется принцип наследования, т.е. для нового элемента технологического оборудования, похожего на старый, используется объект, являющийся наследником старого, но с добавленными отличиями.
Применение такого подхода обеспечивает эффективное повторное использование программного кода, делает минимальным количество ошибок благодаря внесению точечных изменений в отлаженный и протестированный код, позволяет легко модифицировать программу при модификациях технологического оборудования или появлении новых требований заказчика.
Разумеется, проще всего реализуется объектно-ориентированный подход на объектно-ориентированных языках программирования. В КСПА-0 в качестве основного языка используется С++, причем рядовые разработчики прикладного ПО пользуются библиотекой классов, разработанной и непрерывно сопровождаемой в НПК «ЛЕНПРОМАВТОМАТИКА». Новые классы вводятся в библиотеку опытными разработчиками и всесторонне тестируются перед внедрением. На объектах изменение библиотеки запрещено.
Аналогичным образом организована разработка прикладного ПО и для КСПА-100. В этом случае используется среда программирования CoDeSys, язык ST. Этот язык, вообще говоря, является процедурно-ориентированным, но имеет в своем составе понятие «функционального блока», который может быть использован как объект. Наследование в данном случае заменяется агрегированием, т.е. для создания нового класса внутри его помещается экземпляр класса-предка (функционального блока — предка). Разумеется, тут невозможно использование виртуальных методов и переопределение операторов, но для задач технологического программирования без этого можно обойтись.
Программное обеспечение АРМ оператора
На компьютере, являющемся основой АРМ оператора и работающего под управлением операционной системы MS Windows 2000 Pro и выше, устанавливается SCADA-система собственной разработки «КСПАвизор». «КСПАвизор» обеспечивает отображение текстовой и графической информации о состоянии технологического оборудования, получение команд оператора, ведение архивов, формирование отчетов. Основными отличительными особенностями системы являются:
- низкие требования к вычислительной мощности компьютера — примерно в 1.5 раза ниже покупных продуктов с аналогичными характеристиками;
- большое быстродействие системы архивирования — например, в бортовых системах и в системах регулирования производится архивирование аналоговых параметров с шагом дискретизации 10 мс;
- встроенная поддержка дублированных контроллеров;
- встроенный режим отладчика, позволяющий задавать значения переменных (тэгов) контроллера;
- многоуровневая система разграничения доступа.
Конфигураторы
Для быстрой настройки комплекта ПО под конкретную аппаратную конфигурацию и исключения ошибок предназначены программы-конфигураторы. Эти программы позволяют разработчику задавать аппаратную конфигурацию контроллера и устройств ввода-вывода сигналов в наглядном таблично-графическом виде, указывать параметры измерительных каналов, а также формировать в табличном виде некоторые подзадачи алгоритмов управления (технологической программы).
Конфигуратор «КСПАвизора», входящий в состав комплекта конфигураторов, позволяет формировать вид экранов интерфейса оператора, настраивать параметры архивов в SCADA-системе, параметры формирования отчетов и т.д.
При этом весь комплект конфигураторов использует общую базу данных, что обеспечивает сквозное проектирование комплекта ПО и исключает ошибки, связанные с несогласованностью данных нижнего (контроллер) и верхнего (SCADA) уровней.
Отладка и тестирование
Любая программа, управляющая сложным технологическим объектом, к моменту внедрения не должна содержать ошибок, приводящих к опасным действиям объекта. Для этого проверка и отладка должна выполняться на аппаратном или программном имитаторе объекта. При разработке ПО в НПК «ЛЕНПРОМАВТОМАТИКА» используется как аппаратная, так и программная имитация, их сочетание обеспечивает гораздо более широкие возможности отладки.
Можно выделить три варианта имитации:
- ручное задание входных сигналов, при помощи аппаратного «тумблерного чемодана» или при помощи программного механизма в SCADA-системе;
- написание программы, выполняющей математическое моделирование объекта, как в логической части (открытие-закрытие кранов, включение вентиляторов с заданной задержкой и т.п.), так и в части численного моделирования физических процессов путем решения дифференциальных уравнений, описывающих объект;
- прогон программы на контрольных примерах, написанных заранее и покрывающих максимально возможные области сочетаний исходных данных.
Для отработки штатных режимов работы системы автоматики больше подходит второй вариант имитации, а для отработки реакции на различные отказы (прежде всего, несрабатывания исполнительных механизмов) — первый. Прогон контрольных примеров лучше всего формализует процесс проверки, позволяет согласовать программу и результаты испытаний с разработчиком объекта автоматизации. Поскольку все способы имитационной проверки имеют свои области применения, мы в своей практике комбинируем различные варианты.
Активное использование способов имитационного моделирования обеспечивает создание безопасного ПО для сложных объектов в короткие сроки. Например, ПО системы управления положением корпуса глиссирующего катера было разработано примерно за 1.5 месяца, и к моменту выхода на ходовые испытания оно было полностью работоспособно.
Особенности разработки и реализации
Разработанная техническая и организационная дисциплина работы с конфигураторами и объектами технологической программы позволяют добиться следующих результатов:
- обеспечение высокой надежности и «предсказуемости» работы ПО;
- сокращение сроков разработки ПО для новых объектов автоматизации;
- гибкость ПО, легкость и скорость модификации алгоритмов управления в соответствии с замечаниями и пожеланиями заказчика при пусконаладке и техобслуживании.
|