Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Гл1_06.unlocked.docx
Скачиваний:
26
Добавлен:
09.02.2015
Размер:
1.41 Mб
Скачать
    1. Эталонная модель взаимодействия открытых систем

Система управления технологическим оборудованием, представляющая из себя ло- кальную информационно-управляющая сеть, должна следовать общим концепциям построе- ния компьютерных сетей. Универсальный тезис о пользе стандартизации, справедливый для всехотраслей, здесьприобретаетособое значение. Суть сети- это соединение разногообору- дования, а значит, проблема совместимости является одной из наиболее острых. Без принятия всеми производителями и разработчиками общепринятых правил построения оборудования прогресс в деле "строительства" сетей был бы невозможен.

В компьютерных сетях идеологической основой стандартизации является много- уровневый подход к разработке средств сетевого взаимодействия. Именно на основе этого подхода в 1984 году международной организацией по стандартизации – ISO был выпущен стандарт под названием "Эталонная модель взаимодействия открытых систем" (Open System Interconnect - OSI) или OSI/ISO. В нем была предложена стандартная семиуровневая модель взаимодействия открытых систем, ставшая своего рода универсальным языком сете- вых специалистов.

Для решения сложных задач используется универсальный прием - декомпозиция, то есть разбиение одной сложной задачи на несколько более простых задач-модулей. Множест- во модулей, составляющих каждый уровень, сформировано таким образом, что для выполне- ния своих задач они обращаются с запросами только к модулям непосредственно примы- кающего нижележащего уровня. С другой стороны, результаты работы всех модулей, при- надлежащих некоторому уровню, могут быть переданы только модулям соседнего вышеле- жащего уровня.

Иерархическая декомпозиция задачи предполагает четкое определение функции каждого уровня и интерфейсов между уровнями. Интерфейс определяет набор услуг, которые нижележа- щий уровень предоставляет вышележащему. В результате иерархической декомпозиции достига- ется относительная независимость уровней, а значит, и возможность их легкой замены.

Многоуровневое представление средств сетевого взаимодействия имеет свою специ- фику, связанную с тем, что в процессе обмена сообщениями участвуют две машины, то есть в данном случае необходимо организовать согласованную работу двух "иерархий". При пере- даче сообщений оба участника сетевого обмена должны принять множество соглашений о правилах передачи (иметь согласованные протоколы при передаче информации с уровня на уровень в каждом из контроллеров). Например, они должны согласовать уровни и форму электрических сигналов, способ определения длины сообщений, договориться о методах кон- троля достоверности и т.п. Другими словами, соглашения должны быть приняты для всех уровней, начиная от самого низкого - уровня передачи битов - до самого высокого, реали- зующего сервис для пользователей сети.

Эталонная модель OSI описывает, каким образом информация проходит через среду передачи (например, витую пару) от прикладного процесса-источника до процесса- получателя и назад. Вся иерархия процесса обмена (рис. 1.34) в общем случае разбита на семь уровней и допускает самые разнообразные способы обмена сообщениями. В каждом кон- кретном случае некоторые уровни иерархии могут быть опущены или объединены с другими. Сообщение (полезная информация) посылается с высшего прикладного уровня. Решается за- дача согласованияпередачи информации свыше лежащего уровня на низший путем добавле- ния в полезную информацию служебной в виде заголовков и, иногда, концевиков. Эта слу- жебная информация необходима для корректной работы интерфейсов получателя сообщения, когда сообщение поднимается назад с физического уровня. При этом дополнения после их

использования на каждом из уровней отбрасываются и к получателю, в конечном итоге, при- ходит посланная информация.

Пусть MicroPC рассмотренной нами ранее установки диффузионной сварки (рис. 1.18) хочет узнать у контроллера ВАК о давлении в рабочей камере. В прикладном потоке А про- граммисту MicroPC в распоряжении хотелось бы иметь некоторую простую утилиту, напри- мер функцию real: Control(имя адресата, имя параметра), пользуясь которой он мог бы узнать значение требуемого параметра.

Микроконтроллер 1

Поток А

Микроконтроллер 2

Поток Б

сообщение

сообщение

Прикладной уровень

Уровень

Сооб- щение

7

7

Интерфейсы

7 6

Сооб- щение

7

Интерфейсы

6 7

7 Прикладной уровень

Уровень

6

представле- 6

ния

Сооб- щение

Протоколы

Сооб- щение

представле-

ния

Сеансовый уровень 5

Сооб- щение

Сооб- щение

Сеансовый уровень

Транспорт-

7 6 5

5 6 7

5

ный уровень 4

Сооб- щение

Сооб- щение

Транспорт-

4 ный уровень

Сетевой уровень

7 6 5 4

4 5 6 7

Сооб- щение

Сооб- щение

Сетевой уровень

Канальный уровень

7 6 5 4 3

3 4 5 6 7

3

3

2 Сооб- 7 6 5 4 3 2

2 3 4 5 6 7 Сооб- 2

Канальный уровень

Физический уровень

щение

щение

1 щение 7 6 5 4 3 2 1

