1 Оглавление 1. Принципы построения современных УВК ................................................................................................................................... 2 2. Основные характеристики СМ-ЭВМ-комплексов ....................................................................................................................... 3 3. Требования к современным УВК; характеристики семейства СМ18хх .................................................................................... 7 4. Структура УВК СМ1820М ............................................................................................................................................................. 8 5. Этапы развития; централизация вычислительной среды .......................................................................................................... 11 6. Этапы развития; первые распределенные системы ................................................................................................................... 14 7. Структура вычислительного блока СМ1820М ........................................................................................................................... 16 8. COTS-решения Технология (Надо искать!!!) ............................................................................................................................. 16 9. Основные элементы типовой АСУ ТП ....................................................................................................................................... 17 10. Функциональные блоки модуля процессора СМ1820М ...................................................................................................... 18 11. Требования к конструкции СМ1820М ................................................................................................................................... 20 12. ПО СМ1820М ........................................................................................................................................................................... 23 13. Современная концепция АСУП; уровни интегрированной системы .................................................................................. 24 14. Основные особенности (ахитектура) ОСРВ .......................................................................................................................... 25 15. Архитектуры ОСРВ ................................................................................................................................................................. 26 16. Концепция построения ОС РВ USIX ..................................................................................................................................... 28 17. Процессы и ядро USIX ............................................................................................................................................................ 31 18. Защита от НД в USIX .............................................................................................................................................................. 36 19. Управление памятью в USIX .................................................................................................................................................. 38 20. Поддержка РВ в USIX ............................................................................................................................................................. 40 21. Ввод/вывод («потоки») в USIX............................................................................................................................................... 42 22. Общая схема СКВ-метода ....................................................................................................................................................... 44 23. Формирование ТрС и построение ранжированного множества СКВ ................................................................................. 45 24. Пример использования СКВ-метода ...................................................................................................................................... 47 25. Характеристики ОСРВ LINUX ............................................................................................................................................... 48 26. Характеристики ОСРВ QNX (Затронуто в (15); поискать в ОС_Синягин!!!) .................................................................... 49 27. Нечеткие множества; нечеткие отношения ........................................................................................................................... 49 28. Нечеткие множества; основные операции с нечеткими множествами ............................................................................... 53 29. Базовое ПО СИКОН ................................................................................................................................................................ 53 30. Решение задачи PID-регулятора; схема применения ; программа ...................................................................................... 56 31. Решение задачи табличной интерполяции; программа ........................................................................................................ 58 32. Описание МП-структуры и задание СКВ .............................................................................................................................. 60 4, 7, 10, 12 Состав аппаратных и программных средств СМ1820М (т.е., по-моему, относится к вопросу№(4), но также может к (7), (10), (12))....................................................................................................................................................................... 61 2 1. Принципы построения современных УВК Управляющий вычислительный комплекс имеет два принципиальных отличия от универсальных ЭВМ. Во-первых, он через датчики и регулирующие органы осуществляет непосредственную связь с объектом управления. Во-вторых, УВК должен своевременно откликаться на события, происходящие в объекте управления, с которым он взаимодействует, работать в одном темпе с объектом управления, т.е. в реальном времени. Реальное время — понятие относительное и зависит от темпа протекающих процессов. Упрощенная структурная схема УВК показана на рис. 1.1 Эксплуатируются УВК в основном в производственных условиях. В этой связи конструктивной особенностью УВК является пылезащитный и сейсмостойкий корпус, защищающий их при работе в неблагоприятных условиях внешней среды от механических ударов и вибраций, повышенной влажности, запыленности и т.д. Характерным для УВК является модульный конструктивный принцип, обеспечивающий удобство обслуживания и ремонта. Эти комплексы имеют намного большее, чем у офисных компьютеров, количество слотов расширения, что позволяет обслуживать большое количество датчиков и исполнительных устройств. В отличие от офисных компьютеров в У ВК платы расширения устанавливаются не на системную (материнскую) плату (что непригодно для промышленных условий), а на пассивную объединительную панель, содержащую только слоты расширения. Системная плата — модуль ЦП — так же, как и модули устройств ввода-вывода, вставляется в слот пассивной объединительной панели. Такая компоновка позволяет снизить механические нагрузки на системную плату и существенно повысить надежность УВК. УВК используют специализированное программное обеспечение — операционные системы реального времени, главная задача которых состоит в быстрой реакции на события, происходящие в управляемом объекте. К управляющему комплексу предъявляются более жесткие требования по надежности, чем к универсальным ЭВМ, используемым для научно-технических расчетов, поскольку ложное решение, принимаемое машиной, может привести к аварии на управляемом объекте. Надежность можно считать основным критерием качества УВК. Проблема обеспечения надежности УВК требует решения на всех этапах его проектирования и производства. Требования к надежности управляющей вычислительной техники обычно задаются на уровне требований к надежности основного технологического оборудования, для управления которым она используется. В особо ответственных промышленных АСУТП с режимом эксплуатации, не допускающим перерывов в работе, УВК должны быть отказоустойчивыми, т.е. продолжать работу без снижения производительности в случае, когда в их аппаратных или программных средствах возникают отказы или сбои. Они должны обеспечить безошибочную работу технологического процесса без его остановки или нарушения во избежание возможных технологических и экономических потерь. Итак, изложенное выше акцентирует внимание на специфике УВК, т. е. на том, что отличает их от универсальных вычислительных машин. Отметим, что поскольку задача управления представляет собой неравномерную нагрузку для УВК, то в интервалы времени, свободные от управления, возможно выполнение других задач, не связанных напрямую с управлением, например инженерных расчетов. Области применения УВК весьма разнообразны: автоматизация промышленных технологических процессов, автоматизация процессов диагностики в медицине, автоматизация научных экспериментов и т.д. 3 2. Основные характеристики СМ-ЭВМ-комплексов Комплекс СМ ЭВМ — это совокупность технических и программных средств, которые объединены набором принятых в СМ ЭВМ интерфейсов и обеспечивают эффективное функционирование в некотором классе применений. Цель комплексирования - создание вычислительных и управляющих комплексов с требуемыми потребительскими характеристиками по функциональным возможностям, производительности и надежности при рациональных затратах. 4 В основу создания технических и программных средств СМ ЭВМ были положены следующие актуальные и сегодня принципы: • требуемая надежность для соответствующего класса системы (АСУТП, АСУП, САПР, АСНИ и др.); • достаточная производительность для соответствующего класса системы; • функциональная полнота для соответствующего класса системы; • коммуникативность (сопряжение) с сетями ЭВМ различных конфигураций; • полнота системной программной поддержки; • программная и техническая преемственность вновь разрабатываемых средств по отношению к ранее созданным техническим и программным средствам; • открытость и развиваемость технических и программных средств; • простота и эффективность диагностики работоспособности технических средств; • оперативный и качественный сервис технических средств; • доступность по цене. Относительно удовлетворения системным требованиям техническая политика развития СМ ЭВМ определялась следующие функциональными применениями: • управляюшие вычислительные комплексы, для которых характерны распределенная обработка данных, повышенная отказоустойчивость и использование наиболее массовых и применяемых за рубежом микропроцессоров; • рабочие станции, позволяющие создавать автоматизированные рабочие места (АРМ) для различных областей применения с близкими к оптимальным значениями отношения производительность/стоимость; • многопользовательские (многотерминальные) информационно-вычислительные комплексы для применений, в которых определяющее значение имеет преемственность и совместимость с ранее разработанным программным обеспечением; • серверные узлы (файловые, принтерные, вычислительные) локальных и региональных вычислительных сетей, для которых характерна интеграция СМ ЭВМ с другими ЭВМ. Характеристики СМ ЭВМ ранних моделей приведены в таблицах. Программное обеспечение СМ ЭВМ характеризовалось: • наличием развитого базового системного ПО, в состав которо-го входили операционные системы (ОС) разделения времени и реального времени, исполнительные, многофункциональные и мобильные ОС, тестовые и диагностические ОС; • наличием инструментальных средств, с помощью которых можно было создавать и отлаживать ПО для проблемноориентированных комплексов с учетом квалификации пользователя; • наличием функционального системного ПО (систем управл-ния базами данных (СУБД), базовых средств машинной графики, ПО распределенной обработки данных, включая многомашинные комплексы и вычислительные сети). Были разработаны технические и программные средства, обеспечиваюшие выход СМ ЭВМ в вычислительные сети. Комплексы СМ ЭВМ были предназначены для работы как в локальных, так и в региональных вычислительных сетях. При решении задач комплексирования применялись такие открытые архитектуры магистральных локальных вычислительных сетей, как Ethernet , Bitbus, ИЛПС-2 и Profibus . Для организации сетей был разработан ряд необходимых устройств: приемопередатчики, повторители сегментов, контроллеры и др. Сетевое программное обеспечение СМ ЭВМ реализовало все основные требования, предъявляемые к сетевым пакетам, а именно: • доступ к удаленным файлам с видеотерминалов и из пользовательских программ; • обмен файлами между узлами сети; • взаимодействие пользовательских программ, выполняемых в различных узлах сети; • управление, контроль и проверка функционирования сети и т.д. 5 В след. Таблице Системотехнические характеристики СМ ЭВМ. 6 7 3. Требования к современным УВК; характеристики семейства СМ18хх Управляющие вычислительные комплексы должны: • иметь функционально-модульную структуру, легко конфигурироваться и резервироваться, а в случае необходимости — наращиваться по числу процессоров, объему оперативной и внешней памяти, количеству и номенклатуре средств телекоммуникаций и средств отображения информации; • обеспечивать высокую производительность: предельно высокую реактивность режимов реального времени на нижнем уровне управления при количестве обрабатываемых каналов ввода-вывода, доходящем, как правило, до нескольких тысяч, а также время реакции на запрос оператора с клавиатуры при оперативном диспетчировании до 0,5 с; • обеспечивать требование отказоустойчивости, не допускающее при непрерывном круглосуточном режиме эксплуатации снижения производительности при возникновении неисправностей (как правило, путем использования мажоритарныхструктур и непрерывной дистанционной диагностики работоспособности комплекса при времени обнаружения неисправности порядка секунды и времени ее ликвидации не более часа); • отвечать обобщенным требованиям промышленного исполнения, т.е. обладать устойчивостью в процессе эксплуатации в тяжелых промышленных условиях; • быть масштабируемыми для построения многоуровневых распределенных иерархических систем на единой аппаратно-программной платформе; • отвечать стандартам и требованиям открытых систем, обеспечивающим их интеграцию с аппаратными и программными средствами различных производителей; • обеспечивать интеграцию в локальных сетях Ethetnet, FDDI, АТМ, Ргоfibus, Саnbus, а также в региональных сетях с протоколами Х.25и ТСР/IР; • иметь базовое программное обеспечение и инструментальные средства проектирования отказоустойчивых управляющих вычислительных комплексов для АСУ, АСУП и АСУТП в различных операционных средах (МS Windows NT, QХ, UNIX, USIХ). В состав семейства СМ1820М входят промышленные контроллеры СМ1820М.ПК и управляющие вычислительные комплексы СМ1820М.ВУ, позволяющие строить при едином архитектурно-системном подходе и унифицированном конструкторком исполнении многоуровневые иерархические комплексы для распределенных АСУ. Характерными особенностями семейства СМ1820М являются: • унифицированное конструктивное исполнение плат, модулей, стоек и тумб на основе широко распространенного в мире стандарта «Евромеханика»; « промышленный интерфейс Сотрас1РС1 со скоростью 132/264 Мбит/с; • использование современной отечественной и зарубежной элементной базы; • широкая номенклатура модулей УСО, обеспечивающих сопряжение с датчиками и исполнительными устройствами по каналам ввода-вывода аналоговых и дискретных сигналов, а также с программируемыми измерительными приборами и генераторами; • обеспечение многопроцессорного и многопользовательского режимов работы; • набор средств сетевого взаимодействия; • максимальное использование общесистемного и прикладного программного обеспечения ПЭВМ; • развитое программное обеспечение реального времени, которое поддерживает функции: сбора, обработки информации и управления в реальном времени, графической визуалицзации данных в реальном масштабе времени, а также архивных данных, сетевого информационного обмена между отдельными узлами и дистанционного досупа и управления в распределенной сиситеме. • архитектура, совместимая с архитектурой ПЭВМ IBM PC. • полное соответствие международным стандартам открытых систем. •наличие специальных исполнений для промышленных условий. 8 4. Структура УВК СМ1820М 9 личных производителей. На интерфейс CompactPCI устанавливаются модули, требующие высокой скорости обмена по магистрали, такие, как Fast Ethernet, видеоконтроллер, контроллеры накопителей на жестких дисках. Количество модулей, устанавливаемых на CpmpactPCI, может быть увеличено за счет установки расширителей. Для непосредственной связи с управляемым объектом, первичной обработки информации, выработки управляющих воздействий и обмена данными с вычислительными комплексами верхних уровней разработаны вычислительные устройства нижнего уровня — промышленные контроллеры. Они предназначены для размещения в производственных помещениях в непосредственной близости к источникам сигналов и приемникам управляющих воздействий. Промышленный контроллер разработан на базе микропроцессора 1386ЕХ, имеющего низкую потребляемую мощность и достаточную производительность. Его система команд совместима с системами команд других микропроцессоров компании 1п1е1. Модули ПК обеспечивают ввод и вывод широкого диапазона аналоговых и дискретных сигналов. Использование модулей УСО может потребоваться не только на нижнем уровне системы управления, но и на верхних уровнях • например, для связи с диспетчерским оборудованием или для скоростного ввода информации от специальных подсистем. Для подключения модулей УСО к вычислительным блокам с шиной CompactPCI разработан оригинальный программно-аппаратный интерфейс СМ1820М-И1. Этот интерфейс реализован путем установки на магистраль Сотрас1РС1 модуля дискретного ввода-вывода с подключением его внешних цепей к специальному блоку коммутации. На выходы интерфейса может подключаться до 64 модулей дискретного и аналогового ввода-вывода и модулей УСО других типов. Применение двух магистралей позволяет существенно повысить производительность за счет разделения процессов: • процесса ввода-вывода информации через шину СМ1820М-И1 и модули УСО на объекты измерения и исполнительные устройства; • процессов обработки информации в реальном времени в интеллектуальных модулях, взаимодействующих между собой по магистрали CompactPCI. Современные управляющие вычислительные комплексы. Наличие специально разработанных для СМ1820М модулей связи с объектом на интерфейсе СМ1820М-И1 не исключает возможности использования в комплексах СМ1820М модулей вводавывода, выходяших непосредственно на магистраль CompactPCI. Номенклатура модулей CompactPCI, выпускаемых более чем 300 компаниями-производителями различных стран, достаточно разнообразна. Это относится как к основным модулям (системные платы, видеоадаптеры, контроллеры магнитных дисков), так и к модулям для ввода-вывода дискретных и аналоговых сигналов. Количество типов модулей для установки в системы CompactPCI существенно увеличивается за счет использования «мезонинной» технологии плата-носитель/ Конструктивно большинство комплексов СМ1820М выполнено в виде законченного рабочего места оператора, которое с-стоит из одной или двух тумб-столов. Габаритные размеры комплексов определяются размерами периферийного оборудования и эргономическими требованиями. Объем, занимаемый электронными блоками, невелик. Имеется вариант комплекса СМ1820М.01 в виде 10 пылебрызгозащищенного напольного шкафа, в котором установлены два вычислительных блока с модулями Сотрас1РС1 и модулями УСО. Электропитание комплексов осуществляется через встроенные или внешние источники бесперебойного электропитания (ИБП). 11 5. Этапы развития; централизация вычислительной среды Эволюционная теория в биологии утверждает, что эволюция происходит не постепенно (в виде мелких изменений в течение длительного периода времени), а выражено скачкообразно (в виде краткосрочных интервалов бурных изменений на фоне длинных периодов стабильности). Причём эти скачки являются обычно следствиями серьезных изменений окружающей среды. В науке это называется теорией прерывистого равновесия. Похоже, эта теория вполне применима также и к технологиям в области управления и автоматизации (рис.2-1), переживающим в настоящее время очередной период бурных изменений. Его можно определить как переход к полевой архитектуре, в чём-то напоминающей структуры старой пневмоавтоматики, в которой вместо пневмоэлементов использованы интеллектуальные устройства, а вместо системы пневмопроводов – полевая шина. Приведём общий обзор этапов развития технологий АСУТП, раскрывающий детали этой аналогии. Централизация вычислительной среды растущих систем Чтобы избавиться от сложных соединений на цеховой площадке, стали применять блочные пневматические приборы для щитового (panel-based) монтажа. В этом случае систему управления делили на блоки, содержащие однотипные функциональные модули (например регуляторы, регистраторы, сигнализаторы и т.п.). Большая часть этих блоков устанавливалась в диспетчерских, а воспринимающие и исполняющие устройства оставались размещённым на объекте и подключались к радиальной системе пневмопроводов. Так после долгого периода управления технологическим процессом «на месте» (field-based) в результате нескольких быстрых изменений появились централизованные диспетчерские с щитовым управлением. Блочная компоновка с централизованным размещением вычислителей упрощала проектирование, монтаж и эксплуатацию крупных пневмосистем со сложной структурой сигнальных связей. Позднее этот принцип был перенесён в крейтовые микропроцессорные системы (со сбором и обработкой на базе унифицированных многоканальных модулей сопряжения). Хотя такая централизация «вычислительной среды» в диспетчерской и помогла добиться упрощения пневмосети, проблема задержки сигналов, связанная с большой протяженностью пневмопроводов, осталась. Вследствие этого пневмоавтоматика была распространена в основном на достаточно инерционных объектах с постоянными времени не менее 10 – 30 с и максимальной длиной пневмокоммуникаций не более 300 м. Кроме этого недостатка, на пневмоавтоматике было сложно построить высокоточную «вычислительную среду», некоторые элементы (например, мембраны) имели малый срок службы и быстро изменяли свои характеристики, механические элементы были неустойчивы к вибрации, а вся система имела высокую энергоёмкость. С появлением полупроводниковых устройств на смену пневматическим приборам и пневмопроводам пришли специализированные электронные контрольно-измерительные приборы (КИП) и электрокабельные трассы. Проблема скорости реакции была решена. Во всём остальном это был перенос старых подходов на новую элементную базу. В 70-х – 80-х годах с появлением процессоров панели специализированных КИП начали уступать дорогу универсальным программируемым микропроцессорным системам, или, в современной терминологии, программируемым логическим контроллерам (ПЛК, PLC – Programmable Logic Controller). Важно заметить, что в этот момент появилось новое распределение труда, предполагающее услуги программиста. Но поскольку реализация концепции технологического программирования была ещё впереди, то производственники («КИПовцы») весьма осторожно подходили к применению программируемых устройств, так как упоминание о программировании ассоциировалось с вторжением в их вотчину программистов, что грозило потерей контроля над системой, управление которой на уровне цеховой площадки всегда требовало «КИПовского» практического опыта автоматизации. Принципиальное решение проблемы разделения труда появилось в 80-х годах, когда разработчики (ставшего самым популярным впоследствии) отечественного контроллера Ремиконт [20] посадили высококвалифицированных программистов за написание программ, превративших Ремиконт в виртуальную машину, способную исполнять функциональные блок-схемы, разработанные в эпоху пневмоавтоматики. КИПовцы (уже без участия программиста) могли использовать (переносить) весь свой опыт без посредника, соединяя в привычные (но уже виртуальные) блок-схемы алгоблоки 12 библиотеки Ремиконт, в точности повторявшие стандартные устройства пневмоавтоматики. Такое решение стало индустриальным стандартом технологического программирования, позволившим решить проблему разделения труда в пользу полной автономности производственников в контроле над технологическим процессом. Вместе с тем, возможность применения готовых решений и привычного языка их описания позволило существенно сократить затраты при переходе от пневмоавтоматики на ПЛК. Всё это привело к распространению контроллеров Ремиконт в индустриальных масштабах. Итак, переход на ПЛК был новой технологией, реализующей старые подходы на более эффективной «элементной базе». Устройства с электрическим интерфейсом могли применяться одновременно с пневматическими в комбинированных системах в качестве оконечных элементов или управляющих вычислительных комплексов. Роль «моста» выполняли преобразователи давления в ток 4 – 20 мА (и наоборот). В 1961 году интерфейс 4 – 20 мА на напряжение 15 В был принят в качестве стандарта для соединения устройств цеховой автоматики. Интерфейс обеспечивал высокую помехозащищённость, позволявшую применять его на больших расстояниях, предусматривал возможность питания устройств от информационного провода (15 В), мог использоваться в пожаро- и взрывоопасных производствах и позволял отличать заведомо недостоверное значение сигнала (в случае КЗ и обрыва). Это способствовало его повсеместному распространению по мере перехода от пневмоавтоматики к электронным системам. Типовая структура системы с сигнальным сопряжением на базе интерфейса 4 – 20 мА и размещённых в операторских пультах традиционных ПЛК, представлена на рис. 2-2. Для преобразования в помехоустойчивый сигнал 4 – 20 мА электрических сигналов других стандартов (например, сигналы низкого уровня термопар) использовались электронные нормализаторы. Обычно эти устройства кроме функции преобразования осуществляли линеаризацию характеристики датчика и компенсацию смещения (для термопар – поправку на температуру холодного спая). Номенклатура таких нормализаторов у контроллеров Ремиконт насчитывает около 10 наименований блоков. Обычно блоки были рассчитаны на 1 – 2 канала и ориентированы на размещение «по-месту». От возможности размещения нормализаторов непосредственно вблизи первичных устройств КИП зависела надёжность передачи сигналов. При отсутствии такой возможности по кабельным трассам передавали «сырой» сигнал (предпринимая всевозможные меры к его защите), а вместо малоканальных нормализаторов использовали многоканальные модули УСО, спроектированные для ввода сигналов данного типа. Типовая конфигурация ПЛК, входившего в представленную систему была следующей: крейтовое исполнение, ориентированное на модульную компоновку и обработку большого числа каналов ввода-вывода; один модуль центрального процессора (ЦП), который несёт всю вычислительную нагрузку в системе и осуществляет управление периферийными модулями, подключёнными к параллельной шине (мастером которой он является) 13 Вычислительная сеть Алгоритм ПЛК Ввод-вывод Граница «видимости» Искрозащита Одна переме нная – одно направл ение 4 -20 мА 4 1 3 2 1. Расходомер 3. Привод вентиля 2. Датчик положения штока 4. Датчик уровня Рис.2-2. Традиционная централизованная система 4 – 20 мА периферийные модули – (в основном) модули УСО; каждый модуль рассчитан на ввод (вывод) сравнительно большого числа сигналов одного из существующих стандартов (ток, напряжения низкого уровня термопар, сигналы термометров-сопротивлений, «сухой контакт» и др.); модули УСО обычно не являются интеллектуальными, содержат такие элементы как АЦП, ЦАП, мультиплексоры, усилители, порты дискретного ввода-вывода и др., возлагая управление всем этим на ЦП через регистры, отображённые в его адресное пространство. Такие контроллеры обычно монтировались в шкафы автоматики в машинных залах диспетчерских, куда стягивались сотни – тысячи сигнальных кабелей. Системы на базе крейтовых ПЛК полностью воспроизводили структуру блочно-щитовой пневмоавтоматики, упрощая процесс модернизации существовавших систем. При этом высокая стоимость микроэлектронной элементной базы таких ПЛК на ранних этапах их внедрения (а также стоимость других общесистемных элементов) относилась к внушительному числу обрабатываемых каналов, что в итоге обеспечивало экономическую привлекательность таких решений по объёму капиталовложений на 1 условный канал. Экономия капитальных затрат в случае модернизации системы с «наследованием» готовых кабельных трасс была весьма значительной. Однако всепроникающее распространение сетевых технологий на фоне устойчивого снижения цены на изделия из «кремния» и повышения цены на «медь» создало предпосылки очередного периода бурных изменений в технологиях автоматизации. 14 6. Этапы развития; первые распределенные системы Появление простейших пневматических средств управления технологическими процессами, заменивших ручные, было первым качественным скачком в технологиях автоматизации. Использование сжатого воздуха вполне подходило для пожаро- и взрывоопасных сред и обеспечивало высокую стойкость в агрессивных средах и в условиях сильных электромагнитных воздействий. Развивающиеся математические теории уже обеспечивали достаточно эффективные стратегии автоматического регулирования. Но их применение требовало построения адекватной «вычислительной среды». 1. 2. 3. 4. Ручные Пневматические Электрические Электронные 5. 6. 7. 8. Универсальные машины (процессоры) Программируемые контроллеры Промышленные шины Корпоративные сети + web-технологии ОБЪЕМ СРЕДСТВ УПРАВЛЕНИЯ 1 2 УПРАВЛЕНИЕ НА МЕСТАХ 40-е годы XX века 3 4 5 6 ЦЕНТРАЛИЗОВАННОЕ УПРАВЛЕНИЕ 7 8 УПРАВЛЕНИЕ НА МЕСТАХ 2000 г. ВР Е МЯ Рис. 2-1. Технологии автоматизации и теория прерывистого равновесия Так как именно пневматическое оборудование более всего подходило для применения в опасных средах, была создана элементная база (мембрана, сильфон, сопло-заслонка, и др.), на основе которой компоновались целые семейства пневматических функциональных блоков, ориентированных на построение необходимой «вычислительной среды» для различных задач управления на цеховой площадке. Начался длительный период стабильности, который способствовал накоплению богатейшего опыта решения задач автоматического управления на основе математических методов и стандартизированной системы функциональных блоков преобразования сигналов. Отметим, что, несмотря на многие ограничения, свойственные пневмоавтоматике, она и в настоящее время применяется в некоторых технологиях химической промышленности. Несколько забегая вперёд, заметим, что многие более поздние технологии автоматизации (от Ремиконта 80-х годов [20] до ультрасовременного Foundation Fieldbus) во многом являлись переложением тех старых методов на новую «элементную базу». В современных терминах мы определили бы это как портирование виртуальной машины функциональных блок-схем на микропроцессорную платформу (в случае Ремиконта) или на масштабируемую сетевую архитектуру интеллектуальных устройств (в случае Fieldbus Foundation). Причём, последняя, как будет показано далее, во многом реализует новую «вычислительную среду», адекватную требованиям высокой готовности для реализации хорошо отработанных старых решений, так и для перспективных новых стратегий управления при решении мало изменившихся (как и сами технологические процессы) со времён пневмоавтоматики задач автоматизации цеховой площадки. Устройства пневмоавтоматики соединялись пневмопроводами и размещались там, где в них была необходимость исходя из соображений минимизации расстояния передачи сигнала. Типовая рассредоточенная по производственной площади пневмосистема вполне напоминала то, что сегодня мы называем полевой (field-центрической, field centric) архитектурой. В соответствии с требованиями технологического процесса в отношении наблюдаемого параметра Y, система относилась к одному из 3-х типовых вариантов: система стабилизации (стабилизация Y на заданном значении); система программного регулирования (изменение Y по заранее заданной программе); 15 система слежения (стабилизация отношения Y к другой, изменяющейся во времени, координате процесса). Системы стабилизации широко применялись в непрерывных стационарных процессах; системы программного регулирования – при автоматизации периодических процессов с операциями пуска и останова. Следящие системы применялись для регулирования соотношения двух реагентов на входе реактора, расходов топлива и воздуха в процессах горения, расходов пара и воды в вакуум-сушильных установках, при управлении конвейерами в процессах смешения сыпучих сред и т.п. Кроме описанных систем регулирования применялись также системы логического управления (для дискретного процесса) и системы аварийной защиты, обеспечивающие безопасность объекта при выходе наблюдаемых координат процесса за допустимые пределы или при отказах оборудования. Алгоритм базировался на сравнении контролируемого параметра с уставкой и выводом результата на устройство сигнализации и/или исполнительный механизм (с целью отключения). Как уже отмечалось, первоначально все эти устройства пневмоавтоматики устанавливались непосредственно на производственном участке, представляя настоящую field-центрическую систему. Однако (даже в одноконтурной САР) система пневмопроводов часто обретала достаточно сложную конфигурацию, и, кроме того, из-за своей длины приводила к неприемлемым задержкам реакции САР. 16 7. Структура вычислительного блока СМ1820М Вычислительный блок предназначен для приема, хранения обработки информации, передачи ее по сети Fast Ethernet и выдачи на видеомонитор или печать по требованию оператора. Этот блок имеет магистрально-модульную структуру. В его состав входят (рис. 2.2): • модуль процессора на базе процессора Pentium ММХ, работающего на частоте до 450 МГц; • модуль видеоконтроллера SVGA с видеопамятью емкостью 2 Мбайта, обеспечивающий интерфейс видеомонитора SVGA; • модуль локальной сети, обеспечивающий связь комплекса с сетевыми интерфейсами через концентратор локальной сети; • модуль последовательных интерфейсов RS-485; • накопитель на гибком магнитном диске НГМД емкостью 1,44 Мбайта; • накопитель на жестком магнитном диске НЖМД емкостью 2 Гбайта совместно с модулем контроллера EIDE для подключения четырех накопителей; • блоки питания - 2 шт. (резервированы); • плата объединительная интерфейсная cPCI. 8. COTS-решения Технология (Надо искать!!!) 17 9. Основные элементы типовой АСУ ТП Существует единая общепринятая модель организации (рис. 3-1). Специфика каждой конкретной системы управления определяется используемой на каждом уровне программно-аппаратной платформой. Нижний уровень – уровень ввода-вывода включает датчики для сбора информации о ходе технологического процесса и исполнительные механизмы для реализации регулирующих и управляющих воздействий. Датчики поставляют информацию программируемым логическим контроллерам. Следующий уровень – уровень непосредственного управления технологическим процессом с помощью ПЛК. Верхний уровень – диспетчерское управление; диспетчерский пункт (ДП) – включает одну или несколько станций управления, представляющих собой автоматизированное рабочее место диспетчера/оператора. Здесь может быть размещен сервер базы данных, рабочие места (компьютеры) для специалистов и т.д. В качестве рабочих станций в большинстве случаев используются ПЭВМ типа IBM PC различных конфигураций. Станции управления предназначены для отображения хода технологического процесса и оперативного управления. Основные функции и элементы этой 3-уровневой модели приведены в табл. 1. Таблица 1. Функции и элементы АСУТП предприятия Уровень ACУТП Функция Оборудование, ПО 3 Диспетчерское (SCADA Level) управление Диспетчерская система Инженерные и сбора и оперативного операторские станции, управления технологическим SCADA-системы процессом 2 Непосредственное управление Сбор данных и Контроллеры, (Control Level) алгоритмы CASE-системы непосредственного управления 1 Ввод/вывод (Input/Output Level) Ввод-вывод Датчики, информации исполнительные устройства, оборудование сопряжения Современный уровень технологии построения АСУТП связан с широким распространением и развитием на всех её уровнях коммерческих индустриальных технологий, обеспечивших в совокупности возможность разработки, развёртывания, обслуживания и развития АСУТП силами собственного персонала предприятий, без привлечения специалистов в области IT. В основе этих технологий – следующие условия, достигнутые благодаря ориентации большинства производителей компонентов АСУТП на открытые технологии: повсеместная и долговременная доступность массы компонентов АСУТП, как аппаратных (УСО, ПЛК, целевых устройств, компонентов для встраиваемых применений), так и программных (десятки известных инструментальных (CASE- и SCADA-систем); бесшовность стыковки приложений автоматизации в узлах сети, независимо от применяемых контроллерных платформ и коммуникаций; полная независимость сред разработки (CASE-систем) от целевых контроллерных платформ, основанная на эмуляции однородной масштабируемой архитектуры в сети устройств за счёт встраивания во все платформы единой виртуальной машины; поддержка большинством сред разработки платформонезависимого представления решения типовых задач цеховой автоматики в виде функциональных блок-схем, являющихся, судя по всему, наиболее адекватной формой представления опыта построения алгоритмов автоматизации (что подтверждается несколькими сменами технологий автоматизации за более чем полвека). Итак, наиболее значительными элементами индустриальных технологий автоматизации в настоящее время являются серийно выпускаемые промышленные контроллеры, в большинстве своём совместимые с персональными компьютерами (технологии softPLC и softlogic), мощные программные комплексы поддержки программирования и функционирования АСУТП – CASE-системы и SCADAсистемы, а также промышленные сетевые технологии. 18 10. Функциональные блоки модуля процессора СМ1820М Модуль процессора ZT6500. Это основная часть вычислительного блока. Модуль процессора осуществляет обработку данных, управление вычислительным процессом и вводом-выводом. Его центральным элементом является микропроцессор семейства Pentium.]. Функциональные блоки модуля процессора представлены на рис. 2.3: • интерфейс CompactPCI; • микропроцессоры семейства Pentium (до 450 МГц); • кэш-память 16 Кбайт; • динамическое ОЗУ 48 Мбайт; • Flash-память 4 Мбайта — электрически перезаписываемое ПЗУ (ЕРRОМ) с файловой организацией (не содержащий движущихся механических узлов быстродействующий интегральный диск); 128 Кбайт используется для хранения базовой системы ввода-вывода (BIOS), остальная часть для хранения операционной системы; • сторожевой таймер, следящий за активностью процессора и предотвращающий зависание программы; если строб не подается на таймер в течение установленного временного периода (500 мс), формируется сигнал сброса; • три 8-битных порта ввода-вывода для 24 линий ввода-вывода; каждая линия программируется на вход или выход; скорость передачи — до 1 Мбит/с; • два последовательных порта RS-232; • параллельный порт принтера IEEE 1284; • два контроллера прерываний типа 8259 для обработки сигналов прерываний со следующими возможностями: 15 входов в систему прерывания, фиксированный и циклический арбитраж приоритетов, маскирование входа; источниками прерываний являются: таймер, последовательный порт ввода-вывода, часы р-ального времени, клавиатура, принтер, гибкий диск, ЕIDE-контроллер жестких дисков, три 8-битных порта ввода-вывода, интерфейс cPCI; • три таймера типа 8254 для синхронизации работы модуля: формирования одиночных импульсов, отсчета программируемых интервалов времени, используемых для выдачи прерываний, деления входной частоты и т.д.; • энергонезависимые часы реального времени для непрерывного отсчета астрономического времени (календарь на 100 лет), выполненные на КМОП ОЗУ емкостью 256 байт с батарейным питанием; часть ОЗУ используется для записи программы начальной установки системы setup; • контроллер гибкого диска, предназначенный для управления подключенными НГМД для 3,5дюймовыхдискетемкостью 1,44 Мбайта; • два контроллера прямого доступа к памяти (ПДП) для гибкого диска и принтера типа 8237; • контроллер клавиатуры. 19 (альтернативный вариант) Модуль процессора предназначен для использования в качестве вычислителя. Вычислительное ядро модуля составляют: • микропроцессор 180386 ЕХ25(33) МГц; • ОЗУ 512 Кбайт - 2 Мбайт; • ПЗУ (FLASН-память) 1 — 4 Мбайт. Микропроцессор помимо блока вычислений объединяет в себе также таймер типа 8254А, контроллер прерываний типа 8259А, последовательные каналы, сторожевой таймер, контроллер прямого доступа к памяти, периферийные порты, логику управления энергопотреблением. ОЗУ выполнено на микросхемах статической памяти SRАМ (Static RАМ) емкостью 128 К х 8 бит (или 512 К х 8 бит). В качестве ПЗУ используется микросхема энергонезависимой FLASН-памяти емкостью 1(2) Мбайт. Часть емкости микросхемы используется для хранения базовой системы МS-DOS и прикладных программ. Предусмотрена возможность установки модуля FLASН-памяти Disc on chip фирмы МSystems емкостью от 8 до 140 Мбайт. 20 Модуль имеет также следующие компоненты: • энергонезависимые часы реального времени, которые питаются от источника питания микропроцессора (когда он включен) или от литиевой батареи напряжением 3 В; • 24-разрядную периферийную шину (три 8-битных порта ввода-вывода), предназначенную для подключения принтера, алфавитно-цифрового жидкокристаллического (ЖК) дисплея типа РС1604 фирмы Power-tip, имеющего 4 строки по 16 символов, 45-клавишной клавиатуры FТ90045D фирмы ВОРLА или использования для дискретного ввода-вывода с формированием прерываний по различным условиям; • четыре асинхронных последовательных канала передачи данных для связи с терминалом или ЭВМ: СОМ1 и СОМ2 — RS-232С (аппаратная реализация эквивалентна микросхеме 16С450), СОМЗ и СОМ4 - RS-485 (используют UARТ16С550) с оптоизоляцией 500 В и скоростью обмена данными до 920 Кбит/с; • синхронный последовательный канал SSIO , используемый в режиме резервирования для обмена данными между процессорами со скоростью до 5 Мбит/с; • 48 каналов дискретного ввода-вывода (ТТL-уровни), к которым могут подключаться модули дискретного и аналогового ввода-вывода УСО; каналы выполнены на базе двух микросхем 82С55А, каждая микросхема имеет три порта по 8 параллельных линий ввода-вывода, каждый порт имеет отдельный адрес и может быть сконфигурирован на вход и на выход; • 8-разрядную системную шину ISА, блок управления обеспечивает формирование управляющих сигналов в соответствии со спецификацией 18А; • контроллер сети Ethernet (в зависимости от варианта исполнения модуля), построен на базе микросхемы СS8900 фирмы Cristal Seminconductors, поддерживает скорость передачи данных 10 Мбит/с. На модуле установлен разъем расширения системной шины, соответствующий спецификации РС/104, который позволяет устанавливать модули расширения непосредственно на плату процессора. Системное программное обеспечение включает в себя: • базовую систему ввода-вывода (BIOS) с встроенным отладочным монитором; • операционную систему РТS DОS6.65 (Мs DОS) и ядро реального времени RТК. В монтажный каркас могут быть установлены два модуля процессора. Один модуль активен (режим Маstеr), а другой отключен от системной шины и находится в режиме горячего резерва (режим Slave). При срабатывании сторожевого таймера управление передается резервному процессору. Питание модуля осуществляется от источника питания напряжением +5 В, максимальный потребляемый ток — 1 А. 11. Требования к конструкции СМ1820М Конструкция комплексов семейства СМ1820М представляет собой набор различных конструктивных компонентов в стандарте «Евромеханика». Основной конструктивный компонент (конструктивный модуль) — блок элементов — представляет собой многослойную печатную плату (рис. 2.6) размером 311 (100x160 мм2) или 611 (233x160 мм ) с размещенными на ней электрорадиоэлементами и вилками системного разъема (МЭК 1074-4-101). Лицевая планка платы содержит экстракторы для установки и фиксации блоков элементов, разъемы ввода-вывода и индикаторы. Функциональные электронные модули семейства СМ1820М выполнены, как правило, в виде одного блока элементов. Модули УСО являются кроссовыми модулями, на них установлены колодки фирмы Wago с пружинными контактами для подсоединения внешних цепей связи с объектом. Такое подключение выполняется кабелем с проводами сечением до 1,5 мм2. Блоки элементов и блоки питания устанавливаются в каркас (шасси). Блоки элементов размешаются вертикально и вставляются в гнезда системных разъемов, расположенных на объединительной плате. Объединительная плата, обеспечивающая взаимодействие модулей по интерфейсу сРСI, рассчитана на восемь посадочных мест (слотов) (рис. 2.7). Модуль процессора, отвечающий за инициализацию и синхронизацию системы, помещается в системный слот, другие модули помещаются в периферийные слоты. Шасси устанавливаются на соответствующие конструк-ции в шкафу или столетумбе. Шкаф и стол-тумба являются несущими конструкциями. Они предназначены для конструктивного и электрического объединения и механической защиты блоков элементов. Большинство комплексов 21 выполнено в виде законченного рабочего места оператора, которое состоит из одного или двух столовтумб. Один стол-тумба служит для размещения видеомонитора, клавиатуры и манипулятора «мышь», располагаемых на столешнице, и вычислительного блока, устанавливаемого внутри тумбы, а другой предназначен для печатающего устройства. В столешницах предусмотрены отверстия для прохождения кабелей. Другой конструктивный вариант комплекса выполнен в виде пылебрызгозащитного напольного шкафа. Конструкция шкафа имеет средства крепления к перекрытиям здания и амортизации для достижения сейсмостойкости. Шкаф обеспечивает возможность подвода кабелей электропитания и сигнальных кабелей снизу, из-под фальшпола, или по кабельному каналу. Двери шкафа и столов-тумб снабжены резиновыми уплотнителями для защиты от пыли. Габаритные размеры комплексов представлены на рис. 2.8, они определяются размерами периферийного оборудования и эргономическими требованиями. Комплексы СМ1820М в пылезащитном и сейсмостойком исполнении могут работать в тяжелых промышленных условиях. Общий вид конструктивного исполнения в виде напольного шкафа представлен на рис. 2.9. Проектирование управляющих вычислительных комплексов на основе магистрально-модульных структур представляет собой многоаспектную проблему, в решении которой используются методы оптимизации, имитационного и функционального моделирования и т.п. Рассматриваемый в этой книге обширный спектр средств СМ ЭВМ поддержан методикой создания комплексов аппаратных, программных и сетевых средств для реализации требований заказчиков. 22 23 12. ПО СМ1820М Комплексы СМ1820М программно совместимы с ПЭВМ типа IВМ РС. В состав ПО входит системное и тестовое программное обеспечение. Системное программное обеспечение включает базовую систему ввода-вывода BIOS и операционную систему, записанные в FLASН-памяти, а также драйверы системных модулей, входящих в состав комплекса. Первоначально в FLAFН-памяти инсталлируется операционная система МS-DОS; ВIOS обеспечивает возможность установки операционных систем МS-DOS, Windows, Windows NT, QNX, Linux и VxWorks с их сетевыми и графическими расширениями. Предусмотрена установка разработанной в ИНЭУМ операционной системы USIX (см. разд. 4.3, я бы не советовал туда смотреть8) ). В качестве базового общесистемного программного обеспечения используется сетевая многозадачная UNIX-подобная операционная система «жесткого» реального времени QNX. Инсталляция QNX на жестком магнитном диске происходит стандартным образом. Во время инсталляции QNX автоматически определяются и автоконфигурируются системные контроллеры SVGA, EIDE, Ethernet; конфигурированные параметры запоминаются. При этом автоматически происходит присоединение драйверов к загрузочной версии QNX . Драйверы системных контроллеров находятся на гибком магнитном диске. Базовая система ввода-вывода (BIOS) обеспечивает функции для процессоров Реntium: • поддержку режима автоконфигурирования плат Рlug and Р1ау; • изменение конфигурации через программу настройки Setup; • поддержку интерфейса стандарта EIDE), или Fast АТА, для накопителей с файловой организацией памяти; • управление энергоснабжением (Energy star); • возможность загрузки через гибкие и жесткие магнитные диски ИТ.Д. Кроме того, BIOS поддерживает некоторые специфические функции, например загрузку из локальной FLASH-памяти или работу без клавиатуры. Тестовое программное обеспечение содержит: • начальные тесты процессора, памяти и периферийных устройств комплекса, запускаемые BIOS после включения питания; • диагностические тесты специальных модулей ввода-вывода 24 13. Современная концепция АСУП; уровни интегрированной системы ТРЕБОВАНИЯ К СОВРЕМЕННЫМ СИСТЕМАМ УПРАВЛЕНИЯ ПРОИЗВОДСТВОМ: В современном промышленном производстве все большее значение приобретает возможность оперативного доступа к достоверной и точной информации из любой точки управления производством, поскольку это определяющим образом влияет на эффективность работы предприятия, включая производительность труда, качество и конкурентоспособность выпускаемой продукции. Эта проблема решается созданием интегрированной многоуровневой распределенной АСУ Рассмотрим современную концепцию АСУ производством родробнее. Интегрированная система автоматизации предприятия может быть представлена в виде 5уровневой пирамиды . Нижний, нулевой уровень системы включает набор датчиков и исполнительных устройств, встраиваемых в конструктивные узлы технологического оборудования и предназначенные для сбора первичной информации и реализации исполнительных воздействий. Этот уровень называется уровнем ввода-вывода. Следующий, первый уровень служит для непосредственного автоматического управления технологическими процессами с помощью различных УСО и ПК. Этот уровень получил наименование control (непосредственное управление). Второй уровень, названный SСАDА (сбор данных и диспетчерское управление), нредназначен для отображения (или визуализации) данных в производственном процессе и оперативного комплексного управления различными агрегатами, в том числе и с участием диспетчерского персонала. Третий уровень МЕS(Manufacturing execution system) — средства управления производством — выполняет упорядоченную обработку информации о ходе изготовления продукции в различных цехах, обеспечивает управление качеством, а также является источником необходимой информации в реальном времени для верхнего уровня управления предприятием. И наконец, четвертый, верхний уровень управления определяется как МRР (Manufacturing resource planning ) и ЕRР (Enterprise resource planning) — планирование ресурсов предприятия. В России системы этого уровня больше известны под именем АСУП (автоматизированные системы управления предприятием). Они предназначены для автоматизации планирования производства и финансовой деятельности, снабжения и продаж, анализа и прогнозирования и т.д. Наиболее известные системы этого уровня предлагаются компаниями SАР, Огас1е, ВААN и др. 25 14. Основные особенности (ахитектура) ОСРВ Операционные системы реального времени (ОСРВ) предназначены для обеспечения интерфейса к ресурсам критических по времени систем реального времени. Основной задачей в таких системах является своевременность (timeliness) выполнения обработки данных. В качестве основного требования к ОСРВ выдвигается требование обеспечения предсказуемости или детерминированности поведения системы в наихудших внешних условиях, что резко отличается от требований к производительности и быстродействию универсальных ОС. Хорошая ОСРВ имеет предсказуемое поведение при всех сценариях системной загрузки (одновременные прерывания и выполнение потоков). Существует некое различие между системами реального времени и встроенными системами. От встроенной системы не всегда требуется, чтобы она имела предсказуемое поведение, и в таком случае она не является системой реального времени. Однако даже беглый взгляд на возможные встроенные системы позволяет утверждать, что большинство встроенных систем нуждается в предсказуемом поведении, по крайней мере, для некоторой функциональности, и таким образом, эти системы можно отнести к системам реального времени. Принято различать системы мягкого (soft) и жесткого (hard) реального времени. В системах жесткого реального времени неспособность обеспечить реакцию на какие-либо события в заданное время ведет к отказам и невозможности выполнения поставленной задачи. В большинстве русскоязычной литературы такие системы называют системами с детерминированным временем. При практическом применении время реакции должно быть минимальным. Системами мягкого реального времени называются системы, не попадающие под определение "жесткие", т.к. в литературе четкого определения для них пока нет. Системы мягкого реального времени могут не успевать решать задачу, но это не приводит к отказу системы в целом. В системах реального времени необходимо введение некоторого директивного срока (в англоязычной литературе – deadline), до истечения которого задача должна обязательно (для систем мягкого реального времени – желательно) выполниться. Этот директивный срок используется планировщиком задач как для назначения приоритета задачи при ее запуске, так и при выборе задачи на выполнение. Мартин Тиммерман сформулировал следующие необходимые требования для ОСРВ [DEDSYS]: ОС должна быть многозадачной и допускающей вытеснение (preemptable), ОС должна обладать понятием приоритета для потоков, ОС должна поддерживать предсказуемые механизмы синхронизации, ОС должна обеспечивать механизм наследования приоритетов, поведение ОС должно быть известным и предсказуемым (задержки обработки прерываний, задержки переключения задач, задержки драйверов и т.д.); это значит, что во всех сценариях рабочей нагрузки системы должно быть определено максимальное время отклика. В течение последних 25-30 лет структура операционных систем эволюционировала от монолитной к многослойной структуре ОС и далее к архитектуре клиент-сервер. При монолитной структуре ОС состоит из набора модулей, и изменения одного модуля влияют на другие модули. Чем больше модулей, тем больше хаоса при эксплуатации такой системы. Кроме того, невозможно распределить ОС в многопроцессорной системе. В многослойной структуре изменения одного слоя влияют на соседние слои; кроме того, обращение через слой невозможно. Для систем реального времени должно быть обеспечено прямое обращение к каждому слою ОС, а иногда напрямую к аппаратуре. Основной идеей клиент-серверной технологии в ОС является сведение базиса ОС к минимуму (планировщик и примитивы синхронизации). Вся остальная функциональность выносится на другой уровень и реализуется через потоки или задачи. Совокупность таких серверных задач отвечает за системные вызовы. Приложения являются клиентами, которые запрашивают сервисы через системные вызовы. Клиент-серверная технология позволяет создавать масштабируемые ОС и упрощает распределение в многопроцессорной системе. При эксплуатации системы замена одного модуля не вызывает эффекта “снежного кома”; кроме того, сбой модуля не всегда влечет за собой отказ системы в целом. Появилась возможность динамической загрузки и отгрузки модулей. Главной проблемой в этой модели является защита памяти, поскольку серверные процессы должны быть защищены. При каждом запросе сервиса система должна переключаться с контекста приложения на контекст сервера. При поддержке защиты памяти время переключения с одного процесса на другой увеличивается. Как правило, большинство современных ОСРВ построено на основе микроядра (kernel или nucleus), которое обеспечивает планирование и диспетчеризацию задач, а также осуществляет их 26 взаимодействие. Несмотря на сведение к минимуму в ядре абстракций ОС, микроядро все же должно иметь представление об абстракции процесса. Все остальные концептуальные абстракции операционных систем вынесены за пределы ядра, вызываются по запросу и выполняются как приложения. 15. Архитектуры ОСРВ За свою историю архитектура операционных систем претерпела значительное развитие. Один из первых принципов построения, т.н. монолитные ОС (рисунок 1), заключался в представлении ОС как набора модулей, взаимодействующих между собой различным образом внутри ядра системы и предоставляющих прикладным программам входные интерфейсы для обращений к аппаратуре. Главным недостатком такой архитектуры является плохая предсказуемость ее поведения, вызванная сложным взаимодействием модулей системы между собой. Рисунок 1. Архитектура монолитной ОС Однако большинство современных ОС, как реального времени, так и общего назначения, строятся именно по этому принципу. В задачах автоматизации широкое распространение в качестве ОСРВ получили уровневые ОС (рисунок 2). Примером такой ОС является хорошо известная система MS-DOS. В системах этого класса прикладные приложения могли получить доступ к аппаратуре не только посредством ядра системы или ее резидентных сервисов, но и непосредственно. По такому принципу строились ОСРВ в течение многих лет. По сравнению с монолитными ОС такая архитектура обеспечивает значительно большую степень предсказуемости реакций системы, а также позволяет осуществлять быстрый доступ прикладных приложений к аппаратуре. Недостатком таких систем является отсутствие в них многозадачности. В рамках такой архитектуры проблема обработки асинхронных событий сводилась к буферизации сообщений, а затем последовательному опросу буферов и обработке. При этом соблюдение критических сроков обслуживания обеспечивалось высоким быстродействием вычислительного комплекса по сравнению со скоростью протекания внешних процессов. 27 Одной из наиболее эффективных архитектур для построения операционных систем реального времени считается архитектура клиент – сервер. Общая схема ОС работающей по этой технологии представлена на рисунке 3. Основным принципом такой архитектуры является вынесение сервисов ОС в виде серверов на уровень пользователя, а микроядро выполняет функции диспетчера сообщений между клиентскими пользовательскими программами и серверами – системными сервисами. Такая архитектура дает массу плюсов с точки зрения требований к ОСРВ и встраиваемым системам. Среди этих преимуществ можно отметить: 1. Повышается надежность ОС, т.к. каждый сервис является, по сути, самостоятельным приложением и его легче отладить и отследить ошибки. 2. Такая система лучше масштабируется, поскольку ненужные сервисы могут быть исключены из системы без ущерба к ее работоспособности. 3. Повышается отказоустойчивость системы, т.к. «зависший» сервис может быть перезапущен без перезагрузки системы. К сожалению на сегодняшний день не так много ОС реализуется по принципу клиент-сервер. Среди известных ОСРВ реализующих архитектуру микроядра можно отметить OS9 и QNX. 28 16. Концепция построения ОС РВ USIX Операционная система USIX является лицензионно чистой операционной системой, разработанной коллективом Института электронных управляющих машин. Это обеспечивает технологическую независимость в использовании системы и гарантирует сопровождение на всем жизненном цикле ее существования. При этом достигаются такие преимущества относительно соответствия принципам и стандартам открытых систем, как расширяемость и масштабируемость. Расширяемость системы связана с более длительным сроком жизни программного обеспечения УВК (около 10 лет) по сравнению с аппаратным обеспечением (1 - 3 года) и отсюда - с необходимостью постоянного расширения функциональных возможностей системы. Масштабируемость в данном случае рассматривается как развитие расширяемости: возможности генерации и конфигурации системы под различные технические требования (от встраиваемых применений до использования в качестве серверов); возможности настройки и адаптации системы, в наилучшей степени удовлетворяющей и соответствующей особенностям как аппаратной платформы, так и прикладной области. В настоящее время ОС USIX реализована на однопроцессорых и многопроцессорных SМР-системах с архитектурой lntel. К основным отличительным особенностям ОС USIX относятся : полностью прерываемое ядро; поддержка многопроцессорности; устойчивая файловая система; ядро небольшого размера; динамически загружаемые драйверы внешних устройств; динамически выделяемые буферы для ввода-вывода и выгрузки процессов; реализация процессов-серверов с возможностью динамического погружения в адресное пространство ядра; средства обеспечения безопасности уровня В3; развитые средства поддержки реального времени; открытость и переносимость. Рассмотрим принципы построения USIX. В операционной системе USIX основными понятиями являются: Процесс - единица потребления ресурсов. Порт - точка поступления сообщений и их идентификации. Объект памяти - связанное множество страниц оперативной или внешней памяти, объединенных общими характеристиками. Сервер - вспомогательный процесс, реализующий одну из функций операционной системы (например, файловый сервер). Семафор - двоичный семафор, обеспечивающий синхронизацию доступа к общим ресурсам. Спинлок - точка синхронизации многопроцессорного доступа к ресурсу. Если ресурс занят, процессор, как правило, ожидает его освобождения. Регион - физические страницы объекта памяти, которые могут находиться на диске, в оперативной памяти или в специально резервируемой на диске области выгрузки. Сегмент - виртуальное окно в адресном пространстве процесса, отображающее какой-либо регион. 29 Рис.1. Структура ядра современных ОС UNIX Рис.2. Структура USIX На рис.1 представлена структура ядра современных ОС UNIX, а на рис. 2 - структура USIX, базирующаяся на концепции микроядра. Из сравнения этих структур видно, что ядро USIX выполняет только самые необходимые функции: управление памятью; планирование и взаимодействие процессов; обработку системных вызовов; службу времени. Драйверы, файловая система и другие функции системы реализованы в виде специальных процессов-серверов. Ядро USIX поддерживает два интерфейса: 1. Пользовательский интерфейс (POSIX/SVID - System V Interface Definition), реализованный на уровне стандартных системных функций, соответствующих стандартам SVID и POSIX. 2. Внутренний интерфейс для взаимодействия ядра с системными процессами, осуществляемый с помощью специальных системных вызовов (usixcalls) (прежде всего используется драйверами и серверами) и, дополнительно, с помощью механизма управления сообшениями и объектами памяти. Сообщения являются средством обмена данными между системными компонентами ядра, а также средством синхронизации такого обмена. Сообщения также обеспечивают коммуникации между пользовательскими задачами и пользователя с ядром. Сообщения могут приниматься только из портов и посылаться в порты. 30 Для управления общими структурами данных используется системная структура - объект памяти, который содержит информацию о физических характеристиках (физический адрес и размер объекта); об отображении и защите объекта памяти; об идентификации объекта памяти; о синхронизации доступа, а также спецификацию о создании и удалении объекта памяти. Адресное пространство процесса включает совокупность объектов памяти, к которым программа может иметь доступ. Ядро USIX поддерживает следующие типы объектов памяти: текст программы; инициализированные данные; неинициализированные данные; модифицированные данные; стек; буфер FIFO (First In, First Out); буфер сообщений (РС (lnterProcess Communication); открытый файл; разделяемые данные; разделяемые библиотеки и т.д. Идентификация объектов памяти поддерживается через cтруктурущ «регион» (region). Регион определяет место физического размещения объекта памяти: оперативная память, файл на на диске, область выгрузки. Когда создается объект памяти, структура region заполняется соответствующими данными. Каждый процесс имеет возможность отобразить необходимый объект памяти (полностью или частично) в свое адресное пространство, установив виртуальный адрес и смещение от начала региона. Такое отображение устанавливается с помощью описания сегмента памяти. При этом определяются также права процесса относительно объекта памяти. Описания сегментов памяти индивидуальны для каждого процесса и управляются ядром. Отображение объекта памяти может выполняться ядром или пользователем. Для синхронизации доступа к объекту памяти применяются различные механизмы синхронизации. Так, в случае работы с разделяемой памятью используется механизм семафоров, а для синхронизации доступа к общим внутренним структурам данных используется механизм спинлоков. Концепция объекта памяти имеет следующие преимущества: оперативная память используется как общий ресурс и назначается объектам памяти только на определенный период времени; сервер файловой системы не используется при операциях ввода-вывода. Его главное назначение управление дисковым пространством и его распределение для вновь создаваемых файлов; упрощается алгоритм работы драйвера диска, основной функцией которого остается обмен между оперативной памятью и диском. 31 17. Процессы и ядро USIX Единицей планируемой работы в USIX, как и в любой другой UNIX-системе, является процесс. Процесс связан с выполнением отдельной программы (последовательности инструкций) в адресном пространстве. Процесс можно сопоставить с виртуальной машиной, которая определяет адресное пространство и логические ресурсы, выделенные пользователю (процессу). Адресное пространство процесса, которое разделяется на страницы (как правило, 4 Кбайта), является виртуальным, и обычно только часть его связана с оперативной памятью. Ядро системы хранит содержимое адресного пространства в различных объектах памяти, включая оперативную память, файлы на диске и специально резервируемые на диске области выгрузки. Система управления памятью загружает страницы с диска в оперативную память по мере необходимости обращения к ним. Функционирование USIX обеспечивается следующими способами: пользовательский процесс запрашивает системный сервис через системные вызовы (system саН). Ядро выполняет эти запросы для вызывающих процессов; некоторые исключительные действия процесса (такие, как деление на нуль, переполнение стека пользователя) вызывают исключительные ситуации, которые управляются ядром от имени процесса; ядро управляет аппаратными прерываниями от внешних устройств. Прерывания являются механизмом оповещения ядра системы о завершении операции ввода-вывода и об изменении состояния. Ядро обрабатывает прерывания как глобальные события. В общем случае архитектура Intel 80х86 обеспечивает четыре уровня выполнения инструкций. Система USIX, как и большинство UNIХ-систем, использует только два из них: более привилегированный - режим ядра и менее привилегированный - режим пользователя. Пользовательские программы выполняются в режиме пользователя, а большинство системных функций - в режиме ядра. Каждый процесс имеет собственное виртуальное пространство, которое отображается на оперативную память с помощью таблицы страниц. Отдельная часть виртуального адресного пространства каждого процесса отображается на данные и текст (выполняемый код) ядра. Эта часть, известная как системное пространство, или пространство ядра, может быть доступна только в режиме ядра. Процессы пользователя не имеют непосредственного доступа к ядру, а для получения системного сервиса используют системные вызовы. Когда процесс осуществляет системный вызов, выполняется специальная последовательность инструкций, переводящая систему в режим ядра и передающая управление ядру. Ядро выполняет требуемую функцию от имени процесса и возвращает систему в режим пользователя, передавая управление обратно процессу. Каждый процесс определяется своим контекстом, включающим информацию, требуемую для планирования управления процессом при его выполнении. Контекст процесса включает следующие компоненты: адресное пространство процесса - выполняемый код, данные, стек пользователя, регионы разделяемой памяти и др.; управляющую информацию - приоритет и ресурсы процесса, стек ядра, отображение адресного пространства, идентификатор процесса; аппаратный контекст - содержание общих и специальных регистров процессора. Ядро функционально может выполняться или в контексте процесса, или в контексте системы. В контексте процесса ядро выполняется от имени текущего процесса (например, когда выполняется системный вызов). Оно может иметь доступ к адресному пространству, модифицировать его и системный стек этого процесса. Кроме того, ядро может блокировать текущий процесс, если он должен ждать освобождения ресурсов или активности внешнего устройства. В табл.1 отражено обобщение различий между режимами, адресными пространствами и контекстами процесса и системы. 32 Процессы имеют определенное время жизни, создаются системными вызовами типа fork и выполняются, пока не завершатся с Помощью системного вызова exit или по ошибке. За время своего существования процесс может выполнить одну или несколько программ. Для выполнения новой программы используется системный вызов ехit. Процессы имеют четко определенную иерархию. Каждый процесс имеет своего родителя и может содержать один порожденный процесс или несколько. Iпit-процесс - первый пользовательский процесс. Он создается при загрузке системы и является прародителем всех пользовательских процессов. Активные порожденные процессы при завершении своего процесса-родителя наследуются от iпit-процесса. Новые процессы создаются по системному вызову fork. При этом сформированные для него таблицы и стек подобны состоянию, при котором процесс находился бы в прерванном состоянии. В этом случае процесс устанавливается от имени родительского процесса в очередь на планирование к выполнению. Когда процесс планируется на выполнение, он инициализируется в режиме ядра, при котором выполняется переключение контекста. Следующее состояние зависит от того, где процесс находился до переключения. Если процесс был вновь создан или выполнялся ранее в пользовательском режиме, он немедленно возвращается в режим пользователя. Если процесс был блокирован при выполнении системного вызова, процесс продолжает выполнение в режиме ядра. В каждый момент времени процессор и соответственно процессы могут находиться в одном из· определенных состояний (фаз). Переход из одной фазы в другую - реакция на различные события. На рис. 3 представлены граф основных состояний процесса в USIX и события, которые приводят к изменениям состояния. Каждая фаза работы процесса характеризуется набором аппаратных привилегий и собственным стеком. При переключении процессов необходимо переключать стеки пользовательских процессов, в которых сохраняется информация об их состоянии. Это обеспечивает возможность переключения процессов между процессорами без каких-либо ограничений. 33 Рис.3. Граф основных состояний процесса в USIX Планирование процессов. Эту функцию в USIX, как и в большинстве других операционных систем, выполняет один из главных компонентов ядра системы - планировщик. Он определяет, какой процесс должен выполняться в каждый момент времени и как долго он будет выполняться. Планировщик выделяет процессор каждому процессу, как правило, на короткий промежуток времени - квант и затем переключается на другой процесс. Работа планировщика связана с двумя основными аспектами. Первый определяет правила, устанавливающие, какой процесс выполнять и когда переключиться на другой процесс, второй структуру данных и алгоритмы, реализующие выполнение этих правил. Система USIX использует аппаратные часы - таймер, который прерывает систему через фиксированные интервалы времени. Этот интервал времени называется тиком. Каждый тик составляет не более 1О мс. Служба времени. Таймер используется для ведения системного времени и управления таймерной очередью. Серверы, драйверы, а также планировщик имеют возможность самостоятельно помещать запросы в таймерную очередь и отменять их с помощью системных вызовов. Порт таймера проверяется при каждом прерывании. Если приоритет поставленного в очередь сообщения выше приоритета выполняемого процесса, запрашивается перепланирование. Ядро USIX распознает прерывания по таймеру в трех фазах - процесса, пользователя и планировщика. Когда прерывается работа планировщика, возврат происходит без проверки кванта времени. Если таймер прерывает пользовательский процесс, корректируются таймеры выполнения процесса (режим пользователя и ядра) и проверяется квант времени. Если квант времени истек, процесс требует сохранения независимо от режима выполнения. Это обеспечивает полную прерываемость ядра и решает проблему внутренней синхронизации. Если процессу необходимо расширить квант времени по некоторой причине (например, чтобы не быть приостановленным другими процессами с тем же самым приоритетом), он может добавить несколько тиков к своему кванту времени. После выполнения критического участка процесс самостоятельно должен освободить процессор, для того чтобы могли выполняться другие процессы. Для блокировки прерываний могут использоваться различные механизмы: блокирование ресурсов (аппаратная блокировка); остановка перепланирования (программный блок); семафоры ядра (программный блок). Аппараmная блокировка. В многопроцессорной среде и, в случае полной прерываемости, в однопроцессорной системе необходим механизм аппаратного блокирования ресурсов. Аппаратную блокировку можно использовать, когда блокировка требуется на короткое время. В системе USIX аппаратное блокирование выполняется с помощью функций Р_lock и V_lock. 34 Функция Р_lock оперирует значением блокировки, задаваемым в качестве аргумента. Если аргумент содержит не нулевое значение, то ресурс свободен. В однопроцессорной среде Р_lock запрещает прерывания, что автоматически защищает систему от перепланирования процессов. После манипулирования с критическими данными необходимо вызвать функцию V _lock. Функция V_lock восстанавливает предыдущее значение регистра флагов разрешает прерывания, если они были разрешены перед вызовом Р_lock, и устанавливает не нуле вое значение блокировки. Остановка перепланнрования. Этот механизм используется для временной отмены пере планирования процессов. Для этой цели служат две функции: StopSchedulerO и ReleaseSchedulerO· Функция StopSchedulerO останавливает перепланирование, пока не случится одно из двух событий: 1) будет вызвана функция ReleaseSchedulerO для отмены планирования; 2) будет вызвана функция give_up (добровольное освобождение процессом данного процессора). Функция StopSchedulerO воздействует только нa тот процессор, на котором выполняется процесс, и не воздействует на другие процессоры. Функция StopSchedulerO обеспечивает задержку процессора на период времени не более одного тика. С помощью других средств процессы могут пребывать в режиме задержки в течение любого интервала времени. Семафоры ядра. Они используются для синхронизации активных процессов на длительное время, когда ресурсы назначаются процессам на максимально возможное время. Если ресурсы недоступны, процесс может перейти в ожидание либо немедленно вернуть управление. Очередь ожидания упорядочивается по приоритетам ожидающих процессов и каждый раз проверяется на освобождение ресурсов. Блокирование секции данных или не которого ресурса от взаимного доступа в течение длительного времени обеспечивается двумя функциями: Р _ semlock (&semlock) и V _ semlock (&semlock). Функция Р semlock использует аргумент semlock в качестве индикатора за~ятости общего ресурса, который управляется с помощью функций Р _lock и V _lock. Функция V_semlock проверяет использование требуемого ресурса другими процессами. Очередь ожидания упорядочивается по приоритетам ожидающих процессов. Приоритеты процессов. Планировщик включает набор независимых программ, выполняющих общие функции: переключение контекста, управление очередями и др. Он также определяет программный интерфейс для зависимых функций, таких, как вычисление приоритетов и их наследование. Например, для процессов реального времени используются фиксированные приоритеты, а для процессов разделения времени - динамически изменяемые приоритеты в ответ на определенные события. Все процессы в USIX делятся на три класса: разделения времени (TS -Time Sharing); системные (SYS); реального времени (RT - RealTime). Процессы имеют 160 уровней приоритетов, которые делятся на три группы: О - 59 - процессы разделения времени; 60 - 99 - системные процессы; 100 - 159 - процессы реального времени. Очереди диспетчеризации создаются отдельно для каждого уровня приоритета. Больший уровень приоритета соответствует более приоритетному процессу. Процессы разделения времени наименее приоритетны. Они планируются к выполнению в соответствии с алгоритмами, используемыми в UNIX-подобных системах. ТS-процессы имеют 60 уровней приоритета, которые назначаются процессам в зависимости от используемых ими системных ресурсов. Каждому TS-процессу назначается квант времени (по умолчанию - одна секунда). Если в течение кванта времени процесс не выполнял системных вызовов, переводящих его в состояние приостанова, он снимается с выполнения и его приоритет понижается. Таким образом, вычислительные процессы, требующие много процессорного времени, штрафуются, что позволяет давать преимущество интерактивным процессам. Отложенный процесс с уменьшенным приоритетом устанавливается в конец соответствующей очереди готовых к выполнению процессов. Системные процессы предназначены для выполнения общесистемных функций. В основном это процессы-серверы (файловые серверы, драйверы ввода-вывода, процессы-демоны). Их планирование 35 осуществляется аналогично планированию процессов реального времени. Предусмотрено 40 уровней приоритета для системных процессов. Процессы реального времени имеют 60 уровней приоритета, которые назначаются пользователем. Ядро не изменяет приоритеты процессов класса RT и SYS по своей инициативе. Процессы, находящиеся в фазе планирования, проверяют очереди всех классов. При этом класс очередей RT -процессов находится в верхней части таблицы, класс SYS - в средней части, а класс TS - в нижней части. Анализ очередей осуществляется сверху вниз, и, таким образом, всегда выбирается на исполнение самый приоритетный процесс. Процессы классов SYS и RT запускаются на выполнение с квантом времени, задаваемым пользователем. После этого дальнейшие действия зависят от наличия в очереди процессов с приоритетом, равным или большим приоритета выполняемого процесса. Если в очереди имеется процесс с равным приоритетом, текущий процесс по истечении кванта времени приостанавливается и помещается в конец очереди процессов данного приоритета, а новый равноприоритетный процесс запускается на выполнение. Если в очереди имеется более приоритетный процесс, текущий процесс приостанавливается сразу при наступлении события (тайм-аут или прерывание), его контекст сохраняется, и осуществляется переход в фазу планировщика. Таким образом, центральным звеном планирования процессов является набор приоритетных очередей процессов. С помощью этих очередей реализуется инвариантное переключение набора готовых к выполнению процессов на разные процессоры. 36 18. Защита от НД в USIX Комплекс средств защиты (ксз) от несанкционированного доступа обеспечивает соответствие уровню безопасности В3 согласно критериям «Оранжевой книги» (или 4-му классу защищенности согласно «Руководящим документам» Гостехкомиссии России) и включает дискреционный и мандатный контроль доступа, механизмы идентификации и аутентификации, средства регистрации и учета. В основе реализации ксз лежат следующие архитектурные особенности USIX: защита различных процессов от взаимного влияния за счет механизма виртуальной памяти; обеспечение механизма управления доступом; разделение системных функций в USIX по уровням привилегированности. Поскольку пользователь не имеет непосредственного доступа к системным задачам и функциям, выполняемым в режиме системы в адресном пространстве ядра USIX (см. рис. 3), обработка всех системных вызовов осуществляется ядром USIX на системном уровне. Таким образом, все сообщения пользователя к объектам системы (файл, регион, задача, устройство и т.д.) всегда вызывают монитор доступа, который является компонентом ядра USIX (рис.6). Рис.6. Схема механизмов управления доступом Монитор доступа непосредственно контролирует допустимость действий над объектами, проверяет санкционированность каждого обращения пользователя к объектам, исключая возможность обхода себя. Этим достигается полнота ксз. Реализация монитора доступа как программногo компонента ядра USIX обеспечивает защиту от отслеживания его работы, т.е. изолированность монитора. Модель защиты USIX обеспечивает контроль на всех этапах обработки данных в системе, что основывается на следующих положениях: USIX работает только с идентифицированными пользователями; все объекты в системе имеют владельца, входят в какую-либо группу и имеют атрибуты защиты, а также могут иметь список управления доступом и классификационную метку; субъект может получить доступ к объекту только в том случае, если доступ будет разрешен всеми уровнями защиты одновременно; администратор системы может анализировать работу пользователей в системе посредством подсистемы регистрации событий; субъект не может получить доступ к остаточной информации при первоначальном назначении или при перераспределении оперативной памяти и внешней памяти. Данная модель препятствует следующим видам нарушений: действиям незарегистрированного пользователя; действиям над объектом, выходящим за рамки полномочий субъекта; действиям нарушителя от имени легального пользователя. Идентификация и аутентификация пользователя. Каждый пользователь, прежде чем ему будет разрешено работать в ОС USIX, должен идентифицировать себя - зарегистрироваться в системе, указав свое регистрационное имя, назначенное ему администратором КСЗ. Система после этого проводит идентификацию - проверку подлинности имени пользователя. 37 Основным средством проверки подлинности в ОС USIX является пароль. Пароль, вводимый пользователем, сравнивается с паролем, ранее выбранным пользователем; в случае совпадения подлинность пользователя считается доказанной. Пароль выбирается самим пользователем при первом входе в систему. Работа с файлами. Набор файлов, к которым пользователю разрешен доступ в системе USIX, оснащенной КСЗ, определяется администратором. Как правило, в него входят файлы, владельцем которых является пользователь, и файлы, при надлежащие той группе пользователей, в которую входит данный пользователь. Также обычно разрешен доступ к файлам и каталогам, которые обеспечивают системный сервис или являются общими для использования (например, каталоги /tmp, /var/tmp открыты для записи и чтения всем пользователям). Однако, если организация работы ОС USIX предполагает, что в общие каталоги будут помещаться файлы, не предназначенные для всех пользователей, администратор может объявить такие каталоги многоуровневыми, тем самым ограничивая доступ к файлам из этих каталогов пользователям, не обладающим необходимыми правами. Пользователь может управлять дискреционным методом доступа к файлам, владельцем которых он является. Иными словами, используя утилиты setacl и getacl, пользователь может объявить дополнительных пользователей и/или дополнительные группы пользователей, которым будет разрешен доступ к этим файлам (вид доступа (чтение, запись, выполнение) также регламентируется пользователем - владельцем файла). Однако дополнительные пользователи и дополнительные группы пользователей в этом случае получат доступ к файлу только тогда, когда эти установки не будут противоречить требованиям мандатного принципа контроля доступа к объектам. Иначе говоря, если мандатный принцип контроля доступа запрещает читать/изменять файл, принадлежащий данному пользователю или кому-либо из дополнительных пользователей, то никакие добавления, вносимые владельцем файла в спи<:ок пользователей, не разрешат доступ к нему новым пользователям. Это происходит потому, что мандатный принцип контроля доступа осуществляется не пользователем, а КСЗ, и пользователь не может изменить права доступа даже для файла, владельцем которого он является. Если возникает необходимость изменить метку конфиденциальности файла (на которой и основывается работа мандатного принципа контроля доступа), пользователь должен обратиться к администратору КСЗ. Работа пользователя с внешними устройствами. В случае возникновения необходимости вывода информации на устройство печати или сохранения файла пользователя на гибком диске пользователь должен убедиться, что ему разрешен доступ к данному устройству (принтеру, дисководу), и лишь после этого выполнить соответствующую команду. Как правило, администратор КСЗ уведомляет пользователя о ресурсах системы, доступных для него. Если пользователь хочет получить доступ к устройству, которое ему недоступно, он должен обращаться к администратору КСЗ. Завершение работы. Важной обязанностью пользователя, работающего на ОС USIX, оснащенной КСЗ, является защита своего рабочего места (терминала) от несанкционированного использования. Это означает. что пользователь должен прервать сеанс работы. если он покидает рабочее место или оставляет его без присмотра. Завершение сеанса работы осуществляется командой exit. 38 19. Управление памятью в USIX USIX поддерживает виртуальную организацию памяти, которая основана на концепции объектов памяти, регионов и сегментов. Каждый процесс состоит из ряда сегментов, отображаемых на регионы. Регион является фрагментом физической памяти, начинающейся с границы страницы и содержащей целое число страниц. В общем случае регион может быть распределен между оперативной памятью, пространством выгрузки и файлом на диске. Система управления памятью использует ряд структур данных, которые могут рассматриваться как массивы, оформленные виде связных списков. Физические страницы объединяются в следующие списки: Системные страницы - страницы, необходимые системе. Фиксированные - страницы, которые зафиксированы в оперативной памяти за процессами и не могут страницы быть выгружены. После освобождения эти страницы могут быть включены в списки чистых или модифицированных страниц или список страниц рабочего набора. Чистые страницы - страницы, которые имеют копии на диске и могут выделяться процессам, так как не требуют их сохранения на диске. Модифицированные - страницы, которые требуется сохранить на диске, так как перед освобождением этих страницы страниц из рабочего набора они были модифицированы. Свободные страницы - страницы, доступные для распределения без всяких ограничений. После загрузки ядра все страницы, не занятые системой, являются свободными. Страницы рабочего - страницы физической памяти, распределенные (доступные) для некоторого процесса набора в текущий момент времени. Читаемые страницы - страницы, в данный момент читаемые с диска в оперативную память. Записываемые - страницы, в данный момент записываемые из оперативной памяти на диске. Системная страница используется ядром и не управляется механизмом виртуальной памяти. Любая другая страница, не являющаяся свободной, принадлежит некоторому региону. При создании процесса ему, как правило, назначаются следующие регионы, связанные с соответствующими сегментами: регион стека; регион текста процесса; регион данных процесса; регионы текста и данных разделяемой системной библиотеки. Ни один из регионов при создании процесса, как правило, в оперативную память не считывается, а для процесса создаются таблицы сегментов, и управление передается на точку входа процесса. При попытке выполнения первой команды происходит прерывание по отсутствию страницы в рабочем наборе. Система управления виртуальной памятью находит сегмент, связанный с данным виртуальным адресом, регион, связанный с данным сегментом, и страницу в регионе. Требуемая страница может находиться: в оперативной памяти, если она уже выделялась или считывалась для какого-либо процесса; в файле на диске; в файле выгрузки на диске, если она была выгружена в результате предыдущих действий системы. Если страница находится на диске, она будет загружена (прочитана) в память, включена в рабочий набор, и выполнение процесса продолжится. Таким образом, в памяти оказываются только страницы, действительно необходимые для текущего процесса. Страницы, доступные процессу в данный момент, образуют рабочий набор, отображение которого восстанавливается при переключении процессов. Размер рабочего набора является настраиваемой величиной и зависит от текущей рабочей нагрузки системы. Если некоторый Процесс обращается к странице, не входящей в рабочий набор, и достигнут предел числа использованных страниц для процесса, То система управления памятью удаляет из рабочего набора страницу, к которой дольше других процесс не обращался, и загрузит новую. Новая страница загружается, если это возможно, из списка свободных или модифицированных страниц, ранее исключенных из текущего рабочего набора и находящихся еще в оперативной памяти, и только затем с диска. Можно провести некоторую аналогию в использовании кэш-памяти и рассматриваемых списков страниц. И тот, и другой механизм за счет временного сохранения данных в области, непосредственно доступной системе, позволяет повысить ее производительность. В обоих случаях эффективность в значительной мере зависит от размеров и активности процессов. 39 Для исключения возможности быстрого исчерпания списков свободных и чистых страниц при обслуживании одного или нескольких процессов, характеризующихся большой частотой обмена страницами, система всегда пытается иметь доступными некоторое минимальное число физических страниц (LowWater). Когда процессу требуется физическая страница, система проверяет соотношение между числом доступных (суммой свободных и чистых) страниц и значением LowWater. Если соотношение позволяет выделить страницу, система пытается получить страницу из списка свободных страниц, а если он пуст, - из списка чистых страниц. Если число доступных страниц станет равным значению LowWater или меньше его, то система определяет страницу для выгрузки из оперативной памяти. Страница выбирается из списка модифицированных страниц и, если он пуст, из списка страниц рабочего набора. Каждая физическая страница в оперативной памяти имеет свой рейтинг, равный сумме приоритетов всех процессов, содержащих данную страницу в своем рабочем наборе. Система выбирает из списка рабочего набора страницу с наименьшим значением рейтинга. Изменяя значение LowWater, системный администратор может поддерживать наилучшее использование оперативной памяти для определенного состава процессов в соответствии с их активностью. Рассмотрим работу с разделяемыми страницами. Система управления виртуальной памятью обеспечивает режим работы «copy-on-write» (копировать для записи) с разделяемыми страницами. Типичным примером разделения является наследование сегментов данных и стека порожденным процессом при системном вызове fork. В этом случае система не копирует данные сегменты, а процессотец и процесс-сын используют одни и те же страницы в оперативной памяти до тех пор, пока один из них не попытается смодифицировать какую-либо из этих страниц. В общем случае несколько процессов, разделяющих страницу, используют один экземпляр такой страницы в оперативной памяти. Система обеспечивает два варианта работы с разделяемой страницей: разделение и «copy-on-write». Примером разделения является файл, отображенный в адресном пространстве нескольких процессов. Процессы производят всю коррекцию в единственной копии страницы оперативной памяти. Такие страницы не требуют места в области выгрузки и записываются только в файл на диске. Сегменты данных и стека являются примерами варианта «copy-on-write». Когда один из процессов пытается записать страницу, система копирует разделяемую страницу в новую страницу, назначенную записывающему процессу. Остальные процессы продолжают использовать старый единственный экземпляр разделяемой страницы. Техника «copy-on-write» позволяет использовать единственную копию страницы продолжительное время, чаще всего до завершения одного из процессов. После завершения процесса все его сегменты уничтожаются, а регионы освобождаются, но из памяти, как правило, не удаляются. Так как любой файл в USIX представляет собой регион, это позволяет обеспечивать кэширование диска на уровне связанных с файлами объектов памяти, а не на уровне дисковых блоков. Поддержка процессов реального времени, требующих быстрой реакции на события, реализуется двумя алгоритмами. Первый алгоритм основан на возможности назначения приоритета процесса для всех страниц, используемых этим процессом. Это позволяет выгружать страницы в соответствии с их приоритетами. Другой алгоритм связан с возможностью для процессов реального времени требовать наличия в оперативной памяти всех своих страниц и запрещать их выгрузку из памяти. 40 20. Поддержка РВ в USIX Для обеспечения режима реального времени в USIX предусмотрен целый ряд возможностей, гарантирующих оптимальное время реакции: приоритетная и круговая диспетчеризация; динамическое и статическое назначение приоритетов пользовательским задачам; захват ресурсов памяти для обеспечения быстрого переключения задач путем фиксации страниц в оперативной памяти; возможность подключения к источникам прерываний для программирования нестандартных устройств; возможность отображения в адресное пространство процесса пользователя любых объектов, включая файлы на дисках, физическую память, порты ввода-вывода; синхронизация взаимодействия процессов пользователя с помощью традиционных механизмов UNIX (семафоры, очереди сообщений, разделяемая память, именованные и неименованные программные каналы ввода-вывода) и дополнительных возможностей (сообщения USIX, серверы, механизм событий). В структуре ядра USIX реализованы новые алгоритмы, ориентированные на поддержку реального времени. Среди них следует отметить полную прерываемость ядра системы и механизм обработки прерываний. Традиционные UNIХ-системы не разрешают переключения процессов во время выполнения системной фазы ядра. Ядро является как бы одной большой критической секцией, которая должна быть выполнена до конца. Только после выполнения критической секции, что может потребовать значительного времени, возможно, переключение на более приоритетный процесс. В отличие от этого ядро USIX является полностью прерываемым. Выполнение процесса может быть прервано независимо от его фазы (пользовательской или системной), и управление может быть передано процессу с более высоким приоритетом. При этом причинами прерываний могут быть следующие события: истечение кванта времени владения процессором у текущегo процесса; наступление запланированных событий по времени; прерывание от устройств ввода-вывода; изменение приоритета процессов; освобождение ресурсов ядра (двоичных семафоров); посылка сообщения более приоритетному ожидающему процессу. Таким образом, менее приоритетная задача во время выполнения системного вызова может быть прервана и управление передано более приоритетной задаче. Возможность переключения задач во время выполнения системного вызова является необходимым требованием для гарантированности времени реакции системы, однако недостаточным для гарантии минимального времени ответа. Другим важным аспектом взаимодействия ОС с внешней средой является стратегия обработки внешних прерываний. В традиционных UNIХ-системах программы обработки прерываний, как правило, имеют более высокий приоритет по отношению к пользовательским процессам. При этом если прерывание происходит в результате требования самого низкоприоритетного Процесса (например, подсистемы вывода на печать), то даже самый приоритетный процесс будет прерван и отложен до окончания обработки прерывания. Система же USIX предоставляет возможность приоритетного планирования программной обработки прерываний и разбиения обработки на этапы. Аппаратное прерывание может прерывать даже самый высокоприоритетный процесс, поскольку целый ряд устройств не допускает задержки обслуживания прерываний. В системе USIX первоначальная программа обработки прерывания всегда выполняет только самые минимальные действия, диктуемые требованиями аппаратных средств. Далее информация о прерывании устанавливается в очередь отложенных прерываний к соответствующему серверу. Таким образом, высокоприоритетный процесс будет прерван лишь на время, требуемое для сохранения информации о прерывании. Дальнейшая обработка прерывания будет продолжена соответствующим сервером в соответствии с его приоритетом. Такой механизм обработки прерывания в сочетании с прерываемостью ядра и рядом других возможностей обеспечивает гарантированное время реакции системы на события реального времени. 41 Надежность. Система USIX использует все доступные аппаратные средства для локализации неисправностей аппаратуры. В рамках многопроцессорной системы отказ одного процессорного элемента (РЕ) не влечет за собой «развала» системы, так как планирование работы процессоров децентрализовано. В случае зависания или отказа РЕ встроенная система тайм-аутов позволяет вернуть все захваченные ресурсы ядра и, таким образом, обеспечивает плавную реорганизацию системы вместо полного отказа. Ядро USIX поставляется пользователю в двоичном коде в виде отладочной версии и рабочей версии. Отладочная версия USIX содержит 32 встроенных отладочных режима, которые позволяют пользователю получать различные «срезы» выполнения задачи и, таким образом, быстро локализовать ошибки в своих программах. Среди таких «срезов» можно отметить отслеживание следующих действий: выполнение системных вызовов; обработку сигналов; работу системы ввода-вывода; порождение (fork), выполнение (ехес) и завершение (ехit) процессов; работу подсистемы взаимодействия процессов (разделяемая память (shm), семафоры (sem), сообщения (msg). Кроме того, отладочная версия содержит ряд встроенных проверок целостности внутренних данных ядра, что позволяет легко обнаруживать ошибки, допущенные пользователем при расширении системы (создание собственных серверов, драйверов ввода-вывода). Рабочая версия USIX не содержит перечисленных отладочных возможностей и поэтому обеспечивает более высокую (на 20-30%) производительность. Соответствие стандартам. USIX является операционной системой семейства UNIX и относительно программного интерфейса соответствует международным стандартам POSIX 1003.1, POSIX 1003.2 и SVID (SystemV Interface Definition. Issue 3). Система USIX совместима на уровне исходных и двоичных кодов с системой UNIX SystemV и на уровне исходных кодов - с системой BSD4.3. В приложении 6 приведен краткий перечень основных стандартов, связанных с ОС семейства UNIX . 42 21. Ввод/вывод («потоки») в USIX Система ввода-вывода USIX обладает рядом особенностей, среди которых следует прежде всего отметить: поддержку стандартных механизмов доступа к внешним устройствам; независимость ядра USIX от набора внешних устройств; возможность загрузки и выгрузки драйверов во время работы системы; дополнительные Возможности отладки драйверов без перестроения системы, что очень важно в системах, где необходима поддержка нестандартных устройств. Это является весьма характерным ДЛЯ систем реального времени; в каталог/dev заносятся только те устройства, которые действительно доступны к использованию. Последняя особенность состоит в том, что в отличие от других UNIХ - систем в USIX каталог/dev первоначально пустой. При загрузке драйвер создает в каталоге/dev свои специальные файлы. Это выполняется самим драйвером, так как только драйвер может определить, какие Устройства он будет обслуживать. Система USIX поддерживает блок-ориентированные и.байт-ориентированные устройства, а также прямой доступ к блочным устройствам. Связь ядра с драйвером осуществляется с помощью сообщений и портов. После загрузки драйвера и создания имени специального файла в каталоге/dev пользовательская программа может открыть этот файл. Ядро распознает обращение к специальному файлу, формирует сообщение и посылает его в порт соответствующего драйвера. Если драйвер находился в состоянии приостановки в ожидании сообщения, он активизируется и начинает его обработку. Процесс пользователя при этом останавливается в ожидании ответного сообщения в свой порт, если запрос ввода-вывода был синхронным. Если запрос ввода-вывода асинхронный, процесс пользователя может быть продолжен. Передача данных между драйвером и процессом пользователя может осуществляться двумя способами: одновременно с сообщением; непосредственно, путем отображения региона пользователя в адресное пространство драйвера. Вторая возможность используется в тех случаях, когда объем передаваемых данных достаточно большой (например, в дисковых драйверах). При разработке системы ввода-вывода USIX были заложены следующие требования: обеспечение унифицированного подхода для выполнения взаимодействия между мультипроцессорным ядром USIX и различными устройствами ввода-вывода; обеспечение возможности добавления, удаления и модификации драйверов устройств; обеспечение совместимости ввода-вывода со стандартами SVID. Система ввода-вывода содержит несколько объектов: набор драйверов ввода-вывода; таблицы ядра; объекты памяти; интерфейс системы ввода-вывода с файловой системой. Особенности реализации «потоков» в USIX Реализация подсистемы потоков в USIX является оригинальной. В то же время полная совместимость пользовательских программ, написанных для операционных систем на базе UNIX SVR4, достигается поддержкой всех системных вызовов, относящихся К подсистеме STREAMS и перечисленных в стандарте SVID. Совместимость обеспечивается как на уровне исходных кодов программ, так и на уровне исполняемых кодов. Это означает, что программа, работающая в UNIX SVR4, без каких-либо изменений и преобразований будет работать и в USlX. Вместе с тем реализация «потоков» В USIX коренным образом отличается от реализации STREAMS в UNIX SVR4. Прежде всего, подсистема «потоков» В USIX не является подсистемой ядра. Это полностью независимая от других компонентов USIX подсистема. Как и большинство драйверов USIX, драйверы «потоков» являются процессами или серверами USIX. Такой подход к реализации драйверов «потоков» полностью согласуется с основными идеями, заложенными в архитектуру системы USIX, прежде всего с концепцией микроядра. Серверы «потоков» (которые состоят из одного драйвера «потоков» или более) взаимодействуют с пользовательскими процессами через ядро USIX путем обмена сообщениями USIX, используя механизм Getwork/putwork. Данная схема представлена на рис. 5. 43 Рис. 5. Взаимодействие процесса пользователя с сервером потоков Возможно также прямое взаимодействие пользовательского процесса с сервером «потоков» С помощью механизма Getwork/putwork. Таким образом, ядро USIX, обрабатывая системный вызов процесса пользователя, создает специальные сообщения для сервера «потоков» И посылает их с помощью usixcall (Putwork, ... ). Сервер принимает их с помощью usixcall (Getwork, ... ) и, в свою очередь, посылает ответ, принимаемый ядром. В дальнейшем этот ответ преобразуется к виду, необходимому для завершения системного вызова пользовательского процесса. Сообщение, принятое сервером «потока», преобразуется к внутреннему формату сообщений драйверов «потоков') И обрабатывается им, как было описано выше. С другой стороны, внутренние сообщения, формируемые драйверами потоков перед посылкой их в ядро USIX, преобразуются в формат, используемый при посылке с помощью usixcall (Putwork, ... ). Из сказанного вытекают следующие преимущества подсистемы потоков в USIX: повышенная отказоустойчивость всей системы в целом - отказ драйвера «потоков'), функционирующего как процесс (сервер) USIX, не приводит к сбою всей системы; удобство и гибкость конфигурации системы - любой сервер «потоков') может быть запущен или остановлен в любое время, включение новых устройств не требует изменений в ядре системы; легкость распараллеливания системных задач - сервер «потоков» планируется как обычный процесс и может выполняться на соответствующем процессоре при работе на многопроцессорной аппаратуре, здесь также необходимо заметить, что сами серверы «потоков» легко распараллеливаются и могут иметь множественные нити исполнения (threads); удобство и простота создания и отладки - поскольку подсистема «потоков») является независимой от других подсистем USIX, не требуется глубокого понимания механизмов работы ядра USIX или других компонентов системы. Серверы «потоков» В USIX обладают еще одной важной характеристикой. Для увеличения их производительности они могут быть загружены в ядро USIX. При этом данный механизм практически прозрачен для программиста, пишущего сервер «потоков». Требуется лишь использовать ограниченный набор функций при программировании, поскольку все используемые библиотечные функции должны содержаться также и в ядре USIX Таким образом, критические по производительности серверы «потоков» могут быть загружены в ядро USIX, а менее критические могут выполняться как обычные процессы USIX. Таким образом, вся система может быть легко настроена на конкретное применение. 44 22. Общая схема СКВ-метода Схема СКВ-метода приведена на рис.1. Метод предполагает компоновочного вектора, исходя из требований системы (ТрС). построение структурно- Исходные данные Инженерные решения Анализ объектов управления Генерация вариантов СКВ Оценка реализуемост и множеств Элементная база Общеприняты интерфейсы и конструктивы Экономические, технологические, эргономические надежностные и другие ограничения Степень реализуемости структур Составление требований объектов Оценка размытости требований объектов АРМ разработчика Составление каталога структур Составление каталога требований объекта Нахождение множества СКВ , удовлетворяющих требованиям отдельных объектов Нахождение множества СКВ, удовлетворяющих требованиям всех рассматриваемых объектов Оценка устойчивости полученного Учет степени реализуемости структур и выбор окончательного решения Разработка ТЗ микро-ЭВМ или УВК Рис.1. Схема расчета МП – системы по СКВ – методу Структурно-компоновочuый вектор - это набор признаков, определяющих проектируемую структуру вычислительной системы, в частности УВК (интерфейсы, элементная база, конструкция, тип операционной системы и т.д.). Разработчик задает множество СКВ, из которого могут быть выбраны СКВ, определяющие структуры, наиболее близкие к требуемым. Поскольку множество СКВ может оказаться достаточно большим, разработчику предоставляется возможность вводить не сами СКВ, а формальные правила их генерации. Получение различных СКВ может быть формализовано и автоматизировано. При этом наиболее творческая часть всего процесса разработки (создание правил, по которым будут составляться СКВ) остается за разработчиком, использующим личный опыт, информационно-технические материалы, результаты испытаний. Естественно, что усилия разработчика должны быть направлены на достижение максимального разнообразия вариантов СКВ и на повышение степени их реализуемости. Требования системы - это совокупность различных требований, предъявляемых к характеристикам (быстродействию, надежности, стоимости и т.д.) системы управления, в составе которой будет использован проектируемый УВК. Любой УВК на базе средств СМ ЭВМ имеет функционально-модульную структуру. Поскольку чрезмерно жестко заданная конфигурация УВК может оказаться неэффективной на последующих этапах жизненного цикла создаваемой системы, рассматривается несколько вариантов ТрС. Эти требования представляются в Виде размытых множеств, заданных на множествах значений основных характеристик системы посредством некоторых функций 45 принадлежности к этим характеристикам. Использование аппарата теории размытых множеств дает возможность оперировать качественными понятиями, которым соответствуют количественные оценки. С помощью указанных функций принадлежности каждому СКВ ставится в соответствие оценка, показывающая, насколько данный СКВ отвечает требованиям конкретной системы. В результате этого образуется размытое множество СКВ. При формировании ТрС для определенной области применений выбираются объекты, предъявляющие к системе наиболее жесткие требования. С этой целью вводится понятие степени размытости требований, которая максимизируется для каждого отдельного применения и минимизируется для совокупности применений в определенной области. Построение пересечения множеств, образуемых векторами СКВ возможных характеристик проектируемого УБК и множеством ТрС пользователей, дает проектировщику основания для принятия компоновочных и функциональных решений. Строятся пересечения размытых множеств СКВ, удовлетворяющие вначале каждому требованию в отдельности, а затем - всем системным требованиям. Каждому СКВ присваивается оценка, позволяющая проранжировать их множество. Поскольку при задании компонентов ТрС вводится нечеткость, можно оценить устойчивость полученного решения по отношению к степени размытости отдельных требований. Окончательный выбор единственного СКВ, который будет использован для дальнейшей проработки и рабочего проектирования, осуществляется с учетом степени реализуемости тех или иных структур. 23. Формирование ТрС и построение ранжированного множества СКВ Размытое множество Si, заданное на характеристике zi системы с функцией принадлежности i : zi [0,1] , называется требованием gi со стороны системы управления применительно к i-й характеристике системы. Совокупность этих требований образует ТрС G = (g1, g2, …gn). Удовлетворение всему набору ТрС понимается как решение задачи отыскания такого размытого множества СКВ, которое представляет собой пересечение размытых множеств СКВ по отдельным характеристикам системы. Построение такого пересечения включает в себя следующие этапы (рис.2а): задание множества СКБ X = {Xj} задание ТрС G в виде размытых множеств на характеристиках системы zi с функциями принадлежности i ( zi ) ; отображение множества X на множества значений характеристик системы X →zi;(i = 1, 2, ... , п), а затем на интервал μi (zi ) → [0,1] размытых множеств на этих характеристиках; построение размытых множеств Pi задаваемых на множестве СКВ Х, по отдельным характеристикам системы с функциями принадлежности vi (Xj) отражающими степень реализуемости характеристики; нахождение пересечения множеств Pi n P Pi i 1 где P - искомое размытое множество СКВ, удовлетворяющих требованиям G. 46 Рис.2.а - Общая процедура Рис.2.б- пример нахождения ранжированного множества P= {X2,X5,X3,X1,X4} Этапы построения размытого множества СКВ поясняются на рис. 2.б. Заданы варианты конфигурации проектируемого УБК - СКБ X1 – X5, системные требования - характеристики z1,z2 , размытые множества на этих характеристиках с функциями принадлежности μ1 (z1 ) и μ2 (z2 ). Функции принадлежности, СКВ и ТрС задаются на основе инженерной интуиции и практического опыта (экспертная оценка), на основе анализа статистической информации по объектам, близким к рассматриваемому по назначению (оценка по аналогии с прототипом), или расчетным путем. Для каждого СКВ определяются значения характеристик системы управления z1 и z2 (точки Z11 и Z21 для X1)· Полученные значения отображаются на диапазон размытых требований к этим характеристикам (точки μ24 и μ25 для характеристики z2 и СКВ Х4 и Х5). Для каждой из характеристик z1 и z2 строятся размытые множества СКВ, имеющие функции принадлежности V1 и V2 как пересечение диапазона системных требований для каждой характеристики и множества X1 - Х5 рассматриваемых вариантов СКВ. Для построения пересечения Р размытых множеств Pi вводится «мягкая» (мультипликативная) форма представления функции принадлежности множества - пересечения vj} через функции принадлежности составляющих множеств vi n v j vii при j= 1….N i 1 где αi - коэффициент, учитывающий степень предпочтения, отдаваемого отдельным требованиям. Эта форма учитывает степени предпочтения отдельных характеристик и является дифференцируемой. Последнее обстоятельство важно при определении устойчивости полученного решения. Множество P считается устойчивым, если при вариации функций принадлежности Vj в заданных пределах порядок элементов ранжированного множества Р не меняется. Полученное размытое множество СКВ Р дает основание для выбора СКВ, наиболее полно удовлетворяющего заданным требованиям к проектируемому модулю или УВК в контексте создаваемой системы. 47 24. Пример использования СКВ-метода В качестве примера использования СКВ-метода рассмотрим синтез структуры вычислительного ядра модуля программируемого контроллера. Постановка задачи. Требуется разработать одноплатный модуль УВК, выполняющий функции программируемого контроллера. Должна быть обеспечена возможность настройки модуля на реализацию ряда законов регулирования (PI-, РID-регулирование (ProportionaljlntegraljDerivative), адаптивное регулирование, смешанные законы), выполняемых с использованием стандартных операций (вычислительные, логические, ввода-вывода и т.д.). Структура модуля должна быть выбрана с учетом общих и специальных системных требований. К общим требованиям относятся: g1 - интенсивность отказов λ..; g2 - потребляемая мощность Рм; gз - габариты т; g4 - стоимость модуля Ст. Специальные требования: время выполнения цикла регулирования τ – g5; универсальность, характеризуемая количеством и видами стандартных операций, - g6; сложность законов регулирования – g7. Способ задания системных требований - экспертный; значения характеристик λ.min, PMmin, т min, Стmin, τmin (g1 ... , g5) должны быть близки к минимальным на множестве СКВ, доступных реализации; универсальность и сложность (g6, g7) должны быть не ниже не которого заданного значения. Заданы полученные экспертным способом степени предпочтения (α1…. α7) отдельных требований, которые отражают конкретные условия применения модуля. Исходные предпосылки к синтезу СКВ-модуля. Конструкция одноплатная с заданным максимальным количеством Nk корпусов микросхем на плате. Альтернативные микропроцессорные (МП) наборы: МПl, МП2 и МП3. Альтернативные микросхемы ОЗУ: статическая память (СОЗУ), динамическая память (ДОЗУ). Микросхемы ПЗУ: электрически перепрограммируемые (ЭППЗУ). Бнутриплатный интерфейс: шина соответствующего МП-набора. Назначение ОЗУ - хранение программ для реализации закона регулирования; сложность закона регулирования ставится в соответствие объему ОЗУ. Назначение ПЗУ - хранение программ для реализации стандартных операций; универсальность ставится в соответствие объему ПЗУ. Общий максимальный объем ОЗУ и ПЗУ ограничивается объемом адресного поля МП-набора V, минимальные объемы ОЗУ и ПЗУ V1 и V2 определяются путем эмуляции программ, отражающих минимальный уровень выполнения алгоритма регулирования и стандартных про грамм соответственно. Описание СКВ. В упрощенной форме правила порождения СКВ задаются следующим образом: [модуль ПК] :: = [lnt (<МП> <ОЗУ> <ПЗУ>)│ │ <МП> :: = МПI│МП2│МПЗ │ <ОЗУ> :: = <ОЗУl >│<ОЗУ2> │ (1) <ПЗУ>:: = ЭППЗУ│<ПЗУ>ЭППЗУ │ <ОЗУl>:: = СОЗУ│<ОЗУl>СОЗУ │ <ОЗУ2>:: = ДОЗУ│<ОЗУ2>ДОЗУ ⌡ Ограничения: Nk < Nkmax, Vозу + Vпзу < V. Общий вид СКВ. порождаемых описанием (1): X= (x1, x2, x3, x4,x5)). Компоненты СКВ: x1 - тип МП, x2 - тип ОЗУ, x3 - количество корпусов ОЗУ, x4 - тип ПЗУ, x5 количество корпусов ПЗУ. Поскольку внутриплатный интерфейс определяется выбором МП, он в вектор Х не включен. Формирование ТрС. Вводятся в рассмотрение системные требования G=(g1 , g2, gз, g4, g5, g6, g7). задаваемые в виде размытых множеств Si на множествах значений характеристик zi:λ,Pm, т ,Ст , τ, VОЗУ, VПЗУ .Функции принадлежности μ1 ...μ7 размытых множеств могут быть представлены [21, 22] аналитическими зависимостями с параметрами k, характеризующими степень размытости: • интенсивность отказов λ (требование g1): • потребляемая мощность Рм (g2): 48 • габариты т (gз): • стоимость Ст (g4) • быстродействие τ (g5): • универсальность (g6): • сложность (g7): Параметры k1…. k5 .из соображений симметричности выбираются равными единице (различия в значимости требования отражаются коэффициентами (α1……α5). · Параметры k6 и k7 варьируются в процессе расчета. Построение ранжированного множества СКВ. Для каждого СКВ, удовлетворяющего описанию (1), расчетным путем и с помощью эмуляции определяются значения характеристик системы zi на которые наложены системные требования g1 ....g7, Эти значения подставляются в выражение (2). Результаты вычислений vi; (в предположении vi = μi), отнесенные к отдельным СКВ. возводятся в степени (α1……α7) соответственно и перемножаются. Полученные для каждого СКВ значения V определяют его ранг (чем больше v, тем «выше» место СКВ). В табл. приведен гипотетический пример расчета СКВ Х1 - Х5 для типовых значений параметров микросхем и указанных в таблице значений α1……α7; V1 = 0,5 V2; k6 = k7 = k* = 0.2; Nk = 25. Как видим. лучшим оказался СКВ с номером 2. Для проверки полученного решения «на устойчивость» вводилась вариация параметра k* на величину ∆k*. При ∆k*/k*=0.5 ранги СКВ не изменились. Таким образом. для дальнейшего инженерного проектирования лучше других подходит СКВ с номером 2. В процессе разработки моделей семейства микро-ЭВМ СМ18ХХ СКВ-метод последовательно использовался на различных этапах процесса принятия решений при выборе структуры вычислительного ядра. внутреннего интерфейса. определении структуры модулей связи с периферией, устройств связи с объектом и т.д. Кроме того, метод применялся в процессе выбора микро-ЭВМ для различных системных применений. СКВ-метод позволяет формализовать некоторые этапы проектирования микропроцессорных средств и систем. Образуя фундамент научно обоснованного принятия решений при анализе многочисленных альтернатив, возникающих в процессе разработки, этот метод является достаточно универсальным инструментом проектирования УВК и прикладных систем на их основе. 25. Характеристики ОСРВ LINUX Характерными особенностями Linux как операционной системы являются: 49 многозадачность: одновременно выполняется множество программ; многопользовательский режим: большое число пользователей одновременно работают на одной и той же машине; защищенный режим процессора (386 protected mode); защита памяти процесса; сбой программы не может вызвать зависания системы; экономная загрузка: Linux считывает с диска только те части программы, которые действительно используются для выполнения; разделение страниц по записи между экземплярами выполняемой программы. Это значит, что процессы-экземпляры программы могут использовать при выполнении одну и ту же память. Когда такой процесс пытается произвести запись в память, то 4-x килобайтная страница, в которую идет запись, копируется на свободное место. Это свойство увеличивает быстродействие и экономит память; виртуальная память со страничной организацией (т.е. на диск из памяти вытесняется не весь неактивный процесс, а только требуемая страница); виртуальная память в самостоятельных разделах диска и/или файлах файловой системы; объем виртуальной памяти до 2 Гбайт; изменение размера виртуальной памяти во время выполнения программ; общая память программ и дискового кэша: вся свободная память используется для буферизации обмена с диском; динамические загружаемые разделяемые библиотеки; дамп программы для пост-мортем анализа: позволяет анализировать отладчиком не только выполняющуюся, но и завершившуюся аварийно программу; совместимость со стандартами System V и BSD на уровне исходных текстов; наличие исходного текста всех программ, включая тексты ядра, драйверов, средств разработки и приложений. Эти тексты свободно распространяются. В настоящее время некоторыми фирмами для Linux поставляется ряд коммерческих программ без исходных текстов, но все, что было свободным так и остается свободным; управление заданиями в стандарте POSIX; эмуляция сопроцессора в ядре, поэтому приложение может не заботиться об эмуляции сопроцессора. Конечно, если сопроцессор в наличии, то он и используется; поддержка национальных алфавитов и соглашений, в т.ч. для русского языка; возможность добавлять новые; множественные виртуальные консоли: на одном дисплее несколько одновременных независимых сеансов работы, переключаемых с клавиатуры; поддержка ряда распространенных файловых систем (MINIX, Xenix, файловые системы System V); наличие собственной передовой файловой системы объемом до 4 Терабайт и с именами файлов до 255 знаков; прозрачный доступ к разделам DOS (или OS/2 FAT): раздел DOSвыглядит как часть файловой системы Linux; поддержка VFAT; специальная файловая система UMSDOS, которая позволяет устанавливать Linux в файловую систему DOS; поддержка всех стандартных форматов CD ROM; поддержка сети TCP/IP, включая ftp, telnet, NFS и т.д. 26. Характеристики ОСРВ QNX (Затронуто в (15); поискать в ОС_Синягин!!!) 27. Нечеткие множества; нечеткие отношения Пусть — так называемое универсальное множество, из элементов которого образованы все остальные множества, рассматриваемые в данном классе задач, например множество всех целых чисел, множество всех гладких функций и т.д. Характеристическая функция множества — это функция , значения которой указывают, является ли элементом множества : 50 Особенностью этой функции является бинарный характер ее значений. С точки зрения характеристической функции, нечеткие множества есть естественное обобщение обычных множеств, когда мы отказываемся от бинарного характера этой функции и предполагаем, что она может принимать любые значения на отрезке множеств характеристическая функция называетсяфункцией . В теории нечетких принадлежности, а ее значение — степенью принадлежности элемента нечеткому множеству Более строго, нечетким множеством называется совокупность пар где — функция принадлежности, т.е. Пусть, например, . . Будем говорить, что элемент не принадлежит множеству , элемент принадлежит ему в малой степени, элемент более или менее принадлежит, элемент принадлежит в значительной степени, является элементом множества . Пример. Пусть универсум есть множество действительных чисел. Нечеткое множество , обозначающее множество чисел, близких к 10 (см. рис.1.1), можно задать следующей функцией принадлежности: где . Рис. 1.1. Показатель степени выбирается в зависимости от степени близости к 10. Например, для описания множества чисел, очень близких к 10, можно положить ; для множества чисел, не очень далеких от 10, . Носителем нечеткого множества которых величина называется четкое множество положительна, т.е. Высотой нечеткого множества называется величина Нечеткое множество называется нормальным, если называетсясубнормальным. таких точек в , для . . . В противном случае оно Нечеткое множество называется пустым, если . Очевидно, что в данном универсуме существует единственное пустое нечеткое множество. Непустое субнормальное нечеткое множество можно привести к нормальному (нормализовать) по формуле Множеством уровня универсального множества ( -срезом) нечеткого множества , определяемое по формуле Множество строгого уровня определяется в виде называется четкое подмножество . В частности, носителем нечеткого множества является множество элементов, для которых . Понятие множества уровня является расширением понятия интервала. Оно представляет собой объединение не более чем 51 счетного числа интервалов. Соответственно, алгебра интервалов есть частный случай алгебры множеств уровня. Точка перехода нечеткого множества — это такой элемент , для которого . Четкое множество , ближайшее к нечеткому множеству , определяется следующим образом: Нечеткое множество в пространстве называется выпуклым нечетким множеством тогда и только тогда, если его функция принадлежности выпукла, т.е. для каждой пары точек и из функция принадлежности удовлетворяет неравенству Нечеткие отношения Обычное неразмытое произведения множеств , для любого -арное отношение определяется как подмножество декартова Подобно нечеткому множеству, нечеткое отношение можно задать с помощью его функции принадлежности где в общем случае будем считать, что — это полная дистрибутивная решетка. Таким образом, — это частично упорядоченное множество, в котором любое непустое подмножество имеет наибольшую нижнюю и наименьшую верхнюю грани и операции пересечения и объединения в удовлетворяют законам дистрибутивности. Все операции над нечеткими отношениями определяются с помощью этих операций из . Например, если в качестве взять ограниченное множество вещественных чисел, то операциями пересечения и объединения в будут, соответственно, операции и , и эти операции будут определять и операции над нечеткими отношениями. Далее мы ограничимся рассмотрением лишь бинарных нечетких отношений, являющихся отображением на отрезок , т.е. . Если множества и конечны, нечеткое отношение между и можно представить с помощью егоматрицы отношения, первой строке и первому столбцу которой ставятся в соответствие элементы множеств и , а на пересечении строки и столбца помещается элемент (см. табл.2.1). Таблица 2.1. 0 1 0 ,5 ,8 0 0 0 ,7 ,6 ,3 0 0 1 ,7 ,4 0 0 0 В случае, когда множества и совпадают, нечеткое отношение называют нечетким отношением на множестве X. В случае конечных или счетных универсальных множеств очевидна интерпретация нечеткого отношения в виде взвешенного графа, в котором каждая пара вершин ребром с весом . Пример. Пусть и задает некоторое нечеткое отношение из соединяется , тогда нечеткий граф, изображенный на рис рис. 2.1, . 52 Рис. 2.1. Операции над нечеткими отношениями Объединение и пересечение нечетких отношений определяется следующим образом: Отношение включения частичного порядка на : для нечетких отношений определяется с помощью отношения Множество всех нечетких отношений между и образует дистрибутивную решетку по отношению к операциям объединения и пересечения и удовлетворяет следующим тождествам: 1. Идемпотентность: 2. Коммутативность: 3. Ассоциативность: 4. Дистрибутивность: Выполнение этих тождеств для решетки .В следует из выполнения соответствующих тождеств для выполняется также следующее соотношение: Из полноты решетки следует, что она обладает наименьшим 0 и наибольшим I элементами. Эти элементы определяют, соответственно, пустое и универсальное нечеткие отношения: Следующее соотношение определяет композицию нечетких отношений и : Здесь обозначает наименьшую верхнюю грань множества элементов , где пробегает все значения из . В силу полноты эта операция всегда определена. Свойства нечетких отношений Различные типы нечетких отношений определяются с помощью свойств, аналогичных свойствам обычных отношений, причем для нечетких отношенийможно указать различные способы обобщения этих свойств. 1. Рефлексивность: 2. Слабая рефлексивность: 3. Сильная рефлексивность: 4. Антирефлексивность: 5. Слабая антирефлексивность: 53 6. Сильная антирефлексивность: 7. Симметричность: 8. Антисимметричность: 9. Асимметричность: 10. Сильная линейность: 11. Слабая линейность: 12. Транзитивность: 28. Нечеткие множества; основные операции с нечеткими множествами Для определения пересечения и объединения нечетких множеств наибольшей популярностью пользуются следующие три группы операций: Максиминные: Алгебраические: Ограниченные: Дополнение одинаково: нечеткого множества во всех трех случаях определяется . 29. Базовое ПО СИКОН Базовое программное обеспечение включает в себя: операционную систему реального времени ОС167; сетевую задачу; задачи ввода/вывода аналоговых и дискретных сигналов; задачи поддержки платы связи РС с PROFIBUS; РС-программы для обращения к любым узлам по PROFIBUS. Операционная система ОС167 Операционная cистема ОС167 является операционной системой реального времени, которая обеспечивает: многозадачность; запуск и останов задач в соответствии с их приоритетом; синхронизацию задач между собой; планирование задач; обслуживание прерываний; распределение оперативной памяти; службу времени; работу с ведомостью событий. Максимальное число выполняемых задач зависит от выбранного типа контроллера и колеблется от 18-ти до 50-ти. 54 Задачи запрашивают какие-либо действия системы при помощи специальных системных запросов. Некоторые запросы ОС167 не являются обязательными и могут не включаться в ОС167 по желанию заказчика. Сетевая задача Связь между различными узлами осуществляется по сети. Алгоритм связи совместим с сетью PROFIBUS (ProcessFildBus) и реализуется сетевой задачей. Сетевая задача использует сервисы ОС167, поэтому может использоваться только совместно с ОС167, обеспечивая: чтение и запись данных в различные массивы памяти; передачу сообщений в задачи любых узлов сети; прием сообщений от задач любых узлов сети; запрос буфера динамической памяти; запуск задач; останов задач; общий сброс контроллера. Длина передаваемых данных не должна превышать 241 байт. Задачи ввода/вывода сигналов и вспомогательные задачи Комплект вспомогательных задач формируется и поставляется в соответствии с пожеланиями заказчика из предлагаемого перечня: Ввод и фильтрация дискретных сигналов. Ввод частотных сигналов. Сетевой ввод. PID регулирование. Таймеры. Комплект вспомогательных задач может быть расширен задачами, написанными самим пользователем. Задача "Ввод и фильтрация дискретных сигналов" устраняет дребезг входных контактов при дискретном вводе и отображает состояние дискретных входов в ПОЛЕ СИГНАЛОВ. Задача "Ввод частотных сигналов" осуществляет ввод частотных сигналов (а также сигналов от аналоговых датчиков, преобразованных в частоту) и отображение состояния частотных входов в ПОЛЕ СИГНАЛОВ. Задача "Cетевой ввод" обеспечивает считывание данных из ПОЛЯ СИГНАЛОВ другого узла сети и запись этих данных в ПОЛЕ СИГНАЛОВ узла, запросившего эти данные. Задача "PID-регулирование" осуществляет формирование ШИМ-сигналов по алгоритму PIDрегулирования. Задача "Таймеры" дает возможность задаче управления отслеживать от 1 до 8 интервалов времени. Под ПОЛЕМ СИГНАЛОВ понимается массив, отображающий состояние аналоговых, частотных и дискретных входов объекта и его выходов. Этот массив может быть организован в любом контроллере сети и является доступным из любого другого узла сети. Задача "Управление" 55 Задача "Управление" является уникальной для каждой конкретной системы и разрабатывается пользователем. Задача "Управление" анализирует данные, полученные от задач формирования ПОЛЯ СИГНАЛОВ, формирует соответствующие управляющие сигналы на объект и записывает их в соответствующее место ПОЛЯ СИГНАЛОВ. Для ускорения процесса написания задачи "Управление" пользователю рекомендуется использовать язык CLL, который является языком программирования алгоритмов логического управления технологическими процессами а также "Систему подготовки и отладки программ для промышленных контроллеров семейства СИКОН. Пограммное обеспечение подсистемы ввода и отображения Программное обеспечение подсистемы ввода и отображения информации включает в себя: задачи поддержки платы связи РС с PROFIBUS (в кодах SABа); РС-программы для обращения к любым узлам по PROFIBUS (в кодах РС). Связь РС с сетью PROFIBUS выполняется через внутреннюю плату связи РС с PROFIBUS (СИКОН 165.22 / СИКОН 165.23). К задачам платы связи относятся: операционная система реального времени ОС167; сетевая задача; задачи ожидания информации от РС и от узлов PROFIBUS. Задачи платы связи генерируются разработчиком и поставляются заказчику в виде загрузочного модуля, загрузка и запуск которого осуществляется при помощи специального загрузчика. Ознакомившись с алгоритмом работы PROFIBUS, пользователь сам может создавать любые РСпрограммы для обращения к любым объектам любых узлов сети с заданной функцией и осуществлять общее управление технологическим процессом. Для работы с котроллерами типа СИКОН пользователю предлагаются РС-программы для работы с узлами сети. Воспользовавшись ими, пользователь может просто указывать узел сети, номер точки доступа и требуемую функцию и получать соответствующий ответ, не загружая свою голову сведениями о программном обеспечении платы связи и об организации сетевых запросов. 56 30. Решение задачи PID-регулятора; схема применения ; программа ПИД-регулятор - пропорционально-интергально-дифференциальный регулятор. ПИД-регулятор состоит соответственно из пропорционального (Кп), интегрального (Ки/s) и дифференциального (Кдs) звена, у каждого из них свой коэффициент усиления (рис. 1). Рис. 1. Структурная схема системы управления с ПИД-регулятором. Здесь: s - оператор Лапласа (иногда его обозначают, как p). Если абстрагироваться от преобразований Лапласа, то записи Кп, Ки/s и Кдs следует воспринимать лишь как обозначения соответствующего звена, а не как к математическому выражению. И уж точно не стоит искать значение s, потому что, как уже было сказано, это оператор, а не переменная. В системе с ПИД-регулятором реальная скорость V(t) двигателя измеряется с помощью датчика. На вход системы поступает заданное значение скорости Vзад(t) в тех же единицах, что и реальная скорость. Сумматор обратной связи вычитает из сигнала задания на скорость Vзад(t) сигнал реальной скорости V(t) и формирует на выходе сигнал ошибки t): Сигнал ошибки поступает на пропорциональное, интегральное и дифференциальное звенья ПИД-регулятора. Пропорциональное звено производит умножение сигнала ошибки на коэффициент Kп и формирует выходной сигнал yп. Интегральное звено производит интегрирование коэффициент Kи и формирует выходной сигнал yи. умножает на Дифференциальное звено производит дифференцирование сигнала ошибки по времени умножения результата на число Kд и формирование выходного сигнала yд. t), Сумматор сигналy(t): ПИД-регулятора суммирует сигнала t) по сигналы yп(t), yи(t) и yд(t) и времени, формирует выходной ШИМ и силовой ключ предназначены для передачи на двигатель рассчитанного выходного сигнала y(t). Расчет коэффициентов ПИД-регулятора. Чтобы рассчитать коэффициенты ПИД-регулятора следует решить обратную задачу динамики. Для этого абстрагируемся от ПИД-регулятора. Будем полагать, что структура регулятора, т.е. его передаточная функция Wр(s), нам неизвестна. За то известна передаточная функция объекта управления Wдв(s) (рис. 4). 57 Рис. 4. Исходная схема для расчета регулятора для двигателя постоянного тока. Запишем передаточную функцию замкнутой системы Wз(s): Определим, какой переходной процесс в системе нас бы устроил? Нас вполне устраивает апериодический переходный процесс в системе. Именно так система должна реагировать на изменение скорости и нагрузки. Пусть желаемая постоянная времени переходного процесса Tж будет примерно равна Tм. Т.е. передаточная функция желаемой системы Wж(s) равна: Приравняем передаточную функцию замкнутой системы к передаточной функции желаемой системы: Путем простых математических преобразований, выразим отсюда выражение для передаточной функции регулятора Wр(s): Подставим значение Wдв(s): Введем коэффициенты: Получаем: Не сложно заметить, что мы получили просто коэффициент C1, коэффициент перед интегральным звеном С2 и коэффициент перед дифференцирующим звеном C3. Т.е. мы получили классическую структуру ПИД-регулятора с параметрами Kп=С1, Ки=C2 и Kд=C3: 58 31. Решение задачи табличной интерполяции; программа 59 60 32. Описание МП-структуры и задание СКВ СКВ-метод описания микропроцессорных структур позволяет получать множество различных предложений (структур), удовлетворяющих общим правилам их порождения. С этой целью вводятся металингвистические правила по типу формализации Бэкуса-Наура . Управляющий вычислительный комплекс в целом представляется в виде многоуровневой структуры, содержащей на каждом уровне отдельные модули (блоки). Структура отдельных модулей и УБК в целом описывается линейной скобочной формой, содержащей имена вложенных модулей, некоторое количество пар скобок, идентификаторы функций взаимодействия и/или указатели кратности. Модулям соответствуют стандартизованные элементы многоуровневых конструкций, применяемых в УВК, - например блоки элементов (печатная плата), монтажный блок (кассета), автономный комплектный блок (АКБ). Описание УВК состоит из конечного числа предложений, левая и правая части которых разделены символом «::=». Слева записывается нетерминальный символ, соответствующий модулю или УВК, содержащему вложенные элементы или модули, а справа - одно или несколько «значений» этого символа, разделенных ограничителями «│» (или) и содержащих терминальные (независимые, оконечные) и нетерминальные символы, соответствующие этим вложенным элементам или модулям, различные пары скобок и идентификаторы функций взаимодействия и т. д. В описании могут использоваться следующие пары скобок: < > - микросхема (группа микросхем); [ ] - блок элементов; { }- группа блоков элементов, монтажный блок или АКБ; " - любое из указанных объединений элементов; ( )-блок, все компоненты которого имеют общую функцию взаимодействия. Идентификатор функции ставится перед открывающей круглой скобкой и обозначает некоторый известный способ взаимодействия элементов структуры (например, способ соединения элементов, интерфейс, протокол передачи данных). Для произвольногo идентификатора функции взаимодействия зарезервирован символ Int. Указатель кратности произвольное целое число, которое может записываться перед именем модуля для указания количества модулей этого типа в структуре. Каждой порождаемой структуре УВК однозначно соответствует СКВ X = ( x1 , x2 ,...xk ), компоненты которого указывают типы выбранных элементов, их количество, типы интерфейсов и т.д. Разработчик задает множество СКВ { X j }, ãäå j [1,N]. Описание структур может быть рекурсивным. D этом случае может по рождаться бесконечное множество структур, и их ограничение производится с помощью дополнительных условий (например, равенств или неравенств), наложенных на количество применений того или иного предложения. 61 4, 7, 10, 12 Состав аппаратных и программных средств СМ1820М (т.е., по-моему, относится к вопросу№(4), но также может к (7), (10), (12)) СМ1820М – функционально полный комплекс технических и программных средств,построенный на современной элементно-конструктивной базе и передовых технических решениях. Он обеспечивает возможность создания распределенных, многоуровневых АСУ ТП в различных отраслях промышленности. Архитектура и схемотехнические решения, использованные в СМ1820М, направлены на обеспечение высокой производительности, надежности и живучести управляющих систем, построенных на ее основе. Технические средства СМ1820М сертифицированы Госстандартом России как средства измерения и рекомендованы Федеральной службой по экологическому, техническому и атомному надзору России для использования на объектах атомной энергии в системах, важных для безопасности. Они нашли применение на ряде важных объектов атомной промышленности России, Ирана, Китая и Индии – Белоярской АЭС, АЭС «Бушер», Тяньваньской АЭС, АЭС «Куданкулам». Их также используют на Московском метрополитене, на объектах химической промышленности. Комплекс технических средств СМ1820М включает ряд моделей контроллеров и управляющих вычислительных комплексов верхнего и нижнего уровней. В состав технических средств семейства СМ1820М входят УВК верхнего уровня - СМ1820МВУ, предназначенные для создания серверов и автоматизированных рабочих мест, и УВК нижнего уровня - СМ1820МНУ, предназначенные для централизованного контроля и управления сосредоточенными объектами, промышленные контроллеры СМ1820М КП и СМ1820М КПМ, мини-контроллеры и моноблочные контроллеры для построения распределенных систем. Промышленные контроллеры и УВК семейства СМ1820М могут использоваться как автономно, так и в составе локальных сетей. Конструкция промышленных контроллеров и УВК позволяет эксплуатировать их в промышленных средах. Программные средства семейства СМ1820М включают системное программное обеспечение с использованием ОС Windows 2000, Linux, QNX, программный пакет SCADA – WinCC, ПО АРМ, средства дистанционного управления, тесты. ИНЭУМ поставляет технические и программные средства семейства СМ1820М в видекомплексов «под ключ», либо в виде отдельных компонентов семейства (промышленных компьютеров, контроллеров, модулей, устройств), выполняет заказные разработки, принимает участие во внедрении и сопровождении своей продукции на объектах заказчика. УВК СМ1820МВУ предназначены для создания на их основе серверов локальных сетей и АРМ. Архитектура СМ1820МВУ полностью совместима с IBM PC/AT. Вычислительный блок УВК СМ1820МВУ построен по магистрально-модульному принципу на основе интерфейса Compact PCI. В составе УВК СМ1820МВУ используются модули и устройства ведущих производителей технических средств, а также собственной разработки и производства. По производительности, объему памяти, укомплектованности внешними устройствами УВК СМ1820МВУ практически ничем не отличаются от ПК промышленного исполнения, однако существенно превосходят их по устойчивости к неблагоприятным воздействиям окружающей среды. Конструкция УВК СМ1820МВУ обеспечивает соответствие жестким требованиямклиматической и механической устойчивости, в том числе по сейсмостойкости и виброустойчивости. УВК СМ1820МВУ могут быть выполнены в виде напольного шкафа или в виде стола-тумбы, в котором размещаются вычислительный блок, коммуникационные средства, источник бесперебойного питания. УВК СМ1820МВУ отличаются малой шумностью, т.к. в них используются вентиляторы малой мощности, или они вообще отсутствуют. Программное обеспечение верхнего уровня УВК СМ1820МВУ работают под управлением практически любых ОС, совместимых с архитектурой IBM PC/AT – Windows, Linux, QNX и др. Основным инструментом для создания прикладного ПО верхнего уровня служит SCADA - система визуализации и управления технологическими процессами WinCC фирмы Сименс. WinCC предоставляет в распоряжение пользователя ряд редакторов и интерфейсов, с помощью которых эти функции могут быть индивидуально спроектированы для любого приложения. В WinCC реализованы централизованное управление проектом для быстрого доступа ко всем его данным, централизованная настройка уставок, контроль параметров. Функционирует графическая система для свободно формируемой визуализации и управления через полностью графические объекты, причем все их свойства могут быть сделаны динамическими. 62 Система сообщений для регистрации и архивирования событий выполняет все процедуры отображения и управления в соответствии с DIN 19235, позволяет свободно выбирать классы сообщений, формы их отображения и протоколирования. Производится архивирование значений переменных процесса для регистрации и сохранения измеренных параметров, например, для представления в виде графиков и таблиц с целью дальнейшей обработки. Система отчетов обеспечивает учет времени и событий, документирование сообщений, управляющих воздействий и текущих данных о процессе в виде пользовательских отчетов или проектной документации в свободно выбираемом формате. WinCC имеет инструменты для удобного управления пользователем и его полномочиями. Каналы связи для обмена данными с подчиненными устройствами используют протоколы SIMATIC, Profibus DP, сервер DDE и OPC . Стандартные интерфейсы для открытой интеграции других приложений Windows, ODBC/SQL, ActiveX, OLE, DDE, OPC. С помощью WinCC и специальных драйверов, поддерживающих связь промышленных контроллеров СМ 1820МКП, КПМ, мини-контроллеров с верхним уровнем АСУ, можно решать разнообразные задачи автоматизации любого уровня сложности. Промышленные контроллеры предназначены для круглосуточной работы в необслуживаемом режиме с целью сбора и первичной обработки данных, поступающих от датчиков объекта управления, и выдачи управляющих воздействий на исполнительные устройства объекта управления. Для взаимодействия с объектами управления, имеющими различную степень пространственной локализации точек обслуживания (датчиков и/или исполнительных устройств) предлагаются четыре типа контроллеров, отличающиеся конструктивным исполнением и элементной базой: – контроллеры серии СМ1820М КП, построенные на основе архитектуры MicroPC; – контроллеры серии СМ1820М КПМ, также построенные на основе архитектуры MicroPC; – мини-контроллеры на основе архитектуры PC/104; – моноблочные контроллеры. Контроллеры всех типов не имеют встроенных вентиляторов, допускают резервирование, имеют не менее 2 каналов связи по интерфейсу RS-485 и способны работать как в составе локальных сетей, поддерживая единый для всех типов контроллеров протокол, так и автономно. Контроллеры серии СМ1820М КП, СМ1820М КПМ, а также мини-контроллеры могут работать в локальных сетях Ethernet. Контроллеры серии СМ1820М КП предназначены для взаимодействия с объектами, в которых к каждому контроллеру может быть подключено от нескольких десятков до нескольких сотен точек обслуживания, в зависимости от типов установленных в контроллере модулей. Контроллеры серии СМ1820М КП предназначены для работы в условиях промышленного производства и имеют пылевлагозащитный корпус со степенью защиты IP-55 (или IP-66). Для контроллеров серии СМ1820М КП выпускаются корпуса в виде настенных шкафов трех основных типоразмеров: 1000х800х220, 700х500х220, 600х500х220. Возможно использование корпусов других размеров. Контроллеры серии СМ1820М КП содержит монтажный каркас (крейт) на 4,6,8 или 12 мест, объединенных шиной ISA. Контроллеры серии СМ1820М КП являются свободно компонуемыми изделиями и могут содержать в себе различный набор модулей и устройств. В контроллерах серии СМ1820М КП используются процессорные модули, обладающие совместимостью с ПК класса IBM PC/AT, модули ввода сигналов (аналоговых, дискретных и число-импульсных), модули вывода сигналов (аналоговых и дискретных), коммуникационные модули, обеспечивающие сопряжение с интерфейсами RS-485, RS-422, RS-232, CAN, Ethernet, терминалы для ручного оперативного ввода-вывода информации, измерительные преобразователи сигналов. Допускается использование в составе контроллеров серии СМ1820М КП модулей других производителей, выполненных в стандарте MicroPC. Все модули ввода и вывода сигналов связаны гибкими шлейфами с кроссовыми модулями, на зажимы которых подводятся кабели от объекта управления. В корпусе контроллера могут также размещаться средства сопряжения с оптоволоконными линиями связи, проводные и радиомодемы, другое оборудование. Модульная архитектура позволяет компоновать контроллеры без избыточности, учитывая требования конкретных пользователей. При заказе контроллеров составляется карта заказа, в которой определяется состав оборудования, входящего в их состав. Контроллеры СМ1820М КПМ предназначены для взаимодействия с объектами, в которых к каждому контроллеру может быть подключено несколько десятков сотен точек обслуживания, в зависимости от типов установленных в контроллере модулей. Контроллеры серии СМ1820М КПМ предназначены для работы в условиях промышленного производства и имеют те же пылевлагозащитные корпуса, что контроллеры серии СМ1820М КП. На всех модулях ввода и вывода, 63 предназначенных для контроллеров серии СМ1820М КПМ, установлены 20-контактные кроссовые колодки с винтовыми зажимами, непосредственно на которые подводятся кабели от объекта управления. Такая конструкция позволяет отказаться от использования кроссовых модулей, что может заметно снизить цену контроллера. Аппаратные средства и ПО контроллеров серий СМ1820М КПМ и СМ1820М КП полностью совместимы. Программное обеспечение промышленных контроллеров СМ 1820МКП, СМ1820М КПМ Промышленные контроллеры серий СМ 1820М ПК и СМ1820М ПКМ (в дальнейшем ПЛК) являются PC-совместимыми компьютерами, базирующимися на микропроцессоре типа Intel. В них реализована полная совместимость с Базовой системой ввода/вывода (BIOS) для IBM PC/АТ и ОС типа MS DOS, Linux, QNX. Система программного обеспечения КП состоит из тестового и системного программного обеспечения, а также драйверов поддержки связи с верхним уровнем АСУ. Тестовое ПО состоит из автономных (записанных в контроллере на FLASH-диске) тестов, позволяющих произвести полную проверку каждого отдельного модуля, входящего в состав ПЛК и общесистемного теста, обеспечивающего по инициативе верхнего уровня АСУ возможность проверки работоспособности сети в целом и отдельных модулей для каждого ПЛК, входящего в состав распределенной системы. Системное ПО ПЛК обеспечивает непрерывный сбор информации от модулей, входящих в состав ПЛК (дискретных, аналоговых и т.п.), ее первичную обработку и передачу на верхний уровень, прием и выполнение специальных команд с верхнего уровня, локальное управление, диагностику и статистику ошибок. Системное ПО ПЛК выполняет: - настройку определенной конфигурации конкретного ПЛК (определение сетевого адреса, числа модулей и каналов в каждом из них, задание уставок для аналоговых модулей, времен опроса и т.п.); - инициализацию и проверку коммуникационных каналов RS-485, Ethernet, осуществляющих связь с верхним уровнем; - поддержку протокола канального уровня для связи по сети с верхним уровнем; - учет ошибок по каналу связи, количества принятых и переданных пакетов (статистика); - инициализацию и поддержку многозадачного ядра реального времени; - исполнение команд, переданных по сети с верхнего уровня; - установку часов реального времени в соответствии со значениями, переданными с верхнего уровня; - установку конфигурации дискретных и аналоговых каналов в соответствии с параметрами, переданными с верхнего уровня; - установку периода опроса и запуск отдельных задач (например: опрос дискретных каналов) в соответствии с параметрами, переданными с верхнего уровня; - регистрацию изменений дискретных каналов ввода (телесигнализацию положения двухпозиционных объектов) с передачей асинхронного сообщения на верхний уровень; - регистрацию изменений аналоговых каналов ввода (телеизмерение аналоговых датчиков) - поддержку текущей базы данных по всем изменениям состояния дискретных сигналов и аналоговых сигналов (например, выход за уставки), через кольцевой буфер с отметками времени); - выдачу сигналов управления (телеуправление) по командам с верхнего уровня (инициирование сигнала через дискретный вывод) с последующей передачей подтверждения на верхний уровень (через специальное асинхронное сообщение); - запуск специальных задач локального регулирования; - передачу специального асинхронного сообщения в случае отказа оборудования. Системное ПО имеет механизмы гибкой настройки, что позволяет пользователю описать базовую конфигурацию контроллера и автоматическое выполнение простейших логических операций и блокировок автоматизируемого технологического процесса. Вся конфигурационная информация содержится в свободно читаемых файлах формата xml и доступна для ручного и автоматического редактирования. Для создания конфигурационных файлов разработано специализированное ПО для ОС семейства Windows, что позволяет создать конфигурацию контроллера непосредственно на рабочем месте. Кроме того, системное ПО имеет предустановленные функции исполнения циклограмм. Это позволяет технологам автоматизируемого процесса самостоятельно задавать последовательность выдачи команд управления с разрешением времени 1 мс. Версия системного ПО для ОС семейства QNX реализована для распределенного исполнения в сети QNet, что позволяет объединять несколько контроллеров в единую сеть и оперировать единым пространством сигналов в этой сети. 64 В настоящее время завершается разработка инструментальных средств программирования контроллеров, дающих возможность разработчикам прикладных программ, в том числе техническому персоналу объекта автоматизации, описывать задачи в категориях, близких к самому объекту автоматизации. Применяемые языки программирования соответствуют требованиям стандарта МЭК61131-3 и позволяют создавать программы, понятные технологам на объекте автоматизации. Инструментальные средства созданы на основе пакета CoDeSys фирмы Smart Software Solutions GmbH (3S). Мини-контроллеры на основе РС/104 предназначены для взаимодействия с объектами, в которых на один контроллер приходится небольшое число точек обслуживания – до нескольких десятков. Мини-контроллеры предназначены для работы в условиях промышленного производства и имеют пылевлагозащитный корпус со степенью защиты IP-55 (или IP-66). В корпус устанавливается процессорный модуль с выходом на интерфейс РС/104, к которому могут быть подключены функциональные модули (до 3 штук). Мини-контроллеры рекомендуются для применения в малоканальных системах управления с целью оптимизации технико-экономических показателей системы. Номенклатура функциональных модулей PC/104, разработанных для мини-контроллеров включает модули процессора на базе 80386ЕХ, совместимый с IBM PC/AT; модули ввода и вывода дискретных сигналов; модули ввода и вывода аналоговых сигналов; модуль ввода число-импульсных сигналов; коммуникационные модули интерфейсов RS-485, RS-232, Ethernet; модуль клавиатуры и ЖК-дисплея.