ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА И ПРОГРАММИРОВАНИЕ
РЕЗИДЕНТНОЕ И ИНСТРУМЕНТАЛЬНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРОМЫШЛЕННЫХ КОНТРОЛЛЕРОВ СЕТЕВОГО ВВОДА/ВЫВОДА
И.С. Болгаров, A.A. Патиев, А.О. Ключев
Значительная часть систем промышленной автоматизации построена на основе распределенных сетей управления (РСУ). В качестве устройств сопряжения с объектом (УСО) в таких сетях используются различные модули ввода/вывода (контроллеры сетевого ввода/вывода), работающие под управлением основного контроллера сети (к примеру, это может быть ПЛК - программируемый логический контроллер). Модули ввода/вывода осуществляют прием и первичное преобразование информации от датчиков и выдачу управляющих сигналов на исполнительные устройства.
В качестве сетевого интерфейса для связи с главным контроллером могут использоваться как стандартные (PROFIBUS, Interbus-S, DeviceNet, CANopen и др.), так и интерфейсы с протоколами, разработанными фирмой-производителем для своих систем (например, Controller Link и CompoBus/S фирмы OMRON).
2
Основные понятия
Значительную часть в процессе разработки модулей сетевого ввода/вывода занимает разработка резидентного и инструментального программного обеспечения. Дадим определения этим понятиям.
ПО для обеспечения надежности
мониторы питания, температуры и др. сторожевые таймеры защита памяти от сбоев
Прикладное ПО
Сеть
PROFIBUS CANopen PROFIBUS
X
X
I Выбор протокола
X
Сетевой интерфейс
ВМ, операционная среда
пользовательский алгоритм
Ввод/вывод
конфигурация, поиск новых устройств
Буфер обмена 1
Устройства индикации, управления
• текущее состояние в/в
• текущее системы
• задание настроек в/в
• ввод прикладных программ
Сервисное ПО
Конфигурирования
контроллера
конфигури- конфигури-
рование рование в/в
сети
Запись, хранение пользовательских программ локального управления
Инструментальное ПО
Резидентная часть
Загрузка ПО
Загрузка прикладных
алгооитмов
Тесты аппаратуры
Тесты целевого ПО
Калибровка в/в
ПО инструментальной
хост-машаны
Система
программир ов ания
целевой программы
Система
программир ования
пользовательских
алгоритмов
Система
калибровки
Система тестирования
и диагностики
Рис. 1. Структура программного обеспечения модулей сетевого ввода/вывода
Резидентным называется программное обеспечение (ПО), входящее в состав встраиваемой системы и находящееся в памяти контроллера. Инструментальное ПО используется при разработке программно-аппаратных частей системы, при отладке на этапе разработки, при тестировании и диагностике в процессе эксплуатации. Резидентное ПО делится на прикладное, выполняющее целевую задачу в режиме реального времени, сервисное, используемое для настройки системы пользователем, резидентное инструментальное и ПО обеспечения надежности. В отличи! от резидентного инструментальное ПО часто не входит в состав системы, за исключением некоторых частей, которые могут в дальнейшем понадобиться при эксплуатации системы (например, система загрузки пользовательских алгоритмов, система калибровки входов/выходов контроллера).
Чтобы очертить границы резидентного и инструментального программного обеспечения, необходимо выделить основные компоненты ПО и связи между ними. Однако зачастую состав ПО определяется архитектурой конкретных модулей ввода/вывода. В приведенной на рис. 1 структурной схеме представлены компоненты, используемые при различных решениях по организации модулей. Связи между элементами ПО в различных системах могут меняться в определенных пределах.
Рассмотрим основные части ПО РСУ на примере системы с модулями сетевого ввода-вывода [1, 2].
Сеть
Поскольку для построения РСУ применяются различные сетевые протоколы, очевидно, модули должны поддерживать несколько протоколов. В зависимости от исполнения модуля ввода/вывода изменение сетевой части может потребовать применения новых аппаратных решений и перекомпиляции программы при условии того, что модуль выполнен в виде единого блока. В тех же случаях, когда возможна модульная замена сетевого адаптера, изменение сетевого программного обеспечения может производиться автоматически.
Виртуальная машина (ВМ) или операционная среда
Виртуальная машина применяется в так называемых активных модулях для исполнения пользовательских алгоритмов. В подобном случае часть задачи управления перекладывается на модуль ввода/вывода.
Одной из основных проблем при таком решении является синхронизация работы пользовательских алгоритмов с командами управляющего контроллера.
Для работы ВМ в контроллер должны быть загружены пользовательские алгоритмы, осуществляется это при помощи системы доставки программ в ВМ.
Пользовательские алгоритмы также могут реализовываться при помощи языков, не требующих поддержки виртуальной машины (к примеру, С или С++). Однако в этом случая для замены программы локального управления потребуется заменить все резидентное программное обеспечение контроллера.
Ввод/вывод
Подсистема ввода/вывода содержит набор драйверов для взаимодействия с устройствами ввода/вывода. В состав может входить система поиска новых устройств, если контроллер распределенного ввода/вывода выполнен в модульном варианте. Также для конфигурирования ввода/вывода и для передачи параметров в систему индикации должен присутствовать блок настройки.
Система индикации и управления
Система индикации и управления отображает состояние системы и устройств ввода/вывода, позволяет задавать режимы каналов ввода/вывода и осуществлять ввод прикладных программ. Система может поддерживать различные устройства индикации, начиная от простых светодиодных панелей до жидкокристаллических индикаторов, и различные типы устройств ввода: кнопки, аналоговые и дискретные сенсорные панели, энкодеры и другие. При помощи элементов управления пользователь может:
• выбирать настройки в/в для отображения,
• вводить программы локального управления,
• настраивать устройства в/в.
Система конфигурирования
Система конфигурирования обеспечивает конфигурирование сети и подсистемы ввода/вывода. В задачу системы конфигурирования сети входит выбор соответствующего драйвера сетевого интерфейса (если существует возможность физической замены сетевых адаптеров) и/или конфигурация параметров сетевого соединения, назначение сетевых адресов контроллеров.
Система конфигурирования подсистемы ввода/вывода позволяет задавать определенные режимы работы устройств при инициализации системы. Конфигурация может проводиться через специальный канал или прозрачно через основную информационную сеть.
Система записи и хранения пользовательских программ
Эта система применяется для ввода пользовательской программы с консоли модуля ввода/вывода или по информационной сети. Она позволяет хранить программы и передавать их на исполнение ВМ.
Инструментальное ПО
Инструментальное ПО делится на резидентное и ПО инструментальной хост-машины.
В состав резидентного ПО контроллеров сетевого ввода-вывода может входить система загрузки программ, средства тестирования аппаратуры и ПО, средства калибровки аналого-цифровых трактов и узлов.
Загрузка ПО
Системы начальной загрузки ПО подразделяются на:
• встраиваемые в процессор (для начальной инициализации ПЗУ или ОЗУ программ);
• расположенные в ПЗУ контроллера (осуществляют загрузку программы в ПЗУ или ОЗУ), могут быть ориентированны на различные инструментальные системы программирования.
Загрузчик пользовательских программ
Позволяет загружать/выбирать пользовательские программы через специальный канал программирования или через сеть. Предполагает наличие резидентного системного ПО в контроллере.
Тесты аппаратуры
Эти тесты используются для проверки аппаратной части системы на этапе настройки и/или во время исполнения. Тестирование может производиться с участием пользователя (интерактивный режим тестирования) и без участия пользователя. В последнем случае зачастую необходимо аппаратное обеспечение в виде платы тестирования.
Тесты целевого ПО
Эти тесты применяются как на этапе создания системы, так и для тестирования в процессе производства и эксплуатации. Обычно они включают в себя:
• систему вызова процедур;
• систему проверки корректности работы ПО при длительной работе;
• систему замера времени исполнения участков программы и другое.
Калибровка каналов ввода/вывода
Калибровка используется при настройке каналов ввода/вывода для работы в различных режимах. Наибольшую сложность представляет калибровка аналого-цифровых высокоточных трактов, которые предполагают несколько режимов работы. Задача усложняется в случае широкого температурного рабочего диапазона контроллера и высокой чувствительности его измерительных входов.
ПО инструментальной хост-машины
ПО инструментальной хост-машины_представляет собой сложный комплекс средств, в состав которых в общем случае входят:
• система создания и загрузки целевых программ;
• система программирования и загрузки пользовательских алгоритмов;
• управляющая часть системы калибровки;
• система тестирования и диагностики.
Отдельно следует обозначить программную составляющую РСУ для обеспечения надежности функционирования системы в целом. Такое ПО включает средства, направленные на защиту от сбоев и неисправностей, и может содержать мониторы питания и температуры, сторожевые таймеры, средства защита памяти контроллера и многое другое.
Литература
1. http://lmt-automation.ifmo.ru
2. http://embedded.ifmo.ru