4. Особенности программного обеспечения промышленных компьютеров
Естественно, специфика промышленных применений наложила свой отпечаток и на используемое программное обеспечение промышленных компьютеров. Первым требованием является надежность программного обеспечения. Действительно, одно дело, когда " зависает" редактор текста в офисе, а другое дело, когда неправильно работает программа, управляющая ядерным реактором или космическим кораблем. В конечном счете, многие новации последнего времени, типа структурного программирования, объектно-ориентированных языков появились в результате стремления писать все более сложные программы с меньшим количеством ошибок. Вторым требованием является быстрое реагирование на какие либо внешние события или изменения в параметрах управляемых процессов. Системы, работающие в соответствии со вторым требованием называют системами реального времени. Разумеется, понятие " быстрый" является относительным. Типовое время реагирования на внешние воздействия, необходимое современным индустриальным системам, составляет десятки микросекунд. В то же время существует много задач, где инерционность протекающих процессов позволяет реагировать с задержкой в сотни миллисекунд. Строго говоря, отождествление понятий " реальное время" и " быстрый" не является верным. Например, если ваша система регистрирует уровень грунтовых вод, то и одно измерение в час соответствует требованиям реального времени для этого процесса. Классическое и строгое определение понятия работы системы в реальном масштабе времени вытекает из требований теоремы Котельникова, которая определяет максимально допустимый период считывания информации о процессе и реагирования на изменения в этом процессе, исходя из наивысшей скорости изменения процесса (частотных свойств измеряемого сигнала – ширины его спектра).
И третьим требованием, часто предъявляемым к программному обеспечению систем управления, является многозадачность. Это требование проистекает из подчас чрезвычайно сложной и многоуровневой природы управляемых процессов, когда необходимо одновременно реализовать сложные алгоритмы управления различными аспектами или частями реального объекта. Каждая задача выполняет свою долю работы по управлению объектом, и все они делят между собой ресурсы вычислительной системы в зависимости от своего приоритета, от внешних и внутренних событий, связанных с конкретной задачей. Другим тесно связанным с многозадачностью понятием является многопоточность. Хотя терминология здесь не совсем устоялась, под многопоточностью, как правило, понимают возможность выполнения в рамках одной задачи нескольких независимых процессов (потоков команд), которые, в отличие от задач, пользуются общими участками кода и данных. Названным требованиям должны удовлетворять все уровни программного обеспечения системы: 1. Базовая система ввода/вывода (BIOS); 2. Операционная система и драйверы (OС); 3. Собственно прикладные программы. BIOS осуществляет непосредственный интерфейс между аппаратурой и программным обеспечением верхних уровней. Основная опасность при обращении к BIOS – это возможность запрета прерываний на достаточно долгое время, в результате чего может быть пропущена важная информация от быстродействующих датчиков или телекоммуникационных устройств. Вот почему, с одной стороны, есть фирмы, предлагающие BIOS, ориентированные на приложения " жесткого" реального времени, а с другой стороны, многие операционные системы минимизируют взаимодействие с BIOS или не обращаются к ней вообще.
Операционная система выполняет базовые функции по интерфейсу с оператором, запуску программ, распределению памяти, поддержке файловой системы и т. п. Сегодня существует широкий выбор операционных систем, разработанных специально для применения в системах " жесткого" реального времени. Эти ОС часто так и называют операционными системами реального времени. Среди них наиболее известны такие ОС, как QNX, OS 9000, OnTime, VxWorks, iRMX, VRTX, Nucleus и другие. Важной проблемой использования программного обеспечения является его переносимость. Существует два подхода к переносимости программного обеспечения: первый – это поддержка одной ОС одновременно нескольких аппаратных платформ, второй – это обеспечение стандартного интерфейса между прикладными программами и ОС. При проектировании ОС реального времени все чаще используется идеология микроядра, которая увеличивает надежность программного обеспечения и позволяет использовать только те компоненты операционной системы, которые необходимы в каждом конкретном случае. Например, микроядро одной из самых распространенных операционных систем QNX имеет размер менее 10 Кбайт. Модуль, ответственный за файловую систему, запускается как одна из задач и может быть легко удален. Все драйверы также функционируют как независимые задачи. То есть, если в вашей встроенной системе не используются файловые операции или отсутствуют интерфейсы с какими либо внешними устройствами, вы можете просто не включать в состав операционной системы, функционирующей в вашем изделии, соответствующие модули, высвобождая тем самым память для более эффективного выполнения приложений. Разработчики программного системного обеспечения поставляют не просто ядро операционной системы, а функционально законченный комплекс средств разработки и выполнения приложений реального времени. В качестве примера приведем состав комплекса OnTime RTOS-32 для х86 совместимых систем. Он состоит из пяти компонентов: · RTTarget-32 – компактная операционная система, включающая все средства для запуска и выполнения приложений Win32, созданных стандартными системами разработки для Windows; · RTKernel-32 – быстрый и компактный планировщик задач реального времени;
· RTFiles-32 – файловая система для 32-разрядных х86 совместимых систем обеспечивает файловый ввод/вывод в реальном масштабе времени; · RTIP-32 – определяет сетевые возможности RTOS. Компонент содержит TCP/IP протоколы, необходимые для Ethernet и последовательных коммуникаций; · RTPEG-32 – графическая объектно-ориентированные библиотека С++ содержит полный набор элементов для создания интерфейсов в стиле Windows-приложений. Применение OnTime RTOS-32 обеспечивает время переключения между задачами в 1 мкс. Немного особняком стоит программное обеспечение, предназначенное для эксплуатации на верхнем уровне систем автоматизации, например, в диспетчерских пультах управления сложными агрегатами. Главными функциями таких программ (они получили общее наименование SCADA-систем – Supervisor Control And Data Acquisition) являются отображение технологического процесса в виде мнемосхем, сигнализация об аварийных ситуациях, ведение системного журнала, обеспечение общего управления процессом со стороны оператора и т. п. Многие подразделения АСУ крупных предприятий, как правило, имеют свои наработки в этой области. В то же время есть фирмы, специализирующиеся на разработке универсальных SCADA программ, таких как Genesis (Iconics), FixDmacs (Intellution), InTouch (Wonderware), Trace Mode (Adastra Research Group). Подробнее SCADA-продукты будут рассмотрены далее. В последнее время получает распространение программное обеспечение класса MES (Manufacturing Execution Systems), основной задачей которого является оптимизация управления производством в целом, включая планирование запасов комплектующих, расписание технологических процессов и т. д. Системы MES, с одной стороны, взаимодействуют с системами SCADA, образуя единую систему управления производством, с другой стороны, они часто интегрируются в систему планирования и управления предприятием в целом. О таком программном обеспечении АСУ также будет рассказано подробнее в дальнейшем материале.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|