Канал связи

1 2 3 4 5 6 7 Сооб- 1

Физический

уровень

Рис. 1.34

Сооб-

щение

При реализацииэтой утилиты прикладной процесс(поток) MicroPC сообщается с драйвером вакуумметра, который формирует поток данных для него – сообщение, которое в чистом виде может быть понято вакуумметром. Но это сообщение еще не может быть посла- но, оно просто не дойдет до адресата без искажений.

Как в примере с перепиской, нужно письмо запаковать в конверт, написать по опреде- ленным правилам прямой и обратный адрес, наклеить марку. И только после этого письмо можно опустить в почтовый ящик.

Вместе с контроллером ВАК должен поставляться драйвер и протокол обмена по каналу RS-485, по сути, это некая подпрограмма, позволяющая реализовать ряд процедуробмена, напри- мер, считывать значения переменных, проводить тестирование, переключать режимы работы. В крайнем случае, Вы должны располагать физическимиадресами переменныхпроцесса В и прави- лами обращения к ним, чтобы написать эти утилиты самим, иначе ничего не получится.

Уровни модели OSI. Физический уровень (Physical layer) имеет дело с передачей би- тов по физическим каналам связи, таким, например, как коаксиальный кабель, витая пара, оп- товолоконный кабель или цифровой территориальный канал. К этому уровню имеют отно- шение характеристики физических сред передачи данных, такие как полоса пропускания, по- мехозащищенность, волновое сопротивление и другие. На этом же уровне определяются ха- рактеристики электрических сигналов, передающих дискретную информацию, например,

55

крутизнафронтов импульсов, уровни напряжения или тока передаваемого сигнала, тип коди- рования, скорость передачи сигналов. Кроме этого, здесь обычно стандартизуются типы разъемов и назначение каждого контакта.

Например, для канала RS-485 оговорены требования к выходным каскадам передатчи- ка – формирователя сигналов и входных каскадов приемника. Согласно этим требованиям из- готовители электронных компонентов выпускают интегральные схемы – драйверы канала. От разработчика САУ требуется правильная разводка линий связи, выбор соответствующего ка- беля и т.п. Канал RS-485 широко используется в системах управления технологическим обо- рудованием. В приложении 1 приведена статья «Правильная разводка сетей RS-485», выпол- нение рекомендаций которой позволит Вам избежать множества проблем при практических работах в этой области.

Канальный уровень (Data Link layer) во первых проверяет доступность канала. Это особенно важно для линий связи с произвольным доступом. Другой задачей канального уровня является реализация механизмов обнаружения и коррекции ошибок. Для этого на ка- нальном уровнебиты группируютсяв наборы, называемыекадрами (frames). Канальный уро- вень обеспечивает корректность передачи каждого кадра, помещая специальную последова- тельность бит в начало и конец каждого кадра, для его выделения, а также вычисляет кон- трольную сумму, обрабатывая все байты кадра определенным способом и добавляя кон- трольную сумму к кадру. Когда кадр приходит по сети, получатель снова вычисляет кон- трольную сумму полученныхданных и сравнивает результатс контрольной суммой из кадра. Если они совпадают, кадр считается правильным и принимается. Если же контрольные сум- мы не совпадают, то фиксируется ошибка. Канальный уровень может не только обнаружи- вать ошибки, но и исправлять их за счет повторной передачи поврежденных кадров.

В протоколах канального уровня, используемых в локальных сетях, заложена определен- ная структура связей между компьютерами и способы их адресации. Хотя канальный уровень и обеспечивает доставку кадра между любыми двумя узлами локальной сети, он это делает только в сети с совершенно определенной топологией связей, именно той топологией, для которой он был разработан. Для простых магистральных сетей RS-485, рассматриваемых нами в качестве примера, протокол канального уровня обеспечивает адресацию и транспортировку сообщений и уровень приложения может обращаться к канальному уровню, минуя остальные.

Тем неменее, для обеспечения качественной транспортировки сообщений в сетяхлю- бых топологий функций канального уровня оказываетсянедостаточно, поэтомув модели OSI решение этой задачи возлагается на два следующих уровня - сетевой и транспортный.

Сетевой уровень (Network layer) служит для образования единой транспортной системы, объединяющей несколько сетей, причем эти сети могут использовать совершенно различные принципы передачи сообщений между конечными узлами и обладать произвольной структурой связей. Протоколы канального уровня локальных сетей обеспечивают доставку данных между любыми узлами только в сети с соответствующей типовой топологией. Это очень жесткое огра- ничение, которое не позволяет строить сети с развитой структурой, например, сети, объединяю- щие несколько сетей предприятия в единую сеть, или высоконадежные сети, в которых сущест- вуют избыточные связи между узлами. Можно было бы усложнять протоколы канального уров- ня для поддержания петлевидных избыточных связей, но принцип разделения обязанностей ме- жду уровнями приводит к другому решению. Чтобы с одной, стороны сохранить простоту про- цедурпередачи данныхдля типовых топологий, а с другойдопустить использование произволь- ных топологий, вводится дополнительный сетевой уровень.

