[2 курс - АСОиУ] Курсовой (1076650), страница 2
Текст из файла (страница 2)
Современный уровень развитие информационных систем требует от структуры системы соответствия следующим требованиям, не выполнение которых делает систему значительно менее живучей и неспособной к эффективному развитию и совершенствованию: система должна обладать открытой архитектурой, система должна быть распределённой.
Оба этих свойства системы известны давно, но лишь с развитием микропроцессорной техники и сетевых технологий стало возможно и экономически оправданно строить системы автоматики действительно удовлетворяющие этим двум требованиям. Стало целесообразным выделять в общей структуре системы отдельные локальные задачи, решение которых поручать локальным контроллерам. Контур управления, таким образом, замыкается на нижнем уровне. Сеть же позволяет контроллерам в качестве аргументов для вычисления управляющего вектора использовать переменные других контроллеров, обеспечивая связанность системы управления в целом. Такая архитектура существенно увеличивает производительность и надежностьсистем. Международная организация по стандартизации (ISO) в 1984-м году сформулировала модель взаимодействия открытых систем (OSI), выделив семь уровней такого взаимодействия. Следование этой модели позволяет структуре такой системы быть "открытой" в том смысле, что будет она является хорошо структурированной и понятной специалисту не только в данной узкой прикладной области, но и вообще специалисту широкого профиля по информационным системам. Важнейшим фактором является и то, что снижаются затраты на создание программного обеспечения, так как оно становится более или менее стандартизованным. Сопровождение такого программного обеспечения также осуществлять проще, что в конечном итоге повышает надёжность всей системы.
Рис. 2. Эталонная модель взаимодействия открытых систем
1) Физический уровень (нижний) – отвечает за физическую среду передачи: кабели, разъемы, согласование линий связи, электрического преобразование сигналов.
2) Канальный уровень – на этом уровне основная задача - логическое управление линией передачи, управление доступом к сети, обнаружение ошибок передачи и их исправления путём повторной посылки пакетов.
3) Сетевой уровень – отвечает за адресацию пакетов данных, связывает физические сетевые адреса и логические имена, осуществляет выбор маршрута (маршрутизацию) доставки данных.
4) Транспортный уровень – здесь осуществляется создание пакетов данных и гарантированная доставка этих пакетов. При необходимости используются процедуры восстановления потерянных данных.
5) Сеансовый уровень – сеанс связи означает, что между абонентами сети установлено логическое соединение, определены логические имена, контролируются права доступа.
6) Представительский уровень – на этом уровне происходит преобразование рабочей информации в логическую и физическую форму, наиболее пригодную для дальнейшей передачи в сети. Здесь происходят такие процедуры, как сжатие, шифрование, преобразование форматов данных.
7) Прикладной уровень (уровень приложений) – уровень программ пользователя. Верхний уровень, непосредственно взаимодействующий с пользователем.
Структура уровней такова, что замена аппаратной части сказывается лишь на уровнях 1 и 2, вышестоящие уровни этой замены не замечают.
2.2. Локальные управляющие вычислительные сети
Для передачи информации в системах автоматики всё шире используются не традиционные каналы связи, такие, как специализированные многожильные кабели, выделенные телефонные каналы, а локальные сети.
Foundation Fieldbus (далее FF) — самый молодой и быстро растущий стандарт на промышленную сеть. Он вобрал в себя самые современные технологии построения управляющей сети масштаба предприятия. Практически стандарт определяет два уровня сети. На нижнем уровне (Н1) в качестве физической среды передачи данных за основу взят стандарт IEC 61158-2, который позволяет использовать сеть FF на врывоопасных производствах с возможностью запитки датчиков непосредственно от канала связи. Скорость передачи информации на уровне H1 составляет 31,5 кбит/с. На верхнем уровне (бывший H2) в настоящее время, как правило, используется FF HSE (High Speed Ethernet), основанный, как видно из названия, на сети Ethernet со скоростью 100 Мбит/с. На физическом уровне интерфейсы Н1 Foundation Fieldbus и PROFIBUS-PA используют одинаковую витую пару, одинаковые уровни сигналов и скорости передачи и позволяют оконечным устройствам запитываться непосредственно от канала связи. Более того, два этих протокола могут одновременно совместно находиться на одном и том же физическом участке сети.
Сервером называется абонент (узел) сети, который предоставляет свои ресурсы другим абонентам, но сам не использует ресурсы других абонентов, то есть служит только сети. Серверов в сети может быть несколько, и совсем не обязательно сервер – это самый мощный компьютер. Выделенный сервер – это сервер, занимающийся только сетевыми задачами. Невыделенный сервер может заниматься помимо обслуживания сети и другими задачами. Специфический тип сервера – это сетевой принтер.
Клиентом называется абонент сети, который только использует сетевые ресурсы, но сам свои ресурсы в сеть не отдает, то есть сеть его обслуживает. Компьютер-клиент также часто называют рабочей станцией.
В принципе, каждый компьютер может быть одновременно как клиентом, так и сервером. Под сервером и клиентом часто понимают также не сами компьютеры, а работающие на них программные приложения. В этом случае то приложение, которое только отдает ресурс в сеть, является сервером, а то приложение, которое только пользуется сетевыми ресурсами, является клиентом.
Под топологией (компоновкой, конфигурацией, структурой) компьютерной сети обычно понимается физическое расположение компьютеров сети друг относительно друга и способ соединения их линиями связи. Физическая топология сети – это схема расположения компьютеров и прокладки кабелей. Логическая топология – это структура логических связей и вытекающих из них способов распространения сигналов. Информационная топология – это пути распространения информации по сети.
Существует три основных топологии сети:
Рис. 3. Топология “шина”
Шина (bus) – при которой все компьютеры параллельно подключаются к одной линии связи и информация от каждого компьютера одновременно передается всем остальным компьютерам.
Рис. 4. Топология “звезда”
Звезда (star) – при которой к одному центральному компьютеру присоединяются остальные периферийные компьютеры, причем каждый из них использует свою отдельную линию связи.
Рис. 5. Топология “кольцо”
Кольцо (ring) – при которой каждый компьютер передает информацию всегда только одному компьютеру, следующему в цепочке, а получает информацию только от предыдущего в цепочке компьютера, и эта цепочка замкнута в кольцо.
Кроме трех рассмотренных основных, базовых топологий нередко применяется также сетевая топология «дерево» (tree), которую можно рассматривать как комбинацию нескольких звезд.
Применяются и комбинированные топологии, среди которых наибольшее распространение получили звездно-шинная и звездно-кольцевая. В звездно-шинной (star-bus) топологии используется комбинация шины и пассивной звезды. В этом случае к концентратору подключаются как отдельные компьютеры, так и целые шинные сегменты, то есть на самом деле реализуется физическая топология «шина», включающая все компьютеры сети. В случае звездно-кольцевой (star-ring) топологии в кольцо объединяются не сами компьютеры, а специальные концентраторы, к которым в свою очередь подключаются компьютеры с помощью звездообразных двойных линий связи. В действительности все компьютеры сети включаются в замкнутое кольцо, так как внутри концентраторов все линии связи образуют замкнутый контур.
Топология сети определяет не только физическое расположение компьютеров, но, что гораздо важнее, характер связей между ними, особенности распространения сигналов по сети. Именно характер связей определяет степень отказоустойчивости сети, требуемую сложность сетевой аппаратуры, наиболее подходящий метод управления обменом, возможные типы сред передачи (каналов связи), допустимый размер сети (длина линий связи и количество абонентов), необходимость электрического согласования и многое другое.
3. ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ САИУ
3.1. Структура программного обеспечения
Программное обеспечение САиУ является такой же неотъемлемой частью современной системы, как и аппаратное обеспечение. От правильности проектирования и использования ПО зависят все основные показатели качества и надёжности системы автоматики в целом.
Часть программного обеспечения - системное ПО обычно поставляется фирмой и рассчитано на конкретную вычислительную платформу, используемую в конкретной САиУ.
Функционально близко к системному программному обеспечению находится специальное программное обеспечение, предназначенное не для автоматического управления, а для оперативного наблюдения за ходом процессов в системе, ведения архивов, отчётов, наглядного представления текущих параметров процессов, организации виртуальных измерительных приборов, дисплеев и т.п. Это - SCADA системы (System Control And Data Aquisition).
Другая часть программного обеспечения – драйверы устройств. Однако, зачастую эта часть программного обеспечения оказывается недостаточно качественной и инженер по автоматике – проектировщик всей САиУ обязан уделять этому аспекту особое внимание.
Наконец, имеется ещё один тип программного обеспечения, предназначенного для решения либо конкретных вычислительных задач – это прикладное программное обеспечение, которое создаёт разработчик конкретной САиУ.
3.2. Операционные системы, системное программное обеспечение
Основное требование, предъявляемое к вычислительным системам данного класса, это гарантированное время реакции на произошедшее событие. Операционная система реального времени (ОСРВ) гарантирует выработку сигналов обратной связи за фиксированный промежуток времени. Существуют разные структуры ОСРВ (монолитные, на основе микроядра, объектно-ориентированные), но главное заключается в том, что любая ОС отделяет собой аппаратуру от исполняемых задач, гарантируя стандартные надёжные методы доступа к ней, и обеспечивает взаимодействие между задачами.
ОСРВ выполняет следующие , необходимые при использовании средств вычислительной техники в автоматике:
- обеспечение бесконфликтного взаимодействия множества параллельных задач (процессов) с аппаратурой;
- бесконфликтное разделение общих ресурсов вычислительной системы (память, диски и т.п.);
- обеспечение безопасной передачи данных между процессами в защищённых адресных пространствах;
- обеспечение стандартных средств доступа к ресурсам, чтобы программисту не надо было писать соответствующие коды;
- обеспечение стандартных телекоммуникаций и сетевой поддержки;
- поддержание службы времени (системных и сетевых таймеров);
- создание вычислительной среды повышенной надёжности;
Многие современные операционные системы, способные обрабатывать "на лету" поступающие запросы (за счет распараллеливания, оптимизации ввода-вывода и оптимального планирования), в какой-то степени можно отнести к операционным системам реального времени. Как правило, такие операционные системы являются клонами ОС UNIX, где основным принципом построения ОС является разделение времени с целью предоставить каждому пользователю свой ресурс. По своей структуре ядро классических систем UNIX имеет достаточно большой размер, иногда не очень гибкую структуру, а главное, не позволяют получать откликов в течение заранее определенного интервала времени.
Главный критерий, по которому операционные системы можно разделить на обычные и операционные системы реального времени, - это детерминированная, строго определенная задержка времени ожидания или прерывания, необходимое процессу, прежде чем он получит управление. В ОСРВ различают два основных элемента - это время отклика и детерминизм. Время отклика определяет, как часто система может "отвечать" в среднем. Детерминизм - это показатель наибольшей задержки системы (предсказуемость времени реакции).
3.3 Прикладное программное обеспечение САиУ.
При создании программного обеспечения для локальных контроллеров важно придерживаться следующих принципов:
1) при разработке проекта САиУ стараться обеспечить однородность вычислительной платформы, что позволит в дальнейшем упростить программирование. В настоящее время реально это означает, что целесообразно в локальных системах использовать не специализированные микроконтроллеры, а PC-совместимые контроллеры;
2) при разработке микропрограмм для локальных контроллеров тщательно обосновывать выбор контроллеров, исходя из перспективности той или иной микроконтроллерной платформы. Использование устаревающих контроллеров нецелесообразно. Кросс-средства программирования для различных контроллеров существенно отличаются с точки зрения универсальности, стандартизованности и ориентированности на интеграцию в состав более сложных иерархических систем.
Чтобы добиться абсолютно предсказуемого поведения программного обеспечения с учётом работы в реальном времени разработчик автоматических систем всё же вынужден в ряде случаев создавать собственное программное обеспечение. Наиболее целесообразный подход здесь следующий: по мере возможности пользоваться языками высокого уровня, позволяющими быстро создавать и отлаживать программное обеспечение и лишь в явных случаях нехватки быстродействия или надёжности использовать программирование на Ассемблере. Именно такой подход позволяет инженеру в области автоматики решить сразу две задачи: обеспечить реальную возможность передачи исходных кодов программ другим разработчикам, в том числе, и при смене вычислительной платформы и добиться существенной экономии времени разработки программного обеспечения. Известно, что наиболее "расточительно" в этом смысле программирование на языке низкого уровня - Ассемблере.
Стандартными средствами во всех случаях являются специальные программные продукты, предназначенные для разработки программного обеспечения: редакторы, трансляторы, компоновщики, отладчики. Их имеется огромное количество, а использование того или иного из них в значительной степени является результатом выбора на основе личных пристрастий разработчика. Следует отметить, однако, что наиболее целесообразно использовать специальные интегрированные среды разработки, объединяющие все эти средства. Такие среды разработки имеются практически для всех языков программирования, в том числе, и для ассемблеров микроконтроллеров.