PROFIBUS ( PROcess FIeld BUS) – это классическая сеть с передачей маркера. Стандарт (DIN-19245) содержит 3 различных протокола: PROFIBUS-FMS, PROFIBUS-DP, PROFIBUS-PA.
PROFIBUS-FMS появился первым (1990 г.) и был рассчитан на цеховый уровень. Скорость обмена данными – до 1,5 Мбит/с.
Протокол PROFIBUS-DP (1992 г.) создавался для организации быстрого канала связи с уровнем датчиков и исполнительных устройств. В его основе лежит циклический опрос каналов, который дополняют ациклические функции конфигурирования, диагностики и поддержки обмена. Протокол использует три типа устройств:
- мастер класса 2 (может выполнять функции конфигурирования и диагностики устройств сети);
- мастер класса 1 (ПЛК с функциями ведущего узла);
- ведомые устройства (DP-Slave).
Скорость обмена – до 12 Мбит/с.
Протокол PROFIBUS-PA (1997 г.) является расширением PROFIBUS-DP для взрывоопасных сред. Скорость обмена – 31,25 кбит/с.
В Европе PROFIBUS покрывает ~ 40% рынка пром. сетей. Физическая среда – витая пара или оптоволоконный кабель. Количество узлов в сети – до 126. Топология – шина, звезда, кольцо.
Скажем несколько подробнее об PROFIBUS-DP.
Наиболее простой способ построения системы показан на рис. 1. В этом случае цикл управления замыкается внутри рабочей станции, которая выступает одновременно в роли операторской станции и программного аналога PLC. Для этого в ней устанавливается мастер-карта PROFIBUS-DP, а ведомые (slave) узлы подключаются к ней по топологии «общая шина».
Рис. 1
Логически потоки данных в такой сети делятся на три основных цикла.
1. Цикл ввода-вывода выполняется под управлением контроллера ведомого узла. В этом цикле происходит автоматический опрос модулей ввода, установленных в УСО, и строится таблица последних значений, готовых к передаче в сеть. Одновременно с этим происходит передача выходным модулям УСО новых значений, полученных из сети. Длительность этого цикла зависит от количества установленных модулей и, как правило, измеряется единицами миллисекунд.
2. Цикл сетевого обмена реализуется по инициативе ведущего узла, в данном случае по маркеру мастер-карты рабочей станции. В этом цикле ведущий формирует пакеты, содержащие данные для модулей вывода каждого из абонентов, и принимает от них пакеты, в которых передается информация от входных модулей. Пакеты оптимизированы настолько, что на передачу данных отводится ровно столько места, сколько эти данные занимают. Например, передача аналогового сигнала занимает в сетевом пакете два байта, а передача дискретного — один бит. Служебная информация в пакетах предельно мала, поэтому теоретическая пропускная способность сети уменьшается в основном только в связи с издержками на передачу и обработку маркера, а также из-за того, что параметры передаются по сети независимо от того, изменилось их значение со времени предыдущего циклаопроса или нет. Цикл сетевого обмена осуществляется без участия центрального процессора рабочей станции и начинается сразу после подачи напряжения питания на сетевую карту и сетевые УСО. Данные, которые передаются ведомым абонентам, ведущий постоянно берет из определенного поля адресов специальной двухпортовой памяти. В эту же память после каждого цикла обмена по сети помещаются новые значения, полученные от каналов ввода. Для ускорения сетевого обмена данные в пакетах передаются подряд, без указания их источника или, наоборот, адресата. Для того чтобы ведущий «знал», какие из участков своей двухпортовой памяти передать каждому из абонентов и, соответственно, какую длину пакета ожидать в ответ и что это будет обозначать, такая сеть изначально должна быть однократно сконфигурирована с помощью специальной программы. В результате работы программа-конфигуратор настраивает ведущего и ведомых участников друг на друга и сохраняет информацию о параметрах сети в энергонезависимой памяти всех узлов. Такая дисциплина работы PROFIBUS-DP, конечно, не допускает «горячего» (на ходу) изменения числа участников сети и даже состава их модулей ввода-вывода, но зато обеспечивает высокую скорость обмена. Так, например, цикл обмена по сети, которая обслуживает 5000 дискретных сигналов и 1000 аналоговых, может составлять менее 2 миллисекунд!
3. Цикл управления внутри рабочей станции. Эта работа возлагается на центральный процессор. Он работает с так называемым образом процесса, который находится в двухпортовой памяти сетевой карты. Процессору требуется считать из памяти информацию о входных каналах, осуществить над ней необходимые преобразования и выдать управляющие воздействия, занеся в определенные ячейки памяти новые данные.
Такая конфигурация управляющей системы по принципу работы и программирования почти ничем не отличается от «вырожденной» централизованной системы. Один и тот же процессор здесь отвечает и за управление, и за интерфейс с оператором. Преимущества, которые мы смогли получить на данном этапе, — это освобождение процессора от задач ввода-вывода (обслуживание прерываний от АЦП, поддержка каналов DMA, необходимость работы с резидентными драйверами устройств и т.п.), а также возможность максимально приблизить УСО к объекту контроля.
Однако для многих задач такой подход не обеспечивает управление в реальном времени. Связано это с тем, что современное программное обеспечение операторского интерфейса в своей массе предназначено для работы под управлением операционной системы Windows, которая пока не оптимизирована для работы в режиме жесткого реального времени. Кроме того, операторская станция обычно отличается нестабильным программным окружением (оператор может, например, запустить зараженную вирусом программу), что в сочетании со сложностью самой операционной системы может нарушить функционирование приложения, отвечающего за управление технологическим процессом вплоть до полного «зависания» компьютера. Рассмотрим два возможных пути перехода к лучшему варианту системы.
1. Система с выделенным управляющим контроллером
В этом случае (рис. 2) в сети присутствуют три типа устройств: один-единственный ведущий контроллер, одна или более рабочих станций верх-
Рис. 2. Система с выделенным управляющим контроллером
него уровня, выполняющих роль операторских станций, серверов архивации или шлюзов для связи с локальной сетью предприятия, и необходимое количество распределенных по территории цеха или предприятия устройств ввода-вывода. Единственным ведущим в этой сети является сетевая карта, установленная в контроллере.
Контроллер «видит» через окно двухпортовой памяти мастер-карты каналы ввода-вывода удаленных УСО и область памяти slave-карты рабочей станции. Программа, выполняющаяся в контроллере, пишется на любом процедурном языке программирования общего назначения или на одном из языков стандарта IЕС 61131. С помощью специальных инструментальных средств (например, Ultralogik) она работает в режиме реального времени и осуществляет основной цикл управления.
Передавать в SCADA-систему желательно не все, а только то, что непосредственно должно быть видно оператору и сохраняться в архивах. Кроме SCADA-пакета, на рабочей станции должен быть установлен некий драйвер сети PROFIBUS-DP. Для современных пакетов могут использоваться соответствующие ОРС-серверы, поставляемые, например, фирмой Hilscher.
Таким образом, описанная система обеспечивает очень быстрый и фиксированный по времени цикл управления, гарантированную доставку сетевых пакетов и независимое функционирование SCADA-системы верхнего уровня.
Рис. 3. Распределенное управление, локальные УСО
2. Распределенное управление
В этой модели (рис. 3) рабочая станция является ведущей в сети, а контроллеры — ведомыми. В качестве контроллеров могут выступать, например, процессорные платы MicroPC с сетевыми адаптерами Hilscher. Все устройства ввода-вывода в данном случае являются локальными. Контроллеры, с одной стороны, выполняют ввод-вывод из локальных устройств, производят необходимые расчеты, осуществляют управление исполнительными устройствами, а с другой — публикуют все необходимые данные в сетевой плате PROFIBUS-DP (Slave). Ведущему (рабочей станции) остается собрать данные с контроллеров, передать им необходимые управляющие воздействия и организовать взаимодействие с оператором и архивом. Данная архитектура также является полностью детерминированной и поддерживающей «распределенный интеллект», но в силу ограничения протокола PROFIBUS-DP не позволяет использовать в циклах управления удаленные переменные от других контроллеров без участия SCADA-системы. Это связано с тем, что в сети PROFIBUS-DP может быть только один ведущий.
Большой выбор аппаратных средств, оконечных устройств и программного обеспечения делает решения на базе PROFIBUS на сегодня одними из самых распространенных.
Существуют три основных режима обмена данными в пром. сетях, эффективность использования которых зависит от конкретной задачи.
● Режим «Ведущий - ведомый». В этом простейшем режиме один из узлов ЦПС является ведущим устройством, которое последовательно опрашивает подчиненные узлы. В зависимости от содержания запроса ведомый узел либо выполняет полученную команду, либо передает ведущему текущие данные с подключенных оконечных устройств. Типичным примером ЦПС, построенной на таком принципе, являются сети PROFIBUS. Как правило, роли ведущего и ведомого закрепляются жестко и не меняются в процессе функционирования сети.
● Режим «Клиент - сервер». Данный режим имеет много общего с предыдущим и используется в системах с гибким распределением функций. Узел клиент запрашивает данные, а узел сервер их предоставляет. При этом клиент может запрашивать несколько узлов, а сервер – иметь несколько клиентов. Также функции клиента и сервера могут совмещаться на одном узле. Примером может послужить ЦПС Foundation Fieldbus.
● Режим «Подписка». В этом режиме узел, нуждающийся в регулярном поступлении какой - либо информации, подписывается на её получение от другого узла, после чего получает регулярные рассылки данных без дополнительных запросов. Режим имеет два варианта: в первом случае данные передаются циклически с определенным интервалом вне зависимости от динамики информации; во втором случае данные передаются только в случае их изменения. Данный режим также используется в сетях Foundation Fieldbus.
Практика применения ЦПС (цифровых пром. сетей) на производстве неизбежно приводит к тому, что на разных участках предприятия функционируют сети разных стандартов, использующих неодинаковые среды передачи данных и протоколы. Что делать в такой ситуации, какими средствами объединить эти суверенные острова в единую мощную информационную систему? Одним из возможных вариантов является применение конверторов протоколов PKV фирмы Hilscher.
Одним из наиболее интересных устройств данного типа являются конверторы протоколов ЦПС в среду Ethernet серии PKV 40.
Устройства PKV 40, с одной стороны, поддерживают такие основные протоколы ЦПС, как CANopen, DeviceNet, PROFIBUS-DP, ModBus-Plus, AS-интерфейс, а также стандартные последовательные шины RS_232/422/485. С другой стороны, доступ к данным осуществляется по протоколу TCP/IP, обеспечивая прозрачную интеграцию в любую систему верхнего уровня автоматизации. Кроме доступа посредством TCP/IP, PKV 40 обеспечивает пользователя целым рядом «продвинутых» функций. Приверженцы Интернет-технологий в автоматизации могут воспользоваться встроенным Web-сервером. Создание страниц в стандартном формате html осуществляется любым редактором, после чего они передаются по сети в память устройства. Дальнейший просмотр накопленных устройством PKV 40 данных осуществляется обычным Интернет-браузером, то есть практически с любого компьютера из любой точки земного шара. Поддержка языка Java позволяет реализовать произвольную предварительную обработку данных, а также требуемый для технологов и специалистов интерфейс.
Кроме того, PKV 40 может использоваться как самостоятельный ПЛК благодаря наличию процессора и предустановленной операционной системы ОС Windows CE. Большинство разработчиков уже в той или иной степени знакомы с этой ОС, которая за последние годы стала одним из стандартов дефакто в области встраиваемых систем.
Возможность написания технологических программ обработки данных, поступающих от узлов ЦПС, делает PKV 40 очень гибким инструментом, готовым в любой момент перестроиться с учётом изменившихся требований производственного процесса.
Для конфигурирования PKV 40 необходимо только стандартное для изделий Hilscher программное обеспечение SyCon, что облегчает инженерам АСУ ТП ввод оборудования в эксплуатацию. Настройка, в том числе загрузка пользовательских программ, может осуществляться как удаленно через TCP/IP, так и на месте установки оборудования через последовательный интерфейс, которым снабжен каждый PKV 40.
9. Программное обеспечение АПК
9.1. Системное программное обеспечение
9.1.1 ПО управляющих вычислительных комплексов
Основные особенности операционных систем реального времени
Операционные системы общего назначения не предназначены для решения задач реального времени. Они ориентированы в основном на рациональное распределение ресурсов ЭВМ между пользователями, а также между выполняемыми задачами.
В УВК используются специализированные операционные системы — операционные системы реального времени (ОС РВ). Они управляют событиями и распределяют ресурсы УВК. Принципиальным требованием к ОС РВ является гарантированное время реакции на внешние события, происходящие на управляемом объекте. Время реакции не должно превышать критического (deadline) времени для этого события. Критическое время обслуживания события зависит от специфики управляемого объекта и должно быть известно при создании системы управления.
Различают операционные системы жесткого (или детерминированного) и мягкого реального времени. Системы жесткого реального времени применяют для построения УВК, в которых задержка реакции недопустима, поскольку ведет к отказу системы и может повлечь за собой катастрофические последствия. ОС мягкого реального времени используют при построении УВК, в которых задержка реакции не является отказом, однако может привести к потере качества, например к снижению производительности системы. В АСУТП используют, как правило, ОС жесткого реального времени.
Рассмотрим основные особенности ОС РВ, отличающие их от ОС общего назначения.
Время реакции.Это ключевой параметр системы управления. Время реакции системы — интервал, охватывающий время от наступления события на управляемом объекте до выполнения необходимых ответных действий. Величина этого интервала зависит от ряда причин. Интервал времени от момента возникновения события на объекте до завершения выработки модулями УСО запроса на прерывание определяется характеристиками аппаратных средств УВК. Остальное время (интервал до начала выполнения требуемой задачи реального времени) определяется свойствами ОС и архитектурой процессора.
Наиболее важными параметрами, характеризующими реактивность ОС, являются время задержки прерывания (interrupt latency) и время переключения контекста (context switching).
Время задержки прерывания tЗП— это интервал времени от момента посылки запроса на прерывание до выполнения первой команды программы обработки прерывания. Обычно это время оценивается для худшего случая (при наличии других прерываний, занятости процессора и т.д.) и зависит от эффективности операционной системы и архитектуры процессора, связанной с обработкой прерываний.
Время переключения контекста tПК - это среднее время, которое система затрачивает на переключение между независимыми задачами:
где ti, — время переключения i-й задачи;
n — число одновременно выполняемых задач.
Время tПК зависит от эффективности структуры данных управления задачей, архитектуры процессора и набора инструкций.
Время tЗП и tПК составляет от единиц до десятков микросекунд.
Для оценки производительности ОС РВ разработаны различные наборы тестов. Среди них — тесты BNCH для оценки производительности отдельных компонентов и комплексные тесты, разработанные компанией AIM, для интегральных оценок.
Механизмы реального времени. Распределение ресурсов.Операционные системы реального времени являются многозадачными, многопользовательскими системами. Они должны реагировать на несколько одновременно происходящих событий, причем за время, критическое для этих событий вне зависимости от влияния других выполняемых задач или процессов. В связи с этим можно выделить две главные архитектурные особенности ОС РВ — структуру ядра и механизмы реального времени. К последним относятся особые механизмы планирования задач, средства межзадачного взаимодействия и переключения задач и др.
Планирование задач (процессов) связано с выбором системы приоритетов и алгоритмов диспетчеризации. В многозадачных ОС общего назначения планировщик в большинстве случаев использует модификации алгоритма круговой диспетчеризации. В соответствии с ним процессы находятся в циклической очереди на выполнение. Ресурс процессора предоставляется процессу на определенный квант времени (time slice). По истечении кванта времени процесс выгружается и, если он все еще не обслужен, помещается в конец очереди. Ресурс процессора передается следующему процессу, первому в очереди. Очередь может регулироваться приоритетами. Может быть выделено несколько уровней приоритетов, и на каждом уровне выполняется циклическое продвижение задач к началу очереди.
Недостаток такого алгоритма для систем реального времени состоит в том, что только один процесс может владеть ресурсом процессора в течение определенного кванта времени. Планировщики ОС РВ используют алгоритмы диспетчеризации, позволяющие при необходимости переключить процесс до окончания предоставленного ему кванта времени. Текущий процесс приостанавливается сразу при наступлении события, если в очереди появляется более приоритетный процесс. Приоритеты процессов могут задаваться различными способами, например, динамически изменяться в зависимости от активности процесса. Планировщик запускается всегда, если какой-либо процесс изменил свое состояние после получения сообщения или в результате аппаратного прерывания.
К механизмам межзадачного взаимодействия относятся семафоры, разделяемая память, сообщения и др., позволяющие синхронизировать процессы и обеспечивать быстрый обмен информацией между ними. Важной архитектурной особенностью является возможность переключения процессов во время выполнения не только пользовательской, но и системной фазы ядра, что обеспечивает возможность обработки критических к времени прерываний.
ОС РВ могут содержать ряд специальных механизмов работы с памятью: возможность блокировки страниц оперативной памяти, позволяющей фиксировать в ней высокоприоритетные процессы, критические к времени реакции, что ускоряет переключение контекста и запуск этих процессов; средства оптимизации обмена данными с диском, например, кэширование дисков, позволяющее повысить быстродействие за счет хранения в оперативной памяти часто используемых дисковых блоков. Кроме того, имеются и другие механизмы, позволяющие обрабатывать любой процесс в пределах требуемого времени.
Архитектура микроядра.Современные ОС РВ (QNX, OS-9, VxWorks, Lynx OS и др.) имеют микроядерную архитектуру. В микроядро системы включаются только самые необходимые функции, связанные с управлением памятью и процессами, обработкой прерываний и обработкой системных вызовов, сообщений, а драйверы, файловая система и другие функции вынесены из ядра. Размер микроядра современных ОС РВ составляет около 20 Кбайт. Операционные системы реального времени с микроядерной архитектурой обладают меньшим временем реакции на события. Время задержки прерывания в таких системах составляет порядка 10 мкс.
Модульный принцип. Масштабируемость.Операционные системы реального времени строятся по модульному принципу. Функциональные компоненты ОС - ядро, система управления файлами, система ввода-вывода и др. - реализованы в виде независимых модулей. Такие операционные системы являются масштабируемыми и расширяемыми системами. Исходя из требований применения, можно создавать как миниатюрные встроенные системы, размещаемые в ПЗУ, так и крупномасштабные сетевые многопользовательские системы. ОС РВ поддерживают развитые средства разработки и включения в систему дополнительных драйверов для нестандартных устройств ввода-вывода.
Аппаратная поддержка.ОС РВ работают на различных аппаратных платформах: Intel 386/486/Pentium, Motorola 680x0, Power PC, Siemens C16X и др., на которых строятся системы реального времени. ОС РВ с аппаратной платформой, на которой она исполняется, иногда называется целевой (target) системой. Потребность в памяти для размещения ОС РВ (ядро, системные модули, драйверы и т.д.) составляет обычно около 20 Мбайт. Разработчики ОС РВ стараются уменьшить размер системы. Важным свойством является возможность размещения ОС РВ и приложений в ПЗУ, что позволяет создавать компактные (в том числе встроенные в технологическое оборудование) системы без внешних накопителей.
Работа в вычислительных сетях.Операционные системы реального времени поддерживают работу во всех основных типах локальных сетей (Ethernet, Profibus, CAN, Token Ring и др.), которые являются средствами взаимодействия УВК и промышленных контроллеров; имеют прозрачный (transparent) доступ к ресурсам любого узла сети; отвечают требованиям надежности и отказоустойчивости (fault-tolerance), в частности предоставляют пользователю сетевую избыточность и возможность гибкой переконфигурации системы; содержат программные средства защиты информации от несанкционированного доступа.
Соответствие стандартам.Современная концепция систем реального времени связана с архитектурой открытых систем, основанных на использовании стандартизованных аппаратных и программных средств. В этой связи ОС РВ обладают следующими возможностями:
• удовлетворяют общепринятым международным стандартам и
соглашениям (прежде всего IEEE POSIX —Portable Operating System Interface for Computing Environments), что обеспечивает мобильность приложений;
• поддерживают стандартные протоколы, например TCP/IP, для создания сетевых конфигураций;
• имеют дружественный пользователю интерфейс общения (подобный пользовательскому интерфейсу для ОС общего назначения), основанный на стандартах X Windows, Motif и др.;
• осуществляют поддержку стандартных систем управления базами данных.
Средства разработки.Приложения реального времени — пользовательские программы, исполняемые в среде ОС РВ, — разрабатываются на инструментальном компьютере. Разработка и отладка приложений для ОС РВ осуществляется, как правило, в среде распространенных ОС общего назначения, например UNIX и MS Windows. Некоторые ОС РВ имеют «резидентные» средства разработки, исполняемые в среде самой ОС РВ.
Ниже рассмотрены операционные системы реального времени, которые наиболее широко используются в УВК СМ1820М.
Операционная система QNX.
Это одна из наиболее широко распространенных операционных систем реального времени (http://www.sdw.ru/qnx). Она насчитывает более полумиллиона применений, преимущественно в системах управления и сбора данных, работающих в реальном времени. На систему QNX ориентировано более 100 компаний, выпускающих аппаратные и программные средства для УВК. В отечественной промышленности QNX используется чаще других ОС РВ. Благодаря архитектурным особенностям ОС QNX может применяться в составе как автономных интеллектуальных промышленных контроллеров, так и мощных многопроцессорных (SMP - Symmetric Multiprocessor) вычислительных систем. Таким образом, обеспечивается возможность построения распределенных иерархических систем управления на единой программной платформе. Система QNX служит базовой программной средой для УВК CM 1820M.
Основными свойствами QNX являются:
• гарантированное время реакции системы, что отвечает требованиям применения в системах жесткого реального времени;
• работа в 32-разрядном режиме;
• архитектура микроядра;
• модульный принцип построения, что обеспечивает оптимальное использование реально необходимых ресурсов;
• поддержка процессоров ix86, PowerPC, MIPS;
• компактность, возможность размещения системы в ПЗУ (Flash,
ROM) для встраиваемых (embedded) применений;
• расширяемость (extensibility), достигаемая без снижения надежности системы, поскольку включение новых модулей (драйверов и менеджеров ресурсов) не требует перестроения ядра;
• масштабируемость (scalability) под различные технические требования — от встроенных до многопроцессорных систем;
• большое количество графических подсистем: графические при ложения можно создавать с помощью библиотечных функций, поставляемых с компилятором Watcom С;
• поддержка ряда систем управления базами данных (Watcom
SQL, dbVista, Faircom C-free и др.);
• соответствие файловой системы требованиям стандарта POSIX;
• поддержка сетевого протокола TCP/IP;
• уникальная сетевая технология FLEET [Fault-tolerance (отказоустойчивая). Load-balancing (регулирующая нагрузку), Efficient (эффективная), Extensible (расширяемая), Transparent (прозрачная)].
Операционная система QNX построена на основе принципа микроядра. Микроядро QNX очень компактно. В него включены только базовые функции операционной системы:
• управление планированием (диспетчеризацией) и взаимодействием процессов;
• управление передачей сообщений между процессами.
Система в целом построена в виде совокупности независимых взаимодействующих компонентов. Микроядро дополняется менеджером процессов (Ргос), который создает процессы и управляет процессами и памятью процессов, файловой системой (Fsys), менеджером устройств (Dev) и менеджером сети (Net). Эти системные компоненты размещаются вне пространства ядра.
Операционная система QNX реализует простой и эффективный механизм межзадачного обмена информацией между одновременно работающими процессами. Основной принцип коммуникаций в ОС QNX — обмен сообщениями. Его использование обеспечивает эффективную совместную работу процессов в системе.
Сообщение — это пакет байтов, передаваемых от одного процесса к другому. Сообщение имеет смысл только для двух процессов — источника и приемника. Сообщения являются как способом передачи информации, так и способом синхронизации работы нескольких процессов. По информации о состояниях и приоритетах процессов микроядро управляет их работой в целях эффективного распределения ресурсов системы. Компоненты, находящиеся вне микроядра, используют средства микроядра для обмена сообщениями. Микроядро может обработать сообщение или переслать его другому процессу. При этом микроядру безразлично, от какого процесса получено сообщение, от находящегося на том же компьютере или на другом узле сети. Такое свойство микроядра используется для передачи сообщений в распределенных системах управления.
Система QNX работает в защищенном режиме. Микроядро защищено и доступно только по прямому вызову из системного процесса или аппаратного прерывания. Все программы защищены друг от друга, любая ошибка в одной из них не вызывает отказа системы. Файловая система QNX сохраняет целостность данных при отключении питания.
Операционная система QNX построена по сетевой технологии FLEET. Рассмотрим особенности этой технологии.
Система QNX объединяет всю сеть в однородный набор ресурсов с прозрачным доступом к ним. Любые ресурсы, например дисковые накопители, принтеры и другие, могут быть добавлены к любой ЭВМ в сети; любой узел может быть исключен из сети или добавлен к ней без нарушения целостности системы. Пользователь, работающий на компьютере в одном из узлов сети, может иметь доступ к файлам, периферийному оборудованию и любым другим ресурсам остальных узлов сети.
Для программ, исполняемых в ОС QNX, нет различий между локальными и удаленными ресурсами. Система QNX может управлять одновременно задачами в реальном масштабе времени и задачами, не зависящими от времени, что позволяет эффективно использовать оборудование сети.
Любой узел может выполнять роль моста между двумя различными локальными сетями, соответствующими стандарту IEEE 802. Таким образом, пользователь может работать одновременно в нескольких сетях: Ethernet, Token Ring и FDDI. В случае если какая-либо из них будет перегружена или выйдет из строя, ОС QNX способна автоматически перенаправить информацию через другую доступную сеть, что обеспечивает отказоустойчивость сети в целом. Менеджер сети выбирает путь для передачи информации к удаленному узлу, если он не единственный.
Для обеспечения надежности ЭВМ могут быть соединены как основным (высокоскоростным), так и резервным сетевыми каналами. Резервный канал позволит сохранить соединение в случае отказа основной сети.
Рассмотрим инструментальные средства разработки приложений. ОС QNX, которые, как отмечалось, широко используется для встраиваемых систем. Пакет Embedded Kit позволяет разместить ОС QNX и приложения пользователя в ПЗУ (Flash или ROM) разрабатываемого промышленного контроллера. Пакет поддерживает различные аппаратные платформы (Intel, Octagon, Ziatech и др.), архивацию данных или файлов в памяти, а также встраиваемые файловые системы, которые обслуживают вызовы ввода-вывода стандарта POSIX.
Многие приложения используют для отображения контролируемого технологического процесса в реальном времени графический интерфейс. Средством разработки графического интерфейса для ОС QNX является, например, пакет Photon Developers Toolkit. Пакет представляет собой встраиваемую графическую оболочку с поддержкой 2D- и 3D-графики, а также с возможностью запуска графических приложений, написанных для X Window System. Пакет создает компактный код для встраиваемых приложений реального времени.
Пакет Photon Developers Toolkit содержит:
• библиотеку графических примитивов;
• набор графических стандартных компонентов;
• средства интерактивного проектирования графических приложений PhAB (Photon Application Builder), обеспечивающие создание и редактирование сложных графических объектов из набора стандартных, а также вновь созданных компонентов.
Для создания Интернет-приложений в среде ОС QNX имеется пакет Voyager SDK (Software Development Kit), который содержит все инструменты, необходимые для разработки специализированного Web-браузера. Браузер Voyager обеспечивает пользователю удаленный доступ к промышленному контроллеру.
Операционная система Linux.
В последнее время наблюдается тенденция встраивания функций поддержки режима реального времени в ОС общего назначения. Примером реализации такого подхода является операционная система Linux, которая имеет специальные расширения для реального времени.
Linux является 32-разрядной многозадачной и многопользовательской UNIX-подобной операционной системой, имеющей следующие основные свойства:
• соответствие стандарту POSIX, что позволяет переносить разработанное для классических UNIX-систем программное обеспечение на Linux-системы;
• модульный принцип организации, что является безусловным
преимуществом перед так называемыми «монопольными» (proprietary) UNIX-системами;
• расширяемость и масштабируемость системы, что делает ее пригодной для использования как в простых промышленных контроллерах на базе 4386ЕХ-микропроцессора, так и в многопроцессорных системах;
• предоставление всех возможностей, доступных через вычислительную сеть, поскольку Linux поддерживает работу с локальными промышленными сетями (например, Ethernet и Profibus) и обеспечивает доступ к удаленным УВК через сеть Интернет; сетевые технологии в Linux соответствуют концепции «клиент-сервер», реализуемой на основе протоколов TCP/IP;
• возможность работы на большинстве известных 32-разрядных процессорных платформ: Intel, IBM, Motorola и др. Перенос системы на другую платформу требует адаптации небольшой аппаратно-зависимой части исходного кода ядра (это в основном драйверы устройств и загрузчики ядра). Доступность исходного кода операционной системы дает возможность ее оптимальной
настройки в конкретных случаях.
Усеченный вариант Linux занимает 2 Мбайта на жестком диске и хорошо подходит для компактных встроенных приложений (обычно потребность таких приложений в ресурсах оперативной памяти — от 2 до 8 Мбайт).
Для поддержки режима реального времени в среде Linux разработаны специальные расширения KURT и UTIME, а также RTLinux.
Программный пакет KURT является системой «мягкого» реального времени, имеет два режима работы - нормальный и реального времени, оформлен в виде системного модуля Linux RTMod, который является планировщиком реального времени. Планирование процессов реального времени может осуществляться по событиям или по таймеру.
При переключении в режим реального времени все обычные процессы в системе приостанавливаются до завершения процесса реального времени. Планировщик RTMod выделяет каждому процессу реального времени интервал (квант) времени, равный 10 мс.
Расширение UTIME позволяет увеличить частоту системного таймера и получить кванты времени до 1 мс. Режим «мягкого» реального времени может быть использован, например, для задач обработки мультимедийной информации, требующих быстрой реакции системы.
Расширение RTLinux реализовано в виде небольшого ядра, поддерживающего режим «жесткого» реального времени, под управлением которого работает Linux [33]. Фактически ядро Linux становится ожидающей задачей в системе реального времени, которая выполняется только тогда, когда в очереди нет задач реального времени. Процессы, выполняемые в среде Linux, не могут при этом блокировать аппаратные прерывания и запрещать свою выгрузку из памяти.
Техническое решение для реализации этих ограничений связано с программной эмуляцией механизма аппаратной обработки прерываний. Когда Linux посылает запрос на запрет прерывания, ядро RTLinux перехватывает и сохраняет этот запрос, а затем возвращает управление ядру Linux. При возникновении аппаратного прерывания управление всегда получает ядро RTLinux. Если прерывание связано с режимом реального времени, активизируется соответствующая программа обработки прерываний. В противном случае прерывание переводится в режим ожидания. При поступлении запроса от Linux на разрешение прерывания осуществляется программная эмуляция ожидающего прерывания и активизируется программа обработки прерывания в Linux.
Ядро реального времени в Linux является непрерываемым, но поскольку его программы очень малы, нет причин для больших задержек в обслуживании. Тестирование ядра на аппаратной платформе Pentium 120 показало, что интервал задержки планирования задач не превышает 20 мкс.
В настоящее время интерес к использованию ОС Linux в качестве базовой операционной системы в промышленных системах управления постоянно растет. Такие системы обладают рядом преимуществ (распространенность и интеграция режима реального времени с развитыми средствами разработки), но в некоторых случаях уступают стандартным ОС РВ в масштабируемости и компактности.
Продвижением Linux в промышленные системы управления заняты более 100 компаний. Расширение RTLinux применимо для многих задач реального времени; ОС Linux может быть использована в качестве программной платформы для УВК СМ1820М.
9.1.2. ОС Windows
Завершая разговор об операционных системах, нельзя не сказать об ОС Windows. В руководстве по эксплуатации АПК указывается вид ОС, под управлением которой он функционирует. Многие АПК работают под Windows. Эта ОС позволяет решать задачи ”мягкого” реального времени. Будучи системой общего назначения, Windows стоит гораздо дешевле ОС РВ. С ней связано множество информационных технологий компании Microsoft, реализованных в приложениях Windows. Есть примеры удачной адаптации Windows к задачам РВ. Так решения специалистов фирмы Venturcom стали фактическим стандартом для создания ответственных приложений жесткого реального времени на платформе Windows NT. Они пошли по пути модификации модуля Windows – слоя аппаратных абстракций HAL – Hardware Abstraction Layer. Этот модуль отвечает за выработку высокоприоритетных системных прерываний, мешающих задаче осуществлять управление в жестком РВ. Фирма поставляет программный продукт – Component Integrator – в качестве средства ускоренной разработки и внедрения приложений РВ под Windows. Пакет содержит инструментальные средства – ECK (Embedded Component Kit) и расширения РВ – RTX соответствующей версии.
Другой подход применила компания RadiSys. Windows загружается как низкоприоритетная задача под ОС РВ iRMX. Все функции обработки и управления РВ выполняются каквысокоприоритетные задачи под управлением iRMX. Они изолированы в памяти ПК от приложений и драйверов Windows механизмом защиты процессора. Задача РВ становится независимой от работы Windows.
9.2. Прикладное ПО
На рынке АПК существует большое количество программных продуктов класса SCADA/HMI. Они призваны автоматизировать процесс разработки приложений для отраслей промышленности. Нами уже был рассмотрен представитель класса – Advantech Studio. Назовем еще некоторые пакеты:
Genesis32 компании Iconics (США) – универсальный пакет для ИСУ любой сложности;
InTouch - Wonderware;
FIX – Intellution;
Trace Mode – AdAstra; Master SCADA - inSAT (Россия); и др.
Технология OPC-сервер
Технология связывания и внедрения объектов для систем промышленной автоматизации OPC (OLE for Process Control) предназначена для обеспечения универсального механизма обмена данными между датчиками, исполнительными механизмами, контроллерами, устройствами связи с объектом и системами представления технологической информации, оперативного диспетчерского управления, а также системами управления базами данных. Производители аппаратных средств, пользуясь спецификацией OPC, имеют возможность разрабатывать единственный сервер OPC для обеспечения единственного и наиболее общего способа организации доступа к данным и передачи в адрес приложений-клиентов различных производителей программного обеспечения для промышленной автоматизации.
OPC основана на модели распределенных компонентных объектов Microsoft DCOM и устанавливает требования к классам объектов доступа к данным и их специализированным (custom) интерфейсам для использования разработчиками клиентских и серверных приложений. Опираясь на объектную технологию COM/DCOM, стандарт OPC фиксирует определенную модель взаимодействия между клиентом и сервером.
Базовым понятием этой модели является элемент данных (Item). Каждый элемент данных имеет значение, время последнего обновления (time stamp) и признак качества, определяющий степень достоверности значения. Значение может быть практически любого скалярного типа – булево, целое, с плавающей точкой и т.п. – или строкой (так называемый OLE VARIANT). Время представляется с 100 наносекундной точностью (FILETIME Win32 API). Реальная точность измерения времени обычно бывает хуже и, в общем случая, зависит от реализации сервера и аппаратуры. Качество – это код, содержащий в себе грубую оценку – UNCERTAIN, GOOD и BAD (не определено, хорошее и плохое), а на случай плохой – еще и расшифровку, например QUAL_SENSOR_FAILURE – ошибка датчика.
Следующим вверх по иерархии является понятие группы элементов (OPC Group). Группа создается OPC сервером по требованию клиента, который затем может добавлять в группу элементы (Items). Для группы клиентом задается частота обновления данных, и все данные в группе сервер старается обновлять и передавать клиенту с заданной частотой. Отдельно стоящих вне группы элементов быть не может. Клиент может создать для себя на сервере несколько групп, различающихся требуемой частотой обновления. Для каждого клиента всегда создается своя группа (кроме так называемых публичных групп), даже если состав элементов и частоты обновления совпадают. Отсоединение клиента приводит к уничтожению группы.
Элементы в группе, таким образом, – это своего рода клиентские ссылки на некие реальные переменные (теги), находящиеся на сервере или в физическом устройстве. Понятие тега спецификацией OPC не определяется, но подразумевается неявно. Элементы в группу клиент добавляет по имени, и эти имена являются именами соответствующих тегов. Клиент может либо знать нужные имена заранее, либо запросить список имен тегов у сервера. Для запроса имен тегов служит интерфейс IOPC Browse Server Address Space, с помощью которого сервер описывает клиенту свое “пространство имен”, организованное в общем случае иерархически. Пример полного имени тега: Устройство1. Модуль5. АналоговыйВход3. При добавлении элемента в группу клиент всегда указывает это полное имя. Заметим, что группы, создаваемые клиентом, не обязаны совпадать (и, как правило, не совпадают) с подразделами пространства имен сервера, элементы в группу добавляются “в разнобой”. Единственное, что их объединяет – это общая частота обновления и синхронность отправки клиенту.
Наконец, на верхней ступеньке иерархии понятий находится сам OPC-сервер. Из всех перечисленных (OPC группа, OPC элемент) он единственный является COM-объектом, все остальные объекты доступны через его интерфейсы, которые он предоставляет клиенту. Взаимосвязь групп и элементов OPC
показана на рис.2.
Рис. 2. Взаимосвязь групп и элементов OPC
Дата добавления: 2015-02-10; просмотров: 3996;