Внутри сети доставка данных обеспечиваетсясоответствующим канальным уровнем, а вот доставкой данных между сетями занимается сетевой уровень, который и поддерживает возможность правильного выбора маршрута передачи сообщения даже в том случае, когда

56

структура связей между составляющими сетями имеет характер, отличный от принятого в протоколах канального уровня.

Транспортный уровень (Transport layer) обеспечивает приложениям или верхним уровням стека - прикладному и сеансовому - передачу данных с той степенью надежности, которая им требуется. Модель OSI определяет пять классов сервиса, предоставляемых транс- портным уровнем. Эти виды сервиса отличаются качеством предоставляемых услуг: срочно- стью, возможностью восстановления прерванной связи, наличием средств мультиплексиро- вания нескольких соединений между различными прикладными протоколами через общий транспортный протокол, а главное - способностью к обнаружению и исправлению ошибок передачи, таких как искажение, потеря и дублирование пакетов. На этом уровне дополни- тельно дублируются функции обеспечения надежности на канальном уровне.

Транспортный уровень обеспечивает услуги по транспортировке данных, что избавля- ет высшие слои от необходимости вникать в ее детали. Предоставляя надежные услуги, транспортный уровень обеспечивает механизмы для установки, поддержания и упорядочен- ного завершениядействия каналов, систем обнаруженияи устранениянеисправностей транс- портировки и управления информационным потоком (с целью предотвращения переполнения системы данными из другой системы).

Граница между транспортным и последующими уровнями может быть представлена как гра- ница между протоколами высших (прикладных) уровней и протоколами низших уровней. В то время как рассматриваемые ниже прикладной, представительный и сеансовый уровни заняты прикладными вопросами, четыре низших уровня решают проблемы транспортировки данных.

Сеансовый уровень (Session layer) обеспечивает управление диалогом: фиксирует, ка- кая из сторон является активной в настоящий момент, предоставляет средства синхрониза- ции. Последние позволяют вставлять контрольные точки в длинные передачи, чтобы в случае отказа можно было вернуться назад к последней контрольной точке, а не начинать все с на- чала. На практике немногие приложения используют сеансовый уровень, и он редко реализу- ется в виде отдельных протоколов, хотя функции этого уровня часто объединяют с функция- ми прикладного уровня и реализуют в одном протоколе.

Представительный уровень или уровень представления (Presentation layer) имеет де- ло с формой представления передаваемой по сети информации, не меняя при этом ее содер- жания. За счетуровня представления информация, передаваемая прикладным уровнем одной системы, всегда понятна прикладному уровню другой системы. С помощью средств данного уровня протоколы прикладных уровней могут преодолеть синтаксические различия в пред- ставлении данных или же различия в кодах символов, например кодов ASCII и EBCDIC. На этом уровне может выполняться шифрование и дешифрование данных, благодаря которому секретность обмена данными обеспечивается сразу для всех прикладных служб. Примером такого протокола является протокол Secure Socket Layer (SSL), который обеспечивает секрет- ный обмен сообщениями для протоколов прикладного уровня стека TCP/IP.

Прикладной уровень (Application layer) - это в действительности просто набор разнообраз- ных протоколов, драйверов и утилит, с помощью которых пользователи сети получают доступ к разделяемым ресурсам (файловым службам, локальным микроконтроллерам и сетевым датчикам в САУ). Единица данных, которой оперирует прикладной уровень, обычно называется сообщением (message). Задача прикладного уровня сформировать последовательность данных, которую может воспринять (понять) абонент. На этом уровне, например, работает драйвер принтера, при такой многоуровневой иерархической организации программного обеспечения он независим от того, как соединены принтер и компьютер, радиальной линией или через сеть. Поток данных сформирован, все остальные проблемы транспортировки сообщения решат нижеследующие уровни. Нам не важ- но как, главное что сообщение отправится и придет ответ.

57

Прикладной уровень идентифицирует и устанавливает наличие предполагаемых парт- неров для связи, синхронизирует совместно работающие прикладные процессы, а также ус- танавливает и согласовывает процедуры устранения ошибок и управления целостностью ин- формации. Прикладной уровень также определяет, имеется ли в наличии достаточно ресур- сов для предполагаемой связи.

Открытая модель связи OSI может и чаще всего используется в сокращенном виде.

Так, в нашем примере с каналом RS-485, для организации связи с вакуумметром достаточно программного обеспечения на прикладном уровне, где будет формироваться сообщение и на канальном, где будут решены все проблемы адресации и надежной транспортировки. Здесь топология сети проста и определена заранее, сеансы связи организованы по принципу веду- щий-ведомый (Master-Slave) и нет проблем захвата магистрали, как в сетях с произвольным доступом.

Вопросы к экзамену.

  1. Эталонная модель взаимодействия открытых систем применительно к архитектуре систем автоматического управления. Что дают принятые принципы построения?

Рябов Владимир Тимофеевич. Кафедра «Электронные технологии в машиностроении»

МГТУ им. Н. Э. Баумана, V_Ryabov@mail.ru

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]