Текст
                    РОБОТОТЕХНИКА
И ГИБКИЕ
АВТОМАТИЗИРОВАННЫЕ
ПРОИЗВОДСТВА
4 Вычислительная техника
в робототехнических
системах и гибких
автоматизированных
производствах

Рецензенты: кафедра «Робототехнические системы» Московского высшего технического училища им. Н. Э. Баумана (зав. кафедрой чл.-кор. АН СССР Е. П. Попов); акад. АН СССР С. В. Емельянов (Международный научно-исследовательский институт проблем управ- ления) Робототехника и гибкие автоматизированные Р 58 производства. В 9-ти кн. Кн. 4. Вычислительная тех- ника в робототехнических системах и гибких авто- матизированных производствах: Учеб, пособие для втузов/В. 3. Рахманкулов, Ж. П. Ахромеев, В. В. Ге- расимов и др.; Под ред. И. М. Макарова. — М.: Высш, шк.» 1986. — 144 с.: ил. 30 к. В пособии рассмотрены вопросы аппаратного и алгоритмического обеспечения современных роботов, различные подходы к синтезу информационно-управляющих комплексов роботов, основы языков программирования роботов, архитектура, программное обеспечение и основы проектирования мультимикро- и миникомпьютерных систем для гибких автоматизированных производств. 2404000000—143 Р---------------- 001(01)—86 151—86 ББК 32.816 6ФО.1 © Издательство «Высшая школа», 1986
Робототехника и гибкие автоматизированные производства Системные принципы создания гибких автоматизированных производств 2 3 © 4 5 Приводы робототехнических систем Управление робототехническими системами и гибкими автоматизированными производствами Вычислительная техника в робототехнических системах и гибких автоматизированных производствах Моделирование робототехнических систем и гибких автоматизированных производств 6 Техническая имитация интеллекта Гибкие автоматизированные производства в отраслях промышленности Основы построения систем автоматизированного проектирования гибких производств 9 Лабораторный практикум по робототехнике
ВВЕДЕНИЕ Средства вычислительной техники являются основными компонентами промышленных роботов и гибких автома- тизированных производств, предопределяющими их бур- ное развитие. Именно благодаря появлению нового поко- ления средств вычислительной техники — микропроцес- сорных вычислительных устройств — в начале 70-х го- дов наметилось развитие промышленной робототехники, которая в настоящее время продолжает стремительно развиваться. Начало 80-х годов знаменуется широким применением промышленных роботов I поколения для автоматизации основных технологических операций: погрузочно-разгру- зочных и транспортных работ, покраски, сварки (дуго- вой и точечной). В таких роботах используются серийно выпускаемые микроЭВМ типа «Электроника-60> с огра- ниченной оперативной памятью и относительно невысо- ким быстродействием. Вторая половина 80-х годов характеризуется широ- ким применением промышленных роботов в сборочных операциях. Так, известные специалисты США прогнози- руют, что к 1990 г. самый высокий уровень автоматиза- ции (около 35%) из всех технологических операций бу- дут иметь сборочные процессы. Для автоматизации сборочных операций используются как традиционные роботы I поколения, так и адаптивные роботы II поколе- ния. Последние, как правило, используют системы тех- нического зрения, алгоритмы обработки видеоинформа- ции и специализированные микроЭВМ для обработки видеоинформации с повышенными требованиями к объе- му оперативной памяти и быстродействию, которые пре- допределяют разработку специализированных видеопро- цессоров (локально-параллельных, полнопараллельных и др.). Программное обеспечение промышленных роботов характеризуется применением специализированных язы- ков программирования для роботов (AL, VAL и др.), а также широким привлечением графических средств для автоматизации программирования. 5
Бурное развитие промышленных роботов повлекло за собой создание методов, алгоритмов, аппаратных и про- граммных средств для комплексирования роботов и стан- ков с ЧПУ в гибкие автоматизированные производ- ства (ГАП). Развитие средств вычислительной техники для ГАП в основном зависит от новой технологии комплексирова- ния мини- и микроЭВМ — локальных и малых локаль- ных вычислительных сетей (ЛВС). При этом в качестве основных топологий ЛВС наибольшее развитие получают две топологии: шины и кольца, основные принципы которых проверены в зарубежных реализациях локаль- ных вычислительных сетей ETHERNET и CAMBRIDGE RING. Малые ЛВС должны найти широкое применение в ближайшее время для построения модульных конструк- ций адаптивных роботов типа 12С и группирования робо- тов в комплексы D2B. Программное обеспечение ГАП в настоящее время характеризуется выбором его оптимальной структуры с применением модульного метода программирования и определением реализуемых функций операционной систе- мы высокого уровня. В написании учебного пособия принимали участие: Ахромеев Ж. П. — введение и гл. 4; Гераси- мов В. В. — § 3.1, 3.2, Михайлов А. М. — гл. 1; Переслени С. А. — §3.3, 3.4; Рахманкулов В. 3. — гл. 2. Совместно Ахромеевым Ж. П., Наумовым Е. В. и Рахманкуловым В. 3. написана гл. 5.
ГЛАВА МИКРОПРОЦЕССОРНЫЕ ВЫЧИСЛИТЕЛЬНЫЕ УСТРОЙСТВА в сенсорных системах РОБОТОВ В настоящее время все более широкое применение в промышленности и других областях получают системы технического зрения. Данная глава посвящена задачам, методам и алгоритмам обработки видеоинформации. Наряду с этим рассматриваются вопросы аппаратурной реализации алгоритмов анализа изображений. 1.1. Задачи видеоанализа в робототехнике Задачи видеоанализа в робототехнике можно подраз- делить на двухмерные (плоские) и трехмерные (объем- ные), одно- и многопредметные, статические и динами- ческие При многопредметной задаче в отличие от однопред- метной в поле зрения видеосенсора одновременно нахо- дится несколько объектов. Цель видеоанализа состоит в получении сжатого описания изображения, которое инвариантно в заданном отношении и отвечает на те или иные вопросы относительно изображенных объектов. Эти вопросы касаются геометрических и качественных характеристик, взаимного расположения объектов, а так- же могут быть связаны с различными логическими вы- водами. С точки зрения теории информации результа- том видеоанализа является резкое сокращение объема данных. Так, например, плоское бинарное изображе- ние размерностью 256X256 точек занимает 8 К байт памяти, размерностью 512X512 точек при 16 градациях яркости — уже 128 К байт. Если на входе системы видео- анализа объем информации характеризуется величина- ми рассматриваемого порядка, то на выходе, например при распознавании типа объекта, присутствует всего нес- колько чисел или слов, указывающих распознанный тип 7
Рассмотрим кратко основные группы задач видеоана- лиза. Анализ произвольного единичного объекта в кадре. Целью анализа является: — распознавание типа объекта независимо от его угловой ориентации, пространственного расположения и в заданных пределах от масштабирования; — определение пространственных и угловых коорди- нат объекта; — определение геометрических параметров объекта и контроль качества. Такими объектами могут быть детали, части манипу- лятора, интегральные схемы и т. д. Анализ нескольких объектов, одновременно находя- щихся в кадре. Цели анализа в данной группе задач те же, что и в предыдущей. Вместе с тем для рассматри- ваемой группы дополнительно требуется установить мес- то расположения каждого отдельного объекта и опреде- лить взаимосвязь изображенных объектов. Рассмотрим ряд типичных примеров. Так, требуется взять с подающего устройства или автоматизированного склада строго определенную деталь. Однако в поле зре- ния видеосенсора находятся также части подающего устройства и другого производственного оборудования, которые необходимо отличать от требуемой детали. К этой группе задач относится разбор бункера и рас- познавание печатных текстов. Обширную подгруппу составляют задачи контроля, так как статистически каждая пятая операция в промыш- ленности — это операция контроля. К ним относится и визуальный контроль изделия, состоящего из нескольких компонент. В этом случае устанавливается положение одних компонент изделия по отношению к другим. Боль- шой объем контрольных задач составляет визуальное определение качества печатных плат и интегральных микросхем. Электрическое тестирование не позволяет локализовать большое число дефектов. Поэтому его допол- няет визуальный контроль. При производстве интег- ральных схем визуальный контроль используется как в процессе нанесения проводников, так и перед оконча- тельной заделкой кристалла в корпус. При этом требует- ся отличать металлизированные точки от фоновых, выде- лять из целостного изображения схемы контактные пло- щадки, определять их координаты, степень отклонения формы от заданной и т. д. Кристалл может исследо- 8
ваться на загрязнение, трещины, относительно большие области металлизации, дефекты формы в целом и от- дельных контактных площадок, а также на значитель- ное отклонение цветовых уровней. Анализ схематических изображений. Робототехничес- кие системы являются компонентами ГАП. Создание ГАП связано с работами в области автоматизации проек- тирования. Роль анализа изображений в данном случае состоит в вводе чертежей, схем, рисунков, выполненных от руки, типографским способом либо световым пером на дисплее. В рассматриваемой группе задач распознава- ние прямых и искривленных линий, условных обозна- чений электрических элементов и т. д. является необ- ходимым этапом. При вводе чертежей, выполненных типографским способом, механическое переснятие изо- бражений в память без распознавания предъявляет чрез- мерные требования к объему памяти ЭВМ. Чертежи вво- дятся для последующего анализа, например для провер- ки правильности схемы в соответствии с заданным этало- ном. Это требует логического кодирования схемы. Трехмерное зрение. Задачи, рассмотренные выше, яв- ляются двухмерными. Для робототехнических систем крайне важны и трехмерные задачи. Информация отно- сительно дальности необходима по ряду причин. Рабочее пространство по существу трехмерно. Хотя специальные приспособления и ограничения могут уменьшить потреб- ность в третьем измерении, такая информация все же необходима. Лишь немногие производственные предметы двухмерны. Печатные платы и интегральные схемы имеют важные вертикальные компоненты. Манипулирование в рабочем пространстве в основном трехмерно. Это отно- сится и к задаче разбора бункера, где необходимо поль- зоваться информацией относительно глубины. Инфор- мация относительно дальности важна также и в том отношении, что во многих приложениях может значитель- но упростить распознавание формы, сегментацию, а так- же сложность и габариты роботов. Распознавание является одним из этапов решения трехмерных задач. Например, в триангуляционной схеме необходимо идентифицировать одни и те же точки пред- метов в различных ракурсах. При распознавании сцен информация по дальности позволяет производить про- странственную сегментацию и тем самым выделять от- дельные предметы в рабочем пространстве, восстанав- ливать пространственную форму объектов. Для этого 9
требуется калибрационная процедура соотнесения коор- динатной системы видеодатчика с координатной систе- мой робота. Одним из путей повышения точности манипуляторов является увеличение их механической сложности, что связано с увеличением массы и габаритов. Более легкие и дешевые манипуляторы при сохранении точности пози- ционирования можно получить с помощью обратной ви- деосвязи. Такая видеосвязь позволяет корректировать движение захватного устройства по траектории, опера- тивно вырабатывая команды коррекции, что обеспечивает заданную точность без использования прецизионных механизмов. 1.2. Методы и алгоритмы видеоанализа в робототехнике С точки зрения организации вычисли- тельных процессов алгоритмы видеоанализа подразделяются на локальные и нелокальные арифме- тико-логические преобразования. С точки зрения функциональных этапов видеоанализ подразделяется на обучение и распозна- вание. С точки зрения соотношения между объ- емами входной и выходной информации арифметико-логические преобразования подразделяются на функции предварительной обработки изображений и построения описаний. При предварительной обработке объем выходной ин- формации равен объему входной (матрица изображения, содержащая № точек на входе, преобразуется в выход- ную матрицу, содержащую также N2 точек). Основными задачами предварительной обработки являются: подав- ление помех, сглаживание, оконтуривание, разделение слипшихся объектов, выделение срединных линий объек- тов и др. При построении описаний объем выходной информа- ции значительно меньше объема информации на входе. Основные задачи при построении описаний — выделение интегральных признаков (статистических, спектральных и др.) и структурно-синтаксических элементарных об- разов (топологических, грамматических). Рассмотрим подробнее локальные и нелокальные пре- образования, так как они определяют аппаратурную и 10
программную реализацию вычислительных устройств, осуществляющих сенсорные функции. При локальных преобразованиях вычисляемый пара- метр, в частности новое значение точки хпт в преобра- зуемой входной матрице изображения [хпт]; л, т = 1, N (/V X N — размерность изображения), является арифме- тико-логической функцией значений точек в некоторой локальной окрестности S точки с координатами (л. т) (рис. 1.1): == f1< /)€=$• В качестве примеров локальных арифметико-логи- ческих операций приведем соотношения, определяющие сглаживающий (1.1) и оконтуривающий (1.2) фильтры: Хпт — 1 при 2 *+/. «+»>2; i.j.&R О — в противном случае. 1 при 2 *+«. -+i<4; Мей О — в противном случае, (1.1) (1-2) (—1.0) (0—1) (0.0) (0,1) (1,0) Их работа иллюстрируется рис. 1.2, где а — входное изображение; б — выходное изображение после первого фильтра; в — изображение, последовательно прошедшее первый и второй фильтры. Рассмотрим нелокальные преобразования. Результат
6) в) Illi Illi OU I 1 I I JU I 0 0 I Illi 1001 Рис. 1.2. Изображение на разных стадиях предва- рительной обработки при сканирующей локальной области нелокального преобразования является арифметико-ло- гической функцией всех точек изображения, т. е. */ = f[xnm](rt,m)€=tf х N- Линейные нелокальные преобразования описываются выражением 2 ^nmRnm(k) = f(,Xk),i=\J, (n.m)eS где х{1\т—/й анализируемый объект; Rnm (ft)—рас- познающий оператор; r\k) — ft-й признак х-го анали- зируемого изображения; / — число распознаваемых объектов; S — множество точек изображения, входящих в траектории линейного или полярного сканирования; ft — номер признака. Если множество S образовано траекториями линейно- го сканирования, то в общем случае признаки f(<) не ин- вариантны к сдвигам, вращению и масштабированию. Один из способов получения инвариантного описания состоит в организации полярного сканирования (рис. 1.3) при соответствующем выборе распознающего оператора. Рассмотрим пример возможного подхода к построе- нию инвариантного описания, состоящего из двух опе- раций: вычисления центра тяжести ЦТ объекта О в кад- ре; выполнения одномерных преобразований Фурье по семейству концентрических окружностей с началом ко- ординат в центре тяжести: /V—• 1 2^ v । = | ^2о^л(О.ф)Л»(ол)еХР^ Ьф J I 12
,0 Рис. 1.3. Схема полярного сканирования Обоснованность такого подхода определяется тем, что амплитудная характеристика преобразования Фурье не зависит от угловой ориентации и пространственного положения объекта, а также в определенной степени и от масштабирования. Используемое число концентри- ческих окружностей зависит от сложности внутренней структуры объекта, числа распознаваемых объектов и требуемой помехозащищенности. Информация, содер- жащаяся в фазовой характеристике преобразования, определяет угловую ориентацию. Координаты центра тя- жести характеризуют положение объекта на плос- кости. В качестве примера системы видеоанализа, исполь- зующей нелокальные линейные процедуры, можно при- вести систему распознавания изображений произволь- ного вида, реализованную на базе микроЭВМ «Мера-60> В рассматриваемой системе обучение реализовано как решение обратной линейной задачи, квазиоптимальное в смысле минимаксного критерия Чебышева. Этот кри- терий обеспечивает большую степень помехоустойчивости распознавания по сравнению со среднеквадратичными критериями. Основные параметры системы: время распознава- ния — 1 с; время обучения — 4 мин (для 8 типов объек- тов); вид распознаваемых объектов — произвольный; размерность бинарных изображений — 256 X 256 точек. Отметим ряд общих требований, предъявляемых к сенсорным системам в робототехнике и гибких автома- тизированных производствах: 13
— система должна строиться на модульной основе. Это обусловлено тем. что необходимость в гибкости при- водит к концепции универсальной визуальной системы. Однако система, способная решать достаточно широкий класс произвольных задач, является нереальной, откуда следует необходимость модульной структуры; — распознавание должно производиться в реальном масштабе времени, диктуемом производственным ритмом. Он может составлять от долей секунд до нескольких секунд; — распознавание должно быть помехоустойчивым, т. е. должно допускать заданный процент искажения изображения; — надежность системы должна сочетаться с доста- точно низкой стоимостью; — реализация динамических задач должна осуще- ствляться с помощью специальных аппаратных средств. 1.3. Программно-аппаратные средства реализации систем технического зрения на базе микроЭВМ Выбор вычислительного устройства зависит от многих факторов, из которых отметим следующие. Тип архитектуры определяется быстродействием, гиб- костью, экономичностью и является некоторым разумным компромиссом. ЭВМ, работающая с видеоинформацией, должна об- ладать достаточно большой памятью, а также высоко- скоростным механизмом пересылки видеоданных. Для увеличения быстродействия полезно выделить класс ти- повых, наиболее часто используемых алгоритмов, кото- рые целесообразно реализовывать аппаратно. При этом гибкость достигается за счет возможности комбиниро- вания выделенного набора основных алгоритмов. После- довательность функционирования этих алгоритмов долж- на определяться программным способом. Хотя требованиям по реализации видеосенсорных за- дач наиболее отвечают специализированные вычисли- тельные устройства, возможно использование для реше- ния указанных задач универсальных ЭВМ [1]. По сооб- ражениям экономичности предпочтительно использование миниЭВМ и в особенности микроЭВМ. Использование для этих целей универсальных ЭВМ предполагает на- личие некоторого дополнительного аппаратного обеспе- 14
чения, которое включает, как правило, платы визуали- зации (видеоввод и видеовывод), а также платы аппа- ратурной* реализации некоторых основных функций по обработке изображений. Рассмотрим в качестве примера одну из основных вычислительных операций, выполняемых при предвари- тельной обработке изображений. Эта операция является некоторой локальной арифметической функцией, в ре- зультате которой выходное изображение имеет вид 7(л.т) = J 2 W4j(n + i —, m + / -^-±1), nym = \,N (W7— нечетно), где J(n. m) —входное изображение; i, / = 1, IT — весовое окно. В процессе линейного сканирования окно wtl размер- ностью W X W построчно пробегает все изображение размерностью N X N. В каждой точке изображения (п, т) вычисляется сумма произведений значений (яр- кости) точек изображения на весовые коэффициенты заданной матрицы окна. Рассматриваемая локальная арифметическая фильтрация (локальная свертка) в зави- симости от выбора окна реализует те или иные функции предварительной обработки (сглаживание, оконтурива- ние и т. д.). Локальный фильтр рассматриваемого типа при программировании на универсальной ЭВМ содержит три различные управляющие операции: управление цик- лами (ZZ), пересылка данных (/7), арифметические вы- числения (В). Приведем программную реализацию ло- кальных операций: INTEGER IN(256, 256), OUT(256 256), IW(3, 3) DATA IW(1, 3, 1,.. 1) DO 10 N = 2,255 DO 10 M = 2,255 IS = 0 DO 20 J = 1,3 SY = N + J - 2 DO 20 I » 1,3 SX = M + I - 2 IS = IS+ IN(SX, SY) 20 CONTINUE OUT(M, N) = IS 10 CONTINUE IW(N, M) Ц Ц B Ц П Ц в А + П u В Ц 1 15
При управлении циклами осуществляется контроль за линейным сканированием окна по всему изображению и по площади окна при его фиксированном положении. Управление рассматриваемыми циклами сканирования целесообразно реализовать аппаратно. Пересылка дан- ных включает в себя обращение к введенному аппаратно в память изображению, весовой матрице и запись данных в область памяти, где расположено обработанное изобра- жение. Аппаратные модули ввода — вывода видеоинформа- ции. Существует несколько способов построения уст- ройств ввода—вывода: — предварительная буферизация; — прямой доступ в память; — использование двухпортовой памяти. При предварительной буферизации изображение вводится в автономную память, которая соединяется с вычислительным устройством через стан- дартный интерфейс. Это позволяет снабжать видеовво- дом ЭВМ, не располагающую системной шиной Однако такой способ снижает скорость видеоввода и приводит к дублированию аппаратуры. При прямом доступе в память осуществляется захват внутренней шины и реализуется высокоскоростной обмен данными с памятью ЭВМ, минуя центральный процессор. Способ прямого доступа в память позволяет реализовать эффективные и простые контроллеры вво- да—вывода изображений в реальном масштабе времени. Однако при этом способе во время ввода изображения производительность процессора снижается. При использовании двухпортовой па- мяти производительность процессора не снижается, кроме того, обеспечивается требуемая пропускная спо- собность памяти посредством изменения формата обра- щения. 1.4. Специализированные видеопроцессоры для обработки и анализа изображений Одно из основных направлений в развитии видео- процессорных вычислительных устройств — создание архитектуры двухмерной матрицы процессорных элемен- тов. Если формат процессорной матрицы РХР меньше, чем формат изображения NX N. то изображение обраба- тывается поблочно. В этом случае имеют в виду локаль- 16
Видеопроцессор Рис. 1.4. Структурная схема процессора изображений но-параллельное вычислительное устройство, а при Р X Р = N X N — полнопараллельное. Локально-параллельные видеопроцессоры [2]. Рас- смотрим типичную структуру локально-параллельного ви- деопроцессора с единичным процессорным элементом (рис. 1.4). Это вычислительное устройство имеет: двух- кадровую память изображения (N X N — размерность изображения), допускающую различные режимы обра- щения; память, содержащую два локальных окна (U7 X U — размерность окна). Например, N = 128, W = 5. Последняя память используется в качестве вы- сокоскоростной буферной памяти между памятью изобра- жения и арифметико-логическим устройством. Память локальных окон должна допускать различные режимы адресации — линейное и полярное сканирование по за- данной траектории. При наличии динамически перестраи- ваемой системы микропрограммирования, позволяющей комбинировать основные операции, возможно выполнение широкого круга задач по предварительной обработке изображений, таких, как вычисление поля градиентов, фильтрация, сжатие, оконтуривание* выделение топологи- ческих признаков и т. д. Рассмотрим локально-параллельный видеопроцессор с матрицей процессорных элементов, разработанный фир- мой «Toshiba* (Япония) — рис. 1.5. Видеопроцессор содержит: — память изображений на три кадра, каждый раз- мерностью 256 X 256; 17
Матрица элементарных процессоров Рис. 1.5. Структурная схема локально-параллельного видеопроцессора — пять буферных регистров для локальных окон, каждый размерностью 4 X 4; — 16 процессорных элементов, образующих локаль- ную матрицу 4 X 4; — микропрограммный контроллер. Каждый процессорный элемент выполняет команды управления, обмена данными между регистрами и ариф- метико-логические операции. Структурная схема видеопроцессора приведена на рис. 1.6. Видеопроцессор реализует следующие осн вные функции: двухмерную локальную свертку, логическую фильтрацию, гистограммирование, аффинное преобразо- вание, поточечные арифметико-логические операции, быстрое преобразование Фурье, классификацию по ме- тоду максимума правдоподобия. Запись (считывание) в память 4X4 производится параллельно с заданными операциями. Аппаратно реали- зованы четыре локальных операции: 1) двухмерная свертка с весовой матрицей 4X4; 2) определение минимального, максимального и сред- него значений в окне 3X3; 18
данных Рис. 1.6. Структурная схема видеопроцессора «Тоспикс» 3) логическая фильтрация с помощью локальной маски 3X3; 4) разменивание областей. Табличная память используется в операциях логи- ческой фильтрации точечных преобразований и разме- нивания областей. Память изображений связана с процессором через высокоскоростной интерфейс, который имеет два адрес- ных контроллера, независимо вычисляющих входные и выходные адреса. Адресные контроллеры используются для аффинных преобразований; они могут вычислять автономно очередной .адрес памяти и контролировать достижение границы кадра. От управляющей ЭВМ команды передаются по ин- терфейсу с помощью набора параметров. Управляющая ЭВМ может обращаться непосредственно через основную память к набору данных изображений в любой локаль- 19
ной области, а также к результатам локальных вычис- лений. При вычислении каждой основной функции со ско- ростью 1 мкс на точку время обработки изображения размерностью 512 X 512 составляет 1,3 с. Полнопараллельные видеопроцессоры. В рассмотрен- ном локально-параллельном видеопроцессоре процессор- ная матрица имела размерность значительно меньше размерности изображения (4 X 4< 512Х 512). Полнопараллельные видеопроцессоры (ППВП) ха- рактеризуются тем, что в них размерность процессорной матрицы равна размерности изображения. Рассмотрим типовую архитектуру полнопараллельных видеопроцессоров на примере ППВП, имеющего процес- сорную матрицу, содержащую 128 X 128 процессорных элементов. Организация трех основных компонентов ППВП пред- ставлена на рис. 1.7. Последовательный контроллер — это быстродействую- щая последовательная ЭВМ, выполняющая арифмети- ческие и логические функции. Ее основная задача — хранение и чередование программ. Последовательный контроллер связан с процессорной матрицей через набор регистров обмена, которые предназначены для пересылки команд, параметров и констант в процессорную матрицу и возвращения их в последовательный контроллер. По- следовательный контроллер обеспечивает также связь с периферией и другими внешними ЭВМ. Процессорная матрица содержит 16 384 микропро- цессора, реализованных на основе технологии БИС и образующих решетку размерностью 128 X 128. Последо- вательный контроллер передает команду к процессорной матрице, которая выполняется одновременно всеми микропроцессорами. Каждый микропроцессор работает с данными, содержащимися в собственной области па- мяти. Процессорная матрица и буферная память соединя- ются высокоскоростной шиной ввода—вывода. Буфер- ная память выполняет функции буфера данных между процессорной матрицей и внешней средой. Она получает Высокоскоростной ввод - вывод Рис. 1.7. Архитектура полнепараллельного видеопроцессора 20
данные от обычной и специализированной периферии. Снабжение буферной памяти внутренним контроллером для изменения формата данных позволяет процессорной матрице обрабатывать данные более эффективно. Буфер- ная память получает по заданному адресу набор из 16 384 элементов данных и передает его в процессорную матрицу. При этом память каждого микропроцессора получает только один элемент. Конфигурация набора данных, получаемых процес- сорной матрицей, определяется программно. Например, если k является адресом набора, то данные поступают из следующих ячеек буферной памяти: ft, k+nt *+2л. ... ,Л+127п k+m, k+n+m. k+2n+m. ... , k+ 127n4-m 6+127m, Л+л+127т. k+2n+ 127m,... t k+ 127n+ 127m Параметры (n. m) и k задаются программно. Обращение к набору данных буферной памяти, со- держащему 128 X 128 элементов с началом в точке (х, у) изображения размерностью 512X512, иллюстри- руется рис. 1.8. Системы команд ППВП. Команды ППВП делятся на три группы: последовательные, параллельные и команды обмена. Последовательные команды аналогичны командам любой последовательной ЭВМ — это команды загрузки, хранения, арифметических действий, логиче- ских операций, прерываний и т. д. Они выполняются только последовательным контроллером и используются для управления ходом программы и вычисления от- дельных параметров и констант, процессорной матрице. Параллельные ко- манды также состоят .из команд загрузки, хранения, ариф- метических и логических опера- ций, т. е. аналогичны последова- тельным командам, за исключе- нием команды прерывания. Па- раллельные команды, так же как и последовательные, хранятся в памяти последовательного конт- роллера, который, находя в про- цессе выполнения программы па- которые передаются Рис. 1.8. Схема програм- мной организации набор., данных 21
раллельную команду, передает ее через регистр обмена в процессорную матрицу, где эта команда реализуется одновременно всеми процессорами. Таким образом, параллельная операция ППВП функ- ционально эквивалентна последовательной операции, выполняемой 16 384 раза в последовательном аппарат- ном контуре. Но так как в ППВП параллельная опе- рация выполняется за один временной такт, то процес- сорная матрица обрабатывает данные в 16 384 раза быст- рее, чем последовательная ЭВМ с тем же временным циклом. Эта фундаментальная форма параллелизма обес- печивает огромную вычислительную мощность ЭВМ это- го типа (одна команда — много данных) при решении специализированных задач. Такие ЭВМ не могут обладать параллельным пре- рыванием. Это обусловлено тем, что каждый процессор в процессорной матрице работает с собственным набо- ром данных, а поэтому каждый процессор снабжается собственным регистром состояний и либо выполняет, либо игнорирует полученную команду в зависимости от состояния его собственного условного кода. Рассмат- риваемое свойство «непрерываемости> существенно упро- щает программирование. Большинство ЭВМ типа «одна команда — много дан- ных» имеет набор команд обмена, которые уп- равляют движением данных между параллельными и последовательными частями. Последовательный контрол- лер может передавать константы и параметры каждому процессору в процессорной матрице с помощью специ- альных версий параллельных команд. Обратная пересыл- ка может осуществляться различными способами. Один из них состоит в том, что каждый процессор получает собственный идентификационный номер. Специальная команда выбирает для работы процессор с наименьшим идентификационным номером, позволяя ему сообщаться с последовательным контроллером. Эту команду можно объединять с логическими операциями. В результате об- служиваться будут только процессоры, удовлетворяю- щие заданным логическим условиям. Так как подмно- жество процессоров задается набором команд, то вы- бранные процессоры могут образовывать произвольную последовательность несмежных элементов. Примеры реализации некоторых алгоритмов обработ- ки и анализа изображений с помощью полнопараллель- ных видеопроцессоров. Рассмотрим два примера реали- зации алгоритмов. 22
1. Пример нелокального преобразования. При выпол- нении нелокальных преобразований * N y^l1==i S ^л.т.Л./^л.т в— I m I данные вводятся в процессорную матрицу таким обра- зом, что все отсчеты преобразования, связанные с одной точкой (k, 1)9 т. е. {Ля,тл,/}; л, т = 1, V, поступают в память соответствующего процессора (рис. 1.9). При такой организации за один цикл из 16 384 умножений- сложений вычисляется все линейное преобразование, т. е. 16 384 отсчетов: {у^}\ М = ТД28. Для реализации локальных преобразований процес- сорные элементы в количестве 128X128 соединяются в решетку, в которой каждый процессор взаимодейст- вует с четырьмя соседними (рис. 1. 10). То обстоятель- ство, что процессорная матрица двухмерна, позволяет работать с ней в терминах языков высокого уровня, таких, как PASCAL, FORTRAN и т. д. При этом массив Р (128X 128) организуется таким образом, чтобы элемент массива Р(х. у) хранился в микропроцессоре (х. у) В результате отсчет, взятый в Р(х4“ 1» у\ будет находить- ся в микропроцессоре, расположенном справа от микро- процессора (х, у). Для реализации локального преоб- разования в общем случае требуется, чтобы все микро- процессоры одновременно получали данные от соседних процессоров. Этот параллелизм указывается в записи Рис. 1.9. Внешний вид аппаратной организации блоков данных 23
Рис. 1.10. Внешний вид процессор- ной матрицы программы специальным символом, например #. в виде Р(# + л, #). Это соответствует тому, что каждый микропроцессор получит команду считыва- ния данных и пересылки их к микропроцессору, расположенному на рас- стоянии п шагов от него. Локальное вычисление может быть записано, на- пример, в следующем виде: Л(#, #)==(₽(#-!, #)+ Р(#, #)+*>(# + L#))/3. Эта запись соответ- ствует вычислению следу- ющего математического выражения: P(i. У) 2. Пример типичной программы для вычисления ло- кальной свертки: е (#, #) = о for I = -1 ТО 1 DO for J = -1 ТО 1 do Е (#, #) = Е (#, #) + W (I, J)« Р (# ♦ I, # + J) END END В заключение отметим, что высокопроизводительные полнопараллельные видеопроцессоры делают возможным создание визуальных систем, работающих в реальном масштабе времени, которые основаны на динамическом взаимодействии между интеллектуальной командной сис- темой, принимающей решения, и подсистемой, способной осуществлять анализ изменяющихся во времени изобра- жений.
ГЛАВА МИКРОПРОЦЕССОРНЫЕ ВЫЧИСЛИТЕЛЬНЫЕ УСТРОЙСТВА В СИСТЕМАХ УПРАВЛЕНИЯ РОБОТАМИ В настоящее время роботы в основном применяются при операциях сборки, обслуживания обрабатывающего обо- рудования, сварки и контроля. С точки зрения вычислительной нагрузки на управля- ющую ЭВМ производственные операции можно подразде- лить на два вида: 1) информационно простые операции. К ним относят- ся главным образом операции переноса большого числа предметов или предметов, тяжелых для человека. 2) информационно сложные операции. К ним, напри- мер, относятся операции сборки и контроля. Управляющие вычислительные устройства 60-х и на- чала 70-х годов в основном были ориентированы на опе- рации первого вида и представляли собой программато- ры различного типа. Переход к более сложным производ- ственным операциям привел к необходимости использо- вания микропроцессоров и микроЭВМ. В последнее вре- мя для построения устройств управления используются микропроцессоры, оперирующие 8- и 16-разрядными дан- ными и обладающие памятью 8—64 К байт. Следующим этапом развития управляющих вычислительных устройств явится использование 16-разрядных микропроцессоров с памятью порядка 32— 256 К байт. Это позволит накап- ливать больший объем программного обеспечения, реали- зующего более сложные командные и интеллектуальные функции. В перспективе будет осуществляться переход к микропроцессорным вычислительным средствам, являю- щимся 32-разрядными супермикроЭВМ с большой опера- тивной памятью (от 256 К байт и выше). Такие мик- роЭВМ будут содержать развитые операционные систе- мы, включая средства защиты памяти, и будут работать 25
с роботоориентированными и задачно-ориентированными языками гГрограммирования высокого уровня. Перспективным направлением является использова- ние аналоговых микропроцессоров, т. е. больших интег- ральных схем, где в одном кристалле реализованы как цифровые элементы — микропроцессор, так и цифроана- логовые и аналого-цифровые преобразователи и схемы управления периферийными устройствами. Важной ха- рактеристикой систем управления промышленными робо- тами являются их надежность. Для реализации высоко- надежных систем управления роботами все большее при- менение находят адаптивные микропроцессоры и БИС. Наличие в этих устройствах резервных узлов, средств диагностики отказов и самовосстановления, реализующих в совокупности адаптивные внутренние связи, способст- вует увеличению надежности роботоориентированных вы- числительных устройств до показателей, отвечающих про- изводственным требованиям. 2.1. Архитектура управляющих вычислительных комплексов В настоящее время широко применяются серийные управляющие вычислительные комплексы (УВК), выпол- няемые на базе микропроцессоров, микро- и миниЭВМ [1. 3]. УКВ допускают непосредственное встраивание в требуемое технологическое оборудование или производст- венные процессы, чему способствует также устройство связи с объектом (УСО). Понятие архитектуры УВК включает в себя структуру процессора, память, внешние устройства, систему адреса- ции, средства управления внешними устройствами, сис- темы прерываний, синхронизации, форматы команд, сред- ства программирования. Большое значение имеет способ связи между отдельными УВК. При архитектуре УВК с автономно расположенными ЭВМ возникают трудности, связанные с внешними интерфейсами. Хотя магистраль- ный интерфейс «общая шина» обеспечивает унификацию связей устройств УВК с центральным процессором через единую магистраль ввода — вывода, он не позволяет достигать необходимой производительности информаци- онного обмена при совместной работе большого числа процессоров в блоке УСО. Совершенствование элементной базы позволило соз- давать однокристальные и одноплатные ЭВМ, объединен- 26
ные в многопроцессорные системы. Модульный принцип разработки функциональных блоков УСО обеспечивает их унификацию по конструкции с одноплатными микро- ЭВМ и делает возможным объединение процессорных модулей и модульных связей в одном корпусе или на од- ной плате. В связи с этим отпадает необходимость в авто- номной управляющей ЭВМ и значительно проще реша- ется задача стандартизации внешнего интерфейса на основе магистрально-модульного принципа. Существует ряд стандартов на многопроцессорные магистрально-модульные системы интерфейсов. Это меж- дународный стандарт САМАС, EUROBAS, MULTIBUS и др. Такие стандартные интерфейсы обладают развиты- ми средствами параллельного взаимодействия устройств вычислительного комплекса по межмашинным магист- ралям. Рассмотрим функции отдельных модулей УВК. Структура однопроцессорных УВК показана на рис. 2.1. Она включает в себя процессорный модуль, внешние устройства, интерфейсы внешних устройств, модули УСО, а также вспомогательные устройства рас- ширения функций. Процессорные модули выполняются в виде закончен- ных вычислительных устройств, имеющих микроконтрол- лер, оперативную память, контроллеры прерываний, а также различные формы интерфейсов с внешними устройст- Рис. 2.1. Структура однопроцессорного УВК 27
вами. Микропроцессорные БИС в модуле имеют самостоя- тельные функции: обработки данных, управления, хранения управляющих программ и т. д. Система регистровых опе- раций и гибкая система адресации (последовательная, косвенная, индексная, стековая и т. д.) повышают произ- водительность процессорных модулей при выполнении одно- и двухбайтовых операций. В большинстве УВК аппаратно реализованы сред- ства, позволяющие повышать быстродействие и точность вычислений, например блоки выполнения арифметических операций над числами различной разрядности. Существенным ограничением УВК, построенным на основе микро- и миниЭВМ, является малый объем опе- ративной памяти. Так, в микроЭВМ «Электроника-60> адресное пространство не превышает 64 К байт. В то же время возможно его расширение путем программно-ап- паратной сегментации памяти. Универсальный характер УВК позволяет создавать управляющие системы различных степеней сложности. Поэтому УВК выпускаются в различных комплектациях, что позволяет пользователю выбирать требуемую ему конфигурацию. В настоящее время их основные разли- чия обусловлены типами и числом используемых внеш- них устройств. В первых вариантах УВК в основном применялись перфоленточные устройства ввода — вывода. Сейчас они вытесняются более надежными, удобными, быстродейст- вующими дисплейными и дисковыми устройствами. Наибольшее распространение получают гибкие магнит- ные диски одинарной и двойной плотности, а также ма- логабаритные жесткие диски типа «Винчестер*. Диски «Винчестер» обладают большой емкостью — до 20 М байт и более, полностью закрытое конструктивное ис- полнение не требует обслуживания в процессе эксплуата- ции. Необходимым атрибутом всех типов УВК стали алфавитно-цифровые дисплеи, которые обеспечивают диалоговый режим между пользователем и ЭВМ. Отличительной особенностью УВК являются модули связи с управляемыми объектами или УСО. Современные УСО являются интерфейсными системами со сложными собственными аппаратными средствами и средствами программного обеспечения. Простейшая функция УСО — это ввод и вывод сигналов контроля, измерения, управ- ления. В более сложных случаях УСО обеспечивают нормализацию и преобразование сигналов с помощью 28
собственных запоминающих и процессорных элемен- тов. Операционная система микроЭВМ — это ядро их программного обеспечения, на основе которого пользо- ватель разрабатывает прикладные программы. Опера- ционная система позволяет: — реализовать определенную дисциплину выполнения программ пользователя; — хранить информацию об аппаратных ресурсах ЭВМ и порядке информационного обмена; — обеспечивать связь с внешними запоминающими устройствами и устройствами ввода — вывода с ведением протоколов обслуживания этих устройств; — реагировать на внешние события, служащие сигна- лом для начала выполнения определенных задач. МикроЭВМ обладают ограниченными ресурсами, по- этому при создании программного обеспечения необхо- димо ориентировать систему на конкретное применение. По функциональному значению операционные системы делятся на следующие типы: — одно- и многопользовательские для разработки и отладки программного обеспечения; — прикладные и встроенные реального масштаба времени (РВ); — информационно-поисковые, использующиеся для организации банков данных, каталогов и т. д.; — для сетевой обработки информации, обеспечиваю- щие маршрутизацию, коммуникацию информации в се- ти в соответствии с конкретными кодами и протоко- лами. Существуют операционные системы для 8- и 16-раз- рядных ЭВМ. Для систем управления производственными участками и роботами, для управления станками все большее при- менение находят встроенные операционные системы РВ. В настоящее время появляются прикладные операцион- ные системы РВ, реализованные на интегральных схемах, содержащие функциональный набор системных вызовов и представляющие программистам группы команд высо- кого уровня, которые решают задачи более низкого уровня. 29
2.2. Управляющие вычислительные комплексы, выполненные на базе 8-разрядных микропроцессорных наборов Как в СССР, так и за рубежом существует несколько направлений построения микро- и миниЭВМ. Они опреде- ляются выбором микроэлементной базы, архитектуры ЭВМ, имеют также отличия в электрических, конструк- тивных и информационных решениях, касающихся мик- ропроцессорных устройств (уровни напряжений источни- ков питания, конструкция платы интерфейсов, форматы и составы команд, способы обмена данных). В СССР преимущественное развитие получили два на- правления создания микроЭВМ: семейство 16-разрядных моделей «Электроника» и семейство моделей на базе' 8-разрядного микропроцессорного набора КР-580 (СМ-1800, МС УВТ В7 и др.). Для ЭВМ каждого из на- правлений обеспечивается достаточно полная совместимость аппаратных и программных средств. Однако между мо- делями разных направлений эта совместимость отсутст- вует. Рассмотрим модели УВК на базе 8-разрядных микро- процессорных наборов. По полноте разработки и обеспе- ченности техническими и программными средствами представляют интерес три модели УВК: СМ-1800, МС УВТ В7 (микросредства управляющей вычислитель- ной техники В7) и КТС-ЛИУС-2 (комплекс технических средств для локальных информационно-управляющих систем). В качестве процессорного устройства во всех моделях используют микропроцессоры К580ИК80 или расширен- ный вариант КР580ИК80А, изготовленный по МОП-тех- нологии с разрядностью 8 бит и временем цикла 2 мкс. Рассмотрим подробнее УВК СМ-1800. Основой его является модульная микроЭВМ СМ-1800. Аппаратные средства. Набор модулей УВК включает в себя: центральный процессор, запоминающее устройст- во, интерфейсы внешних устройств, интерфейсы УСО, функциональные расширители, внешние устройства. Вместе с процессором в модуле размещены схемы обработки прерываний и управления системным интер- фейсом И41. Важным общесистемным модулем является быстро- действующий расширитель функций центрального про- цессора, который увеличивает производительность про- зо
цессора при выполнении различных функций, например при интерполяции в системах позиционного и контурного управления. Внутренняя память СМ-1800 также имеет модульную структуру и допускает произвольное сочетание модулей оперативной и постоянной памяти. Широкий набор внеш- них или периферийных устройств позволяет создавать УВК различных конфигураций с учетом требований ре- шаемой задачи. Периферийные устройства УВК компону- ются на основе внешней памяти: — на магнитных дисках; — на гибких магнитных дисках; — на перфоленте; — на основе устройств ввода — вывода информации (перфоленточных, а также алфавитно-цифровых). Интерфейсные модули предназначены для связи СМ- 1800 с оборудованием, как входящим в УВК, так и рас- положенным дистанционно. Через модули УСО к СМ-1800 подключаются управ- ляемые объекты, измерительная аппаратура, унифици- рованные интерфейсы в стандарте САМАС. Эти модули имеют большое значение в робототехнических системах управления, проектируемых на базе УВК СМ-1800. Но- менклатура модулей УСО постоянно развивается. Расширение УВК СМ-1800 возможно в двух направ- лениях — добавлением специализированных модулей пользователей и соединением нескольких стандартных блоков между собой. Средства программного обеспечения. Программное обеспечение УВК СМ-1800 допускает различные комп- лектации системы — от одного процессора до полностью укомплектованного УВК. Это позволяет разрабатывать программы как на УВК, так и на кроссовых и вспомога- тельных средствах. Наиболее автономно резидентное программное обеспечение, располагаемое непосредствен- но в памяти СМ-1800. Оно требует некоторого минимума в составе внешних устройств — дисплея, накопителя на гибких магнитных дисках и алфавитно-цифрового печа- тающего устройства. Такая конфигурация позволяет создавать программы пользователя на рабочем экземпля- ре УВК без использования других ЭВМ. Резидентное программное обеспечение выполняет ряд функций: — управление функционированием УВК; — ввод — вывод и изменение информации; 31
____ трансляцию программ с языков низкого и высокого уровня; — обслуживание системных библиотек и тестовый контроль аппаратуры. Разработку программ можно вести на языках как низкого, так и высокого уровня. Системные библиотеки создаются на гибких магнитных дисках. Отдельные прог- раммные модули связываются автоматически на уровне исходных текстов в процессе компиляции. Базовая операционная система реального времени обеспечивает управление асинхронными процессами при связи процессора с внешним оборудованием и управляе- мыми объектами. Если конфигурация УВК не обладает минимумом внешних устройств, то программы можно разрабатывать на прототипе УВК с помощью вспомога- тельной системы со схемной эмуляцией (инструменталь- ные системы). Инструментальное программное обеспечение включает операционную систему ЙОС-1800, мультипрограммную систему реального времени и программы управления внутрисхемных эмуляторов микропроцессорной аппара- туры. 2.3. Управляющие вычислительные комплексы, выполненные на базе 16-разрядных микроЭВМ В качестве примера 16-разрядного УВК рассмотрим систему <Мера-60», в которой используется стандартный процессор широко распространенной в СССР универсаль- ной микроЭВМ <Электроника-60>. УВК <Мера-60> пред- назначен для создания быстропереналаживаемых систем автоматизированного сбора данных от внешних устройств, обработки данных и выдачи управляющих сигналов. Аппаратные средства. В шасси микроЭВМ располо- жены платы 16-разрядного процессора [2] с оператив- ным запоминающим устройством емкостью 4 К байт 16-разрядных слов, а также платы ОЗУ на 16 К 16-раз- рядных слов, контроллера накопителей на гибком маг- нитном диске, контроллера перфоратора и перфосчиты- вателя, модуля связи с крейтом САМАС, контроллера ви- деотерминала, контроллера АЦПУ и аппаратного за- грузчика. 32
Информационный обмен между модулями внутри мик- роЭВМ осуществляется по единому каналу обмена, ко- торый реализован в виде 72 линий для передачи данных, адресов, управляющих сигналов, цепей электропитания и резервных линий. Связь с внешними объектами осуществляется через модули крейта САМАС. Возможен также информацион- ный обмен через платы последовательного (И1, ИЗ) или параллельного (И2) интерфейса, которые могут устанав- ливаться в свободные позиции внутри микроЭВМ. Крейт САМАС является основным устройством для организации информационных связей с внешними объек- тами. Контроллер связи с крейтом выполнен таким об- разом, что ряд старших адресов микроЭВМ зарезерви- рован за регистрами крейта. Большое разнообразие мо- дулей, выполненных в стандарте САМАС, позволяет быстро строить необходимые управляющие системы и определяет широкое применение рассматриваемого УВК в робототехнических системах. Средства программного обеспечения. В распоряжении пользователя имеется операционная система реального времени RT-60. В состав RT-60 входят две управляющие программы (мониторы): однозадачный монитор SJ (за- нимает 8 К слов ОЗУ) и монитор двух задач FB. Оба монитора совместимы. Благодаря наличию монитора FB можно одновременно осуществлять компиляцию прог- рамм на языках высокого уровня и на переднем пла- не производить сбор и анализ данных от внешних устройств. Мониторы реализуют также доступ к системным прог- раммам и программам пользователей, функции ввода — вывода и управление первостепенными и второстепенны- ми задачами. Операционная система RT-60 включает в себя следую- щие основные компоненты: — монитор для управления и контроля системы, соз- дания файлов библиотек, модификации драйверов устройств, развития программного обеспечения и запуска программ; — программу обмена между внешними устройствами; — программу обслуживаний файлов; — транслятор с языка ассемблера; — программу редактирования связей, осуществляю- щую конверсию объектных модулей в загрузочный файл; — программу печати и другие программы. 2—870 33
Система RT-60 обладает двумя системными библи- отеками — библиотекой программных запросов и макро- определений SYSMAC, которые позволяют использо- вать различные свойства подпрограмм, и библиотекой фортрановских подпрограмм SYSLIB. В состав RT-60 входят также трансляторы с языков ассемблера и FORTRAN, компилятор с языка BASIC и интерпретатор BASIC. Интерпретатор BASIC особенно удобен при редактировании и отладке разрабатываемого программного обеспечения. В перспективе микропроцессорные УВК будут иметь такие же возможности, какими обладают средние и боль- шие ЭВМ. Это расширит возможности управления ро- бототехническим оборудованием и одновременно значи- тельно повысит сервисные функции программных средств УВК. Кроме того, проектируются и создаются УВК, пред- назначенные специально для робототехники.
ГЛАВА ПРОГРАММИРОВАНИЕ ВЫЧИСЛИТЕЛЬНЫХ УСТРОЙСТВ РОБОТОТЕХНИЧЕСКИХ СИСТЕМ В настоящей главе рассматриваются роботоориентиро- ванные языки программирования. Наряду с традицион- ными методами программирования внимание уделяется также программированию робототехнических систем с привлечением графических средств. 3.1. Методы и языки о программировании роботов Методы программирования роботов можно подраз- делить на следующие: прямое обучение; роботоориенти- рованное программирование; задачно-ориентированное программирование. Прямое обучение — это первый метод про- граммирования роботов, получивший наибольшее рас- пространение. Он предполагает ручное перемещение ро- бота во все требуемые положения и запись соответст- вующих им обобщенных координат сочленений. Кроме того, для некоторых положений указывается необходи- мость выполнения таких операций, как смыкание захват- ного устройства и др. Выполнение программы заклю- чается в перемещении сочленения робота в соответствии с заданной последовательностью положений. Прямое обучение — это простой и легко реализуемый метод про- граммирования, однако для него характерны сущест- венные ограничения. Этот метод не требует применения универсальных вычислительных машин, поэтому он был широко распространен на протяжении ряда лет, пока внедрение вычислительных средств в промышленные ро- боты не стало экономически оправданным. Ограничения этого метода связаны с невозможностью использования датчиков. Пользователь определяет последовательность действия роботов, которая не может содержать услов- ных переходов, вычислительных операций и цикличес- 2* 35
ких процедур. Этот метод в основном эффективен в не- которых областях, связанных с точечной сваркой, ок- раской и при простых погрузочно-разгрузочных работах. В более сложных технологических процессах, таких, как механическая сборка или контроль качества, последова- тельность действий робота необходимо определять в за- висимости от сигналов датчика, а также от информации, получаемой из баз данных и определяемой в результате тех или иных вычислений В методе ро б ото ориентиро в анно г о программирования производится опрос датчи- ков и определяется в зависимости от обработки сен- сорной информации движение роботов. Преимущество этого метода заключается в возможности использования сенсорной информации от датчиков усилий, тактильных датчиков и других для коррекции движения роботов. Благодаря использованию датчиков робот может функ- ционировать в ситуации, когда данным о внешних объ- ектах присуща некоторая степень неопределенности, что расширяет область применения робототехники. К недо- статкам роботоориентированных языков относится то, что пользователь должен иметь достаточно высокую квали- фикацию в области программирования. Упростить процедуру программирования можно по- средством использования в роботоориентированных язы- ках программирования методов машинной графики. Этот путь связан с заменой метода прямого обучения модели- рованием рабочего пространства роботов. В методе задачно-ориентированного программирования определяется не движение роботов, а желаемое расположение объектов. Задач- но-ориентированное программирование позволяет аб- страгироваться от особенностей конкретного робота, и при этом пользователю не приходится определять тра- ектории движения и положения, зависящие от геомет- рии и кинематики робота. Исходной информацией для задачно-ориентированного программирования является геометрическая модель рабочего пространства и робота. Задачно-ориентированные системы программирования называются также системами моделирования рабочей об- становки. В настоящее время разработано большое число си- стем программирования роботов на основе методов пря- мого обучения и роботоориентированного программиро- вания. В то же время методы задачно-ориентированно- 36
го программирования находятся в стадии эксперимен- тального исследования Если провести аналогию с язы- ками программирования ЭВМ, то задачно-ориентирован- ное программирование относится к роботоориентирован- ному программированию так же, как и языки высокого уровня относятся к языку ассемблера и другим языкам низкого уровня. Роботоориентированные языки программирования. Рассмотрим несколько роботоориентированных языков. I, MHI (1960—1961 гг.). Это первый роботоориен- тированный язык программирования, созданный в расче- те на одного из первых роботов, управляющихся с по- мощью ЭВМ, который был разработан в Массачусет- ском технологическом институте (США). В отличие от появившегося в то же время робота фирмы «Unimate» (США), в котором не было предусмотрено управление от универсальной ЭВМ и систем очувствления, робот Массачусетского технологического института был снаб- жен рядом тактильных датчиков. Основные приемы про- граммирования в системе MHI базируются на концеп- ции осторожного движения, т. е. движения, которое осу- ществляется до тех пор, пока не будет получен опре- деленный сигнал от датчика. В языке имеются следую- щие команды: 1. MOVE —установить направления и скорости движения; 2. UNTIL — проверить, что сигнал датчика удов- летворяет определенному условию; 3. IF GO ТО — перейти к некоторой метке прог- раммирования при выполнении ус- ловия; 4. IF CONTINUE — продолжить действие при выполне- нии условия; С помощью MHI нельзя выполнять арифметические и другие действия, выходящие за рамки опроса дат- чиков. Несмотря на это, язык является достаточно мощ- ным средством программирования. IL WAVE (1970—1975 гг.). Язык программирования WAVE создан в Стэнфордском университете (США). Основное допущение, заложенное в языке WAVE, за- ключается в том, что параметры движения могут быть рассчитаны заранее и в процессе выполнения движения необходимы лишь незначительные отклонения от задан- ных траекторий. При этом программа, написанная на языке WAVE, автономно транслируется на одной ЭВМ, 37
в результате чего образуется файл траектории, который затем обрабатывается в интерактивном режиме на спе- циализированной ЭВМ. В языке WAVE в основном име- ются синтаксические конструкции низкого уровня. Од- нако система обеспечивает достаточно широкие возмож- ности сложных действий. В этой системе программиро- вания были реализованы процедуры, получившие даль- нейшее развитие в других системах программирования, в частности: — описания положения с помощью декартовых коор- динат исполнительного органа; — координации движения сочленений, обеспечиваю- щие непрерывность скоростей и ускорений; — определения последовательности этапов движения в декартовой системе координат. Для обеспечения надежного выполнения задания в условиях неопределенности и обнаружения ошибок в процессе выполнения программы в системе WAVE реа- лизуется концепция податливого и осторожного движе- ния. III. MINI (1972—1976 гг.) Язык MINI получен пу- тем введения в язык LISP некоторого числа дополни- тельных функций, обеспечивающих сопряжение со спе- циализированной вычислительной машиной, на которой выполняется программа в реальном масштабе времени. Язык MINI, как и язык LISP, имеет ограниченные син- таксические возможности, представляя собой последова- тельность некоторого числа процедур в соответствии с унифицированными правилами обращения к ним. Прин- ципиальное отличие языка MINI от других роботоориен- тированных языков программирования состоит в том. что сочленения робота управляются независимо друг от друга. Обычно система MINI используется для про- граммирования роботов, исполнительный орган которых перемещается в декартовой системе координат, что поз- воляет уменьшить влияние недостатков некоординиро- ванных последовательных перемещений из одного поло- жения в другое. С помощью операторов языка MINI можно установить целевые положения или усилия для каждого сочленения робота, считать показания датчиков положения и усилий, а также задать режим ожидания какого-либо события. Однако в языке MINI отсутствуют операторы управления и средства обработки геометри- ческой информации. IV. В языке AL сочетаются специфические робото- 38
технические функции и возможности языков програм- мирования высокого уровня, таких, как ALGOL и PASCAL. С помощью языка AL можно выполнять и роботоориентированное программирование и частично задачно-ориентированное программирование. Робото- ориентированный вариант языка разработан полностью, а задачно-ориентированный находится в стадии раз- работки. В системе AL, так же как и в системах WAVE и MINI, программа выполняется на двух ЭВМ. На пер- вой ЭВМ производится компиляция исходной програм- мы. на второй — полученная в результате компиляции программа низкого уровня исполняется в реальном мас- штабе времени на управляющей ЭВМ. Кроме того, для языка AL разработан интерпретатор. К основным осо- бенностям языка AL относятся следующие: — реализованы методы описания движения, имею- щиеся в языке WAVE: спецификация траекторий в де- картовой системе координат, расчет траекторий, а так- же алгоритм податливого движения; — обеспечены возможности, характерные для языков, которые ориентированы на работу в реальном масштабе времени: параллельное выполнение и синхронизация про- цессов, а также выполнение определенных действий при возникновении заданных ситуаций; — реализованы типы данных и управляющие конст- рукции, имеющиеся в языках типа ALGOL, а также способы представления геометрической информации с по- мощью векторов, матриц поворотов и систем коорди- нат; — созданы разнообразные средства моделирования рабочей обстановки, среди которых особенно следует от- метить конструкцию AFFIXMENT, с помощью которой можно производить взаимную привязку систем коорди- нат, в том числе и временных, создаваемых, например, в процессе работы робота в режиме захвата предметов. Язык AL представляет собой мощную систему програм- мирования роботов. В ней возможности языка програм- мирования роботов соединены с достаточно гибкими средствами программирования ЭВМ. V. VAL. Система программирования VAL предназ- начена для промышленных роботов фирмы «Unimate» и, в частности, для роботов серии PUMA. Система про- граммирования VAL представляет собой интерпретатор. Усовершенствованные методы расчета траекторий поз- воляют исключить этап предварительных расчетов, что 39
облегчает взаимодействие с системой. Язык VAL харак- теризуется следующими особенностями: 1) наличием спецификации позиционных перемеще- ний и перемещений путем интерполяции точек в системе обобщенных координат, а также возможностью задания движений в декартовой системе координат, включая дви- жения подвода и отвода; 2) возможностью преобразования декартовых систем координат, а также возможностью задания положений в произвольной системе координат; 3) возможностью использования целочисленных пере- менных, арифметических действий и условных ветвле- ний; 4) возможностью установки и проверки состояния двоично-сигнальных шин, а также возможностью опро- са шин и выполнения определенных процедур при обна- ружении заданного условия. Система VAL допускает стыковку с системой техни- ческого зрения роботов и может определять систему ко- ординат деталей, попадающих в поле зрения телекамеры. Язык VAL, как язык программирования, напоминает язык BASIC. Первоначальная версия системы VAL была предназначена для выполнения действий, основанных на принятии роботом заданных положений, что и опре- деляет ограничения этой системы в плане организации вычислений, представления структур данных, а также обработки сенсорной информации. Новая версия систе- мы VALII обладает более мощными средствами вычис- лений и связями с внешними процессорами. VI. AML. Язык AML предназначен для робототех- нических систем фирмы <1ВМ> (США). Если при соз- дании языка программирования AL главное внимание уделялось разработке различных операторов высокого уровня, выполняющих специфические функции управле- ния роботами, то в AML — созданию системных средств, с помощью которых пользователь может гибко взаимо- действовать с роботом в процессе программирования. Например, с помощью языка AML можно запрограм- мировать алгоритм взаимодействия с системой техниче- ского зрения. Язык AML позволяет выполнять операции над векторами и матрицами поворота, а также програм- мировать алгоритмы планирования траекторий при огра- ничениях на скорости и положения робота. VII. TEACH (1975—1978 гг.). Язык TEACH пред- ставляет собой часть системы PACS, разработанной 40
фирмой «Bendix» В языке TEACH решаются две проб- лемы, которые не затрагивались в других языках про- граммирования: параллельное выполнение нескольких за- даний и написание роботонезависимых программ. Однако даже средств такого специально разработанного языка, как TEACH, не всегда достаточно для решения слож- ных задач группового управления. Задачно-ориентированное программирование. Опи- сание задания на роботоориентированных языках пред- полагает спецификацию действий, необходимых для его выполнения роботом. При задачно-ориентированном программировании задание указывается путем специфи- кации действий, выполняемых над объектами. С по- мощью транслятора заданий задачно-ориентированные спецификации преобразуются в роботоориентированные. Для этого необходимо наличие описаний объектов, над которыми производятся манипуляции робота, и среды, включая описания ее начального и конечного состояний. Транслятор заданий генерирует роботоориентированные инструкции, которые позволяют достичь требуемого ко- нечного состояния из исходного начального. Для надеж- ного выполнения заданий используются методы подат- ливого и осторожного движения, а также методы об- наружения ошибок. Поэтому транслятор заданий должен обеспечить синтез роботоориентированной программы, в которой производится анализ сенсорной информа- ции. Задачно-ориентированное программирование является продолжением работ в области автоматизированных сис- тем проектирования, а также систем искусственного ин- теллекта. Трансляцию задания можно разделить на три этапа: моделирование рабочей обстановки, указание задания и синтез программы управления роботом. Моделирование рабочей обстановки. Модель содержит следующую информацию: геометриче- ское описание объектов и роботов в рабочем простран- стве, физическое описание всех объектов с указанием, в частности, значений масс и моментов инерции; кине- матическое описание всех связей; описание характерис- тик роботов — сочленений, пределов подвижности, допус- тимых ускорений, типов информации, получаемой от датчиков, и т. д. Указание к заданию. Задание представля- ется для транслятора как последовательность моделей 41
рабочей обстановки, соответствующих определенным эта- пам выполнения задания. Синтез программы управления робо- том. На основе спецификации задания осуществляется синтез роботоориентированной программы. Она в основ- ном подразделяется на этапы планирования захватов предметов, планирования движений и проверки выполне- ния плана. Для надежного выполнения задачи необходимы ал- горитмы, объединяющие методы осторожного и подат- ливого движения с методами анализа сенсорной инфор- мации. 3.2. Язык программирования роботов AL Язык AL разработан в лаборатории искусственного интеллекта Стэнфордского университета (США). Он предназначен для управления сборочным роботом. Про- грамма имеет блочную структуру. При этом в каждом блоке описываются в явном виде переменные, опреде- ленные в нем. В систему программирования AL входят: язык высо- кого уровня; транслятор с языка; система для управ- ления роботом в реальном масштабе времени; система управления внешними устройствами. Система AL предназначена для автоматизации про- цессов сборки в мелкосерийных производствах, в которых требуется быстро переключаться с одного изделия на другое. Система широко использует сенсорную инфор- мацию и имеет экспериментальный характер. Одной из целей этой системы является исследование возможностей высокоуровневого языка управления сборочным роботом. При управлении роботом в системе AL оператор ши- роко использует так называемые макросы, описывающие стандартные наборы движений (рабочие операции). Сис- тема может одновременно управлять двумя роботами, условно называемыми «желтым» и «голубым», и может вычислить траекторию движения. Главная управляющая программа системы — супер- визор — обеспечивает связь оператора с системой управ- ления роботом. Оператор управляет роботом с помощью двух терминалов: терминал 1 позволяет вводить задание роботу в память ЭВМ; терминал 2 производит отладку программ управления роботом в супервизорном режиме. Структура языка AL аналогична структуре языка 42
ALGOL наличием ограничителей BEGIN и END, бло- ков операторов, в том числе операторов цикла, и услов- ных операторов. Существенными отличиями языка AL от языка ALGOL являются отсутствие операторов пере- ходов и то, что описания переменных могут находиться в любом месте блока. Сходство языков AL и FORTRAN обусловлено иден- тичностью типов переменных (целые и вещественные); отличие заключается в том, что на языке AL все пере- менные должны быть описаны. Описание модели внешней среды робота. Служебное слово FRAME вводят для описания модели мира (внеш- ней среды) робота. Например, FRAME а, Ь, с, где а, Ь, с — некоторые точки пространства, через которые должно пройти захватное устройство робота В языке AL используются скалярные, векторные, раз- мерные и безразмерные типы данных. Скалярные вели- чины описываются следующим образом: A SCALAR, а, Ь, ..., где А — наименование скалярной величины или группы скалярных величин; а, Ь, ... — обозначение скалярных вели- чин. Для скалярных величин вводятся обычные арифме- тические действия: сложение ( + ), вычитание (—), умно- жение (X), деление (/) и операция присваивания (^-). Скалярные величины могут быть безразмерными или иметь размерность времени (секунда), линейного рас- стояния (сантиметр), углового расстояния (градус) и массы (грамм). Рассмотрим пример описания переменных с помощью скалярных величин: отрезков времени Д6=3 с, мас- сы ГИ1 = 3 г, углов 0 = 90° и ф= 10°, а также некоторые манипуляции с этими величинами (Д/2 = Л6- 5,1). Сначала описываются типы величин, затем им при- сваиваются некоторые числовые значения, размерности и производятся некоторые манипуляции с ними. Приведем запись программного модуля, реализующе- го описанные операции: REAL tml, tm2, mSI, theta, phi; TIME SCALAR tml, tm2; MASS SCALAR mSI; ANGLE SCALAR theta, phi; tml *- 3. • SEC; tm2 ♦- tml • 5. 1; mSI «- 5. • GM; theta «- 90. • DEG; phi ♦- 10. • DEG; phi * theta 9. 43
Возможна также организация циклических структур и в них операторов-счетчиков, например tml <-tml + 1. Векторный тип переменной образуется с помощью структуры VI = VECTOR (XI, Yl, Z1), где VI—обо- значение вектора; XI, Yl, Z1 —обозначения скалярных величин. Все скалярные величины должны иметь оди- наковую размерность, которая будет совпадать с раз- мерностью вектора. Введены следующие операции с векторами: сложе- ние и вычитание векторов; умножение на скалярную величину. В языке AL определены следующие константы: 1) единичные векторы: X (1; 0; 0); Y (0; 1; 0); Z*- (0; 0; 1); 2) нулевой вектор NILVEC VECTOR (0; 0; 0); 3) векторы исходных позиций BPARK «голубого» и YPARK «желтого роботов. Операторы движения робота. Оператор движения MOVE является основным оператором языка AL и под- разделяется на ряд модификаций. 1. ДВИЖЕНИЕ К ЗАДАННОЙ ТОЧКЕ ПРОСТРАН- СТВА — MOVE Y ТО К, где Y — обозначение робота; К — обозначение точки. 2. ДВИЖЕНИЕ К ЗАДАННОЙ КОНЕЧНОЙ ТОЧ- КЕ ЧЕРЕЗ ЗАДАННЫЕ ФИКСИРОВАННЫЕ ТОЧКИ ПРОСТРАНСТВА — MOVE Y ТО К VIA а, b........... где а, Ь, ... — обозначения промежуточных точек. 3. ДВИЖЕНИЕ ДО ВЫПОЛНЕНИЯ НЕКОТОРО- ГО УСЛОВИЯ — MOVE Y ТО KlVIA a."b7 ..JON А©В DO С. - - Структура VIA а, Ь, ... может отсутствовать. А©В — некоторое условие; А = ( DURATION — продолжительность движения; I FORCE (VI) — развиваемое вдоль вектора VI усилие; © — равенство «=> или одно из неравенств: «>>, «<», «^», «^»; В — размерная величина времен- ного отрезка или усилия; С — любой оператор входного языка. Например, MOVE В ТО Z1 ON FORCE (Х)>30. *GM DOn^-1. STOP «Голубой» (blue) робот должен двигаться в точку, заданную трехмерным вектором Z1. В случае если уси- лие вдоль оси X превышает 30 гс, переменной п присваи- вается значение 1, и робот останавливается. 44
4. ПОСТУПАТЕЛЬНОЕ ДВИЖЕНИЕ ОПРЕДЕ- ЛЕННОЙ ПРОДОЛЖИТЕЛЬНОСТИ С УСИЛИЕМ, ЗАДАННЫМ В ФИКСИРОВАННОМ НАПРАВЛЕНИИ: MOVE В WITH DURATION = А WITH FORCE = С ALONG V1 OF STATION WITH FORCE = 0 ALONG V2, V3 OF STATION где В — обозначение робота (В — «голубой», Y — «жел- тый»); А—размерная скалярная величина, обозначаю- щая продолжительность движения; С — усилие, разви- ваемое вдоль направления VI; VI, V2, V3 — ортогональ- ные векторы. Идентификатор STATION обозначает не- которую систему координат. Методика составления про- граммного модуля, описывающего вращательное движе- ние робота, здесь не рассматривается. Вспомогательные операторы языка AL: — SEARCH (искать) — предписывает роботу произ- водить спиральные движения в указанной плоскости; — CENTER (центрировать) — предписывает «руке» произвести центровку относительно объекта, находяще- гося между «пальцами» захватного устройства, до за- хвата объекта; — ABORT (пресечь) — предписывает немедленный останов «руки» и выдачу определенного контрольного сообщения в случае наступления запрограммированной аварийной ситуации; — OPERATE (управлять) — служит для управления заданным рядом устройств (автоматические тиски, элек- трическая отвертка, поворотный стол и т. д.); — AFFIX (прикрепить) — предписывает системе уп- равления считать ряд деталей единым целым. Необхо- димость в таком операторе обусловлена тем, что в про- цессе сборки ряда деталей образуется некоторый узел, которым при дальнейшей работе целесообразно опери- ровать как новой неделимой единицей; — UNFIX (открепить) — оператор, обратный опера- тору AFFIX. Используется при расчленении некоторого узла на ряд деталей. В языке AL имеются оператор цикла и условный оператор. Транслятор с языка AL реализован на ЭВМ PDP-10. Недостатки этой реализации: программа сначала пол- 45
ностью транслируется, а затем выдается на отработку, что затрудняет управление роботом; громоздкое описа- ние деталей и узлов. Пример составления программ. Запишем на языке AL программу выполнения рабочей операции <Взятие и перенос»: FRAME D, К D «- PICTURE К *- VECTOR (50, 27.3, -15.2) DOPERATE BLUE FINGERS WITH OPENING 2) MOVE B TO D 3) CENTER B 4) AFFIX D TO B 5) MOVE D TO К 6) OPERATE BLUE FINGERS WITH OPENING. Сначала с помощью служебного слова FRAME опи- сывается внешняя среда робота: D — деталь, подлежа- щая переносу; К — точка, в которую переносится деталь. Затем с помощью системы целеуказания PICTURE в не- явной форме задаются координаты детали, а координаты конечной точки задаются в явном виде. Операторы: 1 — предписывает «голубому» роботу открыть захватное уст- ройство; 2 — перемещает робот в точку нахождения де- тали; 3 — захватывает деталь; 4 — отождествляет деталь с «голубым» роботом, после чего управления движени- ем робота и детали становятся эквивалентными; 5 — перемещает деталь в точку назначения; 6 — открывает захватное устройство робота. 3.3. Автоматизация программирования роботов Независимое программирование роботов на языках высокого уровня связано с тремя проблемами: 1) точного описания положения и ориентации сочле- нений робота в рабочем пространстве языковыми сред- ствами; 2) контроля взаимного положения объектов в рабо- чем пространстве; 3) отладки программ. Одним из путей решения этих проблем является ис- пользование геометрических моделей робота и рабочего пространства Для построения таких моделей можно ис- пользовать как языковые, так и графические средства. 46
По способу использования информационных моделей в системах независимого программирования можно вы- делить две группы: системы роботоориентированного программирования на базе средств машинной графики; системы задачно-ориентированного программирования. Характерной особенностью систем роботоори- ентированного программирования явля- ется использование графических представлений в ходе программирования робота, в значительной мере воспро- изводящих процесс прямого обучения роботов с такими его достоинствами, как возможности свободной смены точки зрения, визуального контроля взаимного положе- ния всех элементов рабочего пространства, интерактив- ной отладкой. Вместе с этим рассматриваемые системы сохраняют преимущества независимого текстуального программирования: возможности символьной адресации объектов манипулирования, вычислений, обработки сиг- налов от сенсорных элементов, организации разветвле- ний в программе, использования процедур и библиотек, текстового редактирования программ и т. д. Подключе- ние САПР к процессу программирования роботов поз- воляет резко повысить степень интеграции робота с про- изводственной системой, поскольку одна и та же база данных может быть использована для всей производст- венной системы. Кроме того, программирование роботов выносится из цеха и становится доступным лицам, зна- комым с технологией. При этом появляется возможность оптимизации технологических цепочек с роботами путем опробования разных типов роботов и вариантов их раз- мещения до этапа установки оборудования и без учас- тия роботов. Для повышения универсальности системы программи- рования с использованием САПР и обеспечения их не- зависимости от типа робота в некоторых системах, как, например, ROBEX, предусматривается включение пост- процессора, генерирующего исполнительную программу робота конкретного типа на основе данных, подготов- ленных с помощью геометрической модели и записанных на стандартизированном промежуточном языке, анало- гичном языку, используемому для программирования станков с ЧПУ. Характерной особенностью систем задачно- ориентированного программирования является отказ от детального программирования кон- кретных действий робота и программирование задачи в 47
терминах взаимного положения объектов в рабочем про- странстве и его изменений в процессе решения задачи в соответствии с поставленной целью. Фактические дей- ствия робота строятся с помощью методов искусствен- ного интеллекта на основе модели робота и окружаю- щих его объектов, отражающей его кинематику, динами- ческие особенности (предельные ускорения, нагрузки, пределы подвижности и т. п.), физические параметры объектов (массы, моменты инерции) и законы взаимо- действия. Как и в системах роботоориентированного про- граммирования, основное значение здесь также имеет геометрическая модель. Однако если в системах робото- ориентированного программирования графические сред- ства системы имеют первостепенное значение, обеспе- чивая программисту возможность контроля за соблюде- нием желаемых пространственных отношений между объектами и определения необходимых параметров дви- жения робота, то при задачно-ориентированном прог- раммировании более важно внутреннее геометрическое представление. Программирование роботов с использованием модель- ных представлений в обеих группах систем программи- рования включает в себя три основных этапа: 1) формирование необходимых информационных мо- делей (часть моделей, например, роботов различных ти- пов и наиболее стабильных видов технологического обо- рудования и оснастки, может быть помещена в базу данных системы программирования и использоваться многократно); это наиболее трудоемкая и ответственная часть работ; 2) построение программы перемещений деталей с контролем взаимного положения, выполнения техноло- гических операций, в том числе смены захватного уст- ройства и инструмента, проверок условий и организа- ции логических переходов, синхронизации с другими уст- ройствами, участвующими в технологическом процессе; 3) получение исполнительной программы управления роботом на языке низкого уровня (роботоориентиро- ванном языке или непосредственно в кодах системы уп- равления). Построение геометрической модели рабочего прост- ранства может быть осуществлено одним из трех ос- новных способов: — с помощью манипулятора; — средствами интерактивной машинной графики в 48
сочетании с геометрическим языком высокого уровня; — с помощью системы технического зрения. Первый способ соответствует традиционному подходу к программированию роботов методом прямого обучения и обладает всеми присущими этому методу недостатками, связанными с необходимостью присутст- вия человека в рабочем пространстве, низкой точностью позиционирования. Кроме того, он не позволяет исполь- зовать информацию о форме объектов и требует, чтобы все объекты, положение которых должно быть задано в модели, находились в пределах досягаемости для руки робота. Преимуществом этого способа является его на- глядность для программиста, наблюдающего все объек- ты в трехмерном пространстве. Второй способ использует графические средства САПР, позволяющие строить модели объектов из про- стейших пространственных элементов (примитивов), на- блюдая их на экране графического дисплея и пользуясь операциями сдвига, масштабирования, вращения, раз- множения и пространственных аналогов теоретико-мно- жественных операций объединения, пересечения (супер- позиции) и вычитания множеств. Воспроизведение на экране дисплея достаточно наглядных изображений сложных трехмерных тел в реальном масштабе времени доступно только специализированным графическим си- стемам, построенным на базе высокопроизводительных ЭВМ с параллельной или конвейерной обработкой ин- формации и большими объемами оперативной памяти (М байт). И даже при использовании мощных систем машинной графики двухмерные экранные проекции про- странственных тел, не содержащие невидимых с пози- ции наблюдателя элементов поверхностей, учитывающие ориентацию поверхностей по отношению к источникам света и тени, тем не менее, не позволяют столь же просто оценивать глубину и взаимное положение объектов, как стереоскопическое изображение. Третий способ, являющийся в некотором смыс- ле модификацией первого, — интерактивное зрение. Суть его состоит в том, что оператор, пользуясь лазером, как «указкой», указывает световым пятном характерные точки объектов рабочего пространства, а координаты этих точек измеряются системой технического зрения с помощью триангуляции. После задания координат точек оператор с помощью символьной (или речевой) команды приписывает данному объекту тот или иной геометри- 49
ческий примитив из библиотеки, параметры которого вы- числяются по координатам характерных точек. В отличие от первого способа интерактивное зрение не связано с использованием манипулятора, имеющего ограничен- ную зону досягаемости, но может оказаться столь же неэффективным в случае нескольких близко располо- женных объектов, загораживающих друг друга. По характеру использования геометрической инфор- мации при независимом программировании на основе моделей можно выделить три категории систем: компи- лирующие, интерактивные имитационные, графические. К компилирующим системам относятся си- стемы программирования, в которых геометрическая мо- дель и кинематическое описание робота формируются пользователем с помощью специализированного языка высокого уровня. База данных системы служит для* авто- матического определения конкретных значений парамет- ров модели, используемых при выработке сигналов уп- равления роботом по алгоритму, задаваемому пользова- телем (в системах манипуляционного уровня) или ре- шающей процедурой (в системах заданного уровня). Графические средства в таких системах необходимы для наглядного представления описываемой модели и ото- бражения запрограммированного процесса решения за- дачи роботом с целью проверки его правильности. К си- стемам такого типа относятся, например, системы ROBEX и RAPT. К интерактивным имитационным си- стемам относятся системы программирования, обе- спечивающие имитацию системы управления робота с графическим сопровождением, воспроизводящим эффект прямого обучения робота на основе методов машинной графики в сочетании с тестуальным программированием на роботоориентированном языке программирования. Такие системы особенно удобны при конструировании роботов, планировании и проектировании роботизиро- ванных производств и позволяют проверять возможности роботов разных конструкций и с различной оснасткой при решении конкретных задач без использования ре- ального оборудования. Примерами систем такого типа являются две системы — машиностроительного факуль- тета Токийского университета и фирмы <NOKIA> (Фин- ляндия). К графическим системам относятся систе- мы программирования, в которых программируются про- so
странственные перемещения геометрических объектов, отображаемых на экране дисплея, при отсутствии како- го-либо заданного способа интерпретации этих объектов как элементов реального окружения робота или компо- нентов робота Программирование робота в такой систе- ме разделяется на два этапа. На первом этапе пользователь с помощью язы- ка графического программирования и интерпретатора этого языка составляет графическую программу решения задачи, т. е. описывает все перемещения объектов рабо- чего пространства с учетом кинематических особенностей робота (виды движений по степеням подвижности, пре- делы перемещений). На втором этапе, уже не требующем привле- чения графических средств, текст графической програм- мы, содержащей необходимую алгоритмическую и пози- ционную информацию, с помощью роботоориентирован- ного постпроцессора транслируется на язык конкретной системы управления роботом. Примером системы графического программирования может служить разработанная в Московском институте радиотехники, электроники и автоматики система авто- матизации программирования роботов АПРОГРАФ. 3.4. Примеры систем автоматизации программирования роботов Рассмотрим некоторые примеры систем автоматиза- ции программирования роботов, в которых используются геометрические модели объектов и роботов, поддержи- ваемые графическими средствами САПР. Компилирующие системы. Система независимого про- граммирования промышленных роботов ROBEX, разра- ботанная в ФРГ в качестве дополнения к существую- щей системе программирования станков с ЧПУ, пред- ставляет собой попытку создания инструмента для не- зависимого программирования гибких производств. При этом большое внимание уделено проблеме исполь- зования информации от внешних датчиков для синхро- низации робота и периферийного оборудования. Система ориентирована на использование миниЭВМ средней мощности (PDP-11/34. PPIME-200) и реализо- вана на FORTRAN-4, чем обеспечивается ее независи- мость от типа ЭВМ. Система ROBEX включает в себя следующие основ- ные компоненты: 51
Генератор модели мира Описание геометрии робота База данных Описание рабочего пространства (постоянная часть) ROBEX-процессор IRDATA-фаил Робот Постпроцессор Описание рабочего пространства (переменная часть) Библиотека систем Система моделирования 1 Рис. 3.1. Структура системы ROBEX — средства генерации и подготовки модельных опи- саний объектов рабочего пространства и робота (гене- ратор модели мира); — библиотеку описаний; — интерпретатор программы манипулирования (ROBEX-процессор). Структура системы приведена на рис. 3.1. Генератор модели мира используется в диалоговом режиме для формирования описания геометрии робота и рабочего пространства, которые затем помещаются в библиотеку, откуда они в любой момент могут быть считаны ROBEX- процессором для интерпретации инструкций программы. Программа робота, содержащая информацию о гео- метрии объектов манипулирования, параметрах движе- ний и другие необходимые для выполнения задачи дан- ные, составляется на проблемно-ориентированном языке программирования, редактируется с помощью редактора текстовой информации и помещается во внешнюю па- мять в виде INPUT-файла. ROBEX-процессор интерпретирует команды и данные, содержащиеся в тексте программы манипулирования, в соответствии с описаниями, находящимися в библиоте- ке, и генерирует промежуточный, независимый от робота псевдокод, помещаемый в выходной IRDATA-файл. 52
Если система управления робота имеет блок обра- ботки псевдокода (язык IRDATA-кодов стандартизован), то выходной файл ROBEX-процессора может быть не- посредственно использован для управления роботом. В противном случае для трансляции псевдокода на вход- ной язык системы управления роботом должен исполь- зоваться специальный постпроцессор. Выходной файл ROBEX-процессора может быть так- же введен в систему графического моделирования, обес- печивающую отображение команд управления роботом, заданных псевдокодом, на экране графического дисплея в виде трехмерной проекции с возможностью произволь- ного выбора точки зрения. Изображение рабочего про- странства может быть также сформировано на графо- построителе. Язык программирования системы ROBEX содержит инструкции следующих пяти типов (рис. 3.2): геомет- рические, управления процессором, управления движе- ниями робота, технологические, служебные. Геометрические инструкции предназначе- ны для описания геометрии пространства и деталей и строятся с помощью операторов определения двух- и 53
трехмерных объектов-примитивов: точки (POINT), линии (LINE), окружности (CIRCLE), вектора (VECTOR), поверхности (PLANE), параллелепипеда (CUBOID), цилиндра (CYLINDR), конуса (CONE), сферы (SPHE- RE) и оператора преобразования координат (MATRIX). Элементы объема составляются в виде совокупности та- ких примитивов и могут быть двух видов: тела (BODY) и детали (PART). Инструкции управления процессо- ром предназначены для задания форматов выходных данных, размерностей, выдачи сообщений об ошибках. Инструкции первых двух типов не порождают выходных кодов, а только готовят данные, используемые инструк- циями остальных типов. Инструкции управления движениями робота описывают перемещения манипулятора в ра- бочем пространстве. Движение может быть задано как в абсолютной системе координат (оператор GOTO), так и в приращениях (оператор GODLTA). Параметр TORN может быть использован для указания ориентации за- хватного устройства в заданной точке пространства, а параметр ЕХ — для указания необходимости подхода к заданной позиции радиально снаружи от сферы задан- ного радиуса. Специальный параметр TEACH позволяет ввести с консоли оператора данные о фактических коор- динатах опорных точек пространства в режиме обучения при тестовом выполнении программы. Другие парамет- ры обеспечивают синхронизацию действий робота с внеш- ними сигналами. Технологические инструкции предназна- чены для управления захватным устройством, инстру- ментом, скоростью, способом укладки деталей и т. п. Служебные инструкции предназначены для организации условных и безусловных переходов в про- грамме, операций ввода — вывода, обработки прерыва- ний, синхронизации и блокировки робота от периферий- ных устройств во время выполнения операции. В системе ROBEX предусмотрена обработка только двоичных сигналов от внешних датчиков, поэтому при использовании более сложных сенсорных систем выход- ная информация должна быть сведена к двоичному пред- ставлению. Разработанная в отделе искусственного интеллекта Эдинбургского университета (Англия) система задачно- ориентированного программирования роботов RAPT поз- 54
воляет программисту описывать задачу сборки деталей в терминах пространственных соотношений между объ- ектами рабочего пространства робота. Она имеет встро- енные процедуры поиска решений для определения после- довательности и параметров, необходимых для решения задачи действий и выполнения необходимых геометри- ческих вычислений В системе RAPT объекты описываются в терминах параметров их поверхностей (плоских и сферических гра- ней, цилиндрических выступов и отверстий, ребер, углов и точек). Модель манипулятора представляется совокуп- ностью объектов, между которыми должны выдержи- ваться определенные пространственные соотношения, обусловленные кинематикой робота. Пространственное положение объектов описывается координатами харак- терных элементов с использованием концепции коорди- натных фреймов, принятой в языке программирования роботов AL (фрейм-локальная декартова система коор- динат, положение которой в системе координат базового фрейма задается вектором переноса начальной точки и поворотом вокруг осей базовой системы координат). Различные этапы сборки описываются в терминах пространственных отношений между объектами, которые следует обеспечить, и перемещений объектов Програм- мист может составить универсальную подпрограмму, например, поднятия детали из произвольного положения и опускания ее в другом месте с соблюдением заданного отношения к определенному объекту. Такая подпрограм- ма затем может быть оформлена в виде макроопреде- ления, которое можно использовать в разных задачах, указывая лишь конкретные имена объектов и значения параметров. Результатом работы системы RAPT явля- ются данные о положении захватного устройства робота в пространстве для последовательных моментов выпол- нения программы сборки, которые затем интерпретиру- ются транслятором роботоориентированного языка. Интерактивные имитационные системы. Система IRPASS интерактивного программирования и моделиро- вания роботов фирмы ,Nokia> (Финляндия) (рис. 3.3) представляет собой САПР, соединенную с реальным процессором робота каналом связи Эта система объ- единяет элементы программирования роботов метода прямого обучения и метода независимого программиро- вания с использованием средств геометрического модели- рования. Процессор робота включает в себя электронную 55
Рис. 3.3. Аппаратные средства типовой САПР аппаратуру системы управления роботом Процессор слу- жит для имитации робота при отладке программы, в том числе обработки команд управления и их контроля, об- наружения ошибочных ситуаций и диагностики управ- ляющих элементов тем же способом, каким это делает- ся для реального робота. База данных САПР содержит необходимую графи- ческую и неграфическую информацию для роботов ра- бочей ячейки, в том числе: — описание типа робота: — число степеней свободы; — кинематическую схему; — имена подмоделей для каждого сочленения; — имена захватных устройств и инструмента; — положение и ориентацию робота в рабочей ячейке; — смещение каждого звена от начального положе- ния; — имя текущего захватного устройства или инстру- мента; — состояние захватного устройства (открыто — за- крыто) ; — имя детали в захватном устройстве. 56
Для упрощения графического моделирования трех- мерные пространственные описания захватных устройств или инструментов составлены отдельно для статики (де- тальное описание) и динамики (упрощенное описание аппроксимирующим многогранником с небольшим числом граней). Изображения на экране графического дисплея строятся в виде «проволочного каркаса». Исполнительные команды робота обрабатываются од- новременно и САПР, выполняющей графическое отобра- жение производимых при этом роботом действий, и про- цессором робота, контролирующим работу модели. Дви- жения могут задаваться любым из трех способов: — вручную с пульта управления аналогично тому, как это осуществляется при прямом обучении робота; — с помощью языка управления робота; — алгоритмически на основе информации в базе дан- ных. Предусматривается также возможность моделиро- вания операций обмена данными между роботом и пери- ферийными устройствами. Для этого предназначена па- нель, содержащая 32 светодиода для индикации выво- димой информации, 32 переключателя для ручного ввода двоичных сигналов и два кабеля для подключения внеш- ней системы управления. Хотя имитация системы управления робота в такой системе программирования достигнута с минимальны- ми усилиями (за счет использования реальных элемен- тов управления роботом), переход к программированию роботов других типов может оказаться трудным даже при использовании соответствующих процессоров из-за их информационной несовместимости. Более универсаль- ной системой является система программирования и ими- тации промышленных роботов, разработанная на маши- ностроительном факультете Токийского университета. Основу ее составляет универсальный модуль геометри- ческого моделирования GEOMAP, обеспечивающий вы- полнение следующих функций: — образование моделей элементарных объемных тел (кубы, цилиндры, конусы и т. п.); — преобразование и размножение моделей объем- ных тел; — построение линий пересечения тел и обнаружение пересечений; — наложение ограничений на перемещение моделей тел; 57
— формирование библиотеки моделей геометрических тел; — графическое отображение геометрических моделей на экране дисплея. Как и предыдущая система, эта система обеспечи- вает имитацию процесса прямого обучения робота сред- ствами САПР. Сначала с помощью ЭВМ строится гео- метрическая модель робота, деталей, оснастки и других устройств, занятых в программируемой технологической операции. Вид модели с разных ракурсов демонстриру- ется на экране дисплея. Движения модели программиру- ются на языке имитации управления роботом, содержа- щим команды управления степенями подвижности, команды движения для достижения заданного положе- ния в пространстве и ориентации, вспомогательные команды (открыть—закрыть захватное устройство, сме- нить инструмент и т. д.), команды выполнения простых действий (вставить, сжать и т. п.), а также макрокоман- ды. Основу языка имитации составляет язык VAL, кото- рый интерпретируется специальной программой имитации робота. Макрокоманды языка имитации обеспечивают включение команд для получения данных из геометри- ческой модели робота и объектов рабочего пространства. Программа имитации робота анализирует каждую Модель Среда Задача Выход Рис. 3.4. Структура системы программирования Токийского университета 58
команду, рассчитывает временную диаграмму движения для каждой степени подвижности, строит годограф дви- жения и формирует графический образ каждого компо- нента движения по фазам. Результаты программирова- ния могут быть получены либо в виде отлаженной про- граммы на языке программирования робота (например, VAL), либо в виде параметров управления приводами и исполнительными устройствами робота. Эти параметры генерируются специальной программой генерации управ- ляющих данных на основе параметров движения, сфор- мированных программой имитации робота, и специфика- ций для конкретного типа робота. Основные элементы процесса программирования в описанной системе пока- заны на рис. 3.4. Графические системы. Система АПРОГРАФ предназ- начена для решения задач графического моделирования и программирования промышленных роботов и робото- технических комплексов. В соответствии с концепцией графического программирования в системе АПРОГРАФ (рис. 3.5) основное внимание уделяется вопросам фор- мирования модели робота и окружающих его объектов графическими средствами, тогда как установление соот- ветствия графических объектов и инструкций их преоб- разования реальным конструктивным элементам робота и командам управления выделено в задачу, решаемую автономно. Рис. 3.5. Структура системы АПРОГРАФ 59
Система АПРОГРАФ состоит из двух основных под- систем: формирования графических объектов и графи- ческого программирования. Первая подсистема обеспечивает формирова- ние геометрических описаний всех компонентов рабочего пространства, а также вспомогательных графических обозначений, условных знаков и символьных надписей. При этом используются только графические средства: световое перо, планшет, система технического зрения, т. е. не требуется составление текстовых описаний на каком-либо геометрическом языке. Сформированные геометрические описания графических объектов записы- ваются на магнитный диск и могут быть считаны с него для модификации (добавления, удаления, замены, кор- ректировки графических элементов) или для графиче- ского сопровождения программы во второй подсистеме. Вторая подсистема обеспечивает возможность написания, редактирования и выполнения (в непрерыв- ном или пошаговом режиме) графических программ на специальном языке графического программирования с помощью интерпретатора. Язык графического програм- мирования объединяет в себе языковые средства универ- сальных языков программирования высокого уровня типа BASIC и FORTRAN, дополненные конструкциями, которые позволяют описывать манипуляции с графиче- скими объектами (сдвиги, вращения, масштабирование, объединение, разделение на части и т. д.), и геометри- ческие вычисления. Графические объекты, рассматривае- мые как дополнительный класс данных, могут быть первоначально либо загружены с диска, либо построены с помощью соответствующих инструкций. Предусмотрены инструкции для присваивания числовым переменным значений атрибутов пространственного положения графи- ческих объектов (координат, ориентации, масштаба, числа элементов) и параметров их взаимного положения (расстояния и направления). Ни одна из инструкций языка графического програм- мирования не определяет каким-либо фиксированным образом конкретную функцию системы управления робо- том. Установление соответствия между ними произво- дится на втором этапе с помощью постпроцессора. В случае если система управления роботом не позволяет выполнить вычисления, результаты которых используют- ся в графической программе, они могут быть встроены в текст выходной программы в виде констант. 60
Система АПРОГРАФ позволяет работать с объекта- ми, которые задаются списком вершин контура с указа- нием вида связи между соседними вершинами. Построе- ние объектов осуществляется с помощью программы РЕДАКТОР КОНТУРОВ в диалоговом режиме с ис- пользованием команд построения или удаления участков контуров, плоских сдвигов, вращений, изменения масшта- бов по каждой из осей координат, копирования графи- ческих объектов или их частей, объединения объектов, выполнения вспомогательных геометрических построений на экране, чтения описаний графических объектов из дискового файла и записи их на диск. Интерпретатор языка графического программирования обеспечивает в интерактивном режиме выполнение одиночных инструкций, запись их в текст программы, редактирование текста программы, выполнение програм- мы с произвольного места в пошаговом и непрерывном режимах. Пользователь может в любой момент остано- вить выполнение программы, чтобы запросить текущие значения параметров пространственного положения объ- ектов, выполнить вспомогательные геометрические по- строения и вычисления, а затем продолжить выполнение программы или перейти к ее редактированию. Правильно работающая программа записывается в виде выходного текстового файла на магнитный диск, откуда она может быть считана как интерпретатором, так и постпроцессо- ром или редактором текстовой информации. Все программные модули системы АПРОГРАФ реали- зованы на языке FORTRAN, что обеспечивает относи- тельную простоту расширения или специализации систе- мы путем модификации или добавления функциональных подпрограмм. В зависимости от состава встроенных в систему процедур она может быть использована при прямом обучении роботов, роботоориентированном и задачно-ориентированном программировании, а также для программирования систем группового управления роботами и робототехническими комплексами.
ГЛАВА АРХИТЕКТУРА МУЛЬТИМИКРО- И МИНМКОМПЫОТЕРНЫХ СИСТЕМ ДЛЯ ГИБКИХ АВТОМАТИЗИРОВАННЫХ ПРОИЗВОДСТВ Информационные связи в ГАП имеют древовидную структуру подобно автоматическим системам управления физическими экспериментами и технологическими про- цессами. Главной характерной особенностью таких сис- тем является автоматическое управление процессами в реальном масштабе времени, особенно на нижних уров- нях управления. Проведенные исследования [1] показывают, что для верхних уровней ГАП с характерным объемом данных 10*—1О10 бит/сут можно использовать локальные сети со скоростью I — ЮМ бит/с и длиной 1—5 км. Однако для нижних уровней ГАП характерны следующие параметры: — большое число элементов управления, распреде- ленных по группам; — интенсивность обмена 102—103 бит/с; — время выработки управляющего воздействия 10— 1000 мс; — размещение элементов управления групп оборудо- вания на расстоянии 20—200 м. Поэтому применение традиционной техники локаль- ных сетей связи на нижних уровнях ГАП экономически не оправдано. На этих уровнях ГАП целесообразно ис- пользование малых локальных сетей связи [2] типа ГС и D2B фирмы <NV Philips». Малая локальная сеть типа 12С с длиной до 10 м слу- жит для объединения интегрально-схемных сборок в не- большие модульные микросистемы. Малая локальная сеть типа D2B с длиной до 150 м имеет более эффектив- ный протокол передачи данных и характеризуется высо- кой помехоустойчивостью. Она позволяет объединять до 50 конструктивно законченных микросистем, причем каж- 62
дая из микросистем может быть построена на базе ма- лой локальной сети типа 12С. Современное состояние технологии позволяет сформу- лировать следующие требования, предъявляемые к ло- кальной вычислительной сети: — должна иметь гибкую структуру и легко наращи- ваться с увеличением числа услуг, предоставляемых сетью; — должна иметь средства подключения разнообраз- ных терминалов больших, мини- и микроЭВМ (работаю- щих по разным протоколам) и соответствующие средства согласования протоколов; — должна иметь средства сопряжения с другими ло- кальными и большими сетями; — должна иметь надежность не ниже, чем телефон- ная сеть; — должна быть дешевой. Количественные значения характеристик локальной вычислительной сети (скорость передачи, надежность и др.) определяются областью ее применения и могут изменяться в широком диапазоне. Например, скорость передачи для диалогового поиска информации — 20 К бит/с, для передачи файлов — 10 М бит/с, для взаимодействия прикладных ЭВМ в распределенной вы- числительной системе — 20 М бит/с. В настоящее время за рубежом созданы локальные вычислительные сети с разной топологией (шина, кольцо, дерево и др.), с разными методами доступа (передача права, случайный и др.), с разными средствами передачи (витые пары, коаксиальные кабели и др.). Большое раз- нообразие вариантов вызывает появление разных несов- местимых локальных вычислительных сетей с малоотли- чающимися характеристиками. В рамках Международной организации по стандарти- зации (ISO) начаты работы по стандартизации локаль- ных вычислительных сетей. Среди наиболее активных организаций особое место занимает европейская ассо- циация ЕСМА (European Computer Manufacturers As- sociation), в число членов которой входят фирмы «1ВМ>, «DEC>, <Apple>, «Siemens», «Burroughs» и др. Многие проекты ISO базируются на стандартных ЕСМА. Анализ первых разработанных стандартов на локальные вычис- лительные сети [3] позволяет выделить две базовые то- пологии — шины и кольца. При этом в качестве прото- типов для топологии шины используется сеть ETHERNET 63
фирмы «Xerox» (США), а для топологии кольца — сеть CAMBRIDGE RING (Англия). В настоящей главе проводится сравнительный анализ основных характеристик локальных сетей, выполненных по топологии шины и кольца. Приводятся опи- сания локальных вычислительных сетей ETHERNET и CAMBRIDGE RING, а также малых локальных вычис- лительных сетей 12С и D2B. Определяются области их применения в промышленной робототехнике и ГАП. 4.1. Принципы построения локальных вычислительных сетей До появления локальных вычислительных сетей ис- пользовались вычислительные системы со звездообразной конфигурацией (рис. 4.1). В таких системах терминалы подключались к устройствам управления, которые при- соединялись к центральному процессору ЭВМ через ка- налы ввода — вывода. Терминалы не обладали памятью и программируемой логикой, поэтому функции управле- ния осуществлялись в устройствах управления и цент- ральной ЭВМ. Несмотря на малую стоимость подключения термина- лов, такая система имела существенные недостатки: — устройства управления располагались в непосред- ственной близости от ЭВМ, так как каналы ввода — вы- вода не могут быть длинными; Рис. 4.1. Вычислительная система со звездообразной конфигурацией: МЛ — магнитная лента; МД — магнитный диск; Г — терминал; МДП — метод доступа к внешней памяти; МДТ — метод доступа к терминалам; У УЛ — устройство управления лентами; УУД — устройство управления дисками; УУТ — устройство управления терминалами; СК — селекторный канал; МК — мультиплексный канал; ОС — операционная система; ПрС — прикладная система 64
______ терминалы и устройства внешней памяти физи- чески и логически подключались только к одной ЭВМ, так как в противном случае требовался дополнительный коммутатор и дополнительные кабели для связи с други- ми ЭВМ; — терминалы и устройства внешней памяти соеди- нялись с соответствующими устройствами управления через выделенные кабели, что приводило к увеличению суммарной длины кабелей при развитии системы. Переход от звездообразной конфигурации вычисли- тельной системы к более гибким и дешевым структурам предопределен достижениями микроэлектроники и техни- ки связи 70-х годов: — разработкой дешевых высокоскоростных (1 — 10 М бит/с) кабелей с однородными характеристиками на длине до 2 км; — созданием компактных, надежных и дешевых сете- вых микроконтроллеров и адаптеров на базе БИС, СБИС и микропроцессоров; — всесторонними исследованиями и широким освоени- ем эффективного метода коммутации пакетов. Появилась возможность придать каждому внешнему устройству и устройству памяти отдельный дешевый мик- ропроцессор и построить вычислительную систему на базе регулярной многодоступной сети связи, обеспечиваю- щей простую структуру связи всех компонентов вычисли- тельной системы при минимальной общей длине соедине- ний. В настоящее время локальная вычислительная сеть определяется как распределенная система, построенная на базе общей среды передачи данных (локальной сети связи), обеспечивающей физическую связанность всех компонентов системы, простоту реконфигурации системы, компоненты которой располагаются на расстоянии не более 3 км друг от друга. На рис. 4.2 представлена вы- числительная система, выполненная на базе локальной сети связи с топологией шины. Локальные вычислительные сети, по существу, реали- зуют новую технологию комплексирования и коллектив- ного использования микро- и миниЭВМ — технологию распределенного использования ресурсов ЭВМ. Она име- ет ряд преимуществ по сравнению с централизованными системами, в которых к одной большой ЭВМ подключа- ется несколько удаленных терминалов. Главные преимущества распределенных систем состо- 3—870 65
Рис. 4.2. Вычислительная система на базе локальной сети связи: МЛ — магнитная лента; МД — магнитный диск; Т — терминал; ПрЭВМ — прикладная ЭВМ; ПЭВМ — персональная ЭВМ; ПрОЛ — программа обслу* живания ленты; ПрОД — программа обслуживания диска; ПрОТ — програм* ма обслуживания терминала; СМД — сетевой метод доступа: КЛ — контрол- лер ленты; КД — контроллер диска; КТ — контроллер терминала; КПДП — канал прямого доступа в память; СА — сетевой адаптер ят в следующем: высокая производительность обработки данных, повышенная модульность и расширяемость, достаточно высокая надежность, живучесть и готовность, а также низкая стоимость. Принципы построения локальных вычислительных сетей органично сочетаются с принципами построения ГАП — распределением средств вычислительной техники по станкам, роботам, производственным участкам, а так- же использованием средств вычислительной техники в реальном масштабе времени. Поэтому все преимущества распределенных систем ЭВМ в ГАП используются в выс- шей степени. 4.2. Характеристики компонент локальных вычислительных сетей Основными компонентами локальных вычислительных сетей являются: физическая среда передачи, топология и метод доступа к физической среде. В современных локальных вычислительных сетях ши- роко применяются четыре типа физической сре- ды передачи данных: витые пары, коаксиальный кабель с дискретной сигнализацией, коаксиальный ка- бель с аналоговой сигнализацией и оптоволоконный ка- бель. Качественные характеристики физических сред пе- редачи представлены в табл. 4.1. бб
Таблица 41 Тип физической среды передачи Характеристики Полоса пропус- кания Число подклю- чаемых узлов Протя- женность без пов- торителей Трудоем- кость проклад- ки Помехо- защищен- ность Стои- мость Витая пара Узкая Малое Малая Средняя Малая Низкая Коаксиаль- ный ка- бель с дис- кретной сигнали- зацией Средняя Среднее Средняя Малая Высо- кая Средняя Коаксиаль- ный ка- бель с аналого- вой сигна- лизацией Широ- кая Боль- шое Боль- шая » » Высокая Оптоволо- конный кабель Очень широкая Малое Очень большая Средняя Очень высокая Очень высокая Витая пара имеет следующие достоинства: низкую стоимость, легкость подключения новых узлов, возмож- ность наращивания длины через повторители. Основной недостаток — низкая скорость передачи (до 1 М бит/с). Поэтому витые пары используются, в основном, для свя- зи персональных ЭВМ, совместно используемых печатаю- щих устройств, накопителей на магнитных дисках и др. Так как витые пары используются для подключения те- лефонных аппаратов к учрежденческим АТС, то возмож- но построение локальной сети на имеющихся телефон- ных абонентских каналах. Коаксиальный кабель с дискретной сигнализацией обеспечивает более высокую скорость передачи (до Ю М бит/с), чем витая пара. В этом случае по кабелю передается один поток сигналов, а спектр отдельного сигнала может занимать почти всю полосу пропускания (возможна мультиплексируемая во времени передача Данных и речи). Для увеличения длины сети свыше 2 км используются повторители. Однако длина такой сети не з* 67
должна превышать 10 км Кабель даже при наличии повторителей относительно устойчив к шуму. Однако стоимость его в основном за счет повторителя выше, чем витой пары. Коаксиальный кабель с аналоговой сигнализацией требует подключения устройств через радиочастотные модемы и использования техники кабельного телевиде- ния. Коаксиальные кабели с аналоговой сигнализацией по сравнению с коаксиальными кабелями с дискретной сигнализацией имеют следующие недостатки: их установ- ка и эксплуатация дороже (установка модемов и пе- риодическая настройка повторителей и модемов), а гиб- кость при расширении системы недостаточна (дополни- тельные устройства могут быть установлены только в заранее запланированных при начальном проектировании сети местах). Однако коаксиальный кабель с аналоговой сигнализацией имеет и существенные преимущества: сеть может иметь длину 50 км и больше, а кроме того, может обеспечивать одновременную передачу в разных полосах частот речи, данных и изображения. Экспериментальные образцы современных оптоволо- конных кабелей позволяют передавать данные со ско- ростью 150 М бит/с и более, а кроме того, имеют высо- кую помехозащищенность Недостатки их — высокая стоимость и сложность подключения устройств из-за не- развитости элементов подключения. Топология определяет общую структуру взаимо- связей и характеризует сложность интерфейса, наращи- ваемость, надежность и стоимость локальных вычисли- тельных сетей. Для них применяются четыре типа то- пологии: шина (моноканал), кольцо, звезда и дерево (поликанал). Сравнительные качественные характеристи- ки этих топологий приведены в табл. 4.2. Таблица 4.2 Топология Характеристики Сложность интерфейса Наращивае- мость Надежность Стоимость Шина Малая Высокая Высокая Низкая Кольцо » Средняя » Средняя Звезда » Малая Средняя Высокая Дерево Средняя Высокая Высокая Низкая 68
Методы доступа к физической среде разделя- ются на два основных класса: случайный и детермини- рованный (централизованный и децентрализованный). Они зависят от топологии локальной сети связи, и са- мостоятельное качественное и количественное сравнение методов доступа затруднительно. Кроме того, каждая топология обычно использует определенные физические среды. В табл. 4.3 приведены топологии, классы и методы доступа к физической среде локальных вычислительных сетей. Для топологии шины обычно применяются коаксиаль- ные кабели с дискретной сигнализацией и используются методы доступа: — множественный доступ с контролем несущей и об- наружением конфликта (МДКН/ОК — CSMA/CD); — селекторный опрос; — явная (адресуемая) передача права. Для топологии кольца в большинстве зарубежных разработок применяются витые пары и используются методы доступа: — заполнение регистра; — групповой опрос; — неявная (неадресуемая) передача права. Таблица 43 Класс метода доступа Топология локальной сети связи Шина Кольцо Звезда Дерево Случайный М1КН ОК Заполне- ние ре- гистра МДКН/ОК МДКН/ОК Детермини- рованный Централи- зован- ный Селектор- ный оп- рос Г рупповои опрос Коммута ция фи- зическо- го или логиче- ского соедине- ния Коммута- ция час- тотных понос Децентра- лизован- ный Явная (адре- суемая) переда- ча права Неявная (неадре суемая) переда- ча права Передача права (явная) 69
Для топологии звезды применяются чаще всего ви- тые пары или оптоволоконные кабели. В первом случае центром звезды является электронная АТС или коммута- тор пакетов и используется метод доступа физического (Х.21) или логического (Х.25) соединения. Во втором случае центром звезды является оптический смеситель и используется метод МДКН/ОК. Для топологии дерева используются коаксиальные ка- бели с аналоговой сигнализацией (техника кабельного телевидения) и следующие методы доступа: - МДКН/ОК; — частотное разделение каналов; — явная передача права. В локальных сетях с топологией дерева на основе техники кабельного телевидения возможна параллельная с точки зрения пользователя передача гибридного трафи- ка, состоящего из данных речи и изображения. В этом случае вся полоса частот коаксиального кабеля (до 400 МГц) делится на несколько более узких полос (на- пример, для видеосигнала 6—8 МГц, а для речи — 3 кГц). Одно устройство может выходить через соответ- ствующее число модемов на несколько частот. Локальные сети с топологией шины и случайным ме- тодом МДКН/ОК допускают передачу гибридного трафи- ка — дисретизированной речи и данных. Нет препятст- вий для передачи гибридного трафика по кольцевым и звездообразным локальным сетям. Таким образом, возможны различные способы постро- ения локальной сети, а каждый тип сети определяется характеристиками физической среды, топологией и мето- дом доступа. Выбор типа локальной сети должен осу- ществляться исходя из требований конкретного исполь- зования. В настоящее время отсутствуют формальные методы выбора типа локальной сети и ее характеристик в зависимости от требований приложений. Однако два типа локальных сетей — с топологией дерева и звезды — уступают локальным сетям с топологией шины и кольца. В звездообразных локальных сетях большая длина соеди- нительных кабелей, отказ центрального узла выводят из строя всю сеть (необходимо дорогостоящее дублирова- ние), имеются физические ограничения по числу подклю- чаемых к центральному узлу устройств. Локальные сети с топологией дерева требуют техники кабельного теле- видения, являются дорогими и имеют в какой-то степени основные недостатки звездообразных локальных сетей. 70
Поэтому в зарубежной и отечественной практике наибо- лее широко используются локальные вычислительные сети с топологией шины и кольца. 4.3. Анализ характеристик локальных вычислительных сетей с топологией шины и кольца Наиболее важными характеристиками локальных вы- числительных сетей являются производительность и на- дежность, а также электрические характеристики. Небез- ынтересен сравнительный анализ по этим характеристи- кам локальных вычислительных сетей с топологией шины и кольца. Производительность. Сравниваются сети с топологией шины и кольца при следующих условиях: — число узлов сети — 100; — метод доступа сети с топологией кольца — неявная передача права, метод доступа сети с топологией ши- ны— либо МДКН/ОК, либо явная передача права; — в сети имеется либо один активный узел, либо все 100 узлов активны; — пакет передается в составе кадра данных с заго- ловком из 96 бит и может иметь длину L, равную 500, 1000, 2000 бит; — определены для каждого варианта сети и метода доступа: время передачи кадра со свободным маркером в сети с топологией шины и передачей права, число попыток до успешной передачи кадра в шине с методом МДКН/ОК, время обработки бита кадра в сетевом адаптере кольца и др. При приведенных выше условиях получены [3] анали- тические зависимости средней эффективной скорости пе- редачи иЭф кадров данных от скорости передачи v в фи- зической среде (рис. 4.3). Анализ их позволяет сделать следующие выводы: — сеть с топологией кольца и методом доступа пе- редачи права менее чувствительна к нагрузке и обладает наиболее эффективной скоростью передачи кадров дан- ных; — при активности всех станций (рис. 4.3, б) сеть с то- пологией шины и методом доступа передачи права прак- тически не уступает в эффективной скорости передачи сети с топологией кольца и передачей права; — при активности одной станции (рис. 4.3, а) сеть 71
данных от скорости передачи в физической среде: — сеть с топологией кольца и методом доступа передачи права, — сеть с топологией шины и методом МДКН/ОК, -- сеть с топологией шины и методом доступа передачи права
с топологией шины и методом МДКН/ОК практически не уступает в эффективной скорости передачи сети с то- пологией кольца и передачей права; — эффективная скорость передачи всех рассмотрен- ных вариантов сети увеличивается с возрастанием длины пакета; — эффективная скорость передачи сети с топологией шины и методом МДКН/ОК при активности всех станций существенно снижается по отношению к варианту с ак- тивностью одной станции Причины потери эффективной скорости с увеличением нагрузки в сети с топологией шины и методом МДКН/ОК объясняются следующим образом. Критическим парамет- ром такой сети является отношение времени распростра- нения сигнала по кабелю к среднему эффективному вре- мени передачи данных по физической среде. При под- ключении большего числа станций (увеличении нагруз- ки) среднее время передачи данных увеличивается, сни- жая критический параметр. При этом возрастающая частота конфликтов может привести к деградации про- изводительности сети. Критическое значение отношения времени распространения сигнала в физической среде к среднему времени передачи данных в физической сре- де — около 5%. При этом значении происходит сущест- венная деградация производительности сети. Объясняет- ся это тем, что при обнаружении конфликта передача кадра обрывается и узел откладывает его передачу на случайно выбираемый по некоторому закону интервал времени с учетом нагрузки на сеть для исключения повторных попыток передачи. При больших нагрузках высокая частота конфликтов совместно с механизмом откладывания повторных передач приводит к увеличению средней задержки передачи и появляется опасность бло- кировки узла на неопределенный период времени. Прак- тическими мерами для предотвращения деградации про- изводительности в такой сети служит ограничение длины и сокращение числа узлов. В сети с топологией кольца и методом доступа пере- дачи права при максимальной нагрузке обеспечивается равноправное распределение полосы пропускания, среды передачи между всеми активными узлами, так как право передачи передается каждым узлом сразу после передачи одного кадра. Электрические характеристики. Электрические харак- теристики локальных вычислительных сетей также имеют большое значение для сравнительной оценки 73
Рис. 4.4. Структура узла локальной вычислительной сети связи с топо- логией шины: ВР — врезки. КК — коаксиальный кабель; ПП — приемопередатчик; С А — сетевой адаптер; И К — интерфейсный кабель; Т — терминал; У — электронная схема управления; ЭПП — электронная схема приемопередат- чика; П — источник питания Сети с топологией шины базируются на разделяемой среде передачи и подключенного к среде оборудования для обработки данных. Подключение осуществляется с помощью приемопередатчика, интерфейсного кабеля и сете- вого адаптера (рис. 4.4). Чтобы избежать отражений в коаксиальном кабеле, стержень между врезкой и прие- мопередатчиком делают возможно меньшей длины. Основной кабель прокладывается, как правило, под по- лом или над потолком. При этом приемопередатчик уста- навливается в непосредственной близости от основного кабеля и с помощью интерфейсного многожильного ка- беля из витых пар связывается с сетевым адаптером, расположенным в узле. Для надежной работы по методу МДКН/ОК требует- ся, чтобы приемопередатчик был способен принимать слабые передачи другого приемопередатчика и отличать их от сигналов собственного передатчика. Кроме того, для повышения эффективности конфликты должны обна- руживаться как можно раньше, с тем чтобы своевре- менно оборвать передачу. Схемы обнаружения кон- фликтов допускают незначительное ослабление сигналов в кабеле. Поэтому для таких сетей необходимы высоко- качественные коаксиальные кабели с ограниченной дли- 74
ной между повторителями (не более 2 км), а число узлов сети ограничивается остаточными отражениями во врезках. Приемопередатчик гальванически связывается с коак- сиальным кабелем, поэтому приемник должен быть тща- тельно изолирован от сетевого адаптера. Эта гальвани- ческая связь является источником ненадежности: корот- кое замыкание в одном приемопередатчике выводит из строя сеть. Поэтому применяются такие схемы приемо- передатчиков, в которых отказ нескольких компонентов приводит к короткому замыканию. Кроме того, необхо- димо заземление всего кабеля (сегмента между повтори- телями) в одной точке. Таким образом, сети с топологией шины и методом МДКН/ОК строятся на базе одного отрезка кабеля или нескольких отрезков однородного кабеля, соединенных повторителями. Длина кабеля между повторителями —не более 2 км. Не допускается использование разнородной среды передачи (коаксиального кабеля, витой пары и оптоволоконного кабеля одновременно). Длина сети и число узлов ограничиваются использованием схем обна- ружения конфликтов соответственно до 10 км и 2000 уз- лов. При этом длина одного кабельного сегмента, напри- мер для сети ETHERNET, допускается не более 500 м с установкой на этой длине не более 100 устройств об- работки данных и с расстоянием между точками их под- соединений не менее 2,5 м. Приемопередатчики устанав- ливаются в непосредственной близости от кабеля и электрически изолируются от узлов. Сети с топологией кольца представляют собой замкну- тую цепь отдельных двухточечных каналов. Для эф- фективной работы по методу доступа с передачей права необходимо, чтобы задержка была минимальной. Для этого отдельные каналы синхронизируются от генератора временного ведущего узла или другими способами. В этом случае можно получить задержку, равную при- мерно половине времени передачи одного бита, исклю- чая ведущий узел, в котором используется эластичный буфер на несколько битов, позволяющий сгладить накоп- ленное временное рассогласование. Так как кольцо обра- зуется совокупностью двухточечных каналов, то в одной сети можно одновременно использовать различные среды передачи (включая оптоволоконные кабели). Вопросы создания приемников и передатчиков для двухточечных каналов хорошо разработаны. Отражения 75
в таких каналах легко контролировать, допустимы боль- шие ослабления сигналов и возможно использование пе- редающей среды с большей длиной. Однако неизвестна схема выделения синхросигналов. Имеется, например, та- кое ее решение: в каждом повторителе устанавливается замкнутая по фазе петля, которая оптимизируется так, чтобы уменьшить накопленное рассогласование. Когда в кольцо включается новый узел, то он должен засинхро- низировать собственный приемник от синхросигнала, вы- деляемого из входящего сигнала. Разработанные и экспе- риментально подтвержденные меры [3] обеспечивают время восстановления синхронизма в 20 мкс на узел. Подключение узла к кольцу показано на рис. 4.5, а, б. Сетевой адаптер и соответствующие схемы реализации метода доступа могут быть собраны на одной плате, запитываться и устанавливаться в узле, что является существенным преимуществом с точки зрения исполнения Рис. 4 5. Структура узла локальной вычислительной сети связи с топологией кольца: терминал; И К — интерфейсный кабель; HP — настенная розетка; Ол — основное кольцо, РП — распределительные панели; ПР — проходное реле, П9 (Пд) — электронная схема приемника (передатчика); ГА — сетевой атаптер, ЭР __ хлектроиное р*ле; Уст — устройство; П — цепь питания проходных реле, У — управление вставкой; ЗФП замкнутая по фазе петля 76
на БИС и СБИС. Развязка по постоянному току кабелей и трансформаторные развязки в схемах приемника и пе- редатчика повышают надежность подключения узла к се- ти. Узел включается в кольцо с помощью электронных реле. Для уменьшения длин кабелей между повторите- лями и повышения их надежности реле располагают в распределительных каналах. Число витых пар в соедини- тельном кабеле равно 2. В качестве среды передачи могут использоваться кабели различных типов: экранированная витая пара, коаксиальные и оптоволоконные; более того, в одном кольце могут быть разные среды, согласованные по скорости. Таким образом, сети с топологией кольца и методом доступа передачи права состоят из синхронных двухто- чечных каналов, которые допускают значительное ослаб- ление и соответственно большие длины физической среды передачи и большее число узлов, чем сети с топологией шины. В одном кольце могут одновременно использо- ваться разные среды, согласованные по скорости, в том числе двухточечные оптоволоконные кабели. Сетевой адаптер и соответствующие схемы реализации метода доступа собираются на одной плате с использованием БИС и СБИС и устанавливаются непосредственно в узле. Надежность. Высокая надежность и готовность к ис- пользованию — важные характеристики локальных сетей связи. Автоматическая изоляция отказов и возможность обслуживания неквалифицированным персоналом, прос- тота установки, возможность планируемого и системати- ческого расширения сети в различных помещениях — таковы требования пользователей к локальным сетям. Этим требованиям в настоящее время удовлетворяют только телефонные сети, а технология локальных сетей связи должна достигнуть их уровня. Локальные вычислительные сети с топологией шины не чувствительны к отказам питания узла и обрывам соединительных кабелей. Однако если поврежден основ- ной кабель (отказал приемопередатчик или неправильно установлена врезка и т. д.), то произойдет отказ сети. Из-за значительной стоимости приемопередатчиков предпочтительно постепенное наращивание такой сети по мере необходимости, а заранее спланированная раз- водка и распайка кабелей, установка приемопередатчи- 77
ков и соответствующих настенных розеток во всех по- мещениях является весьма дорогостоящей Локальные вычислительные сети с топологией кольца также не чувствительны к отказам блока питания узла и обрывам соединительного кабеля, так как в этом случае узел автоматически отключается от сети, которая после короткого периода восстановления синхронизма продол- жает нормальную работу. Единичный обрыв в основном кольце приводит к частичному отказу всей сети, превра- щая ее в линейную последовательность узлов. Данные, передаваемые узлом ниже обрыва, могут быть получены всеми узлами, находящимися ниже передающего узла. Приемник узла, находящегося рядом с обрывом, сразу обнаружит отсутствие сигнала, и узел может сообщить об этом другим узлам, в частности управляющему узлу сети, который может предпринять действия по восстанов- лению целостности кольца. Если узел, обеспечивающий синхронизацию, отключается от сети, то другой узел дол- жен взять на себя функцию синхронизации. Распределительные каналы сети с топологией кольца являются пассивными компонентами, содержащими только реле. Их стоимость складывается из стоимости настенной розетки, соединительного кабеля и соответст- вующих реле. Низкая стоимость компонентов позволяет осуществить предварительную прокладку кабелей сети в здании с возможностью последующего подключения узлов по мере необходимости. Возможно также воз- растание степени автоматизации диагностирования и на- дежности сети (при увеличении стоимости) за счет до- бавления в распределительные каналы источников пита- ния, микропроцессоров и запасных колец, которые будут включаться для обхода разрывов в основном кольце. 4.4. Локальная вычислительная сеть ETHERNET с топологией шины Сеть ETHERNET фирмы «Хегох> (США) начала разрабатываться в начале 70-х годов [3,4]. В начале 80-х годов на базе этой сети Международная организа- ция по стандартизации (ISO) при активном участии Европейской ассоциации (ЕСМА) разработала стандарт на локальные вычислительные сети с топологией шины. Сеть ETHERNET ориентирована на универсальное при- менение, но основная анонсируемая фирмой «Хегох> сфе- 78
Рис. 4.6. Топология сети ETHERNET: Сег — сегмент; КК — коаксиальный кабель; ИК — интерфейсный кабель; ПП — приемопередатчик;. ВС — волновое сопротивление; Рт — ретранслятор; Ст — станция ра применения — автоматизация организационной дея- тельности в учреждениях. Топология сети ETHERNET представлена на рис. 4.6. В качестве метода доступа используется механизм слу- чайного доступа, обеспечивающий равные права доступа для всех абонентов сети. Число станций подключения аппаратуры абонентов к сети — не более 1024. Макси- мальное расстояние между повторителями (ретранслято- рами) — 2 км. Физическая среда передачи данных — коаксиальный кабель, который делится на сегменты дли- ной 500 м. К каждому сегменту может подключаться не более 100 станций с минимальным расстоянием между станциями 2,5 м. Станция удаляется от сегмента на рас- стояние до 50 м и соединяется с коаксиальным кабелем 79
приемо- Приемо- Коаксиальный передатчика передатчик кабель Рис. 4.7. Функции и аппаратурная реализация устройств подключения станции к сети ETHERNET через приемопередатчик, который устанавливается непо- средственно у сегмента. Скорость передачи 10 М бит/с ± ±0.01%. Два сегмента могут быть объединены ретранс- лятором, устанавливаемым вместо станции. Функции и аппаратурная реализация устройств под- ключения станций к сегментам коаксиальных кабелей представлена на рис. 4.7. Уровень пользователя опреде- ляет характер использования физического и канального уровней. Функции пользовательского уровня в сети ETHERNET не регламентируются. Канальный уровень регламентирует правила упаковки данных в пакет для передачи и управления связью на логическом уровне без учета особенностей конкретной передающей среды. Физический уровень обеспечивает кодирование и декоди- рование, а также прием и передачу данных. Этот уро- вень учитывает физические особенности среды. На рис. 4.7 приведена аппаратурная реализация. Для передачи по сети данные упаковываются и передаются в виде кадра, имеющего поля, передаваемые в приведенной последовательности: адрес приемника, адрес источника, тип кадра, данные, контроль правиль- ности. Адрес приемника имеет поле в 48 бит и может быть физическим (однозначно определяющим станцию сети) или многопунктовым (относящимся к нескольким станциям). Многопунктовый адрес может быть двух типов: групповой, ассоциируемый с группой логически взаимосвязанных станций, и широковещательный. Пер- 80
вый бит адреса — признак типа адреса: 0 — физический, I — многопунктовый Остальные 47 бит поля содержат код адреса. Широковещательный адрес состоит из 47 единиц. Адрес источника — физический адрес, имею- щий поле в 48 бит. Тип кадра состоит из 16 бит, и в него заносятся коды типов кадров, выделяемые фирмой пользователям на основе лицензионных соглашений, так что пользова- тели имеют непересекающиеся значения типов кадров и адресов. Данные, передаваемые в кадре, представляют собой произвольную последовательность байтов с произ- вольным значением кода в байте. Число байтов изменяет- ся в диапазоне 46—1500. Контроль правильности переданной информации осуществляется с помощью цикличе- ского контрольного кода, длина которого составляет 4 байта. Информация, выдаваемая контроллером, при переда- че кодируется в прямом манчестерском коде. При этом для передачи каждого бита информации выделяется фиксированный квант времени, т. е. осуществляется синхронная передача. В первой половине кванта посыла- ется логическое дополнение значения передаваемого бита, а во второй — неинвертированное значение бита, т. е. всегда есть изменение сигнала в центре временнбго кванта. Блоки аппаратуры обладают инерционностью, и в начале приема кадра несколько первых бит кадра может быть потеряно. Поэтому при передаче к кадру автоматически приставляется преамбула, используемая для включения и синхронизации аппаратуры. Преамбула имеет поле в 64 бита и код. Основная часть преамбулы (при скорости передачи информации 10 М бит/с) пере- дается в виде периодического сигнала с частотой 5 МГц. В конце преамбулы эта частота изменяется, что является признаком начала передачи кадра. Приемник включается в работу при обнаружении несущей частоты (переходы в каждом кванте манчестер- ского кода), генерируемой преамбулой, и принимает кадр до тех пор, пока он обнаруживает несущую частоту. После исчезновения несущей частоты кадр начинает обрабатываться в станции. Проверяется длина принятого кадра: она должна быть не менее 72 байт. Кадры с дли- 4—870 81
ной менее 72 байта далее не анализируются. У кадров нормальной длины проверяется адрес приемника, и если станция на него должна реагировать, то проводится контроль правильности принятой информации и кадр передается на уровень пользователя с указанием в соответствующем коде результата контроля правиль- ности. Сеть ETHERNET использует метод МДКН/ОК. Меха- низм управления доступом абонентов к каналу связи при МДКН/ОК состоит в следующем. Получив заявку на передачу информации, контроллер начинает переда- вать ее только в том случае, если в это время не ведет передачу другой передатчик, что определяется по нали- чию несущей в канале. Если в сети обнаруживается передача, то данный передатчик откладывает свою пере- дачу до исчезновения несущей. После исчезновения несущей передатчик выдерживает межкадровый интер- вал 9,6 мс для восстановления состояния всей аппара- туры после передачи и начинает передачу. При одно- временной работе нескольких передатчиков возникает наложение сигналов, взаимная помеха, которую необхо- димо устранить. Наложение обнаруживается по иска- жению передачи информации станцией. Она проверяет наличие наложений в начале передачи — в окне нало- жения, минимальная длина которого составляет 512 бит. Если в окне не было наложения, то при нор- мальной работе всех станций сети не возникнут новые помехи и данный передатчик может передавать весь кадр. Если наложение обнаружено, то данный пере- датчик прекращает работу, предварительно подкрепляя наложение передачей помехи в сеть. Длительность поме- хи равна 32—48 бит. В качестве помехи может быть выбран произвольный код, отличный от 32-разрядного циклического контрольного кода. При наличии наложения (конфликта) раз- решается сделать еще 15 попыток повторной передачи. Задержка до начала очередной попытки измеряется целым числом окон наложения. Если все 16 попыток неудачны, то выдается сигнал об ошибке. Станция может ввести и большие задержки между повторными переда- чами. Анализ экспериментальных данных по зарубежным источникам [4] свидетельствует о том, что сеть ETHER- NET рассчитана на работу с длинными пакетами. 82
При увеличении длины пакета приблизительно в 10 раз (со 100 до 1000 бит) задержка в передаче (для входного потока 1 М бит/с) уменьшается также почти в 10 раз. При возрастании входного потока до 2 М бит/с задержка уменьшается приблизительно в 200 раз. Объясняется эта особенность сети ETHERNET накладными затратами по каждому пакету, составляющими 240 разрядов, в которые включаются: 64 разряда на синхронизирующую преамбулу, 96 разрядов на межкадровый интервал 9,6 мс и по 40 разрядов на необоснованное увеличение полей адресов приемника и передатчика соответственно. Кроме того, задержка в передаче существенно зави- сит от числа абонентов (размеров сети) и входного потока. При входном потоке 2 М бит/с и увеличении числа абонентов в 2 раза (с 4 до 8) задержка увеличи- вается на порядок, а при увеличении числа абонентов в 8 раз — на 3 порядка. Эта особенность сети ETHER- NET характеризует ее чувствительность к нагрузкам и определяется используемым методом доступа (см. рис. 4.3). Приведенные в этом разделе экспериментальные характеристики конкретной реализации сети ETHERNET подтверждают сделанные ранее выводы. Более того, при одинаковом уровне технологии аппаратура для сети ETHERNET в три раза дороже аппаратуры для сети CAMBRIDGE RING. 4.5. Локальная вычислительная сеть CAMBRIDGE RING с топологией кольца Локальная сеть CAMBRIDGE RING разработана в Кембриджском университете в Англии в 1979 г. [4]. В настоящее время аппаратура сети выпускается про- мышленностью, в частности фирмой «Logica VTS Ltd>, под названием ROLYNET. Сеть предназначена для связи между несколькими десятками мини- и микроЭВМ (абонентами сети). Абоненты сети объединяются кабелем в кольцо. Кабель состоит из двух пар проводов, причем обе пары используются для передачи данных синхро- сигналов и питания так, что одна пара проводов нахо- дится под положительным потенциалом, а другая — под отрицательным. Скорость передачи сигналов по кабелю равна 10 М бит/с. Передача информации синхронная. Если передается 1, то сигналы изменяются на обеих парах, если передается 0, то сигналы изменяются на 4* ♦ 83
одной паре, при этом изменения в одной паре происходят в четные периоды, а на другой — в нечетные. В местах подключения абонентов кабель разрывается аппаратурой подключения абонентов и ретрансляции сигналов стан* цией. Расстояние между подключениями станций состав- ляет не более 100 м. Приемники и передатчики в стан- циях — простые и надежные. Экспериментально установ- лено, что на разных участках сети могут устанавливаться различного типа кабели связей (коаксиальный, опто- волоконный, витая пара и телефонный кабель). По теле- фонному кабелю можно передавать сигналы со скоростью 10 М бит/с, если расстояние между ретрансляторами не более 100 м. На рис. 4.8 представлена распределенная система мини- и микроЭВМ, подключаемая к сети CAMBRIDGE RING. Основной вычислительный ресурс сети — шесть ЭВМ LSI4 фирмы «Computer Automation» (Англия), каждая из которых имеет 64 К слов оперативной памяти и под- ключается к кольцу через блок доступа, содержащий микропроцессор 8X300, управляющий дуплексным обменом в режиме прямого доступа к памяти. Одна ЭВМ LSI4 с подключенными к ней дисками емкостью 80 М байт Рис. 4.8. Топология сети CAMBRIDGE RING: OK — основной кабель; Т — терминал; Кон — концентратор; БУИ — блок управления именованием; БУР — блок управления ресурсами; ЭВМ — маши* ны. предоставляемые пользователями; БД — блок доступа; БДП — база данных и программ; БУП — блок управления печатью; УЗ — устройство загрузки; ДВ — датчик времени; ПУ — печатающее устройство 84
обслуживает базу данных. Кроме того, эти диски ис- пользуются как дополнительная память, представляемая пользователям ЭВМ для расширения ОЗУ. Большое значение в системе имеет блок управления именованием, выполненный на микропроцессоре Z80A с ОЗУ объемом 3 К байта. Он обеспечивает перевод логического имени в соответствующий адрес в кольце, а также выполняет обратное преобразование, благодаря чему пользователь может использовать произвольную систему именования, совершенно не связанную с физи- ческими адресами. Устройство управления печатью выполнено на основе Z80A с памятью объемом 16 К байт. Оно принимает заказы на печать от абонентов и направляет их на испол- нение в печатающее устройство, имеющее местный блок управления, выполненный на основе Z80A. Датчик време- ни содержит Z80A, соединенный с приемником, прини- мающим сигналы точного времени. По запросу датчик выдает значение даты и времени с точностью до милли- секунды. При включении любого устройства, подсоединенного к сети, начинает выполняться хранящаяся в ПЗУ про- грамма, которая обращается к устройству загрузки с заданием переслать заказчику рабочую программу. Устройство загрузки, выполненное на микропроцессоре Z80A, анализирует запрос и пересылает по кольцу заказ- чику требуемую программу. При небольшом объеме программы она хранится в памяти устройства загрузки, в противном случае обеспечивается обращение к базе программ на дисках. Блок управления ресурсами, получая от пользователя запросы на выделение ресурсов, проводит проверку права доступа и выделяет ресурсы пользователю. Он перераспределяет ресурсы в случае их выхода из строя. Передача информации в кольце выполняется в виде пакетов, длина которых составляет 38 бит, из них 16 бит информационных. Пакет имеет следующие поля: — метка начала пакета (бит 1); — метка «свободен — загружен» (бит 2); — метка монитора (бит 3); — адрес приемника (биты 4—11); — адрес передатчика (биты 12—19); — данные (биты 20—35); — метка приемника (биты 36—37); — метка четности (бит 38). 85
Пакет может содержать информацию, адресованную приемнику, или быть пустым. Для их идентификации используется метка «свободен — загружен». Сформиро- ванный для передачи пакет загружается в сдвиговый регистр станции. Если через станцию проходит пакет с меткой «свободен», то в него загружается содержимое сдвигового регистра и метка изменяется на метку «за- гружен». В движении может одновременно находиться несколько пакетов от разных передатчиков к разным приемникам, однако не может быть более одного пакета от одного передатчика. Поток сообщений в сети само- регулируется без вмешательства центральной станции. Пакет по кольцу направляется от передатчика к приемнику и затем возвращается к передатчику. При- шедший пакет приемник отмечает метками: «принят*, «отвергнут», «приемник занят», отсутствие этих меток интерпретируется как метка «нет реакции приемника*. Возвратившийся пакет сравнивается с оригиналом и выдается в кольцо как свободный. Приемники имеют регистр-селектор, позволяющий принимать (не прини- мать) данные от выбранного абонента или от всех або- нентов. Каждая станция вносит в передачу по кольцу задержку в 3 бита. Если сеть свободна от передачи информации, то по кабелям передается последовательность сигналов 0. Метка начала пакета 1 позволяет обнаружить начало передачи информации в кабеле. Монитор отмечает каждый проходящий мимо него пакет, устанавливая 1 в бите 3. При этом, если пакет пришел с меткой монитора 1, то он переводится в состоя- ние «свободный». При нормальной работе сети пакет превращается в «свободный» приемником, получившим о нем сообщение. Если же по каким-либо причинам приемник этого не сделал, то очистку пакета выполняет монитор. Пакеты группируются в последовательность, при этом одна последовательность отделяется от другой пробе- лом — последовательностью нулей. Число пакетов в пос- ледовательности — константа, известная всем абонентам сети. Задавая различные длины последовательности, можно менять характер передачи информации. Так как передатчик при возвращении пакета превращает его в свободный, то он передает право следующим за ним абонентам воспользоваться пакетом. Если последователь- ность состоит из одного пакета, то данный передатчик 86
сможет вновь передать информацию в сеть только после того, как все абоненты-передатчики воспользуются пакетом. Если же последовательность состоит из п паке- тов, то передатчик получает возможность воспользо- ваться другими пакетами до освобождения первого. Используемый в сети CAMBRIDGE RING метод доступа по приведенным соображениям называют мето- дом доступа с неявной (неадресуемой) передачей права. Для установления связи передатчик передает заголо- вок сеанса приемнику в первом пакете. Приемник иден- тифицирует первый пакет, поступающий в его адрес, как пакет, содержащий заголовок. Первый пакет в поле «данные* (биты 20—35) содержит следующую инфор- мацию о сеансе: признак заголовка (биты 20—23); тип блока пакетов (биты 24—26); информация (биты 27— 35). Блоки пакетов делятся на четыре типа: длинный блок с контрольной суммой; длинный блок с контрольной суммой, равной нулю; отдельный пакет, несущий инфор- мацию; неопределенный блок с резервированием для дальнейшего расширения. Длинный блок состоит из заголовка, маршрутного пакета, 12 пакетов данных и пакета с контрольной суммой. Для осуществления приема адрес передатчика поме- щается в регистр — селектор приемника, пакет возвра- щается передатчику с меткой «принят» и сеанс начина- ется. В том случае, если передатчик не может связаться с приемником, то после определенной паузы передатчик делает новую попытку установить связь с приемни- ком. С увеличением числа попыток связи время ожида- ния возрастает. В зарубежной литературе публикуются эксперимен- тальные данные, полученные с конкретных реализаций сети CAMBRIDGE RING. Задержки в передаче изме- няются в зависимости от числа подключаемых абонентов не так резко, как в сети ETHERNET. При увеличении числа подключаемых абонентов в сети CAMBRIDGE RING в 8 раз время задержки возрастает приблизи- тельно во столько же раз. При входном потоке информа- ции 2 М бит/с и 32 подключенных абонентских станциях задержка составляет около 8-103 мкс, а при 4 абонен- тах — около 103 мкс. Относительная задержка в сети CAMBRIDGE RING с изменением длины пакета практически не изменяется, однако ее значения почти в 10 раз больше значения 87
относительной задержки в сети ETHERNET для длины пакета около 1000 бит. При увеличении входного потока в два раза задержка в сети CAMBRIDGE RING изме- няется почти в 10 раз и для входного потока информации в 2 М бит/с составляет около 103 мкс. Таким образом, сравнительный анализ топологии, методов доступа, основных характеристик и эксперимен- тальных данных сетей двух типов — ETHERNET и CAMBRIDGE RING — выявляет определенные преиму- щества второй над первой: — относительно малое влияние изменяющейся на- грузки на эффективное быстродействие; — незначительное влияние изменений характеристик физической среды передачи на функционирование сети; — простота, надежность аппаратуры и значительно меньшая стоимость. Однако ограниченность сравнительных эксперимен- тальных исследований и недостаточный опыт промыш- ленной эксплуатации не позволяют сделать окончатель- ные выводы в пользу одного или другого типа сети. Рассмотренные типы локальных вычислительных сетей широко применяются в автоматизации производ- ства. Так, фирма «Ford Motor Company» (США) для системы управления технологическими процессами ис- пользует идеологию сети ETHERNET. Разработана диагностическая установка с распределенной обработкой данных для изучения силовых агрегатов, контроля изде- лий, диспетчерского обслуживания и управления энерге- тическими установками [5]. Система начала функцио- нировать в 1978 г., в этой системе должно быть установ- лено около 200 узлов. Она разрабатывается как прото- тип для автоматизации лабораторных исследований и служит макетом для разработки более сложных систем, внедряемых на заводах-изготовителях. В перспективе ГАП будут создаваться на базе ло- кальных вычислительных сетей различных типов [1]. Автоматизированное моделирование и проектирование ГАП, при которых требуется большой объем разнопла- новой информации, частые обращения к автоматизиро- ванным банкам данных и автоматизированным про- граммным библиотекам, требуют пересылки информации длинными пакетами. Видимо, для таких подсистем ГАП наиболее целесообразно применение сетей типа ЕТНER- Автоматизированное управление и оперативное плани- 88
рование крупным производством не требует пересылки информации крупными неделимыми блоками. Хотя объе- мы перерабатываемой информации велики, ее источники располагаются в ограниченном регионе. Для таких подсистем ГАП, видимо, применение сетей типа CAM- BRIDGE RING наиболее целесообразно. На нижнем уровне автоматизации — управление стационарными и мобильными роботами, станками с ЧПУ и другими автоматическими установками — наибо- лее целесообразно применение малых локальных вычис- лительных сетей [1]. 4.6. Принципы построения малых локальных вычислительных сетей Малые локальные вычислительные сети предназна- чаются для объединения гибкими методами и средствами микрокомпьютеров, контроллеров, дисплеев, таймеров, сенсорных устройств различных типов и других компо- нентов в малые контрольно-измерительные управляю- щие системы, бытовые электронные системы, системы автомобильного электронного оборудования, робото- технические системы и т. д. Для подобных приложений фирма <NV Philips» (Голландия) разработала шины последовательной пере- дачи данных двух типов. Эти шины не конкурируют с локальными вычислительными сетями, а дополняют их, подобно тому, как однокристальные микропроцессоры дополняют возможности высокопроизводительных микро- компьютеров. Шины обоих типов выполняют основные функции современных локальных сетей: они могут рабо- тать с разделением времени и ресурсов, наличием канала двунаправленной передачи данных, коллективным досту- пом к каналу для передачи данных, наличием распре- деленного управления и модульной конструкцией. При этом они используют также возможности тради- ционных асинхронных каналов передачи данных, что упрощает реализацию устройств управления и способ- ствует снижению стоимости. Шина 12С с длиной связей "до 10 м служит для объединения интегрально-схемных сборок в небольшие модульные системы, например бытовые развлекательные системы, персональные компьютеры. Несколько фирм — изготовителей изделий бытовой электроники разработали новые изделия с применением этой шины. 89
Шина D2B с длиной связей до 150 м предусматривает более эффективный протокол и характеризуется высокой помехоустойчивостью. Она позволяет объединять до 50 конструктивно законченных систем в сети цифровой обработки данных и управления, таких, например, как автомобильное электронное оборудование, контрольно- измерительные системы, промышленные роботы. Шины 12С и D2C можно объединять. Европейская ассоциация изготовителей изделий бытовой электроники (Cenelec) рассматривает вопрос о стандартизации этих шин. Топология малых локальных вычислительных сетей представлена на рис. 4.9. Обе шины работают со скорос- тями передачи данных от 800 до 80 000 бит/с в зависи- мости от выбранного варианта решения, компромиссного с точки зрения скорости и стоимости. Такие скорости значительно уступают скоростям передачи данных в локальных сетях. Однако в результате снижения ско- рости передачи удалось существенно упростить устрой- ства управления, которые встраиваются в микропро- цессоры общего назначения так, что один и тот же при- бор может управлять шиной и подключенным к ней оборудованием. Устройство управления шины 12С содер- жит менее 1 тыс. транзисторов, шины D2B — менее 3 тыс. транзисторов, а контроллер для сети ETHERNET — более 100 тыс. транзисторов. Фирма «Philips» изготовляет однокристальные микро- процессоры серии 8400, совместимые с шиной 12С. Рис. 4.9. Топология малых локальных вычислительных сетей 90
Хотя шины 12С и D2B имеют различные протоколы и конструктивное оформление, они базируются на одних принципах. В обеих шинах используется один и тот же принцип приоритетного представления шины одному из двух устройств управления, одновременно делающих попытку передать сообщение. Этот метод доступа к физической среде передачи данных ориентирован на относительно короткие задержки распространения сигналов и может быть использован только в малых сетях. Он сочетает свойства классических асинхронных систем передачи данных и локальных сетей с произвольным доступом. Метод доступа в малых сетях обеспечивает приори- тетность устройству управления для передачи сообщения следующим образом. Любое устройство управления может передавать сообщение, когда шина свободна. Ус- тройство требует представления шины, выдавая бит, од- нозначно определяющий начало передачи, так называе- мый старт-бит. Если, однако, устройство до этого прини- мает старт-бит от другого устройства управления, то оно синхронизирует внутреннюю тактовую частоту по фронту «входящего» старт-битового сигнала. После этого вступа- ет в работу «арбитражная» схема, которая отрабатывает последовательность битов, выдаваемых каждым устрой- ством управления, причем начиная со старшего бита. Ус- тройства управления могут выполнять логические опера- ции для своих и чужих битов, причем могут делать это бит за битом. Устройство управления получает приоритет в том случае, если значения выдаваемого и подтверж- денного бита одинаковы. Например, устройство А после передачи старт-бита передает код 101, а устройство В — код НО. При передаче первого кодового разряда арбит- ражные схемы устройств А и В выдают подтверждение своим устройствам (1 И 1 =1) и они продолжают рабо- ту. При передаче второго кодового разряда арбитражная схема устройства А выдает подтверждение своему уст- ройству (0 И 1 =0), арбитражная схема устройства В не выдает подтверждение (1 И 0 = 0) и устройство В должно немедленно снять требование на передачу. Устройство управления А получает приоритет для пере- дачи сообщения. Метод доступа в малых локальных сетях аналогичен методу доступа в классических асинхронных системах передачи данных, так как предусматривает работу с Главными и подчиненными устройствами управления. 91
Однако управление здесь является распределенным Логика устройств управления позволяет различать режимы как главного и подчиненного устройств, так и передатчика и приемника. Главное устройство — это устройство, являющееся инициатором диалога с другим устройством (подчиненным). Когда главное устройство выдает запрос на передачу данных подчиненному уст- ройству, то оно затем переключается из режима передат- чика в режим приемника, а подчиненное устройство становится передатчиком. Например, дисплеи в малых локальных сетях могут быть только подчиненными уст- ройствами. В малых локальных сетях приемники подтверждают получение информации без передачи ответного сообще- ния — квитанции. Главное устройство, закончив передачу данных, выдает дополнительно несколько сигналов и фиксирует высокий уровень на^ линии данных (шина использует приборы с разомкнутыми коллекторами). Приемник подтверждает поступление данных, переклю- чая эту линию данных в низкий уровень в течение за- ранее определенного периода времени, после чего пере- датчик может считать, что информация была принята правильно. Отсутствие переключения в низкий уровень передатчик расценивает как отрицательную квитанцию и может повторить передачу или принять другие меры. Главное устройство, используя эти переключения, может определить конфигурацию системы, выдавая ряд тест- сообщений. 4.7. Сети связи между интегральными схемами Шина 12С дает возможность устанавливать и изме- нять структурную схему устройства, уделяя минимальное внимание конструкции связей между ее блоками. Так, бытовой телевизор с использованием шины 12С может быть выполнен в виде микросистемы с главным микро- процессором, который управляет блоками селекции телевизионных каналов, памяти переключения каналов, клавиатуры и дисплея. При этом образуется иерархи- ческая сетевая структура, упрощается конструкция системы и появляется возможность размещения функ- циональных блоков в различных местах. Кроме того, сетевая структура связей означает, что каждый блок можно модернизировать независимо от других с целью 92
использования новых технических решений и болея дешевых компонентов. Шина 12С фактически может применяться для соеди нения интегральных схем в схемную плату в виде печат- ного монтажа, поскольку он выполняет функции, как и проводники при небольших длинах. Длины связей и число ’устройств заранее не оговариваются; они могут определяться из расчета предельной емкости связей, равной 400 пФ на проводник для обеспечения правиль- ной синхронизации. Приборы с разомкнутым коллектором объединяются по двум однопроводным линиям — после- довательных данных и последовательных синхросигналов. Шина 12С не содержит единого источника синхро- сигналов. Все устройства управления, присоединенные к шине, могут управлять линией синхросигналов с по- мощью приборов с разомкнутыми коллекторами и взаим- но подстраивать частоты синхросигналов. Состояние линии данных меняется только тогда, когда на ли- нии синхросигналов образуется низкий уровень, прием- ник опрашивает линию данных по положительному фронту синхроимпульса. Однако старт-бит выдается по линии данных как перепад высокого уровня в низкий, а стоп-бит — как перепад низкого уровня в высокий. В обеих случаях в линии синхросигналов образуется высокий уровень. Сообщение напоминает кадр асинхронного канала передачи данных, содержит шесть полей: старт-бит, 7-разрядный адрес подчиненного устройства, бит-признак «чтения — записи», показывающий, что должно произ- водить подчиненное устройство — передачу или прием, бит подтверждения, данные в виде 8-разрядных знаков и стоп-бит. Операцию передачи завершает аппаратно- сформированный сигнал подтверждения или отрицатель- ной квитанции. Определение приоритетности (если это требуется) осуществляет арбитражная схема с исполь- зованием адресного поля. В настоящее время нет данных о применении шины 12С в робототехнических системах. Однако нет сомнений в том, что в ближайшее время шина 12С найдет широкое применение при создании перспективных робототехни- ческих систем со встроенными непосредственно в мани- пулятор микропроцессорами и сенсорными устройствами. Она обеспечит выполнение принципа модульности в робототехнических системах на уровне вычислительных и сенсорных устройств при дальнейшем снижении стои- 93
мости разработки этих устройств, а также стоимости разработки и эксплуатации робототехнических систем в целом, и в частности, промышленных роботов 4.8. Сети связи между установками В связи с тем, что шина D2B может объединять до 50 устройств, для нее предусмотрены три операционных режима (0, 1, 2), дополнительные методы и средства управления устройствами, подключенными к шине, а также встроенные средства компенсации колебаний вре- менных параметров. Для этой шины характерна также высокая помехоустойчивость и малые уровни излучаемых помех при использовании неэкранизированных прово- дов — одной линии в виде витой пары проводов с диффе- ренциальными усилителями. Режим 0, самый низкоскоростной операционный режим, можно реализовать путем соответствующего про- граммирования микрокомпьютера и подключения к нему приемопередатчика дифференциальной линии. Режим 1 требует специализированных аппаратных средств, однако допускает синхронизацию с помощью резисторно-емкостной схемы с погрешностью до 25%. Режим 2 реализуется с помощью специальных аппа- ратных средств и характеризуется погрешностью синхро- низации до 0,1%. Для всех сообщений установлена предельная дли- тельность, составляющая примерно 9 мс, что предотвра- щает монополизацию шины отдельными устройствами. Скорости передачи данных на режимах 0, 1, 2 соответ- ственно составляют: 880 бит/с, 19,4 К бит/с, 66,3 К бит/с. Количество информации, которое может быть передано за 9 мс, для каждого режима равно соответственно: 8 бит, 176 бит, 600 бит. Используя одну и ту же шину, можно выбирать наиболее подходящие по стоимости и скоростным воз- можностям режимы для подключения к сети устройств. Например, принтер может работать с шиной в режиме 1, дисковый накопитель — в режиме 2, а процессор может переключаться из одного режима в другой для взаимо- действия с обоими устройствами. С одной стороны, под- чиненные устройства, как правило, работают в одном режиме, так как скоростные возможности однозначно определяются их функциями. С другой стороны, много- 94
режимное подчиненное устройство может коллективно использоваться различными недорогими однорежимными устройствами. Определение приоритетности для главных устройств осуществляется на двух уровнях. Вначале главное устройство выдает код режима, причем приоритет предо- ставляется более низкоскоростному устройству, так как оно требует более частого доступа. Если коды режима одинаковы, то приоритет определяется по адресу глав- ного устройства. В формате передачи сообщения шины D2B, как и шины гС, старт-бит однозначно определяет начало передачи. В поле «режим» проставляется код одного из трех операционных режимов, 12-разрядные адреса глав- ного и подчиненного устройств (4096 индивидуальных адресов) позволяют однозначно идентифицировать под- ключенные к шине системы и компоненты с указанием типов моделей оборудования. Характер передаваемой информации определяют 4-разрядные биты управле- ния — код данных, адреса или состояния; операция чтения или записи; необходимость привязки подчинен- ного устройства главному. Адрес, передаваемый в 8-би- товом поле данных, дает устройствам возможность обращаться к памяти других устройств, чтобы опреде- лить, какие функции выполняются последними и каким образом ими управлять. В формате сообщения преду- сматриваются также биты четности, подтверждения и конца сообщения. Синхроимпульсы и сигналы данных передаются по одной и той же линии шины с временным уплотнением. На этапе определения приоритетности может быть не- сколько источников сигналов: одно устройство может выдавать синхросигналы, второе — передавать, третье — принимать данные. После определения приоритетности оставшееся главное устройство выдает синхросигналы, а адресованные подчиненные устройства подстраиваются под это главное. При этом временные характеристики передачи «главный — подчиненные» и «подчиненные — главный» будут, вероятнее всего, различными из-за колебаний параметров компонентов. Если учесть большие длины связей в сети D2B, то подобные отклонения могут привести к бесконечным вычислениям временных параметров. Чтобы избежать этого, каждый период передачи бита разделяется на пять фаз: состояние покоя, настройка на синхросигнал, 95
передача данных, опрос шины приемника и промежуток для компенсации допуска частоты. Шина D2B, предназначенная главным образом для соединения конструктивно законченных систем, может заменить шину 12С как сеть одной стойки или шкафа в случае, если требуется улучшенная помехозащищен- ность или более длинные связи. Таким образом, рассмотренные малые локальные вычислительные сети типа 12С и D2B являются недороги- ми средствами передачи данных, обеспечивающими полную модульность конструкции бытовых и промышлен- ных микросхем. В ближайшее время они должны найти широкое применение в промышленных микросхемах, включая объединения роботов и системы управления мобильными и стационарными роботами. 4.9. Основы моделирования локальных вычислительных сетей Эффективность локальных вычислительных сетей ис- следуется введением физически измеримых критериев эф- фективности с учетом природы взаимодействия сети на различных функциональных уровнях. Особое значение имеют физическое содержание и характеристики системы передачи данных и сети. Исследование эффективности глобальных вычисли- тельных сетей опирается на концепцию теории сетей пере- дачи данных. При этом конкретное содержание сети отхо- дит на второй план, первенство приобретает способ оценки вклада системы передачи данных в работу сети ЭВМ, а под эффективностью системы понимается то положительное влияние (количественное и качественное), которое система передачи данных оказывает на внут- ренние и внешние параметры сети. Моделированию гло- бальных сетей посвящены многие публикации, в которых моделирование проводится на основе использования тео- рии систем, теории оптимизации, теории массового обслу- живания, теории графов, теории надежности, методов исследования операций. Результаты таких исследований распространяются в основном на макромодели сетей с мощными средствами маршрутизации сообщений по сети передачи данных как сложной многометрической сис- темы. В локальных вычислительных сетях в большинстве случаев проблем маршрутизации не существует. Поэтому использование концепции моделирования глобальных 96
вычислительных сетей при моделировании локальных вы- числительных сетей с жестким соединением абонентов приводит к неоправданным сложностям, не учитывающим конкретные технические характеристики микропроцес- сорной элементной базы устройств сопряжения. Прини- мая во внимание изложенное выше, моделирование ма- лых локальных сетей проводят упрощенным методом, при котором упрощение достигается за счет введения конкретного физического содержания, критерия эффек- тивности — пропускной способности локальной вычисли- тельной сети, сужения ее структуры и построения иерар- хической системы моделей среды с физически измери- мыми характеристиками элементной базы интерфейсов сети. Одним из подходов к этой проблеме является мо- делирование структуры на различных уровнях — от эле- ментов интерфейса до станций и локальной вычислитель- ной сети. Основная цель моделирования локальной вычисли- тельной сети — это ее структурный анализ и синтез архитектуры. При анализе выявляется изменение про- пускной способности системы передачи данных при ис- пользовании элементной базы интерфейсов с заданными техническими характеристиками, а при синтезе архитек- туры определяются характеристики элементной базы интерфейса для достижения заданной пропускной способ- ности как основного показателя качества локальной вычислительной сети. Методы анализа и синтеза охватывают многоуров- невую сложную систему, содержащую тысячи функцио- нальных узлов — интерфейсов, сотни вычислительных ма- шин и периферийных устройств и миллионы логических элементов. Поэтому методами декомпозиции необходимо выделить различные уровни моделей локальных вычисли- тельных сетей; при этом необходимо иметь достаточные исходные данные для моделирования структур на каж- дом уровне архитектуры. Эти уровни моделей называют уровнями функциональных объектов и выбирают исходя из возможностей применения математического аппарата моделирования. Полная иерархия уровней моделей об- разует модель локальной вычислительной сети. Моделирование на функциональном уровне осущест- вляется в следующем порядке: — определяются связи между элементами уровня функционального объекта; — находятся параметры блоков алгоритма уровня 97
функционального объекта как функции от характеристик его элементов; — определяется способ вычисления или измерения многочисленных характеристик. Эффективность моделирования зависит от правильно- сти выбора структуры уровня функционального объекта, а также характеристик элементов и параметров алго- ритма. При моделировании локальных вычислительных сетей с топологией шины и кольца наиболее тяжелым режи- мом работы моноканала является использование случай- ных методов доступа при максимальной нагрузке — мак- симальное число активных станций. В то же время для этих сетей проблемы создания структуры третьего уровня функционального объекта не существует, так как отсут- ствует маршрутизация сообщений по разветвленной сети каналов связи. Первые два уровня претерпевают измене- ния, связанные с совместным использованием монокана- ла многими станциями. Первый уровень остается практи- чески без изменений, так как он обеспечивает логику установления, поддержания и разъединения физического канала в случае предоставления доступа к каналу. Вто- рой уровень предусматривает введение двух подуровней один из них обеспечивает доступ к моноканалу, а дру- гой — установление логических связей между процес- сами станций. Общий критерий качества. На эффективность работы локальной вычислительной сети влияют различные фак- торы: метод доступа, физическая среда, число станций сети, параметры устройств сопряжения и др. Возможны различные подходы для выбора общего критерия качест- ва локальной вычислительной сети. Однако наиболее приемлемым подходом для выбора общего критерия качества является оценка влияния основных параметров сети на скорость передачи сообщений в единицу времени от одной станции к другой. При синтезе качества значе- ния основных параметров могут быть приняты на основа- нии статистики и опыта проектирования, а при анализе качества — замерены. Для моноканальных локальных вычислительных сетей возможно использование следующего критерия качества: Qc = C\LNqNi/(СгГп), К байт-км/мкс, где С| — стоимость разработки и стоимость эксплуатации оборудования абонентских станций для обработки 98
информации пользователя; L — длина кабеля, соединяю- щего станции; No — объем памяти, необходимый для размещения очереди передаваемых и принимаемых кадров информации; Na — число активных станций, подключенных к локальйой вычислительной сети; Сг — стоимость разработки и эксплуатации среды передачи данных (физическая среда, устррйства сопряжения); Тп — время передачи кадров информации от станции- отправителя к станции-получателю с учетом упаковки блоков информации (пакетов) в кадры и обратной рас- паковки, работы блоков сопряжения с моноканалом, задержек, связанных с обнаружением конфликтов, и других задержек. Очевидно, что чем лучше качество локальной вычис- лительной сети, тем больше общий критерий качества Qc, характеризующий аналог скорости передачи инфор- мации. Выбранные параметры, в основном, являются так- же комплексными — сложными функциями, зависящими от ряда аргументов. Кроме того, некоторые из них взаи- мозависимы. Так, параметр А/о, с одной стороны, испы- тывает влияние параметра Тп, так как увеличение Тп приводит к росту No (число кадров, К байт), а, с другой стороны, увеличение No возможно вследствие влияния факторов функциональной среды более высоких уровней (формирование пакетов, прикладных программ пользо- вателя и т. д.). Однако выбранный критерий прост в определении, наиболее полно и логично отражает изме- нение качества локальной сети при изменении ее основ- ных параметров. Основными характеристиками формализованных структур на каждом уровне функционального объекта являются временные задержки выполнения операций в цепях уровня, влияющие на фактор Тп. Модели структур уровней функциональных объектов. Локальная вычислительная сеть и ее система передачи данных образуется на основе множества структур эле- ментов и их соединений на различных функциональных уровнях архитектуры сети. Иерархичность множества структур позволяет рассматривать их отдельно друг от друга с учетом межструктурных связей с одного уровня (подуровня) на другой [6]. На рис. 4.10 представлена иерархическая схема структур и моделей уровней функциональных объектов. Переход от каждой струк- туры уровня функционального объекта к ее математиче- ской модели осуществляется в два этапа: 99
Рис. 4.10. Иерархическая схема структур и моделей уровней функциональных объектов: УФО — уровень функционального объекта; ЛВС — локальная вычислительная сеть; УФО-! — уровень функционального объекта обработки информации на физическом уровне (логика установления, поддержания и разъединения физи- ческого канала; УФО-2 — уровень функционального объекта обработки информации на логическом уровне; УФО-2/1 — подуровень функционального объекта по установлению, поддержанию и разъединению логического канала; УФО-2/2 — подуровень функционального объекта по упаковке и распаковке информации в кадры и контролю ее с целью обнаружения ошибок, возни- кающих при передаче информации по моноканалу; УФО-2/1/1 — микроуро- вень функционального объекта по обеспечению передачи станцией сообщения при возникновении конфликта; УФО-2/1 /2 — микроуровень функционального объекта по приему сообщений с механизмом групповой адресации — составляется формализованная функциональная модель, приближенно отражающая статические и дина- мические процессы в структуре; — на основе функциональной модели разрабатывает- ся математическая модель. Осуществление этих этапов неразрывно связано друг с другом: связь от первого этапа ко второму очевидна, юо
от второго к первому проявляется через возможности математического аппарата. Первоочередной задачей на каждом уровне является определение временных параметров работы элементов и структуры уровня функционального объекта в целом. Для макроструктуры определить такие параметры чрез- вычайно сложно. Поэтому макроструктуру рассматри- вают обычно как вероятностную время-логическую сис- тему, ограниченную единством трех категорий: — входящего потока сообщений, требующих обслу- живания элементами макроструктуры; — физических параметров обслуживающих элемен- тов макроструктуры, определяемых с помощью моделей нижних уровней; — дисциплины обслуживания сообщений в соответ- ствии с принятым методом управления локальной вычис- лительной сети. Первая категория является временной и описывается вероятностными соотношениями временных параметров работы элементов макроструктуры. Вторая категория аналогична первой, но описывается детерминированными соотношениями. Третья категория — логическая. Она устанавливает последовательность действий, которые должен выполнять каждый элемент макроструктуры, критерии качества работы элементов макроструктуры и способ имитации работы структуры уровня функцио- нального объекта. Поскольку уровни линейно разделимы, то модель станции и соответствующая ей структура представляют собой композицию двух линейно разделимых моделей и структур (УФО-1 и УФО-2). Поэтому обе эти модели могут быть рассмотрены независимо и в совокупности определят модель станции локальной вычислительной сети. Это положение справедливо и для других, более низких, уровней. Обмен данными между моделями осуществляется снизу вверх — от более простых к более сложным. Поэтому разработка моделей также осуществляется от простых к более сложным. Модель микроуровня функционального объекта по приему сообщений (УФО-2/1/2). В качестве примера моделей микроуровня функциональных объектов рас- смотрим модель УФО-2/1/2. Эта модель имитирует процесс приема информации каким-либо абонентом в. локальной вычислительной сети, использующей базовый 101
Таблица 44 Функциональное состояние УФО Прием информации, адресо- ванной другому абоненту Прием информации, адресо- ванной данному абоненту, не содержащей ошибок Прием информации, адресо- ванной данному абоненту с ошибкой Устройства структуры УФО П PC БТ ПЭ РД УК УОД G ^рсХ^рс Gt G> ^рд I J I I—I I—I G fpcX^pc G. G* G* G<>* I___t |1 G ^pcX^p. G» G* G« метод состязаний для управления моноканалом (меха- низм групповой адресации). В табл. 4.4 указано изменение функционального состоя- ния УФО-2/1/2. Наиболее сложной временной цепочкой является цепочка, характеризующая прием информации, адресованной абоненту без ошибок. В таблице приняты обозначения: П — приемник, PC — регистр сдвига, БТ — блок триггеров, ПЭ — пороговый элемент, РД — регистры данных, УК — устройство контроля, УОД — устройство обработки данных, t — время преобразова- ния информации данным активным элементом, N — на- грузочная способность пассивного элемента, оказываю- щего влияние на параметр t соответствующего актив- ного элемента, с которым соединен данный пассивный элемент; /?рс — число бит-сдвига. Методика заполнения таблиц переходов состояния структуры уровня функционального объекта заключается в следующем: — уровень функционального объекта условно делится по вертикали на функциональные состояния объекта; — на каждое функциональное состояние составляется цепочка параметров времени t активных элементов, уча- ствующих в изменении состояния уровня функциональ- ного объекта; — определяется цепочка параметров нагрузки N пас- сивных элементов, косвенно нагрузкой влияющих на па- раметр t тех активных элементов, с которыми пассивные элементы связаны; — устанавливаются связи параметров t активных эле- 102
ментов так, как это показано на примере изменения функ- ционального состояния приемника информации, не содер- жащей ошибок; — из трех параметров времени /п, /рсХ^рс и /бт выби- рается один параметр с наибольшим значением времени и складывается с остальными четырьмя — /Пэ» /Рд, G*» *>од. Таким образом, определяется временная задержка при приеме информации. Большинство параметров времени (за исключением /Ук. ^уод) определяются с помощью соответствующей контрольно-измерительной аппаратуры. Однако при опре- делении параметров времени возникают трудности, свя- занные с точностью замеров, имитацией условий реаль- ной работы при замере и т. д. Имитационная модель локальной вычислительной сети. Перед описанием имитационной модели локальной вычислительной сети необходимо четко определить целе- вую функцию и свойства узлов, используемых в модели. В качестве целевой функции такой модели обычно прини- мается критерий качества Qc. Варьируемыми параметра- ми модели являются число узлов, расстояние между узлами, длина кадра, тип применяемого приемопере- датчика (время задержки сигнала в приемопередатчике), конфигурация сети, дисциплина обслуживания сети, интенсивность выхода в сеть /-го узла. За один цикл моделирования пользователь может исследовать пове- дение целевой функции при варьировании только одним параметром. Поэтому в результате нескольких циклов моделирования получаются зависимости целевой функ- ции от числа узлов, расстояния между узлами, длины кадров и т. д. Получив эти зависимости и аппроксими- ровав по методу Лагранжа целевую функцию, пользо- ватель получает возможность математически исследо- вать ее экстремумы, определяя тем самым оптимальный режим работы. При построении имитационной модели локальной вычислительной сети процесс передачи кадров информа- ции разбивается на этапы, что приводит к такой струк- туре локальной вычислительной сети, которую можно рассматривать как ряд преобразователей со связями, образующий некоторый контур, и буферными запоминаю- щими устройствами конечной и бесконечной емкости. Адекватным математическим аппаратом, изучающим таким образом преобразованные локальные вычислитель- ные сети, является теория массового обслуживания, а ЮЗ
сама структура покальной вычислительной сети рассмат- ривается как система массового обслуживания Структура, описывающая функционирование локаль- ной вычислительной сети во всех ее подробностях, ста- новится сложной даже при использовании методов ими* тационного моделирования и специализированных язы- ков моделирования (JPSS) Поэтому необходимо упро- щение модели. При переходе от структуры к имитационной модели локальной вычислительной сети выделяют два этапа: — переход от структурной схемы к функциональной модели (см. рис. 4.10); — переход от функциональной модели к имитацион- ной, которая рассматривается как система массового обслуживания, т. е. система описания функционирования локальной вычислительной сети и связей между ее узлами в вероятностных и детерминированных характе- ристиках. При упрощении имитационной модели построение преобразователя и время его функционирования опреде- ляются в отдельном модуле, не обязательно методами моделирования. В имитационной модели локальной вы- числительной сети функциональное построение преобра- зователя не рассматривается, в имитационную модель вводятся лишь временные характеристики преобразова- теля и его информационные связи. Преобразователи делятся на основные и- вспомога- тельные. К основным относят преобразователи, времен- ные характеристики которых существенно влияют на временные параметры процесса вычислений. В имита- ционной модели они выполняют функцию обслуживаю- щих узлов. Время действия вспомогательных преобразо- вателей приравнивается нулю. На рис. 4.11 показан пример простейшей имитацион- ной модели локальной вычислительной сети. Заявки выходят в моноканал с интенсивностью X и простейшим потоком поступают во входной буфер Б1 с бесконечной емкостью. Интенсивности поступления зая- вок задаются пользователем модели по логической структуре данного модуля. В анализаторе А1 определя- ется длина кадра, поступающего в сеть. При поступлении в сеть группы кадров ее условно принимают за один кадр с длиной, равной сумме общего числа кадров. Время работы анализатора А1 равно нулю, так как в реальной схеме узла он отсутствует и введен в модель для повы- шения достоверности моделирования. 104
Рис. 4.11. Имитационная модель простейшей локальной вычислительной сети: 61 — входной буфер с бесконечной емкостью; А1 — анализатор длины кадра; 62 — буфер с переменной емкостью; А2 — анали- затор предотвращения столкновений; С1 — счетчик столкнове- ний; П1 — преобразователь, имитирующий задержку распро- странения кадра по моноканалу; 63 — выходной буфер с бесконечной емкостью Далее заявка поступает в выходной буфер Б2, кото- рый работает по принципу «первым пришел — первым обслужен*. Емкость выходного буфера Б2 является варьируемым параметром. Если буфер Б2 переполнен, то емкость его увеличивается в модели автоматически. На этапе исследования целевой функции на экстремум определяется оптимальная емкость буфера Б2 по данным, зафиксированным в подпрограмме сбора статистики о модели. Время записи в буфер Б2 принимается равным вре- мени упаковки информации в кадр. В каждую единицу модельного времени заявка из буфера Б2 пытается войти в анализатор А2, который выполняет функции элементов управления сетью (предотвращения столкновений), на- ходящихся в каждом узле сети. Далее заявка поступает в обрабатывающий узел /7/, имитирующий задержку распространения кадра по моно- каналу. Задержка определяется типом кабеля и приемо- передатчика, числом узлов, длиной кадра, расстояниями между узлами, конфигурацией сети. После обработки в преобразователе П1 заявка поступает в буфер бесконеч- ной емкости БЗ, где заканчивается обработка заявки в моноканале. Если в сети произошло столкновение заявок, то анализатор А2 инициирует работу счетчика С/, заявка считается непереданной и возвращается в буфер Б2. Механизм столкновения заявок может имити- роваться различными способами. 105
Приведем один из примеров имитации механизма столкновения. Заявка из буфера Б2 поступает в анали- затор А2, который разрешает передачу заявки на выход только при наличии единичного сигнала, поступающего из преобразователя /7/. Этот сигнал вырабатывается преобразователем П1 через время задержки, соответ- ствующее величинам временных характеристик: длины кадра, кабеля, приемопередатчика, числа узлов, расстоя- ниями между узлами, конфигурацией сети. Как только передача кадра в моноканал завершилась, в преобразо- вателе П1 единичный сигнал становится равным нулю. Преобразователь П1 блокирует работу анализатора А2. Для выработки анализатором А2 единичного сигнала и передачи заявки из буфера Б2 в анализатор А2 необхо- димо отсутствие передачи в моноканал другими узлами сети — осуществление функции прослушивания моно- канала. Целевая функция Qc исследуется таким образом, что при малом числе столкновений увеличивается на- грузка сети (число узлов, интенсивность поступления заявок в сеть и т. д.) и процесс моделирования повто- ряется до получения оптимального значения Qc. Программная реализация имитационной модели ло- кальной вычислительной сети Имитационная модель локальной вычислительной сети реализуется сложным программным комплексом, состоящим из двух десятков программных модулей и многочисленных связей между ними. Общий алгоритм моделирования может быть пред- ставлен следующим образом. Программа управления подпрограммами (модуль 1) вызывает подпрограмму ввода информации (модуль 2), который обеспечивает ввод в программу следующих параметров: числа узлов, расстояния между узлами, длины кадров, задержки сигнала при прохождении его через приемопередатчик, задержки сигнала при прохож- дении его через 1м коаксиального кабеля, дисциплины обслуживания сети, интенсивности поступления заявок в данный узел сети. Модуль 1 инициирует подпрограмму генерации потока входных заявок (модуль 3) в момент модельного времени, равный 1. Модуль 3 для этого использует генератор случайных чисел. Далее модуль 1 выбирает наименьшее время прихода заявки, изменяет модельное время и инициирует подпрограмму определе- ния длины кадра (модуль 4). Затем инициируется подпрограмма учета очередей в узлах сети (модуль 5), 106
заявка заносится в очередь и, если очередь пуста, ини- циируются блоки подпрограммы выдачи кадра в моно- канал. Выбор необходимого блока производится в со- ответствии с дисциплиной обслуживания заявок (разно- видности метода состязаний). В противном случае управление передается модулю 1, который изменяет модельное время и определяет дальнейшее направление процесса моделирования. Имеются модули (6, 7 и 8), которые моделируют различные варианты механизма столкновения заявок и функцию прослушивания моно- канала. Если фиксируется столкновение, то модуль 1 включает счетчик столкновений (модуль 11), а затем инициирует вновь модуль 5. Если столкновение не произошло, то инициируется подпрограмма определения времени распространения кадра по моноканалу (модуль 11) и управление возвращается модулю 1. По окончании моделирования инициируется подпрограмма сбора ста- тистики (модуль 15) и подпрограмма вывода информа- ции (модуль 13). На этом один цикл моделирования завершается. После анализа результатов моделирования одного цикла изменяются варьируемые параметры, вво- дятся новые начальные данные в подпрограмму ввода информации и осуществляется новый цикл моделиро- вания. После достаточного числа циклов моделирования анализируются все результаты и делается вывод о рациональных режимах функционирования канальной вычислительной сети при заданных начальных усло- виях. За единицу модельного времени обычно принимают 100 нс, так как элементы, имеющие временную задержку менее 100 нс, практически не учитываются при имита- ционном моделировании. В этом случае модель осуще- ствляет моделирование с точностью 100 нс. Таким образом, изложенные основы моделирования локальных вычислительных сетей являются тем инстру- ментарием, с помощью которого возможно достаточно глубоко и точно исследовать эффективность и качество локальных сетей. К тому же временные и финансовые издержки на моделирование не велики. Вместе с тем, очевидно, что для практического использования приве- денной имитационной модели локальной вычислительной сети необходимо ее более детальная разработка, а также разработка нескольких типов имитационных моде- лей, которые соответственно имитируют несколько типов локальных вычислительных сетей, в том числе малых 107
локальных вычислительных сетей для устройств (между интегральными схемами) и для связи установок. Создание типовых имитационных моделей локальных вычислительных сетей, организация баз данных по их характеристикам и характеристикам входящих в них устройств создаст основу для автоматизированного вы- бора средств комплексирования мини- и микроЭВМ
ГЛАВА ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ГИБКИХ АВТОМАТИЗИРОВАННЫХ ПРОИЗВОДСТВ Программное обеспечение ГАП представляет собой слож- ный комплекс, состоящий из следующих компонентов: системное программное обеспечение мини- и микроЭВМ, системно-прикладное программное обеспечение взаимо- действия микро- и миниЭВМ через локальные и малые локальные сети, прикладное программное обеспечение. В настоящем разделе рассматриваются все три ком- поненты, при этом наибольшее внимание уделяется си- стемно-прикладной программной компоненте и связям между тремя компонентами. 5.1. Структура программного обеспечения системы управления гибкими автоматизированными производствами Программное обеспечение (ПО) системы управления ГАП представляет собой распределенную систему обра- ботки информации, выполненную на основе локальных вычислительных сетей (ЛВС) и малых ЛВС (МЛВС). Понятие распределенной децентрализованной обработки информации является исключительно важным в совре- менной теории и практике системного программирования и отражает общую тенденцию развития вычислительных систем. Под распределенной системой (PC) обработки инфор- мации в дальнейшем будем понимать совокупность эле- ментов обработки, связанных децентрализованным уп- равлением ресурсами с целью совместного выполнения прикладных процессов [1]. Существуют и другие опреде- ления PC обработки информации, однако все они при- знают в качестве основных компонент определения PC, во-первых, наличие операционной системы (ОС) высо- кого уровня, которая унифицирует и интегрирует конт- роль по управлению ресурсами PC, и, во-вгорых, выпол- ню
нение распределенных прикладных процессов координи- рованным образом. Координация устанавливается путем взаимодействия и синхронизации процессов, являющих- ся фундаментальными понятиями распределенного прог- раммирования. Структуру ПО системы управления ГАП как PC обра- ботки информации на основе ЛВС удобно представлять в виде квазинезависимых слоев, называемых уровнями. Уровень состоит из объектов, выполняющих в сети опре- деленные функции, и реализуется на всех (или некото- рых) мини- или микроЭВМ, входящих в состав данной мультимини- или микрокомпьютерной системы управле- ния ГАП. Каждый из уровней, с одной стороны, исполь- зует возможности находящихся ниже по иерархии уров- ней, а с другой — обеспечивает сервис для уровня, рас- положенного над ним. Правила взаимодействия объектов одноименных уровней различных ЭВМ называются про- токолами, а правила взаимодействия объектов смежных уровней одной и той же ЭВМ — межуровневыми 'интер- фейсами. Данный подход к описанию и реализации структуры системы обеспечивает ряд преимуществ, основное из ко- торых — возможность замены какого-либо из уровней но- вым без изменений интерфейсов. Это позволяет легко расширять и модифицировать систему и ее ПО. При этом не накладывается никаких ограничений на реализацию уровней. Так, одни уровни могут быть реализованы по- средством ПО, а другие, обычно нижние по иерархии, — аппаратно. Различают следующие основные компоненты ПО си- Физическая среда взаимодействия Рис. 5.1. Структура ПО системы управления ГАП 110
с те мы управления ГАП (рис. 5.1): ОС мини- или микро- ЭВМ и ПО ЛВС, в котором выделяются два комплексных уровня — прикладной и функций взаимодействия. Операционная система мини- или микроЭВМ. Набор программ, обеспечивающих функционирование централь- ного процессора и периферийных устройств как единого комплекса, служащего для разработки и выполнения прикладных программ, называется операционной систе- мой. Обычно выделяют управляющие и обрабатывающие программы. Управляющие программы контролируют распределение системных ресурсов, обеспечивают про- стой доступ к физическим устройствам и их более эффек- тивное использование, а также управляют данными. Управляющие программы, как правило, включают плани- ровщик (или супервизор), который распределяет ресурсы процессора между задачами, активизирует, приостанав- ливает и завершает задачи, управляет памятью, вво- дом — выводом, хранением и передачей файлов с одного внешнего устройства на другое и, кроме того, обеспечи- вает защиту информации, доступ к ней и сохранение ее секретности. Эта программа также обычно связана с ме- ханизмами обработки прерываний, вызываемых как внут- ренними, так и внешними причинами. Обрабатывающие программы состоят из прикладных и обслуживающих. К последним относятся редакторы текстов, трансляторы с языков программиро- вания, средства управления файлами, диагностические программы и т. д. Большинство ОС разрабатываются и реализуются в расчете на конкретные ЭВМ или семейства ЭВМ и не могут быть поставлены на другие компьютеры. На рис. 5.1 представлена логическая структура ПО системы управления ГАП, из которой следует, что кон- кретная реализация функций одного и того же уровня на разных ЭВМ, входящих в мультимини- или микро- компьютерную систему, может быть различной. Уровень функций взаимодействия. Данный уровень определяют процессы, выполняющиеся в среде конкрет- ной ОС мини- или микроЭВМ. Эти процессы классифици- руются обычно как системно-прикладные по отношению к ОС, так как они, в свою очередь, создают среду, в кото- рой выполняются процессы прикладного уровня. Уровень функций взаимодействия снизу связан с фи- зическими средствами соединения и подразделяется на 111
несколько подуровней, основными функциями которых являются (снизу — вверх): — установление, поддержание и разъединение физи- ческих соединений, связывающих мини- и микроЭВМ; — управление потоками информации, которыми обме- ниваются ЭВМ, не связанные непосредственно физиче- скими соединениями; — передача информации пользователям в таком виде, который освобождает от необходимости ориентации на конкретный способ передачи данных; — организация и проведение сеансов взаимодействия между прикладными процессами; — представление информации (форматов, кодов, структур), передаваемой между прикладными процесса- ми, в том числе преобразование команд и данных. Реализация всех функций в ПО ЛВС обеспечивает взаимодействие процессов прикладного уровня. Прикладной уровень. Цель прикладного уровня — обеспечение выполнения и взаимосвязи прикладных про- цессов, расположенных в одной или нескольких ЭВМ распределенной мультимини- или микрокомпьютерной системы. Прикладной процесс представляет собой основной компонент системы, осуществляющий обработку инфор- мации для нужд пользователей либо административное управление сетью. Международная организация стандартов, рассматри- вая управление в системах, выделяет три категории прикладных процессов (/7/7) — рис. 5.2 [2]: админи- стративного управления (ДУ); управления обработкой информации (УОИ)\ обработки информации пользова- телей (ОИП). Рис. 5.2. Структура управления по системе ГАП 112
Прикладные процессы администра- тивного управления обеспечивают управление ресурсами, расположенными на всех уровнях системы. К функциям этой важной категории прикладных про- цессов относятся: — управление активизацией и деактивизацией: акти- визация и деактивизация физического оборудования; загрузка программ; изменение параметров системы; — общее управление: передача сообщений о статусе компонентов системы; сбор статистических сведений; — контроль ошибок: проверка и обнаружение оши- бок; процедуры изменения конфигурации системы; вы- полнение рестарта системы. Прикладные процессы управления обработкой информации включают следую- щие типичные процедуры: — инициализацию и деинициализацию прикладных процессов; — динамическое распределение ресурсов между прикладными процессами; — предотвращение и обнаружение конфликтов; — управление безопасностью данных (охрану данных от стирания); — обслуживание процедур восстановления после появления ошибок. Прикладные процессы обработки ин- формации пользователей определяются кон- кретными задачами области приложения. Для ГАП это прикладные процессы управления промышленными робо- тами, станками с ЧПУ, мобильными роботами и т. д. Система управления гибкими автоматизированными производствами обладает следующими особенностями: 1) функционирует в реальном масштабе времени. Это предусматривает обработку поступающей в систему ин- формации, формирование и выдачу сигналов управления в ходе реально протекающего процесса. Прикладные процессы PC обработки информации функционируют в течение всего производственного процесса с целью ис- пользования результатов вычислений для управления процессом. Как правило, прикладные процессы должны успрть принять и обработать информацию от одного запроса до поступления следующего. Причем запросы обычно поступают периодически с интервалом времени, определяемым характеристиками конкретного производ- ственного процесса. Нарушение реального масштаба вре- 5—870 113
мени вследствие каких-либо причин должно рассматри- ваться в подобных системах как событие исключительное и может привести к серьезному нарушению технологии конкретного производственного процесса; 2) обладает повышенной надежностью всей системы и ее ПО в частности. Для этого ПО распределенных мини- или микрокомпьютерных систем обычно включает боль- шой набор средств диагностики и процедур восстановле- ния. Эти средства зачастую становятся довольно су- щественной частью (как по объему, так и по значению) общего ПО системы. В PC обработки информации на основе ЛВС пробле- ма надежности решается на всех уровнях системы. От- ветственность за координацию действий возлагается на ПО административного управления и ПО управления обработкой информации. Программное обеспечение административного управ* ления следит за состоянием всей системы и каждого ее уровня и при необходимости выполняет общий рестарт системы или ее частичную реконфигурацию; ПО управле* ния обработкой информации обеспечивает логическую целостность и надежность функционирования приклад- ных процессов обработки информации пользователей. Надежность.системы управления ГАП может влиять на экономическую эффективность использования всего производственного комплекса, поэтому требования к на- дежности ПО подобных систем управления исключитель- но высоки. Это объясняется также и необходимостью обеспечения безопасности производственного процесса; 3) является неоднородной. Это свойство — следствие использования в системе управления большого разнооб- разия мини- и микропроцессорных устройств, каждое из которых может иметь собственную систему программи- рования. Такая неоднородность затрудняет интеграцию ПО в единую систему и ее развитие. В связи с этим ПО должно иметь такую структуру, чтобы возможно было поэтапное наращивание системы и необходимые работы по согласованию и расширению системы проводились без особых затрат; 4) обеспечивает принцип «прозрачности» ПО, в соот- ветствии с которым ПО не должно требовать от пользо- вателей наличия специальных знаний, должно быть до- ступно, удобно и просто в обращении, так как у термина- лов находится персонал предприятий, не владеющий на- выками программирования, работники аппарата управле- ния, инженеры, мастера и т. д. 114
5.2. Программное обеспечение локальных вычислительных сетей Наиболее общая форма связи процессов, используе- мая в ПО PC обработки информации, базируется на про- токолах, ориентированных на передачу сообщений. Этот подход эффективен для большинства приложений муль- тимини- и микрокомпьютерных систем. Рассмотрим уровень функций взаимодействия, обеспе- чивающий в ЛВС связь процессов прикладного уровня посредством сообщения. Набор функций уровня взаимо- действия достаточно велик, поэтому его делят на несколь- ко подуровней (в дальнейшем называемых просто уров- нями). Обычно различают шесть уровней функций взаимо- действия (снизу — вверх): физический, канальный, сете- вой, транспортный, сеансовый и представительный. По- добное деление отвечает эталонной модели архитектуры взаимодействия открытых систем [2], предложенной Международной организацией стандартов. В этой модели открытой называется система, выполняющая стандартное множество функций взаимодействия, принятое в вычис- лительной сети. Архитектура конкретных ЛВС может отличаться от рассматриваемой и объединять функции некоторых уров- ней в комплексный или даже вообще их не рассматри- вать. Так, архитектура ЛВС ETHERNET в логическом смысле определяет только два нижних уровня вычисли- тельной сети, а остальные представлены одним комплек- сным уровнем, именуемым абонентским. Рассмотрим основные функции шести уровней и ка- чественные характеристики различных протоколов связи. При описании функций и соответствующих протоколов используется понятие соединения — логической ассоциа- ции, устанавливаемой для связи двух объектов и более, обеспечиваемой функциями расположенного под ними уровня [3]. Физический уровень. Цель физического уровня — установление физических, механических, функциональ- ных и процедурных характеристик выполнения, поддер- жания и отключения физических каналов. Данный уро- вень обеспечивает передачу потоков бит через физиче- ские соединения и реализуется аппаратно. Передача информации может быть симплексной, полудуплексной или дуплексной. Симплексная передача определяется как односторонняя связь; полудуплексная — как разновре- 5* • 11$
менная двусторонняя связь в соответствии с принятым протоколом; дуплексная — как одновременная двусторон- няя связь, потенциально обеспечивающая более высокую производительность и меньшее время ответа, чем полу- дуплексная. Канальный уровень. Цель канального уровня — вы- полнение функций установления, поддержания и разъе- динения канальных соединений, называемых также ин- формационными каналами. Функции данного уровня свя- заны с управлением канальными соединениями и вклю- чают в себя: — запрос физических соединений, направляемый в физический уровень; — управление использованием физических соедине- ний; — связь канальных соединений с физическими; — обеспечение необходимой последовательности пе- редачи канальных блоков данных; — обнаружение ошибок в передаваемых блоках; — исправление обнаруженных ошибок и уведомление о неисправленных. Протоколы канального уровня определяют набор пра- вил, в соответствии с которыми данные могут быть на- дежно переданы между двумя ЭВМ или между ЭВМ и ее терминалом по единственной линии связи. Качественные параметры работы канального уровня определяются обычно эффективностью реализации основных функ- ций. Чтобы реализовать управление каналом данных в мультимини- или микрокомпьютерной системе, необходи- мо знать ее структуру, которая во многом определяет сложность управления. Сетевой уровень. Цель сетевого уровня — выполнение функций, связанных с управлением потоками массивов информации, которыми обмениваются мини- или микро- ЭВМ, не связанные физическими соединениями. В этом случае обмен сообщениями между двумя ЭВМ осуще- ствляется через одну или несколько промежуточных ма- шин. Примером являются иерархические сети, характер- ные для систем управления ГАП, в которых сообщения могут передаваться через несколько уровней иерархии мини- и микроЭВМ. Сетевой уровень обычно связан с конкретными техно- логиями комплексирования мини- и микроЭВМ, такими, как «точка — точка», глобальная шина, а также различ- ив
ными системами связи. Основными функциями, выпол- няемыми внутри сетевого уровня, являются: — установление сетевых соединений между объекта- ми транспортного уровня; — маршрутизация и учет сетевых блоков данных, направляемых от ЭВМ-источника в ЭВМ-приемник; — сегментирование и блокирование, выполняющиеся при необходимости преобразования сетевых блоков дан- ных в канальные и наоборот; — обнаружение ошибок в процедурах и формах свя- зи, о которых не выдавалось сообщение канальным уровнем; — восстановление при ошибках в процедурах и фор- матах данных, указанных нижними уровнями и обнару- женных на сетевом уровне функцией обнаружения оши- бок. В зависимости от типа предоставляемых средств свя- зи основные функции могут изменяться в значительной степени при переходе от одного вида сети к другому. Качественные параметры работы сетевого уровня оп- ределяются следующими основными характеристиками: — невыявленные ошибки; — доступность средств; — надежность (промежуток времени между отка- зами); — пропускная способность (объем передаваемой ин- формации) ; — задержка передачи данных. Транспортный уровень. Цель транспортного уров- ня — передача информации между объектами сеансового уровня, которые называются транспортными пользова- телями. Этим пользователям транспортный уровень предоставляет транспортные соединения. От транспорт- ного уровня требуется оптимальное использование до- ступных ресурсов связи, чтобы обеспечить производи- тельность для каждого транспортного пользователя при минимальных затратах. Работа транспортного уровня определяется протоко- лами типа «конец — конец*. Принятым термином подчер- кивается, что протоколы данного уровня определяют пе- редачу информации по всей сети от одного транспортного пользователя до другого. Понятие транспортного уровня предполагает универ- сальный связной интерфейс, через который объектам сеансового уровня предоставлялся бы постоянный набор 117
услуг, не зависящий от используемой среды связи. Транс- портный протокол в этом случае можно определить как средство, устраняющее расхождение между требующими- ся услугами и предоставляемыми средствами. В зависи- мости от используемой среды функции данного уровня могут оказаться или тривиальными, или очень сложными В соответствии с протоколами транспорный уровень обычно обеспечивает: — установление и разъединение транспортных соеди- нений; — управление потоками информации на всем пути от одного транспортного пользователя до другого; — обнаружение ошибок на этом пути; — восстановление передачи после появления неис- правностей и ошибок; — сегментацию и объединение массивов информации; — контроль последовательности передачи массивов информации на протяжении всего пути. Рассмотрим одну из основных функций транспортного уровня — функцию мультиплексирования, которая уста- навливает соответствие типа «один ко многим» между транспортными и сетевыми соединениями. Например, использование одного сетевого соединения для обслужи- вания нескольких транспортных обеспечивает более эф- фективное и экономичное использование средств связи. Подобная ситуация возникает, когда несколько процес- сов одновременно требуют доступ к одной ЭВМ. В этом случае несколько логических каналов функционируют од- новременно на базе единственной реальной линии. Реа- лизуемое логическое разделение аналогично используе- мому в телефонии для обеспечения большого числа частных коммуникаций через единственный физический канал. Качественные параметры транспортного уровня при мерно те же, что и сетевого. Сеансовый уровень. Цель сеансового уровня — орга- низация (через представительный уровень) сеансов связи между двумя прикладными процессами или более (одно- временно). Для этого один из прикладных процессов должен обратиться в представительный уровень с пред- ложением о проведении сеанса и получить согласие на этот сеанс. Последний для организации и проведения сеанса взаимодействует с сеансовым уровнем. Сеансы, обеспечивающие взаимодействие различных пар приклад- ных процессов, могут осуществляться параллельно, а 118
между двумя процессами одновременно может быть про- ведено несколько сеансов, во время которых процессы обмениваются массивами информации. Сеансовый уровень предусматривает два вида сер- виса: — соединение прикладных процессов для их взаимо- действия и последующее рассоединение этих объектов; — управление обменом между прикладными процес- сами. Первый вид сервиса называется административным, а второй — управлением передачей данных. Административный сервис сеансов осуществляет: — установление сеанса между прикладными процес- сами; — индентификацию сеанса (выделение рассматривае- мого сеанса среди множества других); — восстановление сеанса (после возникших ошибок); — прекращение сеанса (после передачи всех необхо- димых последовательностей массивов информации). Сервис (сеансов) управления переда- чей данных предусматривает набор функций, в ко- торый входят: — обмен данными между прикладными процессами; — определение границ между передаваемыми масси- вами информации; — управление диалогом (ряд функций для управле- ния протоколами и правилами, используемыми для упо- рядоченного обмена данными). Во время установления сеанса выполняется выбор (из имеющегося набора) необходимого протокола сеан- са. Взаимосвязь объектов, осуществляющих сеансы, вы- полняется по транспортным соединениям. По этим соеди- нениям возможны три вида передачи данных: односто- ронний, двусторонний разновременный и двусторонний одновременный. Односторонняя передача данных приме- няется обычно для пересылки файлов; двусторонняя раз- новременная передача используется при взаимодействии оператора терминала с прикладным процессом; двусто- ронняя одновременная передача информации каждого сеансового объекта независимо от другого может одно- временно посылать сеансовый блок данных. Этот вид передачи наиболее универсален и эффективен. Представительный уровень. Цель представительного уровня — выполнение сервиса, предназначенного для 119
объяснения смысла (значения) данных, передаваемых между прикладными процессами. Последним представи- тельный уровень позволяет выбирать из предлагаемого набора те виды сервиса, которые необходимы приклад- ным процессам в выполнении поставленных задач. Пред- ставительный уровень обслуживает непосредственно прикладной уровень и осуществляет управление обеспе- чением стандартного образа действий и данных, или, другими словами, образа представления, который должен быть использован, и формата данных, в котором будет происходить обмен. В тех случаях, когда локально ис- пользуемые форматы отличаются от стандартных, необ- ходимо выполнить соответствующее преобразование. Необходимые соединения между объектами представи- тельного уровня устанавливаются с помощью услуг, предоставляемых сеансовым уровнем, и таким образом обеспечиваются соединения между соответствующими прикладными процессами. Наиболее часто встречающимися образами представ- ления является изображение информации в виде вир- туальных терминалов, файлов и заданий Основными функциями представительного уровня яв- ляются: — преобразование форматов данных; — преобразование команд; — сжатие и расширение информации; — засекречивание и рассекречивание информации; — выбор прикладных процессов. Одной из важнейших функций является преобразо- вание формата данных (рис. 5.3). Здесь возможны три случая. Первый из них заключается в преобразовании Интерфейс открытой системы Рис. 5.3. Структура преобразования форматов 120
локальных форматов ЛФа прикладного процесса А в стандартные форматы СФ и последующем преобразова- нии стандартных форматов в локальные форматы ЛФв прикладного процесса В. Этот случай имеет место тогда, когда оба процесса могут работать только со своими ло- кальными форматами. Второй случай возникает при взаимодействии двух прикладных процессов, один из ко- торых А работает с локальным форматом ЛФа данных, а другой — со стандартным. Третий случай наблюдается, когда оба прикладных процесса могут работать со стан- дартным форматом. При этом не возникает необходимо- сти в использовании функции преобразования форматов. Программное обеспечение малых локальных вычисли- тельных сетей. Структура ПО МЛВС в основном соот- ветствует уровневой структуре функций взаимодействия, обеспечивающих в ЛВС связь процессов прикладного уровня посредством передачи сообщений. Однако МЛВС находятся на нижнем уровне иерархии системы управле- ния ГАП и предназначены для решения задач управле- ния отдельными робототехническими комплексами, поэто- му некоторые уровни функций взаимодействия могут отсутствовать или быть настолько простыми, что их це- лесообразно рассматривать в совокупности с другими уровнями. Поэтому МЛВС имеет, как правило, более простую структуру и проще в реализации. Реализация МЛВС, в частности, предполагает: адап- тацию архитектуры ЛВС для построения МЛВС; реали- зацию транспортного и логического каналов; реализа- цию интерфейсных модулей как для связи с ЛВС более высокого уровня, так и для преобразования протоколов внутри МЛВС. В программной структуре МЛВС выделяют четыре уровня иерархии и соответствующие им протоколы (сни- зу — вверх) [4]: Первый уровень — протокол управления физи- ческим каналом. Второй уровень — протокол управления инфор- мационным каналом, определяющий байт-ориентирован- ные процедуры: установления и прекращения связи; пре- образования пакета в кадр и обратно; обеспечения про- зрачности информационного канала (т. е. передача ин- формации, закодированной любым способом); контроля достоверности переданной информации. Под пакетом обычно понимается блок информации, передаваемый через сеть передачи данных, моноканал или циклическое 121
кольцо без разделения на части. Кадр — непрерывная последовательность бит, передаваемая на физический уровень или принимаемая с физического уровня как еди- ное целое В протоколе определяются четыре типа кад- ров: информационный кадр; «контроль» — сообщение приемнику контрольного кода переданной по каналу ин- формации; «режим» — служит для изменения направле- ния обмена информацией во время сеанса и сообщения об изменении алгоритма контроля достоверности; «конец сеанса» — сообщение о завершении сеанса связи. Могут использоваться несколько вариантов протокола управле- ния информационным каналом, являющихся подмноже- ством базового протокола и учитывающих особенно- сти той микроЭВМ, для которой они предназначены. Вы- бор протокола обеспечивается программами логического уровня, хранящими таблицу соответствия номеров або- нентов и моделей микроЭВМ. Третий уровень — протокол управления логи- ческим каналом — позволяет организовать полудуплек- сный логический канал между взаимодействующими про- цессами. Основными функциями, определяемыми про- токолом управления логическим каналом, являются: установление и ликвидация логического канала; передача пакета; контроль достоверности пакета; определение со- ответствующего абоненту приемника подмножества ка- нального протокола; диспетчеризация логического ка- нала. Четвертый уровень — уровень пользователя. Интерфейс пользователя определяет процедуру создания логического канала и изменяется в целевых МЛВС. Иерархическая структура ПО МЛВС позволяет мо- дернизировать протоколы управления в рамках базовых, не затрагивая соседние уровни иерархии. 5.3. Механизмы взаимодействия и синхронизации процессов Программное обеспечение системы управления ГАП представляет собой PC обработки информации, выпол- ненную на основе локальных вычислительных сетей. Программное обеспечение и аппаратные средства ЛВС реализуют набор функций, обеспечивающих взаимодей- ствие процессов прикладного уровня. Рассмотрим ПО прикладного уровня, представляю- щее наибольший интерес, так как именно оно составляет 122
основную часть разрабатываемого ПО системы управле- ния ГАП, в то время как ПО ЛВС определяется ее конкретным выбором. Программное обеспечение прикладного уровня состав- ляют три основные компоненты PC обработки информа- ции: административное управление, управление обработ- кой информации и обработка информации пользователей. Каждая компонента состоит из совокупности приклад- ных процессов, выполняющихся координированным обра- зом. Под координацией понимается взаимодействие и синхронизация процессов. Таким образом, механизмы взаимодействия и синхронизации процессов составляют основу любой PC обработки информации и системы уп- равления ГАП в этом смысле не является исключением. Правила взаимодействия прикладных процессов (рис. 5.4) относятся к протоколам прикладного уровня. Прикладной уровень представляет собой высший уровень в иерархии ПО ЛВС, поэтому объекты и понятия, опре- деляемые на этом уровне, являются наиболее общими в логическом плане. Кроме того, некоторые понятия, опре- деленные на низшем уровне, понимаются, как правило. Квазинезависимость прикладного уровня дает воз- можность описывать взаимодействие и синхронизацию процессов на достаточно высоком логическом уровне, не вдаваясь в подробности их конкретной реализации. Рас- смотрим вначале взаимодействие и синхронизацию про- цессов, разделяющих общее связанных системах). Хо- тя подобные системы не классифицируются как распределенные, рассмат- риваемая программная конструкция (монитор) представляет известную ценность, так как явля- ется достаточно общей и широко распространенной в практике программиро- вания и поэтому может быть использована в ПО системы управления ГАП. Процессы, разделяющие общее поле памяти, назы- ваются также конкури- рующими процессами. поле памяти (т. е. в жестко- Рнс. 5.4. Схема взаимодействия прикладных процессов: О — прикладные процессы; - - - - линии взаимодействия прикладных процессов 123
Мониторы. Конструкции для управления доступом конкурирующих процессов к разделяемым ресурсам на- зываются мониторами, они были разработаны с целью обеспечения более структурированных форм взаимодейст- вия процессов, чем те, которые используются при работе с семафорами. Вся информация о наборе разделяемых ресурсов и о том, как с ними работать, хранится в обла- сти данных, называемой областью монитора, куда вклю- чен и ряд процедур, определяющих операции над разде- ляемыми ресурсами. Эти процедуры доступны для всех процессов в системе. Если процессу необходимо обра- титься к разделяемому ресурсу, он должен выполнить одну из процедур соответствующего монитора (тип дан- ных schedulqueue в примере использован для реализации очереди ожидающих процессов с некоторой дисциплиной планирования): user • process (г : resource); begin. г.request; usejesource; г. release; end; resource « monitor var free : boolean; q : schedulqueue; procedure entry request; begin if free then free: «false else delay (q.enter) end; procedure entry release; begin if q.empty then free: «true else continue (q remove) end; begin free: «true; init q; end; Монитор непосредственно не инициирует каких-либо действий в системе. Это пассивный модуль, который мо- жет быть активизирован только посредством вызова процедур. Монитор реализуется таким образом, что одно- временное выполнение нескольких процедур невозможно. Следовательно, процесс сохраняет монопольный контроль над ресурсами монитора при выполнении одной из его процедур. Некоторые языки программирования, включающие конструкцию монитора, имеют дополнительные средства, позволяющие планировать использование разделяемых ресурсов конкурирующими процессами. Так, в языке программирования CONCURRENT PASCAL планирова- ние обеспечивается специальными переменными типа queue (очередь) и операциями delay (задержать) и continue (продолжить), определенными над этими пере- менными. Планирование может осуществляться следую- щим образом. При каждом запросе ресурса вызывается 124
процедура request, в которой проверяется использование в данный момент запрашиваемого ресурса. Если ресурс используется и еще не освобожден, то выполнение вызы- вающего процесса приостанавливается с помощью опера- ции delay и он помещается в некоторую очередь. Как только ресурс освобождается (посредством вызова про- цедуры release), очередь задержанных процессов про- сматривается, выбранный процесс освобождается и по операции continue возобновляет работу, т. е. получает возможность использовать затребованный ресурс. Дисциплина планирования, т. е. порядок, в котором процессы помещаются и освобождаются из очереди, мо- жет быть произвольной и определяется пользователем. Таким образом, обеспечивается контроль последователь- ности использования разделяемых ресурсов конкурирую- щими процессами. Иными словами, монитор может синхронизировать такие процессы и передавать данные между ними. Мониторные конструкции обеспечивают большую мо- дульность, чем семафоры, что делает программы более понятными. В этом случае методы доступа к ресурсам собираются в одной специальной системной секции, что позволяет также и более легко модифицировать си- стему. Рассмотрим механизмы взаимодействия и синхрони- зации процессов в PC обработки информации. По определе- нию, у таких процессов отсутствует общее поле памяти, поэтому средства координации процессов, описанные вы- ше, здесь не применимы. К настоящему времени сформи- ровались две основные схемы взаимодействия и син- хронизации процессов в распределенных системах: обмен сообщениями (синхронный и асинхронный) и удаленный вызов процедур. Эти две схемы являются универсаль- ными и при наличии соответствующего ПО могут исполь- зоваться для взаимодействия конкурирующих процессов. Обмен сообщениями. Правила взаимодействия при- кладных процессов относятся к протоколам высокого уровня, поэтому в данном случае под сообщениями будем понимать логическую единицу информации, пере- даваемую от одного прикладного процесса к другому. Семантика такого обмена сообщениями состоит из того, что «видноэ на прикладном уровне и обеспечивается всеми функциями уровня взаимодействия ПО ЛВС. Данная схема взаимодействия исторически сложилась раньше, чем удаленный вызов процедур, и объясняется 125
это прежде всего очевидной аналогией с передачей фи- зических сообщений. Взаимодействие прикладных процессов посредством обмена сообщениями осуществляется основными прими- тивами: SEND — послать сообщение; RECEIVE — принять сообщение. Процесс — источник сообщения (выдающий примитив SEND) должен указать конкретный процесс-получатель, которому должно быть доставлено сообщение. Процесс- получатель сообщения (выдающий примитив RECEIVE) может указать уникальный процесс-источник, от которого он предполагает получить сообщение. Если источник сообщений не специфицирован, то это означает, что про- цесс-получатель готов к приему сообщений от любых процессов-источников. В примитивах SEND и RECEIVE указываются обычно логические имена процессов, не связанные с их физическим расположением. Будем различать синхронный и асинхронный механиз- мы обмена сообщениями. При синхронном взаимодействии про- цесс-источник посылает сообщение и его выполнение приостанавливается до тех пор, пока процесс-получатель не ответит подтверждением, что сообщение им принято. После этого процесс-источник возобновляет работу и мо- жет послать новое сообщение. Такой протокол позволяет посылающему процессу быть уверенным, что его сообще- ние в действительности принято. При асинхронном взаимодействии про- цесс-источник посылает сообщение и, не дожидаясь под- тверждения, продолжает выполнение. Выдавая SEND, процесс предполагает, что: — сообщение передается на сторону принимающего процесса; — помещается там в буфер сообщений; — и, вероятно, будет прочитано с помощью прими- тива. Здесь употреблено слово «вероятно», так как, во-пер- вых, нет гарантий, что процесс-получатель активизиро- ван, и, во-вторых, если активизирован, то выдаст прими- тив RECEIVE для чтения сообщения из буфера. Таким образом, информация посылается независимо от того, может ли она быть обработана немедленно, или даже от того, может ли она быть обработана вообще. У асинхронного обмена сообщениями есть еще одна 126
отличительная особенность — процесс-источник может работать в режиме «извержения», т. е. в отдельные мо- менты времени поток сообщений, генерируемый процес- сом-источником, может приобретать лавинообразный ха- рактер. Рассмотренные схемы взаимодействия прикладных процессов имеют свои достоинства и недостатки. Из срав- нения их следует, что в синхронной схеме легче осущест- вляются процедуры восстановления при потере сообще- ния или различного рода сбоях, так как посылающему процессу нет необходимости «откатываться» назад для восстановления целостного состояния. Поэтому в систе- мах, в которых предъявляются повышенные требования к надежности ПО (например, система управления ГАП), использование синхронной схемы обмена сообщениями для организации взаимодействия процессов может ока- заться более предпочтительным. Кроме того, подобные схемы, как правило, легче в реализации, так как отсут- ствует необходимость в буферах для хранения сообще- ний, которые были посланы, но еще не прочитаны. Однако асинхронная схема обмена сообщениями обес- печивает высокую степень параллелизма, так как посы- лающему процессу не надо ждать, пока сообщение достигнет получателя и будет им прочитано. Это достоин- ство асинхронных схем может оказаться решающим для систем, работающих в реальном масштабе времени (к ко- торым относится и система управления ГАП), поскольку жесткие временные ограничения, накладываемые на ра- боту подобных систем, часто могут быть выдержаны толь- ко за счет распараллеливания решаемых задач. Кроме того, асинхронное взаимодействие прикладных процессов можно рассматривать как основную схему взаимодейст- вия, так как на ее основе при необходимости всегда можно реализовать синхронную схему обмена сообще- ниями. Удаленный вызов процедур. Рассматриваемая схема взаимодействия прикладных процессов сложилась срав- нительно недавно и основывается на фундаментальном понятии традиционного (последовательного) програм- мирования — вызове процедур. Семантика вызова проце- дур хорошо известна, все, что при этом происходит, четко и ясно определено, хотя возможны и особенности для каждого конкретного языка программирования. Вызов процедур характеризуется последовательностью передач управления и данных (рис. 5.5). 127
Рис. 5.5. Последовательность пере- дач управления при вызове про- цедур При вызове осуществ- ляется передача управле- ния и данных (входных параметров) вызываемой процедуре В и выполне- ние вызывающей проце- дуры А приостанавлива- ется. Вызванная процеду- ра должна начать выпол- нение немедленно, воз- можность выбора отсутст- вует. После того как про- выполнение вызывающей цедура В завершит работу, процедуры А возобновится с точки, непосредственно сле- дующей за вызовом. При завершении процедура В может также передать некоторые данные (выходные па- раметры). Соотношение, существующее между вызываю- щей и вызываемой процедурами, определяется как соот- ношение типа «главный — подчиненный». Механизм удаленного вызова процедур во многом сходен с обычным локальным вызовом, однако вызываю- щая и вызываемая процедуры могут находиться в разных ЭВМ распределенной мультимини- или микрокомпьютер- ной системы. В этом случае пересылка параметров и передача управления реализуются уровнем функций взаимодействия ПО ЛВС, обеспечивающего связь при- кладных процессов посредством сообщений. Удаленный вызов процедур осуществляется следую- щими основными примитивами: CALL — вызвать удаленную процедуру; RETURN — возвратить управление. Рассматриваемый протокол взаимодействия процессов не использует в логическом плане понятие сообщения. Далее под сообщением понимается физический блок дан- ных, передаваемый при связи двух мини- или микроЭВМ. Пусть процедуры А и В (рис. 5.5) расположены на разных ЭВМ. В этом случае специфика функционирова- ния распределенных систем предполагает большую гиб- кость в последовательности передач управления и данных между процедурами. Эта гибкость достигается посред- ством использования сообщений. Например, процедура Д, вызывая удаленную процедуру В, в общем случае имеет большой выбор вариантов для продолжения. Она может завершиться, приостановиться или продолжить выполне- ние, не дожидаясь возврата управления. Процедура в, 128
получив управление и данные, может вернуть управление процедуре А в любой точке выполнения, не дожидаясь завершения (как в локальном случае), или вообще его не возвращать. В разных языках программирования, ориентирован- ных на удаленный вызов процедур, этот протокол может быть реализован по-разному. Однако общим является стремление максимально использовать все возможности параллельного выполнения процедур, одновременно обес- печивая надежность их выполнения. Проблема надежно- сти является типичной для PC обработки информации независимо от используемых механизмов взаимодействия процессов и обусловлена тем, что сообщения при их транспортировке удаленному процессу могут быть поте- ряны или задержаны. Для обеспечения устойчивости от потери сообщений и аварий ЭВМ может потребовать- ся повторная передача сообщения удаленному партнеру. При получении сообщения некоторая процедура может быть вторично активизирована, хотя в действительности требовалось только одно ее выполнение. Такие повторные вызовы, вообще говоря, должны быть исключены. Это приводит к выделению двух семантических форм уда- ленно вызываемых получателей: первые гарантируют, что, по крайней мере, один раз процедура будет выполне- на; вторые гарантируют, что процедура будет выполнена в точности один раз, при этом соответствующая им схема представляет высший уровень механизма взаимодейст- вия, их семантика является наиболее подходящей для PC обработки информации, но трудна в реализации. Взаимодействие и синхронизация процессов осу- ществляются посредством удаленного вызова процедур в процессе-партнере. Каждый из таких процессов имеет набор процедур, предназначенных для взаимодействия. Кроме того, процесс может, как правило, управлять принадлежащими ему процедурами (т. е. разрешать или запрещать их активизацию) в зависимости от условий выполнения. Из сравнения механизмов удаленного вызова проце- дур и обмена сообщениями следует, что главное достоин- ство первого из них заключается в использовании для взаимодействия процессов такого общепринятого поня- тия традиционного программирования, как вызов проце- дур. в то время как обмен сообщениями остается наибо- лее естественным и эффективным механизмом для задач, связанных с интенсивными пересылками массивов инфор- мации. 129
5.4. Управление в мультимини- и микрокомпьютерных системах и операционная система высокого уровня Основными компонентами программного обеспечения PC обработки информации являются ПО административ- ного управления и ПО управления обработкой информа- ции (ОС высокого уровня), относящиеся к прикладному уровню ПО ЛВС. Программное обеспечение административного управ- ления системой осуществляет управление ресурсами, рас- положенными на всех уровнях системы (рис. 5.6). К функ- циям этой категории ПО относятся управление активиза- цией и деактивизацией различных компонент системы управления ГАП, осуществление общего управления, а также глобальный контроль за состоянием системы. Программное обеспечение управления обработкой ин- формации осуществляет инициализацию, обслуживание и деинициализацию прикладных процессов, динамиче- ское разделение ресурсов между ними, поддержку логи- ческой целостности и надежности их функционирования. Для административного управления системой на всех уровнях вводятся специальные процессы, функции кото- рых заключаются в сборе информации, необходимой для оценки состояния системы, и в реализации управляю- щих воздействий. Принятие решения о необходимости того или иного управляющего воздействия осуществля- ется прикладными процессами административного управле- Рис. 5.6. Структура управления в PC обра- ботки информации иа основе ЛВС 130
ния, реализующими определенные алгоритмы управле- ния. Выбор конкретных алгоритмов управления и их сложность зависят как от структуры PC обработки информации, так и от требований, предъявляемых к управлению. К административному управлению относят- ся также сбор, обработка и анализ статистических дан- ных о функционировании PC обработки информации с целью ее дальнейшего развития и совершенствования. Для управления взаимодействиями между основными элементами мультимини- или микрокомпьютерных систем, такими, как процессоры, файлы, терминалы и другие периферийные устройства, необходим соответствующий язык. С его помощью определяются также ресурсы и задания системы, контролируется их распределение, т. е. организуется вычислительная среда. Такой язык изве- стен как командный язык управления сетью. В прикладных системах РВ (к которым относится система управления ГАП), где требования к ресурсам и задачам специфицированы, необходимость в подобном языке менее очевидна. Однако на стадии разработки и отладки программных средств специализированных си- стем, когда требования к выполнению заданий и распре- делению ресурсов меняются значительно динамичнее, командный язык управления может оказаться исключи- тельно полезным. Кроме того, такие функции командного языка, как отображение состояния системы и ее компо- нент, необходимы также на стадии промышленной эксплуатации специализированных систем. Одна из важных проблем, возникающих при создании PC обработки информации, заключается в организации эффективной работы прикладных процессов обработки информации пользователей. Существующие ОС, которые в определенном смысле можно считать высокоуровневы- ми, сильно зависят от соответствующей базовой ЭВМ, что особенно характерно для неоднородных мультимини- или микрокомпьютерных систем. Здесь, как правило, на каждой машине используется соответствующая ей опера- ционная система. Это обусловливает определенные труд- ности в организации распределенной работы прикладных процессов. Так, чтобы эффективно использовать ресурсы вычислительной сети, процессы должны знать не только механизмы доступа в сеть, но и ОС конкретной мини- или микроЭВМ, ресурсы которой они хотят использовать. Кроме того, ресурсы разных ЭВМ часто не совместимы друг с другом и правила их использования строго инди- 131
видуальны. Поэтому, чтобы физические и логические эле- менты PC обработки информации функционировали как единое целое, необходима реализация ОС высокого уров- ня, которая унифицирует и интегрирует контроль по управлению ресурсами распределенной системы. Унификация подразумевает определение некоторого набора типовых действий (операций), посредством кото- рых прикладной процесс может получить доступ и ис- пользовать любой ресурс распределенной системы. При этом различные процессоры могут иметь индивидуаль- ные операционные системы и правила использования ресурсов, однако все эти особенности будут скрыты от прикладных процессов обработки информации пользова- телей. Механизмы реализации типовых действий могут быть уникально идентифицированы внутри каждой от- дельной ОС или же являться логическими расширениями локальных типовых действий. Интеграция означает возможность использования прикладными процессами при необходимости всех до- ступных ресурсов вычислительной сети независимо от их физического расположения. Это достигается устранением логического различия между локальными и удаленными ресурсами и может быть реализовано либо через ассемб- лирование (сбор) всех требуемых ресурсов в одной мини- или микроЭВМ ЛВС, либо через специальные связные механизмы, которые обеспечивают их удаленное исполь- зование. Определим ОС высокого уровня как совокупность ПО и соответствующих протоколов, которые позволяют мно- жеству автономных мини- или микроЭВМ, связанных посредством вычислительной сети, быть использованны- ми вместе удобным и эффективным способом. ОС высо- кого уровня превращает доступные ресурсы из простого набора программных и аппаратных средств в функцио- нирующую, согласованную систему и помогает пользова- телям и их прикладным программам использовать ресур- сы, распределенные в вычислительной сети, способом, во многом сходным с контролируемым доступом к ло- кальным ресурсам, который обеспечивает пользователям ОС мини- или микроЭВМ. Это отражает тенденцию к тому, чтобы сделать сеть и границы между отдельными ЭВМ прозрачными для прикладных процессов пользова- телей. 132
5.5. Реализация программного обеспечения системы управления гибкими автоматизированными производствами В данном разделе рассматривается исполнительная ОС широко распространенной в настоящее время микро- ЭВМ СМ-1800 и на ее примере иллюстрируется реали- зация основных требований, предъявляемых к ОС для их использования в PC обработки информации. Приводятся основные характеристики систем реального времени в приложении к основным объектам, с которыми работает рассматриваемая ОС. В качестве примера нового перспективного подхода к созданию системы управления ГАП рассматривается автономная децентрализованная система контроля авто- матизированных производств, разработанная японскими специалистами. Ее отличительная особенность — исполь- зование понятий представления знаний. Рассматривается язык контроля систем на основе правил и логическая структура контроллера для его поддержки. Многозадачная операционная система реального вре- мени (МОС РВ) микроЭВМ СМ-1800. Рассмотрим основ- ные характеристики систем реального времени в прило- жении к основным объектам и правилам, с которыми работает МОС РВ [5]. Основной функцией ядра МОС РВ является разделе- ние процессора между программами, оформленными в виде задач. Каждой задаче в МОС РВ присваивается приоритет; допускается использование 256 уровней прог- раммных приоритетов. Задачи в МОС РВ могут ини- циировать друг друга, а также обмениваться информа- цией с помощью механизмов обменников и сообщений. Сообщение представляет собой совокупность данных, которую одна задача посылает другой. Обменник — это область памяти, в которой МОС РВ содержит список за- дач, ожидающих сообщений, и список сообщений, подле- жащих передаче. Чтобы сократить время обмена данны- ми между задачами, МОС РВ во всех операциях, связан- ных с сообщениями, использует только адреса сообще- ний. Взаимодействие «задача — сообщение» у обменника реализуется по принципу «первый пришел — первый обслужен». Задача, получившая из обменника сообще- ние, становится готовой к выполнению. В каждый момент времени задача может ожидать только в одном обмен- нике и сообщение может быть послано только в один 133
обменник. Для работы с прерываниями используются специальные обменники. В МОС РВ различаются четыре состояния задач, для отслеживания которых используются системные таблицы в памяти. Задача, команды которой в данный момент выполняются процессором, называется текущей; задача, готовая к выполнению, — готовой (задача переходит в это состояние, когда для нее окончилось ожидание исте- чения временного интервала, или в обменник, где она находилась, поступило сообщение); задача, ожидающая сообщение в обменнике, — ждущей; задача, присутст- вующая в системе, но не участвующая в процессе распре- деления времени, организуемом ядром МОС РВ, — при- остановленной. Все операции ядра МОС РВ являются внешними процедурами, вызываемыми из прикладных программ по правилам, определяемым языком программирования, ис- пользованным для написания задачи. С помощью опера- ций ядра создаются и уничтожаются основные объекты МОС РВ (задачи, обменники, подуровни прерываний), передаются и принимаются сообщения, а также приоста- навливаются и возобновляются задачи. Многозадачная операционная система РВ восприни- мает прерывания от пяти уровней аппаратных преры- ваний СМ-1800. В критических ситуациях прерывания могут обрабатываться пользовательскими программами без помощи стандартного механизма в ядре МОС РВ. Для работы в составе сетевых комплексов МОС РВ предоставляет пользователям СМ-1800 системные задачи, реализующие различные протоколы обмена данными: протокол управления информационным каналом, приня- тый в архитектуре однородных сетей СМ ЭВМ, протокол сети с коммутацией пакетов Х.25 (требует наличия в составе СМ-1800 модуля сетевого адаптера), а также протоколы терминалов и абонентских пунктов ЕС ЭВМ. Многозадачная операционная система РВ является однопроцессорной испольнительной ОС, однако ее си- стемный интерфейс обеспечивает возможность создания многопроцессорных комплексов СМ-1800, так как предус- мотрена расширенная версия, поддерживающая взаимо- действие нескольких процессорных модулей в составе комплекса. Программные компоненты расширенной вер- сии МОС РВ, ответственные за межпроцессорный обмен, реализуют протокол передачи сообщений через общее поле памяти. 134
Таким образом, МОС РВ предоставляет пользователям набор инструментов для построения программ, работаю- щих в реальном масштабе времени, и позволяет сущест- венно снижать трудоемкость программирования в локаль- ных и распределенных системах обработки информации. Язык управления ГАП на основе представления знаний. Разработка ПО системы управления ГАП на основе тради- ционных методов с использованием универсальных язы- ков программирования или диаграмм является исключи- тельно трудоемким процессом. Для обеспечения высокого уровня гибкости системы и удобства ее поддержки фирмой «Hitachi» разработан специализированный проблемно- ориентированный язык с использованием понятий искус- ственного интеллекта (представления знаний) [6]. Вся логика управления представляется в виде данных, а не процедур и имеет форму правил типа IF — THEN. Это обеспечивает необходимую прозрачность представления логики управления, а также возможность ее независимой модификации и последующего расширения. В системах, контролирующих дискретные события, осо- бое значение имеет идентификация состояния компонент. Выявленное состояние компоненты системы, называется фактом и обозначается f.^F, Соответственно ситуация си- стемы 5 определяется как множество всех фактов, выявлен- ных контроллером в одно и то же время. Команда системе, которая должна контролироваться, называется управляю- щим воздействием и обозначается а,^А. Управляющее воздействие определяется в соответствии с текущей ситуа- цией и посылается в систему, подлежащую контролю. Стратегии контроля задаются посредством описания D и управляющие воздействия определяются путем вычис- ления D(S) для каждого S. Стратегия контроля D специфи- цируется множеством правил следующего вида: /<л}— Левая часть правила, заключенная в { } скобки, назы- вается условием, а правая часть определяет действие При таком представлении правила должны быть выпи- саны полностью для всех условий. В этом случае с увеличе- нием числа правил условие может стать длинным, труд- ным для понимания и поддержки. Поэтому вводится поня- тие выведенного факта, который также определяется как действие и используется в комбинации с другими фактами. Представление правила, таким образом, может быть рас- ширено: 135
rk : {fajt2.Ал, mi[t или a,. Более того, можно ввести переменные, такие, как х, у, г, для уменьшения числа правил. Выражения типа «склад- ской кран х свободен* может быть использовано как в усло- вии, так и в части действия правила. Используя эти расширения, стратегия контроля может быть получена из меньшего числа правил. При этом зна- чительно облегчается понимание правил и их изменение, а кроме того, стратегии контроля могут быть при необхо- димости легко модифицированы персоналом предприятий, ответственным за функционирование системы контроля. Рассмотренные правила, вообще говоря, могут быть выражены посредством любого набора символов. Прави- ла, используемые в децентрализованной системе контро- ля фирмы «Hitachi», называются правилами типа IF — THEN (рис. 5.7). Строка символов в ( ) скобках соот- ветствует факту, выведенному факту или управляющему воздействию и делится на две части: параметры в < > скобках и фиксированную часть. Параметры используют- ся для определения переменных и описания констант, а также для спецификации объектов, например посред- ством машинного номера или имени задания. Фикси- рованная часть используется для идентификации факта, выведенного факта или управляющего воздей- ствия. IF — THEN правила разбиты на три группы: 1-я группа — каждый параметр содержит только константы, например машинный номер, или параметры вообще отсутствуют (форма 1); 2-я группа — параметры могут быть переменными, например х, у, z (форма 2); 3-я группа (открытого типа) включает пользова- тельские подпрограммы для вычислений или оптимиза- ции (форма 3). Имя процедуры пишется в THEN-части в виде «THEN имя процедуры (строка символов)». Метод вычисления этих правил в основном тот же, что и для двух других форм, за исключением того, что пользовательская под- программа, описанная в THEN-части. вызывается первой перед началом обработки. В этот момент ей передаются переменные, необходимые для удовлетворения сочетания условий в IF-части. Подпрограмма обрабатывает их, и полученные значения присваиваются затем соответствую- щим переменным в THEN-части. 136
ФОРМА 1 (автоматический доставщик № <1> свободен) (автоматический доставщик IP <2 свободен) ПРАВИЛО______________ IF (автоматический доставщик N*<1> свободен) IF (автоматический доставщик № <2> свободен) THEN (использовать автоматический доставщик № <1>) ДЕЙСТВИЕ (использовать •втоматический доставщик IP <1» ФОРМА 2 (станция № <2> свободна) (станция №<1> может выполнять задание <А» (станция № (1) может выполнять задание <В» (станция № <2) может выполнять задание <А» (станция № <3> может выполнять задание <В>) ФОРМА 3 (станция IP <1> — кандидат на выполнение работы <34 ) (станция IP <2> — кандидат на выполнение работы <34>) Рис. 5.7. Правила типа IF—THFN для контроля автоматизированного производства Система продукций автоматически организует расши- ряющиеся правила в соответствии с текущей ситуацией системы. Она состоит из специально организованной памяти, базы данных и интерпретатора. Если условие правила находится в базе данных, где запоминается те- кущая ситуация системы, то соответствующее действие добавляется интерпретатором. После нескольких итера- ций управляющее воздействие окончательно формируется (выводится). Для вывода действий в реальном масштабе времени был разработан высокоскоростной интерпретатор, назы- ваемый генератором действий. Полное время, затрачи- ваемое генератором для вычисления действия, составляет 137
приблизительно 5 мс на каждое правило для типовых примеров. Логическая структура специализированного контрол- лера, предназначенного для поддержки языка контроля систем на основе правил и называемого станцией коорди- нации, приведена на рис. 5.8. В контролируемой системе отслеживаются заданные события и через входной мо- дуль детектора событий поступают в контроллер. Затем модулем прокладки трасс ситуация системы отображает- ся в таблицу трасс. Генератор действий генерирует управляющее воздействие а, на основе правил, опреде- ленных для каждого события и в соответствии с посту- пившей ситуацией системы S. Сформированное управляю- щее воздействие посылается в контролируемую систему выходным модулем инициации действий. Правила конт- роля хранятся во вспомогательном файле и используют- ся генератором действий при инициализации системы контроля. Эти правила могут быть легко модифицирова- ны в соответствии с изменениями в контролируемой си- стеме. В ситуациях, требующих значительных изменений в логике управления, используется редактор правил. Расчеты показывают, что станции координации позво- ляют на 2/з снизить затраты в человеко-месяцах, необхо- димые для создания системы контроля, по сравнению с использованием традиционных методологий на основе универсальных языков программирования. Станции коор- динации успешно применяются на практике для контроля системы складирования, прокатного стана, а также авто- матического доставщика сборочных цехов. Рис. 5.8. Структура станции координации 138
5.6. Основные проблемы развития программного обеспечения системы управления гибкими автоматизированными производствами Программное обеспечение системы управления ГАП представляет собой распределенные системы (PC) обра- ботки информации на основе ЛВС и отражает ведущую тенденцию в теории и практике современного программи- рования. Как и в любой другой быстро развивающейся области, здесь еще далеко не все определено, многие решения представляются спорными и необходимы серьез- ные исследования и эксперименты с тем, чтобы в полной мере использовать все преимущества PC обработки ин- формации на практике. Основные проблемы развития системного ПО микро- ЭВМ непосредственно связаны с общей проблематикой развития ПО ЭВМ. Из всей совокупности проблем разви- тия отметим технические проблемы, которые состоят в разработке построения системного ПО и удовлетворяют современным техническим требованиям к системному ПО. При эксплуатации ОС основное требование — воз- можность адаптации их к условиям применения, под ко- торой понимается полный комплекс требований к ОС, возникающих в ходе конкретной разработки системы управления ГАП: используемые аппаратные средства, набор реализуемых прикладных программ, режим реали- зации прикладных программ (выполнение или разработ- ка), необходимая степень динамичности распределения ресурсов, критерии распределения ресурсов, удобство использования языковых интерфейсов и т. п. Особо следует отметить адаптацию ОС к аппаратным средствам, на которых она реализуется, называемую мобильностью ОС. Решение ее основывается на создании языка программирования, для которого может быть соз- дан высокоэффективный, мобильный транслятор. Напри- мер, в последнее время получил широкое распростране- ние язык С, использованный для разработки операцион- ной системы. Международная стандартизация технических и про- граммных средств ЛВС, а также их интерфейсов и про- токолов — важный процесс, оказывающий большое влия- ние на проектирование и реализацию систем управления ГАП. Работы по стандартизации ЛВС в основном были 139
начаты после 1980 г и за сравнительно короткий срок были получены достаточно важные результаты. Стандартизация ЛВС развивается под большим влия- нием работ МОС по стандартизации больших сетей ЭВМ и прежде всего эталонной модели взаимодействия откры- тых систем. К настоящему времени разработчики ЛВС могут опираться на достаточно четкие и детальные спецификации сетей на уровнях физической среды, физи- ческого и логического каналов. Работа по стандартиза- ции протоколов сетевого и транспортного уровня и выше еще только начата, однако и в этой области уже создан ряд проектов, представляющих основу для международ- ной стандартизации ЛВС на всех архитектурных уровнях. Многие проблемы, возникающие при создании PC обработки информации, все еще остаются открытыми и требуют окончательного решения. Отметим некоторые из них, решение которых особенно важно при проектирова- нии ПО системы управления ГАП: — разработка оптимальных алгоритмов определения надежности, тесно связанной с избыточностью ресурсов, целостностью, синхронизацией, поддержкой и др. Необ- ходимо создание языка, позволяющего строго говорить о надежности и ее связи со стоимостью и производи- тельностью; — разработка автоматической системы обнаружения, локализации сбоев и аварий с последующим восстановле- нием работоспособности и определением необходимой из- быточности ресурсов, гарантирующих восстановление; — исследование методов реализации управления ре- сурсами и децентрализованного глобального контроля системы; — реализация различных протоколов, обеспечиваю- щих их устойчивость к авариям и сбоям системы, исклю- чающих тупиковые ситуации и производящих верифика- цию системы.
СПИСОК ЛИТЕРАТУРЫ К главе 1 1. Микропроцессорные системы управления в робототехнике/Под ред. И. М. Макарова, Д. Е. Охоцимского, Е. П. Попова. —М.: Наука, 1984. 2. Kidodt М. Image Processing Machines in Japan. Computer, 1983, 8 1. К главе 2 1 Управляющие системы промышленных роботов/Под ред. И. М. Мака- рова В. А. Чиганова. — М.: Машиностроение, 1984 2. Прангишвили И. В. Микропроцессоры и микроЭВМ. — М.: Энергия, 1979. 3. Малые ЭВМ и их применение/Под ред. Б. Н. Наимова. — М.: Статистика, 1980. К главе 3 1. Управление роботом. — В кн.: Робототехника. Сб. научных работ.— Л.: ЛПИ, 1976. 2. Игнатьев М. Б., Кулаков Ф. М., Покровский А. М. Алгоритмы управления роботами и манипуляторами. — Л.: Машино- строение, 1977. 3. Лозано-Перес Т Программирование роботов. — ТИИЭР, 1983, 71,7., с. 45—73. 4. Tinkel W. et al. AL: A Programming System for Automation: Report Stanford Artificial Intelligence Laboratory. Palo, Alto, Colif., 1974. К главе 4 1. Гальперин М. П. Малые локальные сети микроЭВМ для гибких авто- матизированных производств. — В ки.: Вычислительные сети коммутации пакетов: Тезисы докладов третьей Все- союзной конференции. — Рига: ИЭВТ АН ЛатвССР, 1983, с. 90—94. 2. Гольдбергер А., Каплински С. Малые локальные сети, выполняющие функции, не предусматриваемые обычными локальными сетями. — Электроника, 1982, т. 55, № 22. 3. Г орностаев Ю. М., Д рож ж инов В. И.. Сумароков Л. Н. Локальные вычислительные сети: принципы построения, области при- менения, направления стандартизации. — В сб.: Локальные вычислительные сети: опыт международной стандарти- зации. — М.: МЦНТИ, 1984, вып. 27. 141
4 Прангишвили И. В., Подлазов В. С., Стецюра Г. Г. Локальные микропроцессорные вычислительные сети. — М.: Наука, 1984. 5. Вейцман К Распределенные системы мини* и микроЭВМ: Пер. с англ./Под ред. Г. П. Васильева.—М.: Финансы и статистика, 1983. 6. Бойченко В. В., Кальфа В., Овчинников В. В. Локальные вычисли* тельные сети. — М.: Радио и связь, 1985. К главе 5 1. Panel discussion on distributed data processing. National computer conference. Anaheim, Calif., lune 1978. 2. Data Processing—Open System Interconnection—Basic Reference Model. Draft proposal ISO/DP 7498. October 1981, p. 1 — 105. 3. Якубайтис Э. А. Архитектура вычислительных сетей. — M.: Статис- тика, 1980. 4 Гальперин М. П., Маслеников Ю. А., Нестеренко С. А., Резник А. Э. Малые локальные сети микроЭВМ для гибких автоматиче- ских производств. — Автоматика и вычислительная тех- ника, 1984, № 5, с. 42—45. 5. МикроЭВМ СМ-1800. Архитектура, программирование, применения/ /Гиглавый А. В., Кабанов И. Д., Прохоров Н. JL, Шка- нарда А. Н. — М.: Финансы и статистика, 1984. 6. Komoda N, Кега К.. Kubo Т. An autonomous. Decentralized Control System for Factory Automation. — Computer, 1984, vol. 17, N 12, p. 73—83.
Введение ... 5 Глава 1. Микропроцессорные вычислительные устройства в сен- сорных системах роботов . 7 1.1. Задачи видеоанализа в робототехнике .... 7 1.2. Методы и алгоритмы видеоанализа в робото- технике . . . . ... ... 10 1.3. Программно-аппаратные средства реализации систем технического зрения на базе микроЭВМ 14 1.4. Специализированные видеопроцессоры для об- работки и анализа изображений.................... 16 Глава 2. Микропроцессорные вычислительные устройства в сис- темах управления роботами .... 25 2.1. Архитектура управляющих вычислительных комплексов....................................... 26 2.2. Управляющие вычислительные комплексы, вы- полненные на базе 8-разрядных микропроцес- сорных наборов . 30 2.3. Управляющие вычислительные комплексы, вы- полненные на базе 16-разрядных микроЭВМ 32 Глава 3. Программирование вычислительных устройств робото- технических систем........................................ 35 3.1. Методы и языки в программировании роботов 35 3.2. Язык программирования роботов AL . 42 3.3. Автоматизация программирования роботов . . 46 3.4. Примеры систем автоматизации программиро- вания роботов.................................... 51 Глава 4. Архитектура мультимикро- и миникомпьютериых систем для гибких автоматизированных производств ... 62 4.1. Принципы построения локальных вычислитель- ных сетей ... 64 4.2. Характеристики компонент локальных вычисли- тельных сетей.................................... 66 4.3. Анализ характеристик локальных вычислитель- ных сетей с топологией шины и кольца ... 71 4.4. Локальная вычислительная сеть ETHERNET с топологией шины . . ............. 78 4.5. Локальная вычислительная сеть CAMBRIDGE RING с топологией кольца......................... 83 4.6. Принципы построения малых локальных вычис- лительных сетей ................................. 89 4.7. Сети связи между интегральными схемами . 92 4.8. Сети связи между установками................ 94 4.9. Основы моделирования локальных вычисли- тельных сетей ... ... 96 143
Глава 5. Программное обеспечение гибких автоматизированных производств . . ....................... 109 5.1. Структура программного обеспечения системы управления гибкими автоматизированными про- изводствами ................................... 109 5.2. Программное обеспечение локальных вычисли- тельных сетей .................................115 5 3. Механизмы взаимодействия и синхронизации процессов.................................... 122 5.4. Управление в мультимини- и микрокомпьютер- ных системах и операционная система высокого уровня......................................... 130 5.5. Реализация программного обеспечения системы управления гибкими автоматизированными про- изводствами ................................... 133 5.6. Основные проблемы развития программного обеспечения системы управления гибкими авто- матизированными производствами 139 Список литературы . .................................. 141 УЧЕБНОЕ ИЗДАНИЕ Виль Закирович Рахманкулов. Жан Павлович Ахромеев, Вячеслав Викторович Герасимов, Сергей Александрович Переслени, Алексей Михайлович Михайлов, Евгений Владимирович Наумов Робототехника и гибкие автоматизированные производства В 9-ти книгах Кн. 4. Вычислительная техника в робототехнических системах и гибких автоматизированных производствах Заведующая редакцией Н. И. Хрусталева. Редактор С. М. О во- де в а. Художник В. В. Гарбузов. Художественный редактор М. И. Ч у р и н о в. Технический редактор Т. Д. Гарина. Кор- ректор Р. К. Косинова ИВ № 6027 Изд. № Стд-516 Сдано в набор 29.11.85. Подп. в печать 21.01.86. Т-05919. Формат 84 х 108'/ж>- Бум- тип. № 1. Гарнитура литературная Печать высокая. Объем 7.56 усл. печ. л. 7,88 усл. кр.-отт. 7,59 уч.-изд. л. Ти- раж 50 000 экз. Зак. № 870. Цена 30 коп. Издательство «Высшая школа», 101430, Москва. ГСП-4, Неглинная ул., д 29/14. Ярославский полиграфкомбинат Союзполиграфпрома при Государственном комитете СССР по делам издательств, полиграфии и книжной торговли 150014, Ярославль, ул Свободы, 97 144