Текст
                    Возвратите книгу не позже
обозначенного здесь срокка
				
				
				
				
				
				
				
				
				
Типография «Коллаж» тел (0872) 35-26-10

VV Густав Олесон, Джангуидо Пиани Цифровые системы автоматизации и управления Издание третье, переработанное и дополненное Санкт-Петербург 2001
< 681.326 < 3M73.2 055 Г Читальный зал научной лнтера-; • / Густав Олесон, Джангуидо Пиани i Цифровые системы автоматизации и управления. — СПб.: Невский Диалект, 2001. — 557 с.: ил. <нига посвящена задачам управления, реализуемым на базе цифровых систем и, в первую >едь, — в промышленных процессах. В то же время читатель найдет в тексте универсаль- положения, применимые к управлению любой сложной системой. В общем виде рассма- ;аются практически все составляющие процесса проектирования систем управления на цифровых устройств: от построения модели управляемого процесса, обработки сигналов ализации цифровых регуляторов до передачи информации между объектами и субъекта- 'правления. Последнее понятие включает в себя человеко-машинный интерфейс, операцп ые системы, языки программирования реального времени и системную интеграцию. Че претендуя на полноту охвата, книга дает “почувствовать” основные проблемы, возни- щие при разработке и внедрении систем цифрового управления. Ее можно рассматривать ж достаточно глубокое и подробное введение в предмет, и как серьезное методическое )бие, ориентированное на практические потребности. Цля инженеров — проектировщиков и эксплуатационников, программистов систем уп- тения и/или систем реального времени, руководителей (менеджеров) проектов и студен- соответствующих специальностей. пая библиопЛкЖ :квго гесударствеими Ч и в в е р с ж т е т а Все права защищены. Никакая часть этой книги не может быть воспроизведена в любой ме или любыми средствами, электронными или механическими, включая фотографирова- магнитную запись или иные средства копирования или сохранения информации, без писъ- ного разрешения издательства. JN 5-7940-0069-4 © Г. Олесон, Дж. Пиани, 1992, 1993, 2001 © “Невский Диалект” - издание на русском языке, 2001
Оглавление Список сокращений 13 Предисловие авторов к русскому изданию 19 Предисловие к первому (английскому) изданию 22 Сведения об авторах 25 Предисловие переводчика 26 Предисловие редактора перевода 29 1. Введение 31 1.1. Роль вычислительной техники в управлении процессами..........31 1.2. Исторический обзор...........................................34 1.3. Понятие системы..............................................37 1.4. Примеры типичных приложений цифрового управления.............39 1.5. Руководство для читателя.....................................41 2. Особенности цифрового управления процессами 45 2.1. Управление процессом в реальном времени......................45 2.1.1. Пример — пресс для пластика.............................46 2.1.2. Управление на основе последовательного программирования.47 2.1.3. Управление на основе прерываний..................... 49 2.2. Примеры задач управления процессами...................... 51 2.2.1. Управление последовательностью событий и бинарное управление.52 2.2.2. Простой контур управления — регулятор температуры.......53 2.2.3. Генерация опорного значения.............................54 2.2.4. Системы, содержащие несколько контуров управления.......55 2.2.5. Взаимосвязанные системы.................................55 2.2.6. Критичные по времени процессы...........................56 2.2.7. Свойства процессов, усложняющие управление..............56 2.3. Особенности систем цифрового ^правления......................59 2.4. Модельные примеры............................................6Ч 2.4.1. Модельный пример 1 — управление системой электропривода......63 2.4.2. Модельный пример 2 — биологическая очистка сточных вод (процесс активированного отстоя)...........................64 2.5. Заключение................................................. 66
Оглавление 4 3. Описание и моделирование систем 67 3.1. Модели, применяемые в управлении............................68 3.1,1. Типы моделей...........................................68 3.1.2. Масштаб времени динамических моделей...................70 3.1.3. Моделирование динамических систем......................71 3.1.4. Моделирование дискретных событий.......................72 3.2. Основы моделирования динамических систем....................72 3.2.1. Механические системы...................................72 3.2.2. Электромагнитные цепи..................................75 3.2.3. Баланс массы...........................................81 3.2.4. Уравнения сохранения энергии...........................85 3.3. Непрерывные модели динамических систем.....................86 3.3.1. Описание систем во временной и частотной областях — исторический обзор............................................86 3.3.2. Уравнения состояния....................................87 3.3.3. Описание линейной системы в пространстве состояний.....89 3.3.4. Описание в виде отношений входных и выходных переменных.........................................91 3.3.5. Область применения линейных моделей....................94 3.3.6. Нелинейные системы.....................................95 3.3.7. Численное моделирование динамических систем............97 3.4. Дискретные модели динамических систем......................100 3.4.1. Описание в пространстве состояний.....................100 3.4.2. Отношения вход/выход и оператор сдвига................101 3.5. Управляемость, оценка и наблюдаемость......................105 3.5.1. Управляемость.........................................105 3.5.2. Оценка состояния на основе измерений..................106 3.6. Системы с неопределенностью.................................НО 3.6.1. Оценка состояния при стохастических возмущениях.........Ш 3.6.2. Нечеткие системы.......................................ИЗ 3.7. Комбинационные и последовательностные сети..................И5 3.8. Заключение..................................................И8 4. Входи выход физических процессов 121 4.1. Компоненты интерфейса между процессом и управляющим компьютером.......................................122 4.1.1. Датчики...............................................122 4.1.2. Исполнительные устройства (механизмы).................123 4.1.3. Полоса пропускания и шум..............................124 4.1.4. Передача измерительных сигналов.......................125 4.2. Характеристики датчиков....................................125 4.2.1. Погрешность и точность................................126
Оглавление 5 4.2.2. Динамические характеристики датчиков...................128 4.2.3. Статические характеристики датчиков....................129 4.2.4. Влияние нелинейности...................................130 4.2.5. Характеристики импедансов..............................130 4.2.6. Подбор входных и выходных импедансов...................131 4.3. Бинарные и цифровые датчики.................................132 4.3.1. Датчики положения......................................133 4.3.2. Пороговые датчики......................................135 4.3.3. Индикаторы уровня......................................135 4.3.4. Цифровые и информационно-цифровые датчики..............136 4.4. Аналоговые датчики..........................................137 4.4.1. Датчики движения.......................................137 4.4.2. Датчики силы, момента и давления.......................140 4.4.3. Датчики приближения....................................149 4.4.4. Датчики температуры....................................143 4.4.5. Измерение расхода......................................145 4.4.6. Химические и биохимические измерения...................150 4.5. Согласование и передача сигналов............................151 4.5.1. Согласование сигналов в цепях с операционными усилителями...................................151 4.5.2. Электрические проводники...............................153 4.5.3. Электрические помехи...................................156 4.5.4. Сигнальное заземление..................................160 4.5.5. Выбор носителя сигнала: напряжение или ток.............162 4.5.6. Передача оптических сигналов...........................164 4.6. Бинарные (двухпозиционные) исполнительные механизмы.........165 4.6.1. Управляемые выключатели................................165 4.6.2. Отключение индуктивных нагрузок........................167 4.7. Исполнительные механизмы с электроприводом..................168 4.7.1. Усилители мощности.....................................169 4.7.2. Управление позиционированием и скоростью приводов......170 4.7.3. Шаговые двигатели......................................172 4.7.4. Двигатели постоянного тока.............................173 4.7.5. Асинхронные и синхронные двигатели.....................174 4.8. Управляющие клапаны.........................................175 4.9. Заключение................................................ 177 5. Обработка сигналов 179 5.1. Дискретизация аналоговых сигналов...........................179 5.1.1. Ввод аналоговых сигналов в компьютер...................179 5.1.2. Мультиплексоры.........................................180 5.1.3. Дискретизация сигналов.................................181 5.1.4. Определение интервала дискретизации....................183
Оглавление 6 5.2. Преобразование аналоговых и цифровых сигналов...............189 5.2.1. Цифро-аналоговое преобразование........................189 5.2.2. Аналого-цифровое преобразование........................190 5.3. Аналоговая фильтрация.......................................194 5.3.1. Фильтры низкой частоты первого порядка.................194 5.3.2. Фильтры низкой частоты высоких порядков................197 5.3.3. Фильтры высокой частоты ...............................199 5.4. Цифровая фильтрация.........................................202 5.4.1. Общая структура цифровых фильтров......................202 5.4.2. Цифровые фильтры низкой частоты........................202 5.4.3. Цифровые фильтры низкой частоты высоких порядков.......207 5.4.4. Цифровые фильтры высокой частоты.......................209 5.5. Основы обработки измерительной информации...................211 5.5.1. Достоверность исходных данных и аварийная сигнализация.212 5.5.2. Масштабирование и линеаризация.........................213 5.5.3. Другие операции обработки данных.......................213 5.5.4. Структура данных для обработки измерений...............214 5.6. Заключение..................................................215 6. Структуры управления 217 6.1. Аналоговые (непрерывные) и дискретные регуляторы............218 6.1.1. Квантование сигналов...................................218 6.1.2. Проектирование аналоговых и дискретных регуляторов.....218 6.2. Релейное управление.........................................219 6.3. Аналоговые регуляторы.......................................221 6.3.1. Простые регуляторы.....................................221 6.3.2. Упреждающее управление по опорному значению............222 6.3.3. Обобщенный регулятор...................................224 6.3.4. Упреждающее управление по изменению нагрузки и возмущению.227 6.3.5. Основные принципы разработки структур управления.......230 6.4. Аналоговый ПИД-регулятор....................................232 6.4.1. Основное уравнение ПИД-регулятора......................232 6.4.2. Дифференцирование измерительного сигнала...............235 6.4.3. ПИД-регулятор как каскад регуляторов...................236 6.4.4. ПИ2-регулятор..........................................237 6.4.5. Другие виды параметризации ПИД-регулятора..............237 6.5. Реализация ПИД-регулятора...................................238 6.5.1. Дискретная модель ПИД-регулятора.......................238 6.5.2. Определение частоты выборки в системах управления......241 6.5.3. Ограничение управляющего сигнала.......................242 6.5.4. Предотвращение интегрального насыщения.................242 6.5.5. Плавный переход при изменении режима работы регулятора.246 6.5.6. Ограничение скорости изменения управляющего сигнала....247
Оглавление 7 6.5.7. Вычислительные особенности алгоритма ПИД-регулятора.....248 6.5.8. Алгоритм ПИД-регулятора.................................249 6.5.9. Применение проблемно-ориентированного блочного языка....251 6.6. Управляющие структуры, основанные на ПИД-регуляторах.........252 6.6.1. Каскадное управление....................................252 6.6.2. Селективное управление..................................254 6.7. Границы применения ПИД-регуляторов...........................255 6.7.1. Временные задержки......................................256 6.7.2. Системы со сложной динамикой............................259 6.7.3. Предсказуемые изменения параметров — табличное управление усилением...............................259 6.7.4. Неизвестные изменения параметров — самонастраивающееся управление...............................260 6.7.5. Системы с несколькими входами и выходами................261 6.8. Обобщенный линейный дискретный регулятор.....................261 6.8.1. Описание обобщенного регулятора с помощью оператора сдвига...................................262 6.8.2. Свойства обобщенного регулятора.........................263 6.8.3. Частные случаи обобщенного дискретного регулятора.......266 6.8.4. Критерии качества дискретного регулятора................269 6.9. Реализация обобщенного дискретного регулятора................269 6.9.1. Пересчет параметров.....................................270 6.9.2. Предотвращение интегрального насыщения обобщенного дискретного регулятора...........................270 6.9.3. Плавный переход от ручного управления к автоматическому.271 6.9.4. Вычислительные особенности алгоритма обобщенного регулятора.......................................271 6.9.5. Алгоритм обобщенного регулятора.........................272 6.10. Обратная связь по переменным состояния.....................275 6.11. Заключение.................................................277 7. Комбинационное и последовательностное управление 279 7.1. Основы теории переключательных схем..........................280 7.1.1. Обозначения.............................................280 7.1.2. Основные логические элементы............................280 7.1.3. Дополнительные элементы.................................283 7.1.4. Элементы с двумя устойчивыми состояниями (триггеры).....287 7.1.5. Реализация переключательных схем........................288 7.2. Принципиальные схемы.........................................290 7.2.1. Основные элементы.......................................290 7.2.2. Последовательностные цепи...............................292 7.3. Программируемые логические контроллеры.......................294 7.3.1. Назначение и функции....................................294
Оглавление 8 7.3.2. Основные команды......................................296 7.3.3. Дополнительные команды ПЛК............................299 7.3.4. Программирование ПЛК..................................299 7.4. Функциональные карты.......................................300 7.4.1. Синтаксис функциональных карт.........................300 7.4.2. Реализация функциональных карт........................305 7.4.3. Применение функциональных карт в промышленном управлении....................................306 7.5. Заключение.................................................308 8. Системные шины 311 8.1. Переход от централизованной к распределенной архитектуре...311 8.2. Структура и принципы работы шин............................315 8.2.1. Общие характеристики.................................315 8.2.2. Механические характеристики..........................317 8.2.3. Электронные схемы шинного интерфейса.................31° 8.2.4. Электрический интерфейс шины.........................324 8.2.5. Принципы работы шин..................................325 8.2.6. Синхронная передача данных...........................326 8.2.7. Асинхронная передача данных..........................327 8.2.8. Блочная передача.....................................328 8.2.9. Обработка прерываний.................................328 8.2.10. Арбитраж шины........................................330 8.2.11. Подготовка шины кработе..............................331 8.3. Шина VMEbus (ANSI/VITA 1-1994).............................332 8.3.1. Общие характеристики..................................332 8.3.2. Передача данных.......................................333 8.3.3. Приоритеты прерываний.................................333 8.3.4. Арбитраж шины.........................................334 8.3.5. Служебные сигналы.....................................334 8.3.6. Расширения шины VMEbus................................334 8.4. Другие стандарты шин.......................................335 8.4.1. Шина компьютеров семейства IBM PC.....................335 8.4.2. Шина ISA..............................................336 8.4.3. Шина EISA.............................................336 8.4.4. Шина PCI..............................................337 8.5. Заключение.................................................337 9. Цифровые коммуникации в управлении процессами 339 9.1. Информация и коммуникации..................................340 9.1.1. Что такое информация?.................................340 9.1.2. Коммуникации..........................................341
Оглавление 9 9.1.3. Модель процесса коммуникации............................342 9.2. Модель взаимодействия открытых систем (ВОС)..................344 9.2.1. Изменение требований к передаче данных..................344 9.2.2. Основы взаимодействия открытых систем...................345 9.2.3. Виртуальные устройства..................................350 9.3. Физические соединения — физический уровень модели ВОС........351 9.3.1. Основные количественные характеристики..................351 9.3.2. Электрические проводники................................354 9.3.3. Кодирование бит.........................................355 9.3.4. Модуляция несущей.......................................357 9.3.5. Синхронизация...........................................359 9.3.6. Стандарты интерфейса EIA-232-D и RS.....................359 9.3.7. Многоточечный электрический интерфейс RS-485 ...........361 9.3.8. Оптическая передача данных..............................362 9.3.9. Радиопередача данных....................................365 9.4. Коммуникационные протоколы...................................366 9.4.1. Протоколы канального уровня.............................366 9.4.2. Виртуальные каналы и мультиплексирование................367 9.4.3. Обнаружение и исправление ошибок........................368 9.4.4. Протоколы передачи символов.............................370 9.4.5. Бит-ориентированные протоколы. HDLC.....................370 9.4.6. Протокол телеметрии IEC-870.............................372 9.4.7. Блок-ориентированные протоколы..........................373 9.4.8. Верхние уровни модели ВОС (уровни с 3-го по 7-й)........374 9.4.9. Протокол TCP/IP.........................................375 9.5. Локальные сети...............................................379 9.5.1. Сети передачи данных....................................379 9.5.2. Сетевые топологии.......................................380 9.5.3. Управление доступом к среде.............................382 9.5.4. Метод доступа Ethernet (IEEE 802.3).....................384 9.5.5. Маркерная шина (IEEE 802.4).............................387 9.5.6. Маркерное кольцо (IEEE 802.5)...........................388 9.5.7. FDDI....................................................389 9.5.8. Межсетевые устройства...................................390 9.6. Коммуникации в управлении техническими процессами............392 9.6.1. Иерархическая структура технических процессов...........392 9.6.2. Сбор данных и потоки информации в управлении процессами.393 9.6.3. Протокол автоматизации производства (МАР)...............398 9.6.4. Служба производственных сообщений.......................400 9.7. Шины локального управления (Fieldbus)........................402 9.7.1. Решение для производственных коммуникаций нижнего уровня.402 9.7.2. Шина Bitbus.............................................403 9.7.3. niHHaPROFIBUS...........................................404 9.7.4. Будет ли создан стандарт Fieldbus?......................406
Оглавление 10 9.8. Применение сетей общего пользования.........................406 9.8.1. Телефонная сеть и модемы...............................407 9.8.2. Цифровые сети..........................................408 9.8.3. Цифровая сеть с комплексными услугами (ISDN)...........411 9.8.4. Асинхронный режим передачи (ATM).......................412 9.9. Заключение..................................................413 10. Программирование систем реального времени 415 10.1. Общее понятие о процессах..................................416 10.1.1. Последовательное программирование и программирование задач реального времени...........................................416 10.1.2. Программы и процессы................................417 10.1.3. Параллельное программирование, мультипрограммирование и многозадачность...........................................418 10.2. Управление системными ресурсами............................419 10.2.1. Однопроцессорная и распределенная архитектуры.......419 10.2.2. Функции операционных систем в среде реального времени...................................421 10.2.3. Распределенные операционные системы.................422 10.2.4. Управление процессором и состояния процесса.........423 10.2.5. Стратегии выбора процесса...........................426 10.2.6. Управление оперативной памятью......................427 10.3. Взаимные исключения и тупики...............................428 10.3.1. Защита ресурсов.....................................428 10.3.2. Взаимное исключение.................................430 10.3.3. Тупики..............................................433 10.4. Синхронизация процессов — семафоры и события...............435 10.4.1. Семафоры............................................435 10.4.2. События.............................................438 10.5. Обмен информацией между процессами.........................440 10.5.1. Общие области памяти................................440 10.5.2. Почтовыеящики.......................................440 10.5.3. Каналы..............................................441 10.5.4. Удаленный вызов процедур............................442 10.5.5. Сравнение методов синхронизации и обмена данными....443 10.6. Методы программирования в реальном времени.................444 10.6.1. Что такое программа реального времени?..............444 10.6.2. Среда программирования..............................445 10.6.3. Структура программы реального времени...............446 10.6.4. Обработка прерываний и исключений...................448 10.6.5. Программирование операций ожидания..................450 10.6.6. Внутренние подпрограммы операционной системы........451 10.6.7. Приоритеты процессов и производительность системы...452
Оглавление 11 10.6.8. Тестирование и отладка.................................453 10.7. Языки программирования и операционные системы реального времени..................................................455 10.7.1. Требования к языкам и операционным системам реального времени.............................................455 10.7.2. Язык программирования ADA.............................456 10.7.3. Языки С и C++........................................ 456 10.7.4. BASIC.................................................457 10.7.5. FORTRAN...............................................458 10.7.6. Pascal и Modula-2.....................................458 10.7.7. Операционная система UNIX.............................459 10.7.8. OSF/IhDCE.............................................460 10.7.9. MS-DOS, Windows и Windows NT..........................461 10.7.10. OS-9.................................................462 10.7.11. VAX/VMS..............................................463 10.8. Заключение...................................................464 11. Человеко-машинный интерфейс 467 11.1. Человеко-машинный интерфейс как элемент системы управления................................................467 11.2. Психологические модели.......................................471 11.2.1. Физиология и познание.................................471 11.2.2. Модель человеческого поведения........................472 11.2.3. Теория двухуровневой памяти...........................473 11.2.4. Ошибки................................................475 11.3. Человек в сложной системе....................................476 11.3.1. Мысленные модели сложных систем.......................476 11.3.2. Синтаксическая информация и семантические знания......479 11.3.3. Управление уровнем сложности системы..................480 11.3.4. Интерфейс пользователя как средство работы со сложными системами.........................................483 И.4. Оборудование для интерфейса пользователя......................484 И.5. Проектирование интерфейса пользователя........................487 11.5.1. Общие принципы........................................487 11.5.2. Применение естественного языка в интерфейсе...........490 11.5.3. Кодирование...........................................494 11.5.4. Отображение информации о процессе.....................496 11.5.5. Команды оператора.....................................499 11.5.6. Меню..................................................502 11.5.7. Оценка интерфейса пользователя........................503 11-6. Графический интерфейс пользователя. Система X Window.........504 И.7. Заключение....................................................506
12 Оглавление 12. Системная интеграция 509 12.1. Структурирование систем управления процессами.............509 12.2. Интеграция автоматизированных систем управления...........511 12.2.1. Уровни интеграции..................................511 12.2.2. Монтажные стойки и шкафы...........................513 12.2.3. Проектирование интерфейсов.........................515 12.2.4. Выбор уровня интеграции............................515 12.3. Надежность системы........................................516 12.3.1. Надежность оборудования............................516 12.3.2. Модели для расчета надежности......................517 12.3.3. Надежность систем управления процессами............518 12.3.4. Надежность программного обеспечения................520 12.4. Функции автоматизированных систем управления..............522 12.4.1. Мониторинг.........................................522 12.4.2. Управление.........................................523 12.4.3. Автоматическое управление..........................523 12.4.4. SCADA..............................................524 12.4.5. Применение базы данных процесса для мониторинга и управления...............................524 12.4.6. Производные величины...............................528 12.4.7. Доступ к базе данных процесса, запросы и протоколы.529 12.4.8. Операции управления, выполняемые с использованием базы данных...............................532 12.4.9. Расширенные языки для управления процессами........533 12.5. Внедрение проектов и управление качеством.................533 12.5.1. Организация работы над проектом....................533 12.5.2. Управление качеством как часть проектирования системы.535 12.5.3. Путь к автоматизированным заводам?.................536 12.6. Заключение................................................538 Приложение Стандарты и организации по стандартизации 541 “Проблема 2000” и ее решение в России 545 Список литературы 549
Список сокращений Английские сокращения ABS АСК ADC, А/С AI AM ANSI — Automatic Braking System - автоматическая тормозная система — ACKnowledge — положительное квитирование — Analog/Digital converter — аналого-цифровой преобразователь — Artificial Intelligence — искусственный интеллект — Amplitude Modulation — амплитудная модуляция - American National Standards Institute — американский национальный институт стандартов AR ARMA — AutoRegressive (digitalfilter) — авторегрессионый фильтр — AutoRegressive Moving Average (digital filter) - авторегрессионый фильтр скользящего среднего ASCH — American Standard Code for Information Interchange — американский стандартный код для обмена информацией ASK ASN ATM BBM — Amplitude Shift Keying — амплитудная манипуляция — Abstract Syntax Notation — абстрактный синтаксис — Asynchronous Transfer Mode — асинхронный режим передачи — Break-Before-Make (contact) — разрыв перед замыканием, нормально разомкнутый (выключатель) BER BiO-L BMP BRI BSD CBR CCITT — Basic Encoding Rules — основные правила кодирования — Biphase-Level — двухфазное кодирование — Basic Multilingual Plan — название фирмы при университете Беркли — Basic Rate Interface — интерфейс базового уровня — Berkeley Software Distribution — Constant Bit Rate — постоянная скорость передачи — Comite Consultatif International de Telegraphie etde Telephonie — Между- народный консультативный комитет по телеграфии и телефонии, МККТТ; новое название — ITU {International Union - Международ- CD CEN ный союз электросвязи, МЭС) — Compact Disk — компактный диск - Comite Europeen de Normalisation — Европейский комитет по стандар- CENELEC тизации — Comite Europeen de Normalisation Electrotechnique — Европейский коми- CIM тет по стандартизации в области электротехники — Computer Integrated Manufacturing — автоматизированная система уп- CMOS равления производством — Complementary Metal-Oxide Semiconductor — комплементарная струк- CPU CRC CSMA/CD тура металл-оксид-полупроводник — Central Processing Unit — центральный процессор — Cyclic Redundancy Check — циклический избыточный код — Carrier-Sensing Multiple Access / Collision Detection — множественный доступ с прослушиванием несущей и обнаружением коллизий
14 Список сокращений DAC, D/A DCE DCE DDC DDDC DIN DIP DMA DO DSP DTE EBCDIC EIA EISA EMC EOT ETX FBD FCS FDDI FDM FEP FET FIFO FM FMS FPLA FSK FT AM FTP GTO HC HDLC IC — Digital Analog Converter — цифро-аналоговый преобразователь — Data Communication Equipment — аппаратура окончания канала данных — Distributed Computing Environment — среда распределенных вычис- лений — Direct Digital Control — прямое цифровое управление — Distributed Direct Digital Control — распределенное прямое цифровое управление — Deutsches Institut fiir Normung — Немецкий институт стандартов — Dual In-line Package (construction type for electronic board components) — корпус с двухсторонним расположением выводов — Direct Memory Access — прямой доступ к памяти — Dissolved Oxygen — растворенный кислород — Digital Signal Processor — цифровой сигнальный процессор — Data Terminal Equipment — оборудование обработки данных — Extended Binary-Coded Decimal Interchange Code — расширенный дво- ично-десятичный код для обмена информацией — Electronics Industries Alliance — ассоциация электронной промышлен- ности — Extended Industry Standard Architecture — расширенная архитектура шины промышленного стандарта, шина EISA — ElectroMagnetic Compatibility — электромагнитная совместимость — End Of Transmisssion — символ "Конец передачи" — End of TeXt — символ "Конец текста" — Function Block Diagram — функциональная блок-схема, схема на осно- ве функциональных блоков — Frame Check Sequence — контрольная последовательность кадра — Fiber Distributed Data Interface — оптоволоконный распределитель- ный интерфейс — Frequency Division Multiplexing — частотное мультиплексирование, мультиплексирование с разделением по частоте — Front-End Processor — фронтальный процессор — Field-Effect Transistor — полевой транзистор — First In, First Out — первым вошел, первым вышел — Frequency Modulation — частотная модуляция — Flexible Manufacturing System — гибкая производственная система — Field-Programmable Logic Array — логическая матрица, программируе- мая в процессе эксплуатации — Frequency Shift Keying — частотная манипуляция File Transfer Access and Management — служба передачи, доступа и уп- равления файлами File Transfer Protocol — протокол передачи файлов — Gate Тит Off (thyristor) — запираемый тиристор — High-Speed CMOS Logic — высокоскоростная КМОП-логика High-Level Data Link Control — высокоуровневое управление каналом передачи данных Integrated Circuit — интегральная схема
Список сокращений 15 IEC IEEE IGBT IL I/O IP IPS ISA ISA ISDN ISO ITU JIT JK LAN LAPB LAPD LD LED LLC LSI LS-TTL MA mac map mbb m&c mhs mips Mmi MMs — International Electrotechnical Commission — Международная электро- техническая комиссия — Institute of Electrical and Electronics Engineers (произносится “ай-трипл-и”) — институт инженеров по электротехнике и радиоэлек- тронике, ИИЭР — Insulated Gate Bipolar Transistor — биполярный транзистор с изолиро- ванным затвором — Instruction List — список команд — Input/Output — ввод/вывод — Internet Protocol — межсетевой протокол — Internet Protocol Suite — семейство межсетевых протоколов — Industry Standard Architecture — архитектура шины промышленного стандарта — Instrument Society of America — Американское приборостроительное общество, шина ISA — Integrated Services Digital Network — цифровая сеть с интеграцией услуг — International Organization for Standardization (также International Standarts Organization)— Международная организация по стандарти- зации — International Telecommunication Union — Международный союз элект- росвязи, МСЭ —Just-in-time — точно в срок — JK flip -flop — J К-триггер — Local Area Network — локальная вычислительная сеть — Link Access Procedure-Balanced — сбалансированная процедура досту- па к звену — Link Access Procedure D-channel — процедура доступа к D-каналу — Ladder Diagram — принципиальная схема — Light-Emitting Diode — светоизлучающий диод — Logical Link Control — управление логическим звеном данных — Large Scale Integration — большая интегральная схема — Low-power Schottky Transistor-Transistor Logic — маломощные ТТЛ- схемы с диодами Шотки — Moving Average (digital filter) — цифровой фильтр скользящего сред- него — Medium Access Control — управление доступом к среде — Manufacturing Automation Protocol — протокол автоматизации произ- водства — Make-Before-Break (contact) — замыкание перед разрывом, нормально замкнутый выключатель — Monitoring and Control — мониторинг и управление — Message Handling System — система обработки сообщений — Million Instruction Per Second — миллион команд в секунду — Man-Machine Interface — человеко-машинный интерфейс — Manufacturing Message Specification — служба производственных со- общений
Список сокращений MOSFET — Metal- Oxide Semiconductor Field-Effect Transistor — полевой транзистор co структурой металл-оксид-полупроводник, полевой МОП-транзистор MSI — Medium Scale Integration - средняя интегральная схема MTBF — Mean Time Between Failures — среднее время между отказами MTTF — Mean Time To Failure — среднее время наработки на отказ MTTR — Mean Time То Repair — среднее время восстановления NAK — Not AcKnowledge — отрицательное квитирование NC Numerical Control - - числовое программное управление NFS — Network File System — сетевая файловая система NRZ - Non-Return to Zero (coding) — кодирование без возвращения к нулю OEM — Original Equipment Manufacturer— изготовитель оборудования ONC — Open Network Computing — открытые сетевые вычисления О A, OpAmp — Operational Amplifier — операционный усилитель OS — Operating System — операционная система OSF - Open Software Foundation — фонд открытого программного обеспече- ния OSI — Open System Interconnection — взаимодействие открытых систем PAL — Programmable Array Logic — программируемая логическая матрица PC — Personal Computer — персональный компьютер PCI — Peripheral Component Interconnect — соединение периферийных ком- понентов (шина) PD — Proportional-Derivative (regulator) — пропорционально-дифференци- альный (регулятор) PI — Proportional-Integral (regulator) — пропорционально-интегральный (регулятор) PID — Proportional-Integral-Derivative (regulator) — пропорционально-интег- рально-дифференциальный (регулятор) PIPI — Proportional-Integral-Proportional-Integral (regulator) — ПИ2-регу- лятор PLC — Programmable Logical Controller — программируемый логический кон- троллер PLD — Programmable Logic Device — программируемое логическое устройство PM — Phase Modulation — фазовая модуляция PRI — Primary Rate Interface — интерфейс первичного уровня PROFIBUS — Process Fieldbus — шина PROFIBUS — высокоскоростная шина для цифрового технологического оборудования PROM — Programmable Read-Only Memory — программируемое постоянное за- поминающее устройство PSK — Phase Shift Keying — фазовая манипуляция РТТ — Postal, Telegraph and Telephone Administration — объединенная почто- вая, телеграфная и телекоммуникационная администрация — прави- тельственная организация, ведающая вопросами телекоммуникаций PWM — Pulse Width Modulation — широтно-импульсная модуляция QAM — Quadrature Amplitude Modulation — квадратурно-амплитудная моду- ляция RAM — Random Access Memory — оперативное запоминающее устройство, ОЗУ
Список сокращений 17 RC RFC RL ROM RPC RS RTD RZ SCR — Resistor-Capacitor circuit — резистивно-емкостная цепь — Requests for Comments — предложения для обсуждения — Resistor-inductor circuit — резистивно-индуктивная цепь — Read-Only Memory — постоянное запоминающее устройство, ПЗУ - Remote Procedure Call — удаленный вызов процедур — Recommended Standard — рекомендуемый стандарт — Resistance Temperature Detector — резистивный детектор температуры — Return to Zero (coding) — кодирование с возвращением к нулю — Silicon Controlled Rectifier — однооперационный триодный тиристор, однооперационный тринистор SDLC — Synchronous Data Link Control — синхронное управление звеном дан- SFC S/N SOH SONET SPDT — Sequential Function Chart — функциональная карта — Signal/Noise ratio — отношение сигнал/шум — Start Of Header — символ “Начало заголовка” — Synchronous Optical NETwork — синхронная оптическая сеть — Single-Pole Double-Throw — однополюсный двухпозиционный пере- ключатель SPST SR STX SYN TCP/IP — Single-Pole Single-Throw — однополюсный выключатель — Set-Reset (flip-flop) — триггер — Start of TeXt — символ “Начало текста” — SYNchronization — символ “Синхронизация” — Transmission Control Protocol/Internet Protocol — протокол управления передачей/межсетевой протокол TDM — Time Division Multiplexing — временное мультиплексирование, муль- типлексирование с разделением по времени TDMA — Time Division Multiple Access — множественный доступ с временным разделением каналов TOP — Technical and Office Protocol — протокол автоматизации учрежденчес- кой деятельности TRIAC — TRlode AC semiconductor — симметричный триодный тиристор, симис- TTL UART тор — Transistor-Transistor Logic — транзисторно-транзисторная логика - Universal Asynchronous Receiver Transmitter — универсальный асинх- ucs ровный приемопередатчик — Universal multiple-octet Coded Character Set — универсальный многоок- UDP UHF VBR VHF VITA vmd тетный набор символов — User Datagram Protocol — пользовательский дейтаграммный протокол — Ultra High Frequency — ультравысокие частоты (300 MHz - 3 GHz) — Variable Bit Rate — переменная скорость передачи — Very High Frequency — очень высокие частоты (30-300 MHz) — VME International Trade Organization - Virtual Manufacturing Device — виртуальное производственное уст- VME VT ройство — VERSA Module EuroPe — шина VME — Virtual Terminal — виртуальный терминал рИаучная библиотека j
18 Список сокращений Русские сокращения АКД — аппаратура окончания канала данных (DCE) AM — амплитудная модуляция АМн — амплитудная манипуляция (ASK) АСУП — автоматизированная система управления производством АЦП — аналого-цифровой преобразователь (ADC) АЭС — атомная электростанция БИС — большая интегральная схема ВОС — взаимодействие открытых систем (OSI) ВТ — вычислительная техника ГЭС — гидроэлектростанция ИИ — искусственный интеллект (AI) ИС — интегральная схема МОП — комплементарная структура металл-оксид-полупроводник (CMOS) ЛВС — локальная вычислительная сеть (LAN) МККТТ — Международный консультативный комитет по телеграфии и телефо- нии (CCITT) МСЭ — Международный союз электросвязи (ITU) МЭК — Международная электротехническая комиссия (IEC) ОЗУ — оперативное запоминающее устройство (RAM) ООД — оборудование обработки данных (DTE) ОС — операционная система (OS) ОУ — операционный усилитель (ОА, ОрАтр) ПД — пропорционально-дифференциальный (регулятор) (PD) ПЗУ — постоянное запоминающее устройство (ROM) ПИ — пропорционально-интегральный (регулятор) (PI) ПИ2 ~ ПИ2-регулятор (PIPI) ПИД — пропорционально-интегрально-дифференциальный (регулятор) (PID) ПК — персональный компьютер (PC) ПЛК — программируемый логический контроллер (PLC) ПЛМ — программируемая логическая матрица (PAL) ПЛУ — программируемое логическое устройство (PLD) ППЗУ — программируемое постоянное запоминающее устройство (PROM) ПЦУ — прямое цифровое управление (DDC) СИС — средняя интегральная схема (MSI) ТТЛ — транзисторно-транзисторная логика (TTL) ТЭЦ — теплоэлектроцентраль ФМ — фазовая модуляция (РМ) ФМн — фазовая манипуляция (PSK) ЦАП — цифро-аналоговый преобразователь (DAC) ЦП — центральный процессор (CPU) ЧМ — частотная модуляция (FM) ЧМн — частотная манипуляция (FSK) ЧПУ — числовое программное управление (NC) ШИМ — широтно-импульсная модуляция (PWM) ЭВМ — электронная вычислительная машина э.д.с. электродвижущая сила
Предисловие авторов к русскому изданию В течение последних лет авторы имели возможность побывать и подолгу рабо- тать в разных городах России в рамках коммерческих и академических контактов. После более тесного знакомства с российскими системами управления возникла мысль об издании русской версии данной книги, а большой проект, выполняемый при участии одного из авторов в АО “Ленэнерго” (г. Санкт-Петербург), послужил толчком к началу подготовки такого издания. Главными побудительными мотива- ми стали состояние российских систем управления и стремление внести посиль- ный вклад в его улучшение. Поскольку в советское время производство базировалось на пятилетних планах, во многих важнейших технических системах не предусматривалась способность быстро реагировать на изменяющуюся обстановку и адаптироваться к естествен- ным изменениям спроса и потребления или же к внешним возмущениям. Вместо этого решения были ориентированы на предсказания и расчеты, выполненные на месяцы или годы вперед. Пользуясь терминологией теории автоматического уп- равления, можно утверждать, что пятилетний план представлял собой не что иное, как разомкнутую систему управления по возмущению, основанную к тому же на очень приблизительной модели объекта (как можно моделировать сложные про- цессы экономико-социального развития общества на основе нескольких десятков уравнений и параметров?). Один из наиболее известных примеров парадоксально неэффективной техноло- гии — это применяемая в российских городах система центрального отопления. Само по себе центральное отопление — очень эффективный способ и при правильном при- менении заметно превосходит, например, электроотопление как с термодинамической, так и с экономической точек зрения. На практике, однако, ни для кого не секрет, что нерегулируемые нагревательные элементы почти всегда дают либо недостаточно теп- ла (потребитель мерзнет), либо слишком много (потребитель вынужден открывать окно), и очень редко — именно столько, сколько действительно необходимо. Причины такого положения лежат как в производственно-технической (дефицит теплоизолиру- ющих материалов, ошибки при согласовании элементов системы), так и в экономиче- ской (проектировщики исходили из предположения о неограниченных запасах деше- вого природного топлива) и политической (строить как можно больше квартир для народа) областях. Последнее соображение имело приоритет перед качеством жилья, результате сейчас потребляется значительно больше топлива, чем это необходимо. Пример центрального отопления не единичен, но он иллюстрирует большую часть тех- нической инфраструктуры страны. (Ради справедливости следует отметить, что и на ападе многие системы центрального отопления были спроектированы на базе непра- вильных предпосылок и плохого планирования; поэтому они значительно менее эф- фективны, чем могли и должны были бы быть.)
30 Предисловие редактора ное обеспечение, которое по-прежнему базируется на архитектуре фон Неймана, а увеличение его вычислительной мощности происходит за счет совершенствования технологии изготовления и миниатюризации. Поэтому при подготовке этого изда- ния мы не стали вносить изменения, связанные с техническими характеристиками упоминаемых в ней устройств и средств ВТ, тем более что смена моделей ПК проис- ходит каждые полгода, а внедряемые в этой области технические решения уже давно применяются в мире мэйнфреймов и миниЭВМ. Пожалуй, одна из самых главных и самых важных мыслей, к которой авторы воз- вращаются на протяжении всей книги, состоит в том, что сама по себе ВТ не решает задачи и что выбираемые средства должны быть адекватны поставленной цели. Бо- лее того, постоянно подчеркивается, что без надлежащего структурирования задачи, тщательного планирования и выбора компонентов автоматизация может не только не улучшить управление, а наоборот, значительно осложнить его. Собственно, вся книга в целом посвящена методологии структурирования задач управления, а также применению принципов последовательности и системности при разработке и вне- дрении цифрового управления. В отличие от большинства специальных книг, которые, как правило, посвящены только техническим вопросам, в настоящем издании значительное внимание уделе- но экономическим и психологическим факторам. В этом смысле очень важными представляются главы о человеко-машинном интерфейсе (глава 11) и системной ин- теграции (глава 12), особенно с учетом того, что, несмотря на шумные рекламные кампании, проводимые поставщиками программного обеспечения и системными ин- теграторами, и то и другое, мягко говоря, оставляют желать лучшего. Подход к обсуждаемым темам сам по себе - прекрасная практическая иллюстра- ция применения основных принципов построения управляющих систем — структу- рирования, последовательности, простоты и наглядности. Первое издание книги вышло в Великобритании (1992 год), второе — в Германии (1993 год). Настоящее издание — третье, при этом для первой публикации авторы выбрали Россию, доработав его с учетом российской специфики. Наряду с базовыми сведениями, необходимыми начинающему читателю, книга содержит информацию о различных международных и национальных стандартах, а также приводит русскую и соответствующую ей английскую терминологию. В книге имеются многочисленные примеры из богатого личного опыта авторов. Книга может быть полезна студентам как прекрасное введение в предмет, пре- подавателям вузов как проверенное временем и практикой методическое пособие, а практикующим специалистам для систематизации имеющихся знаний и опыта. Авторы участвуют в реализации нескольких крупных проектов в России и поэто- му достаточно хорошо представляют существующие технические и образовательные потребности. Г. К. Будилин Санкт-Петербург, декабрь 2000 г.
Введение Великий Будда пребывает с одинаковым удобством как в микросхемах компьютера или шестеренках мотоцикла, так и на вершинах гор или же лепестках цветка. Мыслить иначе значит умалять величие Будды, т. е. унижать себя. Роберт М. Пирсиг Дзен-буддизм и искусство обслуживания мотоциклов 1.1. Роль вычислительной техники в управлении процессами Применение вычислительной техники (ВТ) в автоматическом управлении — важ- нейшая черта технической инфраструктуры современного общества. Промышлен- ность, транспорт, системы связи и защита окружающей среды существенно зависят от компьютерных систем управления. Практически ни одна техническая система - - от железной дороги до ядерного реактора — не работает без той или иной формы уп- равления. Цифровые электронные вычислительные машины (ЭВМ) — компьюте- ры — играют здесь ключевую роль; во многих случаях не существует реальной аль- тернативы компьютерному управлению процессами. Для описания особой роли компьютеров в управлении процессами необходимо определить, что, собственно, подразумевается под термином “процесс”. Физический процесс — это последовательная смена состояний объектов физического мира. Про- цессами в этом смысле, следовательно, являются движение, химические реакции или теплообмен. Примеры процессов — промышленное или химическое производство, кондиционирование воздуха в помещении (изменение физических параметров — температуры и влажности), движение транспортного средства, которое есть суть управ- ляемое изменение его скорости и положения. Обработка информации сама по себе не привносит видимых изменений в физический мир и, таким образом, не может быть отнесена к физическим процессам. Немецкий технический стандарт DIN 66201 дает точное определение физическо- го процесса как “комбинации связанных событий в системе, в результате которых изменяются, перемещаются или запасаются материя, энергия и информация”. Тех- пический процесс определен как “процесс, физические переменные которого можно измерить и изменить техническими средствами”. Разница между физическим и тех- ническим процессами заключена, следовательно, в том, что физический процесс не язательно должен управляться извне, а технический процесс включает обработку информации для достижения заданной целевой функции.1 Со Термин “процесс” означает последовательную смену состояний какого-либо объекта. Щи°Тветственн°, исполнение компьютерной программы — это тоже процесс, и этот термин сте“°К° используется в программировании и операционных системах. Как правило, трудно- м и с пониманием того, какой процесс имеется в виду, возникать не должно. Там, где воз- п ны 20мнения, будут использоваться термины “физический процесс” или “технический НенЧесс"’ чтобы указать на преобразование материи или энергии, и “задача” в смысле испол- ”я компьютерной программы.
32 Глава 1. Ввд^ение Любой физический процесс характеризуется входом и выходом в виде: - материальных компонентов', - энергии, - информации. Некоторые примеры приведены в табл. 1.1. Таблица 1.1. Примеры входных и выходных потоков процесса Вход/Выход Химический реактор Кондициониро- вание воздуха Управление самолетом Ввод материальных компонентов (сырья) Выход материальных компонентов (продукции) Потоки исходных реагентов Один или несколько новых продуктов Ввод энергии Нагревание или охлаждение Нагревание или охлаждение Топливо к двигателям Выход энергии Получение тепла от реакции Излучение тепла Движение самолета Ввод информации Управление входными потоками реагентов и дополнительным нагревом Управление темпе- ратурой и интенсив- ностью поступления нагревающей/охлаж- дающей жидкости Управление двигателем и аэродина- мическими поверхностями Вывод информации Измерение температуры, давления, интен- сивности потоков, концентрации Измерение температуры Измерение скорости, высоты, углов атаки, крена, курса В общем случае материальные компоненты (энергию и информацию) можно рас- сматривать как входные и выходные потоки, которые изменяются в ходе физичес- ких/технических процессов. Материалы и энергия, очевидно, являются основными составляющими физичес- кого процесса. Информация — тоже неотъемлемая часть всякого процесса, однако осознание этого факта произошло не так давно. Всегда существуют посторонние по отношению к цели процесса факторы, которы- ми нельзя управлять, но которые оказывают влияние на процесс. Эти факторы рас- сматриваются как возмущения, отклоняющие процесс от штатного рабочего режима (рис. 1.1). Возмущения сами по себе не являются физическими величинами, а проявля- ются в виде случайных флуктуаций в потоках материалов, энергии и информации. Процесс производства заключается в выпуске продукции из сырья с соответствую- щими затратами (вводом) энергии. Входной информацией являются технологические инструкции, выраженные в виде набора параметров, которые можно явно контролиро- вать. Выходная информация есть набор измеряемых переменных и параметров, кото- рые описывают текущее состояние процесса и его изменение. Большое количество ин- формации заключено в самом конечном продукте. Информация, следовательно, есть
1 1 Роль вычислительной техники в управлении процессами 33 только данные для наблюдения и управления, но и технологические и организаци- онные процедуры вплоть до циркулирующих по кабинетам служебных документов и заявок на поставку. Этот вид информации так же важен, как и любой другой элемент, обеспечивающий нормальный ход и оптимизацию производственного процесса. выход продукта выход энергии Рис. 1.1. Обобщенная модель физического/технического процесса Вход и выход процесса в последующем изложении понимаются в очень широком смысле. Например, в случае транспортной системы не сразу может быть очевидно, что же является результатом (выходом). Действительно, транспортировка включает изменение географического положения (физического состояния), т. е. производится работа, а работа есть форма энергии. Следовательно, результатом процесса “переме- щения” является изменение физической переменной “энергия”. Информация — важнейший компонент управления физическими процессами, по- скольку она позволяет лучше использовать два других слагаемых процесса — мате- рию и энергию. Учитывая глобальнейшие проблемы, связанные с производственной деятельностью (истощение природных ресурсов, отходы и загрязнение окружающей среды), большой интерес представляет любое повышение эффективности процесса и снижение побочных эффектов. Обработка информации, улучшающая характеристи- ки технического процесса, выгодна в любом случае. информации ” компьютер * информации Рис. 1.2. Обработка информации компьютером в компьютеры, собственно, и предназначены для обработки информации (рис. 1.2), щ °м ЧИсле и относящейся к техническим/физическим процессам (рис. 1.3). В боль- нстве случаев компьютеры выполняют две основные функции: во-первых, конт- иРуют, находятся ли параметры технического процесса в заданных пределах, и, м Вт°рых, инициируют соответствующие управляющие воздействия, чтобы пара- Ры оставались в этих пределах даже при наличии внешних возмущений. 2 За< 102|
34 Глава 1. Введение выход продукта выход энергии Рис. 1.3. Применение компьютера в управлении процессом Управление техническим процессом существенно отличается от обычной обра- ботки данных. В таких приложениях, как бухгалтерский учет или редактирование текста, и вход, и выход представляют собой данные в чистом виде, т. е. их можно хранить или передавать с помощью любого носителя информации. В этом случае время обработки зависит только от производительности компьютера, а результат будет всегда один и тот же. Ситуация меняется в случае управляющих компьютеров. Здесь обработка данных зависит не от компьютера и его производительности, а, напротив, следует за события- ми во внешнем мире, т. е. процессом. Компьютерная система управления должна дос- таточно быстро реагировать на внешние события и постоянно обрабатывать поток входных данных, чаще всего не имея возможности изменить их количество или ско- рость поступления. Одновременно может потребоваться и выполнение других опера- ций, например обмен информацией с оператором, вывод данных на экран и реакция на определенные сигналы. Этот режим обработки данных оказался настолько важным, что получил специальное название — режим реального времени {real-time mode). 1.2. Исторический обзор Первый пример практического применения управляющей ЭВМ относится к 1959 го- ду; он связан с работой нефтехимического завода компании “Texaco” в городе Порт- Артур, штат Техас. Компания “Texaco” выполнила эту пионерскую работу совместно с производителем ЭВМ — компанией Thomson Ramo Woolridge. Компьютер RW300, построенный на электронных лампах, следил за расходом, температурой, давлением и концентрацией на нефтеперегонном производстве, а также рассчитывал необходимые управляющие воздействия на основе обработки входной информации и затем либо са- мостоятельно изменял опорные значения для аналоговых регуляторов, либо указывал оператору, какие управляющие воздействия нужно выполнить вручную. Эта ЭВМ по сравнению с современными компьютерами имела очень скромные возможности: время
1 2 Исторический обзор 35 сложения составляло 1 мс, а умножения — около 20 мс. Кроме того, она имела очень невысокую надежность — среднее время между отказами (раздел 12.3.2) в лучшем слу- чае составляло от нескольких часов до нескольких дней. Вначале все факторы были против применения управляющих компьютеров. Что- бы оправдать стоимость системы управления в несколько миллионов долларов, ка- питаловложения в производство должны были быть по крайней мере на порядок больше. Это означало, что сам процесс должен был быть очень сложным, как, напри- мер, в случае химического завода. Другим ключевым фактором было — и остается — структурирование проблемы управления как необходимое предварительное условие внедрения компьютерного управления. Экономическая эффективность была не единственной проблемой. Надежность аппа- ратной части ЭВМ была низкой из-за использования электронных ламп. Программы со- здавались в машинном коде и использовали скромный объем памяти до последнего бита. И все же эти новаторские усилия были поддержаны многими производителями ком- пьютеров, которые увидели огромный потенциальный рынок для новых приложений. Компьютерное управление — это область, в которой с самого начала существовало необычайно конструктивное взаимодействие между теорией и практикой. Как описа- но далее, компьютерное управление имеет свои специфические черты. Известные ма- тематические методы, базирующиеся на анализе непрерывных функций, напрямую не применимы для проектирования систем управления на базе цифровых компьюте- ров. Поэтому потребовалось создать специальную теорию дискретного управления. Счастливым совпадением стало развитие в 1960-е годы американской космической программы и особенно проекта “Аполлон”, который послужил катализатором для теоретических и практических разработок в области компьютерного управления. Важный шаг был сделан в 1962 году, когда английская компания ICI (Imperial Chemical Industries) представила концепцию прямого цифрового управления (раз- дел 12.4.3). Первоначально идея заключалась в замене нескольких аналоговых кон- туров управления центральным компьютером. Огромная и дорогостоящая панель управления с сотнями аналоговых регуляторов и самописцев заменялась нескольки- ми терминалами. Компьютер численно моделировал аналоговые регуляторы спосо- бом, который мало отличался от сегодняшних решений. Принцип прямого цифрового управления применяется во многих современных промышленных компьютерных системах. Причина его успеха в том, что задачи уп- равления уже были описаны и структурированы для аналоговой техники. Поэтому Для таких приложений риск был меньше, чем для инновационных разработок, где Цели компьютерного управления не полностью осмыслены и не определены долж- ным образом. Очевидный недостаток прямого цифрового управления — существен- Ная зависимость надежности системы от центрального компьютера. Однако за до- полнительную плату можно было установить второй компьютер, который '9нэПеЧИВаЛ Работоспособность системы в случае отказа первого. Выпущенный в Г0ДУ управляющий компьютер Ferranti-Argus был гораздо совершеннее моде- еи 1959 года* 1 — время сложения и умножения уменьшилось в десятки раз, а показа- Ль надежности возрос не менее чем на порядок. '—-________ ти ЭВМ Ferranti-Argus была куплена в 1969 году объединением “Электросила” и эксплуа- 1 овалась на испытательном стенде завода до 1989 года. Она до сих пор находится в рабочем стоянии.
36 Глава 1. Введение Изобретение в 1960-х годах транзистора дало заметный толчок развитию ком- пьютерных приложений. Стоимость единицы вычислительной мощности мини- компыотера на транзисторной элементной базе была на порядок меньше, чем у больших ЭВМ {mainframe), хотя стоимость самого мини-компьютера все еще пре- вышала 100 000 долларов. Так или иначе, компьютерное управление стало эконо- мически целесообразным для небольших и не очень сложных производств. Появи- лась возможность разместить мини-компьютер поблизости от производственных помещений, и поэтому такие ЭВМ стали популярными для автоматизации техно- логических процессов и испытательных установок. Согласованное влияние трех главных факторов — совершенствование технической базы компьютеров, экономи- ческая целесообразность их применения в управлении относительно простыми процессами и развитие теории управления — привело к широкому распростране- нию компьютерного управления. Практически каждое десятилетие появлялись новые технологии, которые приво- дили к значительному увеличению производительности и снижению цены компью- теров по сравнению с предшествующим поколением. Мощные одноплатные микро- компьютеры появились на рынке в середине 1970-х годов, и сегодня даже простейший регулятор экономически выгодно создавать на основе цифровых уст- ройств. Современные персональные компьютеры намного превосходят мини-компь- ютеры 1960-х и 1970-х годов — типичная конфигурация, как правило, включает 16- или 32-разрядный центральный процессор (ЦП), несколько мегабайт оперативной памяти (оперативное запоминающее устройство — ОЗУ), гигабайты дисковой памя- ти, — а стоят несравнимо дешевле первых моделей ЭВМ. В настоящее время в промышленном управлении популярны компьютерные систе- мы, использующие так называемую открытую шинную архитектуру, где акцент сделан не на конкретные аппаратные компоненты, а на организацию интерфейса, который в этом случае позволяет подбирать их исходя из требований приложения и максималь- ной эффективности использования ресурсов компьютера (глава 8). С другой стороны, производительность компьютера — это еще не все. Эффектив- ность системы зависит не только от управляющего компьютера. Бортовая ЭВМ ко- рабля первой лунной экспедиции “Аро11о-И” (1969 год) имела только 64 Кбайт опе- ративной памяти, а о жестких дисках не могло быть и речи. Сегодня никто не воспримет такую машину всерьез, но если вспомнить результат, достигнутый с помо- щью этой ЭВМ, то напрашивается очевидный вывод — основное внимание нужно уделять главной цели технического процесса, а не мощности компьютера. Высокая производительность не может быть аргументом сама по себе, напротив, она должна рассматриваться в свете динамики и сложности контролируемого процесса. Медлен- ный компьютер прекрасно справится с управлением медленным процессом, напри- мер химическим или биологическим. В системах цифрового управления сравнительно легко вводятся новые стратегии, поскольку можно полностью изменить образ действий компьютера, заменив про- грамму, без перепроектирования и переоснащения всей системы. Поэтому системы цифрового управления представляют собой не просто новый способ применения от- работанных принципов, но и совершенно новую технологию, обладающую большой гибкостью и новыми возможностями. Понимание природы процесса, динамических свойств системы и теории управления — это необходимые слагаемые успеха компью- терного управления, но они представляют едва ли половину картины. Главная труд-
<1 3 Понятие системы 37 ность — структурировать все решения в терминах аппаратного и программного обес- пеЧения и обмена информацией. Необходимо иметь в виду, что чрезмерное и одностороннее увлечение компь- ютерными технологиями может заслонить собой фундаментальные проблемы. Сегодня, после сорока лет применения компьютеров, существует достаточный опыт, чтобы задаться вопросом о реальных преимуществах, которые они принес- ли в промышленность и административное управление. В западных странах в 1950-60-х годах, еще до широкого распространения ЭВМ, один работающий мог содержать целую семью, включая выплату кредита за дом. В типичной совре- менной семье по крайней мере уже двое должны работать, чтобы поддержать стиль жизни, удовлетворяющий средним запросам, уровень которых продолжает повышаться. То, что два десятилетия назад представлялось золотым веком, обус- ловленным повсеместным внедрением компьютеров и автоматизации, сильно по- тускнело сегодня благодаря новым проблемам — от безработицы до загрязнения окружающей среды. То же самое может произойти с сегодняшней чрезмерно вы- сокой оценкой Интернета и компаний, основной бизнес которых построен на ин- тернет-технологиях (виртуальные магазины и т. д.). Нисколько не принижая их достоинства и преимущества, следует отметить, что они не дают надежных и эф- фективных способов решения реальных проблем. Чрезмерный упор на использо- вание компьютеров, особенно с причудливыми картинками и звуком, может от- влечь внимание от действительно серьезных задач. 1.3. Понятие системы Производственные процессы и управляющие ими системы состоят из многочис- ленных и разнообразных элементов, сложным образом взаимодействующих друг с другом. Эти элементы связаны между собой так, чтобы обеспечить обмен материей, энергией и информацией для получения определенного конечного результата. Термин “система” имеет много значений, однако в интересующем нас контексте под системой понимается любой объект, который рассматривается, с одной сторо- ны, как единое целое, а с другой — как совокупность связанных между собой опре- деленным образом составляющих.1 Это понятие можно охарактеризовать следую- щим образом. • Понятие системы позволяет проще интерпретировать назначение любой сложной структуры, состоящей из взаимодействующих друг с другом частей. Описывая систему, ее можно по-разному разбить на составные части. Каждая из частей в свою очередь может быть разбита на более мелкие составляющие. Важно выбрать правильный уровень детализации. Обычно нет необходимости знать внутренние механизмы элемента для того, чтобы предвидеть поведение системы в целом. Достаточно знать соотношение вход/выход — принцип “черного ящика”. 1 Слово “система” происходит от греческого слЗотгща (“составление”), через французское systeme и латинское systema (Фасмер М. Этимологический словарь русского языка. М., 1987). Толковый словарь Ожегова среди прочих дает следующую интерпретацию: “Нечто целое, Представляющее собой единство закономерно расположенных и находящихся во взаимосвя- зи частей” (Ожегов С. И. Словарь русского языка. М., 1970). — Примеч.ред.
38 Глава 1. Введение • Цель системы — получить результат, качественно или количественно превосходя- щий механическую (простую) сумму результатов работы отдельных ее компонен- тов. Объединение в систему добавляет “нечто большее”, что и объясняет ее назна- чение, — принцип “синергизма”. Это “нечто большее” определяется не наличием тех или иных компонентов системы, а скорее есть результат их взаимодействия. На практике встречаются системы самых различных типов, например электри- ческие, химические, механические или биологические. Компьютер — это система, ос- новными функциональными элементами которой являются процессор, память и пе- риферийные устройства. Взятые порознь, эти части не допускают никакого осмысленного применения. Если их объединить и добавить программное обеспече- ние, то получится система, которую можно использовать для решения многих задач. Человеческий организм представляет собой пример чрезвычайно сложной системы, состоящей из органов, каждый из которых имеет свое назначение. Он способен вы- полнять основную задачу — поддерживать собственную жизнь — именно потому, что все органы работают вместе. Для описания систем и их элементов можно применять разнообразные матема- тические методы. Как подчеркнуто в большинстве учебников, эти методы можно использовать, только когда все элементы системы и окружающая ее среда описыва- ются количественными соотношениями. В главе 3 будет показано, что математи- ческий подход — это не единственный способ описания систем. Очевидное преиму- щество математических методов в том, что они основаны на формальных доказательствах, и поэтому, как правило, им следует отдавать предпочтение перед другими методами. Важнейшей характеристикой системы является ее динамика, знание которой по- зволяет предсказать поведение системы и выбрать правильное управляющее воздей- ствие в соответствии с поставленной целью. Динамика системы представляет собой сложный вопрос из-за того, что приходится учитывать многочисленные взаимодей- ствия между различными частями. Часто кажется, что эволюция системы идет “не в том” направлении или по крайней мере не соответствует “интуитивным” ожи- даниям. Любой водитель инстинктивно представляет себе динамику автомобиля. При движении вверх или вниз по склону он увеличивает или уменьшает давление на педаль газа для того, чтобы сохранить скорость. Нормальное поведение автомобиля хорошо известно и прогнозируемо, однако на мокрой или обледенелой дороге он мо- жет стать неуправляемым. Аналогичные проблемы возникают ежедневно и в управ- лении техническими процессами. В крупных технических задачах одной из важнейших проблем является структу- рирование системы. В процессе эксплуатации взаимодействуют множество людей, происходит постепенная замена оборудования и добавление новых функций. Слож- ную систему необходимо рассматривать как с общих позиций, так и с позиций всех ее компонентов. Возникающие проблемы обычно нельзя разрешить только на одном уровне — их надо рассматривать под соответствующим углом зрения и на соответствующем уров- не. Это не означает, что требуется знать все детали каждой конкретной ситуации, а скорее предполагает возможность при необходимости получить любые подробнос- ти. Решение, выработанное на несоответствующем уровне, чаще всего вообще не яв- ляется решением и может даже ухудшить ситуацию. Нет смысла искать ошибки
1 4 примеры типичных приложений цифрового управления в программе, которая не выполняет предусмотренную печать, если выключен npi тер Каждый инженер имеет собственный набор анекдотов по этому поводу. Границы между компетенцией инженеров-электронщиков, программистов, щ кладных специалистов и пользователей в настоящее время постоянно размывают Нельзя рассматривать сложную систему только с одной точки зрения, а решен принимать, опираясь на знания специалистов лишь из одной области. Чтобы пою или создать сложную систему, состоящую из множества взаимодействующих част необходим специальный подход. Далее будут даны некоторые рекомендации д успешного анализа и проектирования автоматизированных систем. 1.4. Примеры типичных приложений цифрового управления Примеры цифрового управления встречаются везде, начиная от товаров массо! го спроса и до высокотехнологичной продукции. Сегодня в самом обычном авток биле компьютеры применяются для управления как зажиганием и составом бензщ вой смеси, так и температурой в пассажирском салоне. Даже настройка приемника, доверяется водителю, а управляется микропроцессором, который иногда не упроп ет, а наоборот, усложняет жизнь. На первый взгляд может показаться, что системы управления химическим произв< ством или движением на крупной железнодорожной станции имеют мало общего с ро! тами для окраски автомобилей или с бортовым компьютером космического кораб. Однако во всех этих системах имеются одинаковые функциональные блоки — сбор д; ных, управляемые таймером или прерываниями функции, контур обратной связи, обм данными с другими компьютерами и взаимодействие с человеком-оператором. В общем случае система цифрового управления физическим/техническим пр цессом состоит из следующих компонентов (рис. 1.4): - управляющей ЭВМ; - каналов обмена информацией; - аналого-цифровых и цифро-аналоговых преобразователей (АЦП и ЦАП); - датчиков и исполнительных механизмов; - собственно физического/технического процесса. Рис. 1.4. Основная структура системы цифрового управления процессом
40 Глава 1. Введение Физический процесс контролируется с помощью датчиков, т. е. устройств, преоб- разующих физические параметры процесса (температуру, давление или координа- ты) в электрические величины, которые можно непосредственно измерить (сопро- тивление, ток или разность потенциалов). Примерами датчиков являются термисторы (датчики температуры), концевые выключатели и ультразвуковые мик- рофонные зонды. Непосредственное влияние на процесс осуществляется с помощью исполнительных механизмов. Последние преобразуют электрические сигналы в фи- зические воздействия, главным образом движение — перемещение и вращение, кото- рые можно использовать для других целей, например для открытия клапана. Приме- рами исполнительных механизмов могут служить сервомоторы, гидроклапаны и пневматические позиционирующие устройства. Цифровые системы управления работают только с информацией, представлен- ной в цифровой форме, поэтому полученные в результате измерений электрические аналоговые величины необходимо обработать с помощью АЦП (раздел 5.2.2). Обрат- ная операция — управление исполнительными механизмами (электромоторами и клапанами) — несколько проще, поскольку компьютер может непосредственно выра- батывать электрические сигналы. Информация от удаленных объектов через каналы связи поступает к центрально- му управляющему компьютеру, который: - интерпретирует все поступающие от физического процесса данные; - принимает решения в соответствии с алгоритмами программ обработки; - посылает управляющие сигналы; - обменивается информацией с человеком-оператором и реагирует на его команды. Нет ничего неожиданного в том, что поточное производство и машиностроение обеспечивают благоприятную почву для применения ВТ. Станки с числовым про- граммным управлением (ЧПУ, Numerical Control — NC), производя высокоточные механические детали, выполняют строго определенную последовательность опера- ций. Такие станки применяются во многих отраслях; их работа зависит от программ- ного обеспечения, которое можно сравнительно быстро и дешево заменить. Гибкость промышленных роботов и многообразие выполняемых ими операций обеспечивают- ся, главным образом, компьютерным управлением. Если один станок не может обра- ботать деталь, то гибкая производственная система {Flexible Manufacturing System — FMS) обеспечит выполнение необходимых операций другим станком участка или подразделения завода. В такой системе работа каждого станка, их взаимодействие и перемещение деталей управляются компьютерами. Вычислительная техника применяется и в отраслях, имеющих другой характер производства, в частности в химической, металлургической, целлюлозно-бумажной и т. п. Разные технологические процессы обычно взаимосвязаны, и между ними по- стоянно перемещаются значительные материальные потоки. Такие производства, как правило, носят непрерывный характер, поэтому важнейшим фактором является надежность. Кроме того, обычно число измеряемых переменных очень велико, масШ' таб времени процессов в рамках одного предприятия составляет от нескольких се- кунд до нескольких дней, а территория может иметь значительные размеры. При вы- соких капитальных вложениях и стоимости материалов даже небольшие изменения параметров производства и показателей качества существенно влияют на экономику
1.5. Руководств0 для читателя 41 предприятия и конкурентоспособность продукции. Поэтому качество компьютер- ных систем управления имеет решающее значение. Электроэнергетические системы относятся к категории наиболее сложных. Они включают первичные источники энергии — ГЭС, ТЭЦ и АЭС, а также крупные пере- дающие и распределительные сети. Чтобы описать объединенную электроэнергети- ческую систему даже небольшой страны, необходимы тысячи уравнений для генера- торов, турбин, линий электропередачи, нагрузок и т. д. Электрическую энергию нельзя запасти в сколь-либо значительных количествах, и поэтому ее приходится производить одномоментно с потреблением. Управление генерацией и передачей электрической энергии должно быть быстрым и точным, чтобы своевременно выяв- лять и удовлетворять увеличение нагрузки, задействуя либо имеющиеся свободные генерирующие мощности, либо мощности других энергосистем. Для этого, кроме многих других факторов, диспетчерские службы должны следить за нагрузкой в часы работы предприятий, а иногда даже учитывать начало и окончание популярной телевизионной программы. Управление транспортом включает в себя множество задач, решаемых с помощью компьютерного управления. Методика управления светофорами хорошо известна, однако определение оптимальной стратегии представляет собой далеко не тривиаль- ную задачу. Сколько людей мучается перед красным сигналом и расстраивается из-за преимущества, которое (как всегда кажется) получает другое направление дви- жения! Управление системой светофоров в городском районе является сверхслож- ной задачей, поскольку движение через перекрестки достаточно сильно взаимосвяза- но, в результате возникают сложные эффекты взаимного влияния транспортных потоков. Однако нельзя забывать и о другом. Автоматизация означает не только фантасти- ческие суперсовременные приложения вроде автоматизированных фабрик и робо- тов. В большинстве стран эти направления почти не играют никакой роли из-за от- сутствия технологической базы и должного общего уровня развития. С другой сторо- ны, автоматизация необходима именно в слабо- и среднеразвитых странах для того, чтобы снизить потребление всегда ограниченных эйергетических и материальных ресурсов, улучшить безопасность и эффективность промышленных производств, загрязняющих окружающую среду. 1 -5. Руководство для читателя Цель книги вторы поставили перед собой задачу представить читателю обобщенный взгляд стоК°МПЬЮТеРНОе УпРавление производственными процессами. Для построения ас ных систем необходимо использовать знания из столь многих областей, что все !|>иг) ТЬ1’Конечно же- невозможно детально рассмотреть в рамках одной книги. Из-за ЛИЧи™ тематики и междисциплинарного характера каждую главу можно легко уве- УЖе Ь Д° весьма солидного тома (в большинстве случаев такие солидные издания лем^УЩествУют)- Проблема в том, чтобы ограничить объем каждой главы до прием- чить ра'3меГ)0в и ПРИ этом Дать читателю возможность при разумных усилиях полу- Ног На основе комплексного подхода более или менее полную картину компьютер- Управления производственными процессами.
42 Глава 1. Введение В этой книге нет новых теорий компьютерной архитектуры, программного обес- печения или методов управления — скорее это попытка объединить известные тео- рии в рамках общего подхода. Сведения о компьютерах и программном обеспечении, теоретические положения и практические советы собраны вместе для того, чтобы дать представление о роли каждого из компонентов в компьютерной системе управ- ления. Читателю этой книги не обязательно быть разработчиком систем реального времени или новых методов управления — он может быть “компетентным заказчи- ком” или пользователем, достаточно сведущим, чтобы построить работоспособную компьютерную систему управления из соответствующим образом подобранных ап- паратных и программных компонентов и оценить ее возможности и ограничения. Авторы, однако, надеются, что разработчики систем и специалисты из смежных об- ластей используют эту книгу, чтобы расширить кругозор и посмотреть на свою спе- циальность с новой точки зрения. Требования к уровню подготовки Материал представлен так, чтобы читателю не требовалось каких-либо специаль- ных знаний по каждой из рассматриваемых областей. Однако предполагается, что читатель обладает некоторой теоретической подготовкой, включая: - основы математического анализа; - основы теории электрических цепей; - основы автоматического регулирования с обратной связью; - базовые принципы структуры и функционирования компьютеров; - программирование на алгоритмических языках высокого уровня, например С, FORTRAN, Pascal. Определенное знакомство с теорией дифференциальных уравнений и матричным анализом будет полезно для более глубокого восприятия ряда утверждений, хотя это необязательно. При выборе тем, представленных в книге, авторы стремились к полноте охвата, хотя, с другой стороны, часто вынуждены были придерживаться определенных гра- ниц. Например, было бы бесполезно обсуждать основы цифровой обработки данных или описывать конкретный язык программирования, поскольку эти сведения явля- ются частью базовой подготовки любого инженера и изложены в многочисленных учебниках. Вместо этого включено детальное описание системных шин и программи- рования в режиме реального времени, поскольку это достаточно новая информация, которая является существенным дополнением к основам знаний о компьютерах и программном обеспечении. То же относится к теории автоматического регулирова- ния, поскольку анализ простейшего регулятора является обязательной частью учеб ного плана любого инженерного факультета, а соответствующей учебной литерату ры более чем достаточно. В отношении цифровых (дискретных) регуляторов положение несколько иное, поскольку большинство монографий могут скорее отпуг- нуть читателя-неспециалиста, если у него нет необходимости изучать материал в полном объеме. При изложении других тем, от теории цифровых фильтров до основ передачи ин- формации, авторы старались разумно сочетать теоретическое описание с практичес- кими примерами и иллюстрациями. 1 5 руководство для читателя 43 Структур3 книги Каждая глава касается только одного аспекта систем компьютерного управления. Главы 2-6 посвящены теории моделирования и управления (при этом содержат практические примеры и ссылки на существующее оборудование). Главы 7-11 опи- сывают современную аппаратуру и методологические основы программного обеспе- чения, используемые в системах управления процессами. В главе 2 определены понятия программирования в режиме реального времени и компьютерного управления процессами. На простом примере иллюстрируется идея параллельных процессов. Различные проблемы компьютерного управления процес- сами классифицируются по их характеру и сложности. Конкретные вопросы, возни- кающие при обсуждении этих проблем, выступают в качестве указателей на последу- ющие главы книги. В главе 3 рассмотрены различные концепции и методы описания систем, причем наибольшее внимание уделено описанию динамических систем, сначала на основе не- прерывных, а затем дискретных моделей. Кроме того, представлены подходы к описа- нию физических процессов, для которых доступна лишь неполная информация. Измерения, сбор данных и передача сигналов обсуждаются в главе 4. Основные принципы работы датчиков и исполнительных механизмов описаны наряду с вопро- сами, касающимися электрических шумов, возмущений и согласования сигналов. Глава 5 посвящена обработке сигналов, главным образом фильтрации для сниже- ния влияния шумов и возмущений; рассмотрены как аналоговая, так и цифровая фильтрации. Теорема дискретизации, касающаяся преобразования аналоговых сиг- налов в цифровые и наоборот, составляет основное содержание главы. Дополнитель- но рассмотрены некоторые методы проверки сигналов. В главе 6 описана компьютерная реализация регуляторов. Рассмотрены различные структуры управления и приведены примеры программ, реализующих соответствую- щие цифровые регуляторы; проанализированы их возможности и ограничения. В главе 7 рассмотрены управление последовательностью событий и его реализа- ция на основе программируемых логических контроллеров, т. е. простейших авто- номных микрокомпьютеров, работающих на основе бинарных измерений и управля- ющих сигналов. Несмотря на исключительную простоту (или благодаря ей), эти контроллеры играют заметную роль во многих промышленных приложениях. В гла- ве также рассмотрены функциональные карты, которые являются мощным сред- ством структурирования программ даже для очень сложных задач управления. Глава 8 посвящена архитектуре системных шин; наибольшее внимание уделено стандарту УМЕ. Передача данных является исключительно важным элементом систем промыш- ленной автоматизации. В главе 9 описание процесса обмена информацией опирается На модель взаимодействия открытых систем (ВОС). Рассмотрены некоторые стан- дарты, часто используемые в промышленности, в частности протокол автоматизации производства (МАР) и шина локального управления (Fieldbus). Глава 10 является введением в специальные методы мультипрограммирования и программирования для систем реального времени — защита ресурсов, синхрониза- ция и обмен данными между программными модулями. В главе показано, какими Мет°дами операционная система обеспечивает исполнение нескольких программ в Режиме реального времени. Дан краткий обзор существующих операционных сис-
44 Глава 1. Введение тем и языков программирования с точки зрения их соответствия требованиям систем реального времени. Организация взаимодействия (интерфейс) между пользователем и компьютером играет существенную роль в работе управляющих систем и часто является решаю- щим фактором успешного внедрения системы. Некоторые важные принципы, свя- занные с применением управляющих систем в промышленных установках, описаны в главе 11. Тематика глав 3-11 обобщена в главе 12 с точки зрения практического подхода к управляющим системам. В условиях производства компьютерные системы управ- ления обычно не создаются каждый раз заново на пустом месте. Поэтому в этой главе рассмотрены вопросы применения существующих на рынке компонентов, их работа и объединение. Некоторые поставщики предлагают системы, которые можно настра- ивать параметрически, не прибегая к обычному программированию; во многих при- ложениях можно использовать и “коробочное” (off-the-shelf) программное обеспече- ние. Приведены примеры, иллюстрирующие типичные проблемы и способы их практического решения. Все примеры программ в книге написаны на языке Pascal, поскольку он понятен даже неспециалистам. Каждая глава содержит список рекомендуемой литературы, чтобы дать читателю возможность глубже изучить соответствующий предмет. Рекомендации по дальнейшему чтению Цитата в начале главы заимствована из классической книги 1970-х годов [Pirsig, 1974]. Многие из сделанных в ней замечаний, касающихся технологии, по- прежнему представляют значительный интерес. Необходимо помнить и об испол- ненном юмора предупреждении автора: “Не следует использовать эту книгу как ру- ководство по доктрине дзен-буддизма. Она также в очень малой степени посвящена и мотоциклам”. Истинным шедевром 1980-х годов, касающимся сложных структур, информации, связи и искусственного интеллекта, является книга [Hoftstadter, 1979]. Многочис- ленные параллели между музыкой, искусством, древними языками, биологией и компьютерами самым естественным образом включаются в изложение и заставляют читателя смотреть на многие вещи совершенно по-новому. Многие интересные статьи об управлении процессами и его технологических применениях были опубликованы в журнале Scientific American, например [Spector, 1984] и [Ginzberg, 1982]. Высококачественное описание возможностей про- граммного обеспечения содержится в [Кау, 1977] и [Кау, 1984]. Несмотря на бурное развитие компьютерных технологий, эти статьи до сих пор остаются актуальными- Особенности цифрового управления процессами Процессы реального времени. Методы программирования. Задачи цифрового управления Обзор В этой главе рассмотрены наиболее характерные задачи автоматизации процессов и особенности их решения с помощью цифровых систем управления. Каждая обсуж- даемая тема является введением в материал последующих глав. Для иллюстрации практических задач и подходов к их решению подробно описываются два модельных примера — система электропривода и управление станцией биологической очистки сточных вод, — ссылки на которые приводятся во многих местах книги. Эти конкрет- ные процессы были выбраны потому, что они, во-первых, имеют разные масштабы времени, а во-вторых, включают в себя многие задачи, типичные для других прило- жений цифрового управления. Проблема работы в реальном масштабе времени с точки зрения компьютерного программирования анализируется в разделе 2.1. В разделе 2.2 представлены типич- ные примеры управления процессами, а в разделе 2.3 описываются основные пробле- мы компьютерного управления со ссылками на последующее изложение. Модельные примеры, используемые в книге, описаны в разделе 2.4. 2.1. Управление процессом в реальном времени Компьютеры, управляющие процессами, имеют другие задачи, нежели компьюте- ры, используемые для “классической” обработки информации. Основная разница со- стоит в том, что управляющий компьютер должен работать со скоростью, соответ- ствующей скорости процесса (рис. 2.1). Само понятие “реальное время” указывает на то, что в реакции компьютерной системы на внешние события не должно быть замет- ного запаздывания. Рис. 2.1. Применение компьютера в управлении процессом Другая главная особенность компьютерного управления процессом заключается в том, что ход исполнения программы нельзя определить заранее. Внешние сигналы Могут прерывать или изменять последовательность исполнения операторов про-
46 Глава 2. Особенности цифрового управления процессами граммы, причем для каждого нового прогона по-разному. Кроме того, существует проблема эффективного использования ресурсов компьютерной системы с учетом временных ограничений. Все это требует специальных методов программирования. Дополнительную проблему представляет собой тестирование систем реального вре- мени из-за отсутствия предсказуемого порядка выполнения операторов программы по сравнению с обычными компьютерными системами. Параллельность — одно из важных свойств реального мира. Все события вок- руг нас, мы сами и фактически любые физические процессы можно представить в виде множества “подпроцессов”, которые протекают параллельно. Из этого свойства следует важный вывод: компьютер, взаимодействующий с таким про- цессом или управляющий им, должен учитывать эту параллельную природу, а в некоторых ситуациях и работать в соответствии с ней. Естественным следствием параллельной природы реального мира является то, что компьютер должен уметь управлять параллельными задачами. В этом и заключается отличие управляюще- го компьютера от обычного, для которого естественным является последователь- ный режим. 2.1.1. Пример — пресс для пластика Управление прессом для пластика — это пример типичной задачи компьютерного управления процессом. Компьютер должен одновременно регулировать температуру (поддерживать ее постоянной) и координировать последовательность технологических опе- раций. Если применять обычные методы программирования, то задача структу- рирования программы становится неразрешимой. Поэтому требуется другой подход. Рис. 2.2. Пресс для пластика
2 1 Управление процессом в реальном времени 47 Пресс для пластика представлен на рис. 2.2. Контейнер содержит расплавлен- ный пластический материал; температура пластика должна поддерживаться в пре- делах узкого диапазона. Управляющий компьютер периодически считывает теку- щую температуру и рассчитывает тепло, необходимое для ее поддержания на требуемом уровне. Тепло поступает от нагревательного элемента, управляемого компьютером. Время его работы согласовано с количеством тепла, которое необхо- димо подвести. Нижняя часть пресса состоит из поршня, выталкивающего определенное количе- ство расплавленного пластика через насадку. Когда поршень находится в крайнем правом положении, цилиндр заполняется пластиком. Затем поршень быстро переме- щается влево, выдавливая требуемое количество пластика. Положение поршня конт- ролирует импульсный датчик, генерирующий определенное число импульсов на каждый миллиметр перемещения, а объем выдавливаемого пластического материала определяется числом импульсов за время перемещения. Движение поршня прекра- щается при достижении заданного числа импульсов. Чтобы обеспечить приемлемую производительность, температура пластика дол- жна иметь заданное значение к тому моменту, когда поршень при движении вправо минует выходное отверстие контейнера. Компьютерная система должна регулировать температуру и движение поршня одновременно. Значение температуры поступает в виде непрерывного сигнала от датчика. Положение поршня рассчитывается исходя из числа импульсов. Кроме того, еще два датчика генерируют двоичные сигналы при достижении поршнем край- него положения. Компьютер не содержит отдельного внутреннего интервального таймера и поэтому должен отсчитывать время с помощью счетчика сигналов от внешнего источника времени. 2.1.2. Управление на основе последовательного программирования Попытаемся проанализировать следующую проблему: могут ли задачи управ- ления в реальном времени решаться с помощью последовательного программиро- вания. Блок-схема регулирования темпера гуры представлена на рис. 2.3. Про- грамма считывает температуру пластика каждые 10 секунд, определяет необходимое время нагрева (переменная heat_time), включает нагреватель и за- тем переходит в цикл занятого ожидания {busy loop} обновления счетчика време- ни (переменная С), во время которого компьютер не может выполнять никакие другие операции. Очевидно, что это не самое эффективное использование компь- ютера. Алгоритм управления перемещением поршня показан на рис. 2.4. Компьютер вы- дает команду начать движение вправо, затем непрерывно контролирует информа- цию от датчика конечного положения до тех пор, пока не получит сигнал о том, что °но достигнуто. Затем начинается обратное движение поршня влево, при этом ком- пьютер должен в цикле занятого ожидания ждать очередного импульса и суммиро- вать их (счетчик импульсов обозначен п). Цикл считается завершенным при дости- жении заданного числа импульсов (переменная pulse_ref). Затем весь цикл повторяется сначала. Так же как и при регулировании температуры, компьютер не может выполнять других операций, пока он находится в цикле ожидания очередного импульса.
48 Глава 2, Особенности цифрового управления продажами 2 1 управление процессом в реальном времени 49 Рис. 2.4. Блок-схема управления движением поршня пресса для пластика Рис. 2.3. Блок-схема регулирования температуры пластика Каждую из двух задач можно решить непосредственно с помощью последователь- ного кода. Но объединить их в одной программе непросто. Циклы взаимного ожида- ния использовать нельзя, так как управляемый процесс не позволяет длительных за- держек, а исполнение одной задачи не должно быть связано с другой. В принципе, можно обойтись и без циклов ожидания. Однако программа при этом будет все время переключаться между двумя задачами и проверять, какая задача должна исполнять- ся следующей, станет громоздкой и сложной для анализа. Попытка последователь- ного расположения блоков инструкций, исполнение которых фактически должно быть параллельным, порождает взаимосвязи между практически независимыми функциями. 2-1.3. Управление на основе прерываний Главная сложность программы управления прессом — необходимость организа- ции переключения между задачами. На практике проблема решается с помощью двУх независимых программ, выполняемых на одной машине: одна — регулирует теМпературу, а другая — управляет перемещением поршня. Метод сигнализации, называемый прерыванием, используется для переключе- ния Цп с исполнения одной задачи на другую. С помощью прерываний циклы ожи- ДДния можно заменить на ожидание прерывания.
2 2 примеры задач управления процессами 50 Глава 2. Особенности цифрового управления процессам^ Фактически прерывание представляет собой внешний сигнал, извещающий о наступлении некоторого события. События отслеживаются датчиками и застав- ляют ЦП прервать исполнение текущей программы и перейти к другой. Таким об- разом внешние сигналы могут влиять на исполнение того или иного программного модуля. Особый вид прерывания связан со временем. Электронный таймер выдает сигнал прерывания при наступлении определенного момента времени или по исте- чении некоторого интервала. Этот таймер не является частью ЦП, однако конст- руктивно располагается на той же плате. Он освобождает ЦП от необходимости контролировать время. Более подробно о прерываниях рассказано в разделе 10.6. С использованием прерываний задача регулирования температуры решается про- ще. Прерывание по времени связано с переменной heat_time. После включения на- гревателя программа устанавливает таймер на величину времени нагрева (значение переменной heat time) и ждет сигнала прерывания для продолжения работы (инст- рукция wait_time(Aea/./:zme) на рис. 2.5). ждать heat_time сек. прерывание от таймера (возобновляет исполнение программы) ждать момента очередной выборки прерывание от таймера (возобновляет исполнение программы) Рис. 2.5. Использование прерываний от таймера для регулирования температуры пластика Аналогично, программа управления поршнем ожидает два прерывания: одно от датчика крайнего правого положения, другое — от импульсного датчика, контро- лирующего перемещение поршня (рис. 2.6). Прерываниям соответствуют инструк- ции вида waitinterrupt(x), где х обозначает канал поступления сигнала прерыва- ния. Оператор wait_interrupt приостанавливает исполнение программы, которое возобновляется только при поступлении соответствующего сигнала внешнего пре- рывания. ждать прерывания от датчика конечного положения внешнее прерывание (возобновляет исполнение программы) ждать прерывания от следующего импульса внешнее прерывание (возобновляет исполнение программы) Рис. 2.6. Использование прерываний для управления движением поршня пресса для пластика Система прерываний обеспечивает переключение ЦП с исполнения одной про- граммы на другую как следствие внешних событий. В результате решение задачи уп- равления получается прозрачным и элегантным. Если каждый программный модуль является независимым, то добавить новые блоки к системе можно без нарушения су- ществующей структуры. Проблемы, связанные с многозадачностью и методами про- граммирования в реальном времени, обсуждаются в главе 10. 2-2. Примеры задач управления процессами ° этом разделе на примерах проиллюстрированы основные типы задач, встречаю- щиеся при управлении процессми. Вначале обсуждается, что в общем случае требу- ется для управления, а затем рассматриваются проблемы, присущие техническим пР°Цессам.
52 Глава 2. Особенности цифрового управления прощ^усамц 53 2.2.1. Управление последовательностью событий и бинарное управление Простой химический реактор, представленный на рис. 2.7, — пример системы уц. равления последовательностью событий. В химическом реакторе реагенты переме- шиваются с помощью смесителя. Входные потоки реагентов и выход продукта регу. лируются входными клапанами А и Б и выходным клапаном В, соответственно. Уровень давления в баке контролируется датчиком Д, а температура — датчиком Т Температура регулируется горячей или холодной водой, подаваемой в окружающий бак кожух; потоки воды регулируются клапанами Г (горячо) и X (холодно). горячей холодной воды воды Рис. 2.7. Простой химический реактор с регулированием температуры В этом примере в реакторе выполняются следующие операции: 1. Открыть клапан А и залить в бак реагент 1. 2. Если датчик давления Д показывает, что достигнут требуемый уровень, то закрыть клапан А. 3. Запустить смеситель. 4. Открыть клапан Б и залить в бак реагент 2. 5. Если датчик давления Д показывает, что достигнут новый требуемый ур0' вень, то закрыть клапан Б. 6. Открыть клапан Г для нагрева бака. 7. Если датчик Т показывает, что достигнута требуемая температура, то закрыть клапан Г. 8. Установить таймер на время протекания химической реакции. 9. При срабатывании таймера — время реакции истекло — остановить смеситель. 10. Открыть клапан X для охлаждения бака. 2 2 примеры задач управления процессами -—--~~ 1 11 Проверить температуру в баке. Если температура упала ниже заданного пре- дела, то закрыть Клапан X и открыть клапан В для опорожнения бака. 12 Закрыть клапан В. Повторить все этапы с самого начала. Многие системы предназначены для управления очередностью выполнения опе- ций которая зависит от некоторых логических условий, как в приведенном приме- Входные и выходные данные системы являются бинарными в том смысле, что датчики контролируют два состояния или граничное значение, например клапан от- крыт или закрыт, индикатор сработал или нет, кнопочный выключатель нажат или отжат и т. д.; и команды управления имеют аналогичный формат — запустить/оста- новить двигатель, включить/отключить нагреватель и т. п. Если задача управления основана только на бинарной логике, то очевидно, что решать ее удобнее и проще цифровыми средствами. Существуют так называемые программируемые логические контроллеры, специально созданные для решения та- ких задач. Более подробно эти устройства рассмотрены в главе 7. 2.2.2. Простой контур управления — регулятор температуры Рассмотрим бак, заполненный жидкостью, температура которой должна поддер- живаться постоянной (рис. 2.8). Все сигналы в этом примере — аналоговые, т. е. из- менение температуры отслеживается непрерывно, в отличие от предыдущего приме- ра, где проверялось лишь превышение порогового значения, а подача тепла может регулироваться плавно. Рис. 2.8. Простая система регулирования температуры Температура измеряется датчиком, выходное напряжение которого пропорцио- нально текущей температуре (пропорциональная зависимость существует как мини- мум в интересующем диапазоне температур). Измерения периодически, например КаЖдую секунду, поступают в компьютер, и текущее значение температуры сравни- Вается с требуемым (опорным), которое хранится в памяти компьютера. Величина Нагрева или охлаждения рассчитывается по разности между опорным и измеренным качениями (рис. 2.9). В зависимости от исполнительного механизма — устройства, непосредственно Влияющего на процесс, —- меняется вид управляющего сигнала, подающегося на его
54 Глава 2. Особенности цифрового управления процессами 2 2 Примеры задач управления процессами вход. Температуру можно регулировать с помощью нагревателя, периодически включаемого на заданный интервал времени, или использовать теплообменник, со- единенный с трубопроводами пара и холодной воды. В первом случае управляющим действием является момент включения нагревателя; во втором — регулирование осу- ществляется за счет открытия или закрытия клапанов трубопроводов пара и охлаж- дающей жидкости. Рис. 2.9. Простой контур управления — система регулирования температуры Регулятор температуры демонстрирует некоторые основные свойства контура управления. Температура должна измеряться с частотой, определяемой постоянной времени процесса. Если теплоемкость бака велика, то постоянная времени имеет от- носительно большое значение. Наоборот, если объем бака небольшой, а нагреватель мощный, то постоянная времени процесса мала и система управления должна доста- точно часто измерять температуру и включать или отключать нагреватель. Таким образом, при проектировании цифровой системы управления должны быть учтены основные динамические характеристики процесса. Соответствующие алгоритмы ре- гулирования будут изложены в главе 6. 2.2.3. Генерация опорного значения Иногда в химической реакции необходимо поддерживать величину температуры в соответствии с опорным значением {reference value) — уставкой {setpoint value), - которое постоянно пересчитывается во время протекания процесса. Вычисление опорной температуры не должно иметь заметного запаздывания — каждое ее новое значение должно быть рассчитано до момента очередного сравнения с текущей тем- пературой. Этот процесс схематично представлен на рис. 2.10. Система, отслеживающая значение опорного сигнала с достаточной точностью и быстротой, называется сервомеханизмом или, кратко, серво. В сервосистемах опор- ные значения либо рассчитываются, либо задаются в виде таблиц. Например, в системе управления роботом перемещения манипулятора как функция времени описывают- ся траекторией. Траектория рассчитывается заранее как кривая в пространстве, ко- торая называется путь {path) или контур {contour) и хранится в табличном виде в памяти компьютера вместе с заданными интервалами времени. Таким образом, на- бор опорных значений для контроллеров положения шарниров манипулятора извес- тен в любой момент времени. Однако во многих случаях траектория должна рассчи- тываться одновременно с перемещением манипулятора робота, что существенно загружает ЦП из-за сложной геометрии манипулятора. Рис. 2.10. Генерация опорного значения Каждое вновь вычисленное опорное значение сравнивается с текущим положени- ем. Затем компьютер посылает сигналы коррекции двигателям, управляющим меха- ническими шарнирами. Должна быть также предусмотрена и обратная операция — определение положения манипулятора по углам поворотов шарниров. Оба вида рас- четов требуют значительных вычислительных ресурсов и критичны по времени. 2.2.4. Системы, содержащие несколько контуров управления Во многих приложениях необходимо регулировать сразу несколько параметров — температуру, уровень, давление, положение и т. д., — для каждого из которых исполь- зуется свой контур управления. В большинстве случаев эти отдельные задачи можно решить независимо друг от друга с помощью локальных специализированных регу- ляторов на основе алгоритма, аналогичного показанному на рис. 2.9. Альтернативным решением является использование центрального управляющего компьютера, кото- рый выполняет одну и ту же программу для различных параметров и входных дан- ных каждого контура. Эта управляющая подпрограмма для каждого контура может исполняться со своей периодичностью, при этом компьютер должен обладать доста- точными ресурсами для обработки всех данных за требуемое время. Рассмотрим офисное здание или многоквартирный дом, в котором необходимо регулировать температуру каждой отдельной комнаты. Фактическое значение тем- пературы в каждой комнате зависит от влияния внешних факторов — открытых или закрытых окон и дверей, количества людей в комнате, включено ли освещение и т. д. Для регулирования температуры в этом случае можно использовать один компью- тер, который поочередно обслуживает каждую комнату. Компьютер многократно ис- полняет одну и ту же программу управления каждый раз с новыми значениями вы- ходных и входных переменных. 2-2.5. Взаимосвязанные системы Ни сложных производствах одновременно используются разные типы управле- > и, соответственно, существует взаимосвязь между частными процессами. На- Ример, запуск промышленного процесса может заключаться в выполнении ряда Оследовательных шагов аналогично химическому реактору из раздела 2.2.1. После остижения процессом заданного рабочего состояния управление переводится на си- тему регулирования с обратной связью для более точного поддержания требуемого е>Кима. Примерами в этом смысле могут служить система электропривода и хими-
56 57 Глава 2. Особенности цифрового управления процес ческий реактор. Двигатель или реактор выводится на рабочий режим при пом0 управления последовательностью событий, а затем вступает в действие регУлдт обратной связью для поддержания требуемого значения скорости вращения илит^ пературы соответственно. Пример из поточного производства служит иллюстрацией другого вида взаимоде" ствия структур управления. В технологической линии робот перемещает детали мея® несколькими станками с ЧПУ. Положение и скорость каждого механизма, включая робота, управляются несколькими контурами регулирования с обратной связью показанных на рис. 2.9 и 2.10. Очевидно, что механизмы не могут работать независимо' их действия должны координироваться. Для синхронизации работы станков и робот необходимо наличие управляющей системы — диспетчера. Механизмы посылают дщ” петчеру сигналы о своем рабочем состоянии, как то: “операция выполнена”, “робот бло- кирован”, “станок готов к получению новой детали” и т. д. Диспетчер определяет соот- ветствующие управляющие воздействия для наиболее эффективного использования станков и робота, одновременно пытаясь избежать конфликтных ситуаций типа дли- тельного простоя станков или взаимных блокировок. Регулирование с обратной связью рассматривается в главе 6, управление после- довательностью событий — в главе 7, а системная интеграция обсуждается в главе 12 Концепция координированного управления общими ресурсами системы (в рассмот- ренном выше примере — это робот) изложена в главе 10. 2.2.6. Критичные по времени процессы Многие процессы требуют высокого быстродействия системы управления. Рас- смотрим, например, регулирование скорости прокатного стана. Работу различных двигателей и механизмов прокатного стана необходимо синхронизировать с высокой точностью, в противном случае стальная полоса может либо порваться, либо значи- тельно погнуться. Идея управления заключается в некотором ослаблении натяже- ния стальной полосы в течение всего процесса. Высокая скорость движения полосы (10-100 м/с) обусловливает необходимость распознать изменение скорости любого двигателя в пределах нескольких миллисекунд с последующей коррекцией скорости других двигателей. Разумеется, это предъявляет весьма высокие требования к быст- родействию управляющего компьютера. 2.2.7. Свойства процессов, усложняющие управление Уровень сложности системы управления определяется, в первую очередь, свои ствами управляемого процесса. Среди прочих проблем, усложняющих управлений наибольшее влияние оказывают: - нелинейность процесса; - изменяющаяся внешняя среда; - изменение условий самого процесса; - значительные временные задержки; - внутренние связи процесса. Практически все физические процессы по своей природе нелинейны. ФактичесИ1’ линейные соотношения в большинстве случаев представляют собой искусствен!^ 2 2. проц“с^- ьного положения вещей. Например, зависимость между силой реак- упрошеиие Реа пруЖины в механических системах очень часто нелинейна, т. е. ции и УдЛИН^ие пруЖины увеличивается в два раза — сила реакции не удваивается, если удлинен 0КОрОСть протекания реакции в большинстве химических процес- а растет ыст^ от температуры. При некоторой рабочей температуре измене- СОВнелине несколько градусов вызывает изменение скорости реакции. Это, ние последив такое же изменение при другой рабочей температуре приве- ллнако, не ОЗНачас , К ТОЧНО такому же изменению скорости реакции. Д Тем не менее, благодаря своей простоте - по крайней мере, по сравнению с нели- “ е”м ппедставлением — линейные модели позволяют создавать удобные аппрок- симации физических систем. Линейные и нелинейные модели рассматриваются в главе 3. Важный вид нелинейности - насыщение магнитных материалов электрических машин. Намагничивание якоря является функцией не одной переменной, а зависит от “истории” двигателя, т. е. состояний, предшествовавших текущему режиму, — эффект гистерезиса. Разгон электрического двигателя от нулевой скорости до поло- вины номинальной не то же самое, что снижение скорости от номинальной до ее по- ловины. При проектировании системы управления такие факторы необходимо учи- тывать. Нелинейность встречается не только в физических процессах, но и в их интерфей- се с компьютером, т. е. в датчиках и исполнительных механизмах. Типичный при- мер — переключающий клапан: он может быть либо полностью открыт, либо полнос- тью закрыт. Компьютер способен на основе сложных вычислений определить, что оптимальный входной поток для процесса составляет 46 или 107 % от значения, со- ответствующего полному открытию, но реально для клапана возможны лишь два значения 0 или 100 %. Кроме того, быстро изменяющиеся сигналы управления могут вызвать износ клапана, поэтому их необходимо избегать. Меняющиеся условия внешней среды проявляются, например, в динамике само- лета. Самолет ведет себя по-разному на малых и больших высотах из-за разницы в плотности воздуха. Реакция на движение закрылков проявляется сильнее на низких высотах, где воздух более плотный. Поэтому автопилот должен учитывать высоту наряду с десятками других факторов, чтобы управлять самолетом при изменяющих- ся условиях. Поведение парового котла представляет собой пример процесса с изменяющей- личнааМИК°й’ ^З'за внутренних нелинейностей динамика котла существенно раз- метровПРИ МалЬ1х и больших уровнях мощности. Это означает, что настройки пара- момент Ре^лят°Ра Должны зависеть от уровня мощности, на котором в данный нить в Ра °Тает котел- Рабочие параметры как функцию мощности можно сохра- еНтом у™"6 Та^ЛИцьН такой метод называется табличным управлением коэффици- пРеДстаЗДЬ1ВаНИе сигналов или наличие зон нечувствительности (мертвых зон) ФУнкцио ЯеТ С°б0Й сеРьезнУю проблему для управления. Из-за этого регулятор Вать лож НИРУеТ На основе устаревших данных, вплоть до того, что он может выда- r°Pbie п ЬЮ КОмандьт- Запаздывания всегда присутствуют в тех процессах, где неко- к°Нцецт РаМетРЬ1 нельзя измерить непосредственно. Например, при регулировании Рации Жидкости ее величина измеряется в нижнем сечении трубы и затем
58 Глава 2. Особенности цифрового управления процесса^ 2 з Особенности систем цифрового управления 59 передается регулирующему клапану, расположенному выше по течению. Время, тр, буемое для того, чтобы поток с новыми характеристиками достиг точки измерении приводит к запаздыванию информации, которое может вызвать неустойчивую рабо ту, т. е. осложнить достижение и поддержку требуемой концентрации. Временные за паздывания создаются не только длинными трубами. Многие типы датчиков хараа теризуются некоторым временем, необходимым для получения нового значещ измеряемой величины, что ведет к задержке системы управления и, как следствц к неустойчивости. Хорошей иллюстрацией последствий запаздывания в распространении сигнал: служит эксперимент, демонстрируемый в некоторых музеях науки и техники. Вы г ворите в микрофон и слышите собственный голос в наушниках. Если сигнал от гущ рофона поступает с задержкой более чем на несколько долей секунды, то вы быстр, сбиваетесь и прекращаете говорить. Этот пример наглядно демонстрирует неустол чивость, вызванную задержками во времени. Подобный эффект иногда встречаете при разговоре по телефону через спутник. Запаздывания такого рода осложняют раз говоры. Регулятор в системе с временными задержками должен “помнить” старые управ ляющие воздействия, т. е. он должен хранить значения выходных управляющих сиг налов и использовать их для последующих расчетов. Существуют регуляторы, спо собные компенсировать временные задержки. Они содержат модель управляемой процесса в той или иной форме и оценивают по специальным алгоритмам текущи значения тех переменных, которые нельзя измерить прямо без запаздывания. Реп ляторы этого типа анализируются в главе 6. Учет внутренних взаимосвязей добавляет массу сложностей в модель процеса даже если он в основе своей прост. Примером в этом смысле может служить задач: регулирования температуры в комнатах здания. Если открывается окно в одной к комнат, то температура меняется не только локально, но и до некоторой степени в со седних комнатах. Систему с внутренними связями, где изменение на одном из входе влияет сразу на несколько выходов, можно представить в виде блок-схемы, приве денной на рис. 2.11. входные сигналы (управление) выходные сигналы (измерения) 2.12. Задачи, решаемые компьютером при управлении процессом ресУРсов, необходимо и^л’ ВКЛЮЧая опРеДеление необходимых вычислительных Рис. 2.11. Внутренние взаимосвязи технического процесса кОц Системе т исходитьизтребований,предъявляемыхковсейтехничес- Для систем производства и передачи электрической энергии характерны больш^ 2-1)- Основное требование к системе системы управления ство из отмеченных ранее проблем. Система чрезвычайно сложна во всех смысла*' Урсы Должны соответствовать целям упоав пения и ключается в том. что ее имеет большое число составляющих, обладает нелинейной динамикой, должна рабс СТеМы. Р параметрам управляемой тать в рамках жестких временных ограничений, подвержена постоянному изменению нагрузки и внешних условий, требует очень высокой управляемости и надежности. Обеспечить круглый год без перебоев наличие в любой розетке электрической энергии с постоянными значениями напряжения и частоты далеко не просто. Эффективно уп- равлять такими большими системами можно только с помощью компьютеров. 2.3. Особенности систем цифрового управления Примеры, приведенные в разделе 2.2, отражают ряд свойств, которые необходимо учитывать в системах управления. Управляемый технический процесс представляет лишь только часть проблемы; другая ее часть — это управляющий компьютер. Систе- ма управления используется не только для регулирования и определения последова- тельности технологических операций типа описанных выше, но должна выполнять и ряд дополнительных функций, например распознавать нештатные ситуации и адек- ватно на них реагировать. Кроме того, она собирает текущие рабочие данные, рассчи- тывает статистические параметры, отображает информацию для операторов и ис- полняет их команды. Наиболее важные задачи, решаемые системой управления техническим процессом, представлены на рис. 2.12.
60 Глава 2. Особенности цифрового управления процесса^ 61 Таблица 2.1. Характеристики управляемого технического процесса, влияющие на решения по системе управления Характеристика технического процесса Соответствующие компоненты проекта системы управления Глава Масштаб времени Динамика системы, модель системы 3 Частота измерений 0 Частота управляющих воздействий 5,6 Требования к аппаратным средствам 7,8 Требования к программному обеспечению 10 Тип переменных Измерительная аппаратура, датчики 4 процесса Частота измерений о Возмущения Фильтрация 3,5 в измерениях Вид обработки Управляемость Аппаратные средства управления, 4 системы исполнительные механизмы Уровень сложности Стратегия управления, взаимосвязь 3, 6,7 системы входных и выходных сигналов Алгоритмы регулирования 3, 6,7 Требования к аппаратным средствам 7, 8 Требования к программному обеспечению 10 Операционная система, языки 10 программирования Требования к коммуникациям 9 Назначение (цель) системы Стратегия управления 6,7,12 Топология Сбор данных, коммуникации, сети, 9 информационных протоколы потоков Межпрограммный объем 10 Распределенное управление 12 Интерфейс Психологические факторы и оператора Интерфейс пользователя 7,8,9, 1 о Централизованное/ Архитектура системы распределенное Распределение ресурсов управление Надежность 12 Отображение развития процесса во времени Данные полученные в результате измерений, должны с требуемой точность# отображать динамику процесса. Особую важность при этом имеет частота выборку т. е. периодичность измерения новых данных. Ее определение обычно является не тривиальной задачей. „ Высокая частота выборки влечет за собой большую загрузку компьютера, так каК он должен обрабатывать больше данных. В ряде случаев речь может идти даже о фИ' * ----------- совь х затратах связанных со сбором данных процесса, например, при измерени- иР°вания и операционные системы для решения задач реального времени. 2 з. особенности систем цифрового управления ях концентрации, где необходимы химические реагенты. Это означает, что число из- мерений необходимо минимизировать, однако их частота должна быть достаточно высокой для обнаружения важных изменений в контролируемых параметрах про- цесса. Другими словами, должен быть найден компромисс между затратами на изме- рение и ценой последствий, к которым может привести потеря части информации об изменениях в процессе. На загрузку компьютера влияет не только частота измерений, но и сложность расчетов в промежутках между измерениями. Эта проблема будет рассмотрена бо- лее подробно в следующих главах книги. Сбор данных измерений и обработка сигналов Все сигналы измерений содержат как полезную информацию, так и помехи. Из- мерения всегда приблизительны из-за ошибок калибровки, неточности датчиков или наличия шума. Сигнал, передающийся от датчика к компьютеру через электричес- кий провод, может быть искажен электромагнитным шумом. Из повседневного опыта известно, что фильтрация сигналов и извлечение инфор- мации являются важными задачами. Если несколько человек за столом начнут гово- рить, то микрофон будет фиксировать лишь набор звуков, из которого невозможно получить полезную информацию. В то же время человеческое ухо способно “отфиль- тровать” определенные голоса среди прочих и извлечь требуемую информацию. То же самое нужно делать с измерительной информацией с помощью фильтра. Фильтр в своей основе представляет устройство, обрабатывающее поступающий сигнал и извлекающее из него информацию в соответствии с заданным критерием. Очевидно, что фильтр должен быть спроектирован таким образом, чтобы он пропус- кал полезную информацию и блокировал ненужную. Фильтры могут быть выполне- ны как по аналоговой, так и по цифровой технологии. Обе разновидности фильтров обсуждаются в главе 5. Даже если мы используем точный датчик и передаем сигнал без помех, тем не ме- нее получаемые данные могут не всегда адекватно представлять интересующие пара- метры процесса. Например, измерение уровня жидкости может быть некорректным из-за зыби, а концентрации — из-за наличия неоднородностей. Уровень сложности системы Уровень сложности технического процесса отражается на конфигурации управ- ляющего компьютера. Количество датчиков и исполнительных механизмов опреде- ляет необходимое число портов ввода/вывода и в целом требует более мощного про- цессора, большего объема оперативной и внешней памяти и т. д. Аппаратные сРедства интерфейса с техническим процессом — датчики, исполнительные механиз- мы и системные шины — описаны в главах 4 и 8. Связь между внутренними переменными процесса и его входными или выходными Данными определяет сложность программного обеспечения регулятора. Программы Реального времени гораздо труднее тестировать по сравнению с обычными, поэтому их КоД должен быть настолько хорошо структурирован, чтобы ошибки можно было выя- вИть как можно раньше. В главе 10 описывается структура программы, языки програм-
62 Глава 2. Особенности цифрового управления процессац 2 4 |У1оДельные пРимеРы 63 Топология информационных потоков Сложные системы управления и мониторинга обычно представляют собой иерар. хическую структуру на базе соединенных между собой цифровых устройств разной класса. Такой подход называется распределенным прямым цифровым управление, и обсуждается в главе 12. Организация взаимодействия между этими устройствами является центрально, задачей проектирования современных систем управления процессом. Для рацио, нального использования имеющихся ресурсов необходимо определить вид и количе- ство информации, которой обмениваются компьютеры, — информационные потоки Не все компьютеры должны получать подробную информацию об управляемом тех- ническом процессе. Особую роль играет надежность передачи информации — необ ходимо принимать такие решения, чтобы данные всегда достигали своего назначе- ния без искажения и потерь. Передача информации тесно связана со стандартизацией. Очевидно, что кабели i разъемы должны соответствовать друг другу, уровни сигналов должны быть соизме римы, а программное обеспечение должно одинаково интерпретировать передаваемы! сообщения и сигналы. Организация передачи информации между устройствами рас- смотрена в главе 9, в главе 10 обсуждаются методы межпрограммного взаимодействия Интерфейс оператора Хотя теоретически управляющая система или компьютер могут функциониро- вать без вмешательства человека, на сегодняшний день всегда необходимо взаимо- действие с оператором, который должен получать информацию и иметь возможност! вводить команды. Графические интерфейсы компьютерных терминалов становятся все более ибо лее изощренными. Современные дисплеи обладают фантастическими возможности ми отображения сложно организованных данных, включая цветовые палитры с мил лионами оттенков, разнообразную графику, даже мультипликацию и видео. Одна® все это требует больших вычислительных ресурсов, за которые программы интер фейса будут конкурировать с модулем обработки данных, и поэтому оператор моЖй получать информацию с задержкой. С другой стороны, не вся информация мо«е ждать, например, сигналы тревоги и другие важные сообщения должны отображат6 ся немедленно. Поэтому при проектировании интерфейса необходимо тщательно о? бирать информацию и сопоставлять способ отображения со степенью ее важное? в текущий момент, человеческими возможностями воспринимать и адекватно реа ровать на нее и имеющимися ресурсами. Эта тема обсуждается в главе 11. Системная интеграция и надежность управления Ключевым вопросом любой системы управления является надежность. Цифр'’ вые системы — не исключение, и, как отмечалось в разделе 1.2, эта проблема возн? ла уже в первые годы их применения. Один из основных недостатков принципа Пр мого цифрового управления - это низкая надежность. Хотя общее качесГ вычислительной техники существенно возросло с 1960-х годов, проблема надежно ти таких систем остается тем не менее одной из главных, так как центральный ком?” Ютер по-прежнему представляет собой критическую точку {single-point failure) — узел выход которого из-строя приводит к остановке всей системы. Очевидное реше- ние этой проблемы — децентрализация вычислительных ресурсов, при которой не- большие локальные вычислительные устройства управляют отдельными частями сложного процесса. Децентрализация и системная интеграция сложных систем уп- равления процессами рассматриваются в главе 12. Надежность программного обеспечения крупных систем не менее важна, чем на- дежность аппаратных средств. В январе 1990 года в течение почти 9 часов телефон- ная сеть США обеспечивала прохождение лишь около 50 % трафика. Причина зак- лючалась в невыявленной ошибке в очень сложной программе. Практический подход к повышению надежности систем предполагает, с одной стороны, применение отказоустойчивых конфигураций аппаратных средств, рас- смотренных в главе 12, а с другой — специальные методы проектирования структуры программного обеспечения, программирования и отладки, позволяющие исключить с самого начала наиболее вероятные ошибки. 2.4. Модельные примеры Системы, описанные в этом разделе, — электропривод и станция биологической очи- стки сточных вод, — будут использоваться в дальнейшем изложении в качестве приме- ров двух различных типов процесса. Эти системы существенно отличаются как масшта- бом времени, так и технической конструкцией и поэтому служат хорошей иллюстрацией многих проблем, характерных для приложений цифрового управления. 2.4.1. Модельный пример 1 — управление системой электропривода 1 акая популярность объясняется их функцией — преобразование электрической энергии, которая легко передается на расстояния, в механическую работу, без кото- рой не обходится практически ни один процесс. Электрические двигатели играют важнейшую роль в современной жизни — без них не может обойтись ни промышлен- ность, ни домашнее хозяйство. то ^Вр Г?Т6ЛИ бывают постоянного тока и однофазные или многофазные переменного ч°ка. абочий режим двигателя зависит не только от тока, но и от “истории” намагни- ле^ания’ нагРУзки, потерь на трение и т. д. Не вдаваясь в подробности теории двигате- НИя’ ДОстагочно отметить, что оптимальный режим переноса энергии, т. е. преобразова- получЛеКТРИЧеСК°й энеРгии в механическую с минимальными потерями, можно Ген111" ПОД^иРая “ину амплитуды, частоты и фазы входного напряжения. Цепей еРацияосигнала с требуемыми характеристиками осуществляется с помощью нов истСИЛ°ВОЙ электРоники- Поскольку питание можно подавать от различных ти- хость в °Ч^Иков переменного или постоянного тока, то обеспечивается большая гиб- УПрав ВЫ °Ре типа двигателя- Комбинация двигателя, силовой электроники и блока Но оНаЛпеНИЯ называется системой электропривода {electricaldrive system)-, схематич- оченьп РедСтавлена на рис. 2.13. Выпускаемые системы электропривода охватывают Ко ИР°КИЙ ДИапа30Н знач™ мощности, скорости и момента. таки иНСТРУИрОвание системы электропривода — задача как инженеров-электриков, Бенеров-механиков. Фактически для получения хороших результатов необ-
64 Глава 2. Особенности цифрового управления процесса^ 2 4 ^сдельные примеры 65 ходимо тесное взаимодействие специалистов в области электротехники, электрод ки, вычислительной техники, управления и, конечно, в области конкретных прид0 жений (например, транспорта или робототехники). Рис. 2.13. Главные элементы системы электропривода В этой книге система электропривода служит для иллюстрации ситуаций, когда необходимы очень быстрые управляющие воздействия. 2.4.2. Модельный пример 2 — биологическая очистка сточных вод (процесс активированного отстоя) В современном обществе потребляется большое количество воды, поэтому пере- работка сточных вод становится одной из главных природоохранных задач. Для уничтожения или снижения количества содержащихся в них загрязнений сточные воды можно перерабатывать механическими, химическими и биологическими мето- дами — на большинстве современных предприятий по переработке сточных вод все они используются одновременно. Ниже мы кратко рассмотрим управление биологи- ческим процессом, получившим широкое распространение для переработки как про- мышленных, так и бытовых сточных вод. Процесс активированного отстоя (activatedsludge process') заключается в том, что взвешенные в аэраторе микроорганизмы взаимодействуют с органическими веще- ствами, содержащимися в сточных водах, и растворенным кислородом (Dissolvei Oxygen — DO). В результате этого процесса увеличивается масса микроорганизмов» вырабатывается двуокись углерода и вода. Другими словами, микроорганизмы раз- множаются, питаясь органическими компонентами сточных вод, и высвобождаю1 двуокись углерода и воду. Установка для переработки сточных вод содержит две основные части — аэратор и устройство осаждения (рис. 2.14). Аэратор представляет собой биологический ре актор, содержащий микроорганизмы, — в нем происходит реакция со сточными во дами и кислородом воздуха. В устройстве осаждения активированный отстой, состо ящий из живых или погибших организмов и другой инертной массы, отделяется о1 остальной жидкости. Часть концентрированного отстоя регенерируется и снова по ступает в аэратор для того, чтобы поддерживать массу живых микроорганизмов процессе постоянной; соотношение между объемом сточных вод и массой микроор ганизмов должно сохраняться в определенной пропорции. Остальной отстой удалЯ' ется из устройства осаждения для последующего захоронения. Выход процесса - к0' ток очищенной воды и концентрированный отстой - менее опасны для окружающей среды и легче перерабатываются, чем неочищенные сточные воды. Временной масштаб биологического процесса обычно составляет величину по' дка часов или дней и поэтому не является ограничением для управляющего коМ' ьЮтера. Это совсем не означает, что биологическими процессами управлять проще, поскольку в этой области существуют свои проблемы. Состав и концентрация неочи- щенных сточных вод обычно неизвестны. Концентрация отходов иногда бывает на- столько мала, что ее очень трудно измерить — даже самая загрязненная вода на 99 95 % состоит из воды! Однако даже малые концентрации отходов опасны для ок- ружающей среды, так как могут накапливаться в живых организмах. Рис. 2.14. Процесс активированного отстоя при переработке сточных вод В биологическом реакторе существует очень много видов микроорганизмов, но лишь немногие из них действительно известны и исследованы. Между популяциями микроорганизмов существует борьба, и если одна разновидность обгоняет в разви- тии другую, то это оказывает влияние на баланс процесса, меняя его динамику и про- изводительность. Концентрация растворенного кислорода, вид субстрата и загрязне- ний, величина pH, температура — вот лишь некоторые из факторов, влияющих на скорость роста микроорганизмов. Для обогащения среды аэратора кислородом необходимо закачивать в него воздух, асход воздуха, влияющий на эффективность всего процесса, имеет первостепенное значение. Если концентрация растворенного кислорода опускается ниже определен- ого минимального значения (в диапазоне 1-2 мг/л), микроорганизмы будут не в со- з оянии перерабатывать (“поедать”) загрязнения с нормальной скоростью и процесс ^ед-лится. С другой стороны, нагнетание воздуха требует много энергии. Концентра- те Я РаствоРенного кислорода определяет вид доминирующих организмов и, следова- льно, влияет на процесс очистки сточных вод от загрязнений. зить Р°Ме Т0Г0’сточные воды МОГУТ Содержать токсичные вещества, способные затормо- п Ь Р°СТ НекотоРых микроорганизмов или даже убить их. С точки зрения управления вь1бЦеСС°М ЭТ° 03начает> что в зависимости от изменения условий работы необходимо ирать новые виды управляющих воздействий. Поэтому для определения текущего Тояния процесса должны применяться специальные методы оценки. с о главе 3 рассмотрены простые модели для описания динамики биологических истем. Проблемы организации измерений обсуждаются в главе 4, а в главе 6 — схе- bI Управления. Зак 1021
66 Глава 2. Особенности цифрового управления процессами 2.5. Заключение Для задач управления в режиме реального времени нельзя применять обычные методы программирования из-за особенностей, присущих этому режиму, в частно- сти: - система реального времени содержит не одну, а несколько программ, каждая из которых отвечает за решение определенной задачи; - порядок выполнения операторов программы реального времени нельзя опреде- лить заранее; - порядок исполнения может быть изменен внешними сигналами (прерывания- ми). Цифровая ВТ применяется как для управления последовательностью операций, так и для управления с обратной связью. Во многих системах эти методы использу- ются совместно. Конфигурация аппаратных средств зависит от многих факторов, от количества и вида входных и выходных сигналов технического процесса, количества и типа датчиков и исполнительных механизмов, динамики процесса и его внутрен- них связей и алгоритмов регулирования. Управляющая система должна постоянно проверять правильность функционирования технического процесса; в связи с этим особую важность имеет координация отдельных специализированных задач. Организация обмена данными представляет собой центральную задачу систем управления процессами. Под этим понимается взаимодействие между вычислитель- ной системой и физическим процессом, межпрограммный обмен данными, как ло- кально, так и в распределенной среде, и интерфейс пользователя. Рекомендации по дальнейшему чтению Пример с прессом для пластика из раздела 2.1 взят из [Hassel/Tuvstedt, 1978]. Надежность программного обеспечения — тема статьи [Littlewood/Strigini, 1992]. Авария телефонной сети США в январе 1990 года широко освещалась в прессе, на- пример [Newsweek, 1990]. Журналы Список специализированных журналов, которые заполняют вакуум между тео- рией и практикой управления и автоматизации, гораздо короче, чем хотелось бы. Журналы Control Engineering и ISA Journal, издаваемые Instrument Society °! America, посвящены новым разработкам в области автоматического управления, в первую очередь их практическому применению и проблемам эксплуатации. Инте- ресные статьи по промышленной автоматизации можно найти также в Chemica1 Engineering и IEEE Spectrum. Серьезные научные статьи — хотя иногда слишком аб- страктные и теоретизированные для обычных практических приложений — публи- куются в Automatica, IEEE Transactions on Systems, Man and Cybernetics, IEEE Transactions on Industry Applications, IEEE Transactions on Robotics and Automation И IEEE Transactions on Power Systems. Существуют два хороших немецких журнала — at (Automatisierungstechnik) и atp ( Automatisierungstechnische Praxis), выпускаемые издательством Oldenbourg в Мюн- хене (Германия). 2 Описание и моделирование систем Основные принципы моделирования. Анализ технических процессов с помощью моделей Обзор Описание системы — ее модель — содержит концентрированные знания о физи- ческом/техническом процессе. Модель процесса необходима для того, чтобы уп- равляющая система могла выдавать соответствующие команды на базе собранных измерений. Модель позволяет оценить, как техническая система будет реагировать на конкретное управляющее воздействие или внешнее возмущение и какое управ- ляющее воздействие необходимо, чтобы достичь определенного состояния систе- мы. Модели необходимы не всегда — для простых задач типа управления заслонкой для наполнения бака жидкостью или включения лампочки при наступлении темно- ты они просто излишни. Другие задачи управления являются более сложными, и для их решения необходима тщательно разработанная количественная модель. На- пример, точная модель динамики и траекторий движения обязательна в робототех- нике. Основные принципы динамических моделей сформулированы в разделе 3.1. Су- ществуют два основных способа разработки моделей — на основе физических прин- ципов и на основе экспериментальных данных (результатов измерений). Некоторые примеры применения этих подходов даны в разделе 3.2, а в разделе 3.3 приведены общие методы описания динамики непрерывных систем — в виде уравнений состоя- ния и в виде отношения вход/выход. Дискретная модель системы — фундамент циф- рового управления; основные принципы построения дискретных моделей изложены в разделе 3.4. Если данные измерений используются в контексте знаний о системе, то можно Рассчитать переменные процесса, которые не удается измерить. Процедура расчета или оценки значений переменных состояния есть следствие одной из основных ха- рактеристик системы, которая называется наблюдаемостью. Наблюдаемость — это оценка, дает ли имеющийся набор измерений адекватную информацию о системе. Другая характеристика системы — управляемость, которая показывает, достаточно ли параметров системы, на которую могут влиять исполнительные механизмы, для Управления процессом нужным образом. Наблюдаемость и управляемость рассмат- риваются в разделе 3.5. С моделированием процессов всегда связаны некоторые неопределенности; иног- да их удается описать, что упрощает ситуацию. В разделе 3.6 рассмотрено описание ^определенностей с использованием статистических терминов и лингвистических Сражений (в частности, средствами нечеткой логики). Общие принципы анализа последовательностных сетей, широко используемых в Управлении процессами, рассматриваются в разделе 3.7.
s.1 Додели, применяемые в управлении 69 68 Глава 3. Описание и моделирование систем Модели играют важную роль в технологии измерений (глава 4), обработке сигцд. лов (глава 5), алгоритмах управления (глава 6) и последовательностном управления (глава 7). Необходимое замечание относительно употребления — и злоупотребления — тер. мином “система”. Это одно из тех общих слов, которые в зависимости от контекста об0. значают или все, или ничего. Эта глава в основном посвящена методам анализа и опи- сания физических систем, т. е. процессов, которые являются объектами управления Глава 12 также посвящена системам, но в более широком смысле — как связать техни- ческий процесс с управляющим механизмом, чтобы получить желаемый результат. Поэтому термин “система” в главе 12 есть более сложное понятие, чем здесь. В этой главе показаны способы описания и анализа систем в смысле физических процессов, т. е. объектов управления, а в главе 12 излагаются подходы к проектированию систем в смысле совокупности решений, нацеленных на получение заданного результата. 3.1. Модели, применяемые в управлении Модель процесса — основа управления. Любая стратегия управления базируется на некотором понимании того, как физический процесс реагирует на входной сигнал. Поэтому умение анализировать и моделировать динамику системы является основ- ной предпосылкой для успешного управления. 3.1.1. Типы моделей Существует много способов описания систем с помощью моделей. Конкретный выбор зависит от предварительно имеющейся информации, возможностей собирать данные о процессе по мере его развития и, что важнее всего, от цели моделирования. В отличие от науки, где целью моделирования является глубокое проникновение в суть системы, модель в инженерном смысле считается адекватной, если соответ- ствующие процессы управления работают предсказуемым образом, т. е. имеется ус тойчивый выход с малыми отклонениями от заданного значения, воспроизводимость отклика на входной сигнал и т. д. ПримерЗ.1 Модель двигателя внутреннего сгорания Двигатель внутреннего сгорания — чрезвычайно сложная динамическая система. Общей модели двигателя не существует, и модель фактически зави сит от поставленной цели, т. е. для разных целей модели могут существенно отличаться. Научная модель, цель которой — описать все детали процесса внутренне го сгорания должна учитывать геометрию цилиндра, смешивание воздуха и топлива в цилиндре, химический состав топлива, распространение процесса горения в пространстве и времени и результирующие силы, которые приво- дят поршень в движение. Масштаб времени при этом измеряется миллисе- кундами. Модель для конструирования системы управления составом горючей сме- си будет использовать другой подход. Цель здесь - сохранить отношение воз- дух/топливо в смеси близким к расчетному оптимуму. При этом нет необходи- мости учитывать распространение процесса горения в пространстве - для уп- равления вполне достаточно знать расход воздуха и топлива по отдельности. Кроме того, масштаб времени отличается от миллисекундного диапазона на- учной модели и может быть в 10-100 раз больше. Совершенно другая модель нужна водителю. Важнее всего в этом случае — связь между давлением на педаль газа и ускорением автомобиля, а деталями горения или процессом смешивания воздуха и топлива можно пренебречь. Прикладное управление ориентировано на динамические системы, т. е. системы, состояние которых можно смоделировать заранее и которыми можно управлять с по- мощью соответствующих сигналов. В динамических системах эффект от входного воздействия проявляется не сразу, а лишь спустя некоторое время. Существует мно- го способов моделирования динамических систем, наиболее важные из которых сле- дующие. • Непрерывное во времени (аналоговое) описание (continuous time description). Система описывается линейными или нелинейными дифференциальными урав- нениями баланса массы, энергии, сил или моментов. Во многих случаях нелиней- ные уравнения можно линеаризовать и тем самым упростить работу с ними. • Дискретное во времени описание (sampled time description). Физические свойства описываются линейными или нелинейными разностными уравнениями. Такой подход означает, что информация о системе доступна только в определенные, диск- ретные, моменты времени. Этот тип описания в действительности почти неизбежен при цифровом управлении потому, что компьютеры, базирующиеся на наиболее распространенной архитектуре фон Неймана (von Neumann), выполняют инструк- ции последовательно. Определение интервала дискретизации, т. е. периодичности обновления или пересчета данных, является наиболее важным элементом такого моделирования. Модели систем, основанных на дискретных событиях (discrete events model) или на последовательности событий (sequencing system). Пример управления после- довательностью событий был приведен в разделе 2.2.1. При таком описании вход- ie и выходные величины системы дискретны во времени и обычно являются би- нарными сигналами типа “включено/выключено”. Многие системы управления последовательностью можно описать как системы очередей и моделировать так азываемыми Маковскими цепями или марковскими процессами. одели систем с неопределенностями (system with uncertainties). Как на сами уп- В0ВЛЯемые системы, так и на измерения часто влияют нежелательные шумы и ЦргМУЩенИЯ- В одних случаях возмущения и неполные знания о техническом про- но Де М0ЖН0 интерпретировать статистически. В других - факторы неопределен- и вместо количественных характеристик можно описывать лингвистически- с и и логическими выражениями. Пример такого описания - правила экспертных тем если-то-иначе”. Еще одно средство описания неопределенностей - так зываемая нечеткая (fuzzy) алгебра. ПЫ °бЬ1ЧН°е заблУждение заключается в предположении, что процесс можно исчер- ак>ще описать только одной моделью. В действительности верно обратное.
70 Глава 3. Описание и моделирование систем 71 Структура и сложность модели должны соответствовать цели, моделирования, по- этому выбор модели процесса зависит от того, как она будет использоваться. ДЛ51 каждого типа регуляторов также требуется своя модель. Наиболее приемлемой явдя. ется простейшая из возможных моделей, которая обеспечивает управление, удовлет- воряющее заданному критерию качества. Системы и процессы можно рассматривать в терминах входных и выходных сигна- лов, связь между которыми описывается как во временной, так и в частотной областях (раздел 3.2.2). 3.1.2. Масштаб времени динамических моделей Масштаб времени — одна из наиболее важных характеристик динамического процесса. Большинство технических систем и производств включают в себя не- сколько процессов, существенно отличающихся временем реакции. Поэтому при описании процесса важно выбрать масштаб времени, который соответствует по- ставленной цели. Проиллюстрируем это на примере промышленного производства. Задачи управ- ления можно разбить на несколько уровней (раздел 9.6.1). События на уровне стан- ков происходят за доли секунды, как, например, при управлении манипулятором робота или инструментом станка. На следующем, более высоком уровне управле- ния, на уровне участка, цель — синхронизация различных механизмов, например решение, когда робот должен переместить деталь между двумя станками. Масштаб времени здесь уже имеет порядок от секунд до минут. На уровне участка предпола- гается, что задача управления конкретным станком уже решена на более низком уровне. Масштаб времени на уровне участка определяется задачами снабжения станка заготовками, определения, свободен ли робот, чтобы захватить новую де- таль, и т. д. На еще более высоком уровне планируется производство в целом, т. е. что производить и с какими конкретными характеристиками. Решение таких про- блем может занимать дни или недели, и по сравнению с этим динамика одного стан- ка рассматривается как одномоментная. Другой пример различных масштабов времени в рамках одного и того же техни- ческого процесса — из области биологической очистки сточных вод. Сжатый воздух подается в аэраторный бак для поддержания жизнедеятельности аэробных микроор- ганизмов, которым нужен кислород; эта операция занимает несколько минут. Из-за неоднородности входного потока воды изменение концентрации растворенного кис лорода проявляется только через несколько часов, а для изменения метаболизма микроорганизмов нужны дни или даже недели. При изучении недельных изменении метаболизма процессы длительностью в несколько часов можно рассматривать как мгновенные. С другой стороны, для управления подачей воздуха необходимо изме рять концентрацию растворенного кислорода ежеминутно, и в этом случае состав микроорганизмов и их концентрация считаются постоянными. Выбор масштаба времени модели зависит от того, для кого она предназначена, т. е. от пользователя, в качестве которого может выступать, в частности, и автома- тический регулятор. Оператор может проверить состояние технического процесса и принять управляющие решения за минуты и часы. Инженерная служба или отдел логистики могут быть заинтересованы только в дневной производительности илП суточных изменениях процесса, и поэтому им нужна другая временная шкала. На- 2 1 МоДели’ применяемые в управлении конец, директора завода интересуют, в первую очередь, объем производства и се- зонные колебания спроса. Каждый подход и каждая реакция имеют свой собствен- ный масштаб времени. 3 1.3. Моделирование динамических систем Существуют как хорошо известные и давно изученные процессы, так и процессы, о которых известно очень мало и которые трудно поддаются количественному описа- нию. Например, динамика самолетов и ядерных реакторов изучалась очень тщатель- но и существуют достаточно точные, хотя и очень сложные модели этих процессов. Есть процессы, которые трудно описать количественно. Например, лабораторный процесс ферментации микроорганизмов одного типа в четко определенной питатель- ной среде можно описать весьма точно. В отличие от этого, процесс биологической очистки сточных вод содержит сложную смесь организмов в среде, трудно поддаю- щейся описанию. Такой процесс только частично можно описать обычными количест- венными моделями. Когда количественных моделей недостаточно или они слишком сложны, для описания процессов применяют семантические (лингвистические) мо- дели. Другие примеры частично изученных процессов — производство металла, раз- деление жидких и твердых субстанций, многие биохимические процессы и работа печей кругового обжига. Для процессов, параметры которых изменяются во времени, характерны свои спе- цифические проблемы. Например, в биологической системе добавление нового суб- страта в процесс может вызвать мутацию микроорганизмов, которая приведет к зна- чительному изменению динамики всего процесса. Как правило, моделирование сложной системы представляет собой трудный, до- рогой и требующий много времени процесс, особенно если необходима эксперимен- тальная проверка. В принципе, существуют два способа разработки модели. При фи- зическом подходе модель формируется исходя из физических соотношений и уравнений баланса. Этот метод проиллюстрирован простыми примерами в разде- ле • • Другой способ построения динамической модели основан на эксперименталь- ных данных. В технический процесс вносятся возмущения в виде различных типов ^ходных сигналов, а затем выполняется анализ серий входных и выходных данных fc/en£y,I4bI0 Пр°цеДУРЬ1' К0Т0Рая называется идентификацией параметров (parameter Став lJlca^°n). Если анализ выполняется в реальном времени, т. е. со скоростью, сопо- ВИМ°И С° СКОРОСТЬЮ протекания процесса, то такая процедура называется рекур- сивной оценкой (recursive estimation). и идеа Пр^Ктике обычно применяется комбинирование физического моделирования цессаНТИФИКаЦИИ паРаметРов- При более глубоком изучении основных свойств про- пр01це полУчить точное динамическое описание. Однако даже тща- разРаботанные модели, основанные на физическом подходе, требуют экспе- нтальной проверки. в пРоаРаМеТрЫ многих процессов и систем изменяются не только во времени, но и систеСТРаНСТВе’ напримеР концентрация жидкости в баке. Физический баланс таких пРоц М Описывается Уравнениями в частных производных. В системах управления ПросеССаМИ ЭТИ УРавнения обычно аппроксимируются конечными разностями по М11 Транственным переменным для того, чтобы система описывалась обыкновенны- дифференциальными уравнениями.
73 72 Глава 3. Описание и моделирование систе^ 3.1.4. Моделирование дискретных событий Моделирование систем, основанных на последовательности дискретных собц. тий, принципиально отличается от моделирования динамических систем с помощью математических соотношений. Для управления на основе обратной связи температу. рой, уровнем жидкости или давлением модель процесса фактически не нужна В этом случае значение контролируемого параметра поддерживается на заданном уровне с определенной точностью с помощью включения и выключения исполни- тельного механизма. Связной теории для моделирования управления последовательностью пока нет При бинарном управлении уже на стадии анализа системы должны быть рассмотре- ны все возможные нештатные и аварийные ситуации. Что будет, если сломается на- сос либо датчики или отключится питание и т. д.? Подготовка исчерпывающего списка всех возможных событий в системе — сложная задача, которую нельзя решить на основе систематической теории. Для участка, описываемого в разделе 3.7, на котором станки обслуживаются ро- ботом, необходима модель синхронизации. Эта задача принципиально отличается от простого управления на основе обратной связи. Синхронизация должна был корректной в том смысле, что определенные детали должны быть доставлены кон- кретному станку в соответствующее время и в соответствующем порядке. Эта зада- ча имеет много общего с операционной системой, которая управляет ресурсам ЭВМ; в определенных случаях для решения таких задач можно использовать тео- рию очередей. 3.2. Основы моделирования динамических систем Физический подход к моделированию динамических систем основан на уравнениях баланса сил, массы, энергии и моментов. В этом разделе на простых примерах рассмотре- ны некоторые общие принципы моделирования динамических систем. 3.2.1. Механические системы Краеугольным камнем динамической модели любой механической системы явля- ется второй закон Ньютона. Для применения закона Ньютона необходимо задать некоторую систему отсчета- относительно которой будут определяться положение, скорость и ускорение. Пусть вектор F — сумма всех сил, действующих на тело, т — масса тела, а вектор z характе- ризует его положение. Ускорение а — вектор с тем же направлением, что и вектор г Уравнение баланса сил имеет вид <f2z F = OT.a = «--^ В действительности Ньютон сформулировал свое утверждение относительно им- пульса т v следующим образом d z р = — (т v) Основы моделирования динамических систем _____——•-- Второй закон Ньютона можно записать как систему дифференциальных уравне- ний первого порядка, в форме так называемых уравнений состояния (раздел 3.3.2). При прямолинейном движении координата z и скорость v выражаются как скаляры dz — = v dt dv F dt m Более общая форма уравнений динамики — это уравнения Лагранжа. Пример 3.2 Механическая система с пружиной и амортизатором Многие механические системы аналогичны показанной на рис. 3.1. Тело массы т связано с неподвижной стеной пружиной и амортизатором. Сила ре- акции пружины пропорциональна ее относительному растяжению, а сопро- тивление амортизатора — скорости тела. Рис. 3.1. Закон Ньютона для прямолинейного движения Закон Ньютона в этом случае записывается в виде d2z dz т = — Ъ — dt - k- z + F dr dt После простых преобразований получим d2z b dz k F —— +-----— + — z — — ___ dr m at m m нИзмРаВНеНИе И3 пРимеРа 3-2 можно использовать для описания многих сервомеха- фи ов. Качественно решение уравнения зависит от относительной величины коэф- ет Циентов b,k и т. При малом коэффициенте демпфирования b уравнение описыва- к°лебательный процесс, а при больших значениях b колебания отсутствуют.
Глава 3. Описание и моделирование сист^ 3.2 Основы моделирования динамических систем 75 Системы такого рода часто характеризуются относительным демпфированием, час. тотой собственных колебаний, шириной полосы пропускания и коэффициентом уС1) ления. Закон Ньютона для систем вращения имеет вид dUm) т dt где Т — сумма всех моментов, действующих на тело, J — момент инерции и (D — угло- вая скорость (рис. 3.2). Часто J — непостоянная величина, например, при работе пр0. мышленного робота или прокатного стана, и нужно учитывать его зависимость щ времени. Рис. 3.2. Закон Ньютона для вращения Если ввести понятие угла поворота £, то динамику вращения можно описать в фор ме уравнений состояния. При этом полагают, что известно направление вращения 8 что величина J постоянна. Тогда дифференциальные уравнения записываются в вида dz — = CD dt и б/CD Т ~dt=~J нагрузки также зависит от турбулентности жидкости и пропорционален квад- рату скорости — d2 со2, где параметр d2 зависит от условий работы. Рис. 3.3. Момент двигателя как функция угловой скорости В итоге полный момент сопротивления нагрузки можно представить сум- мой упомянутых моментов и момента внешней нагрузки TLq. TL = d0- sign(cD) + d{ • cd + d2 • cd2 + TL0 Функция sign(co) принимает значение +1 для положительного аргумента cd и -1 — для отрицательного и используется для обозначения направления. Общий баланс моментов ротора dW т _т dt m L где полный момент инерции двигателя и нагрузки. Пример 3.3 __________ _ Момент электрического двигателя Электрический двигатель связан с нагрузкой жестким валом. Результиру- ющий момент Г — разность между вращающим моментом Тт и моментом со- противления нагрузки TL. Момент двигателя Тт является функцией тока рото- ра, магнитного потока и, в некоторых типах двигателей, угловой скорости И угла поворота. Ток зависит от переходного процесса в цепи ротора. Момент сопротивления нагрузки TL также зависит от многих факторов. Кулоновское трение вызывает момент d0, который зависит не от скорости, а только от направления вращения и действует всегда против него (рис. 3.3). В некоторых системах есть вязкое сопротивление с моментом dx со, характе- ризующееся параметром dv В компрессоре или насосе момент сопротивления за Ромышленный робот — это сложная механическая система, состоящая из свя- ных жестких рычагов. Описание динамики движения манипулятора робота бази- зако^ Законах Ньютона. Уравнения Лагранжа являются обобщенной формой крьтд13 Ьютойа- Существуют деформируемые механические системы, например Ния-Л° самолета> ПРИ Движении которых могут появляться нежелательные колеба- > такие динамические системы, вообще говоря, очень сложны для управления. 3-2.2. Электромагнитные цепи новДИНаМИКа большинства электромагнитных цепей определяется несколькими ос- ТОКНЫМИ законами- Законы Кирхгоффа описывают связь между напряжениями и Ве аМИ в электрической цепи. Электрические цепи образуются ветвями и узлами. Вь {branch) определяется как проводник или элемент с двумя концами. Элемент
3. ^Основы моделироун»«^1»»ШИУеских систе м 77 76 Глава 3. Описание и моделирование систем ветви может быть пассивным, т. е. сохраняющим или потребляющим ток, или актив, ным, т. е. генерирующим напряжение или ток. Узел (node) — это точка, в которой соединяются три или более ветвей. В узле ток может иметь более чем один путь. Закон Кирхгоффа для тока утверждает, что сумма всех токов в любом узле равна нулю а закон Кирхгоффа для напряжений — сумма падений напряжения по любому замкнутому контуру равна нулю Закон Кирхгоффа для напряжений есть следствие принципа сохранения энергии. При записи баланса напряжений можно идти вокруг замкнутого контура в любом направлении и суммировать падения напряжения при условии, что каждый элемент учитывается только один раз. Основы электромагнитной теории сформулированы в уравнениях Максвелла. С точки зрения динамических систем имеется два элемента с зависимым от времени состоянием: конденсатор — для накопления электрического заряда и индуктив- ность — для накопления энергии магнитного поля. Конденсатор в цепи накапливает электрический заряд, т. е. энергия сохраняется в электрическом поле. Ток, текущий через конденсатор, пропорционален производ- ной от напряжения на конденсаторе по времени dv г = С — dt где С — емкость конденсатора. Пример 3.4 Простая резистивно-емкостная цепь Рассмотрим простую резистивно-емкостную (RC) цепь (рис. 3.4) и про- анализируем зависимость напряжения на конденсаторе от напряжения ис- точника. R О----------CZJ------------------о о, С =1= v0 О-------------------------------О Рис. 3.4. Пассивный низкочастотный ЯС-фильтр первого порядка Закон Кирхгоффа для напряжений цепи дает Vj — R • i ~ vr> = О где R — активное сопротивление, а — напряжение на конденсаторе, опреде- юе уравнением ^0 = 1 dt С После исключения тока i из дифференциального уравнения, имеем <fo,. я-с.^ = _Оо + Ог Это дифференциальное уравнение первого порядка характеризуется пей стоянкой времени (time constant) Если начальное напряжение на конденсаторе равно нулю, то скачок входного напряжения v- вызовет экспоненциальный рост напряжения на конденсаторе »о(0 = ог(1- е~1/Т) На рис. 3.5 показаны переходные процессы (transient response) в 7?С-цепи для различных значений постоянной времени — с ростом Т реакция процесса замедляется. Рис. 3.5. Изменение напряжения на конденсаторе в 2?С-цепи при скачке входного напряжения для различных значений постоянной времени Т== R С В электронике и технике связи обычной практикой анализа систем являет- ся использование синусоидального входного сигнала. Предположим, что вход- ное напряжение цепи имеет вид of(0 = Кг - sin(cor) где Vi ~ максимальное значение амплитуды. Выходное напряжение на конден- саторе через некоторое время также станет синусоидальным.
78 Глава 3. Описание и моделирование систем Выходной сигнал имеет такую же частоту, что и входной, но другие ампли- туду и фазу: v0(t) = ' sin(cot - ср) где Vo= Vt/у/1 + (со - R С)^ и ср = arctg(o) R- С). С ростом частоты амплитуда выходного напряжения падает и все больше и больше отстает по фазе. Цепь с такими свойствами называется низкочастот- ным фильтром (low-pass filter), поскольку она пропускает низкие, но гасит вы- сокие частоты. Приведенный пример иллюстрирует два основных метода описания линейных сис- тем — во временной области (time-domain) и в частотной области (frequency- domain). Анализ во временной области рассматривает поведение системы во време- ни, т. е. зависимость от времени ее реакции на конкретный входной сигнал — скачок. Частотный анализ исследует поведение системы под воздействием внешних возму- щений различной частоты. При изменении магнитного поля во времени возникает электрическое поле. Это — закон Фарадея (закон электромагнитной индукции), который описывается одним из уравнений Максвелла. В соответствии с законом индукции напряжениее- э.д.с. индукции, — наведенное на концах идеальной катушки, т. е. катушки без актив- ного сопротивления, равно № ----== е dt где ф — потокосцепление витков катушки (потокосцепление — это произведение магнитного потока Ф через один виток на число витков N). Потокосцепление катуш- ки с током I и индуктивностью L W = LI Другими словами, в катушке (индуктивности) энергия сохраняется в магнитно# поле. Дифференциальные уравнения для емкости и индуктивности представляют со- бой основу для описания электромагнитных цепей. Другие отношения можно полу- чить из этих основных уравнений с помощью алгебраических преобразований. Соот ношение между магнитной индукцией В и напряженностью магнитного поля Р определяется свойствами среды В = р-Н где ц — магнитная проницаемость материала. В ферромагнитных материалах проницаемость непостоянна и для больших значе ний Н величина магнитного потока Ф, пропорциональная магнитной индукции # будет достигать насыщения. Связь между магнитным потоком и током, создающий напряженность магнитного поля, показана на рис. 3.6.
2 Qr^HQBbi моделирования динамических-еистем 79 Рис. 3.6. Простая магнитная цепь (а); типовая кривая намагничивания без гистерезиса (б) Часто при описании магнитных цепей необходимо учитывать явление гистерези- са, из-за которого магнитная индукция не только функция тока, но и зависит от пре- дыстории намагничивания. Пример 3.5 Двигатель постоянного тока с независимым возбуждением Двигатель постоянного тока (d.c. motor) преобразует электрическую энер- гию в механическую в виде вращающего момента (рис. 3.7). питание цепи возбуждения статора -----------о о---------------- статор магнитный поток ротор Рис. 3.7. Схема двигателя постоянного тока В двигателе существуют два магнитных поля. Поле статора создается или п°стоянным магнитом, или электромагнитом; последний должен быть соеди-
80 Глава 3. Описание и моделирование сист^ нен с отдельным источником напряжения. Для простоты будем здесь полагать, что поле статора постоянно во времени. Магнитное поле ротора возникает при подаче напряжения в цепь ротора. Обмотки размещаются таким образом, что поле ротора всегда перпендику- лярно полю статора. Известно, что если два магнитных поля расположены под углом друг относительно друга, то возникает момент, который стремится сде- лать их параллельными. Это принцип работы стрелки компаса — если стрелка не параллельна линиям магнитного поля Земли, то она поворачивается, пока не установится параллельно. Ротор под воздействием возникшего момента по- ворачивается, и его обмотки механически переключаются коммутатором, что приводит к изменению направления поля ротора. Таким образом, в результате ориентация поля ротора в пространстве всегда одинакова и перпендикулярна по отношению к полю статора. Момент же сохраняется постоянным для всех углов поворота ротора. Момент, генерируемый двигателем, пропорционален магнитной индукции поля статора и току ротора i. Поскольку в этом примере мы предполагаем, что магнитная индукция постоянна, то момент двигателя Т = h i 1 m лт 1 где km — константа, зависящая от двигателя. Учитывая момент сопротивления нагрузки Ту механическую часть можно записать следующим образом (см. раздел 3.2.1) d(J со) dt = km-i-TL где J — полный момент инерции двигателя и нагрузки. В результате вращения в магнитном поле статора в обмотках ротора наводится э.д.с. индукции е. При по- стоянном поле статора э.д.с. индукции пропорциональна скорости вращения со е = kg • со где kg — константа. Если единицы согласованы и потери пренебрежимо малы, то kg=km = k В соответствии с законом Ленца магнитный поток, вызванный э.д.с. индукции е, будет ориентирован против потока, вызванного исходным током проводника. Электрическая цепь ротора характеризуется ее активным сопротивлением R и индуктивностью L. Предполагая, что L — константа, закон индукции опре- деляет напряжения вдоль контура как <7Ф d(L -i) di „ . , ---= —:---= l- — = v - R-г- k- co dt dt dt где i _ ток ротора, a v — приложенное напряжение. Динамика двигателя иллю- стрируется рис. 3.8. Приложенное напряжение вызывает ток ротора, создавая момент двига- теля. Момент воздействует на ротор, который начинает вращаться с опреде- пгновы моделирования динамических систем . . — енной угловой скоростью. Наведенная э.д.с. индукции действует как обрат- ная связь между механикой ротора и его электрической цепью. 81 электрическая цепь ротора механическая часть Рис. 3.8. Блок-схема двигателя постоянного тока 3.2.3. Баланс массы Для многих промышленных процессов существенным является моделирование баланса массы различных компонентов. В открытой системе, где происходит обмен с внешним миром, все уравнения баланса массы имеют одинаковую структуру приращение массы = приход массы - расход массы Такое уравнение можно сформулировать как для каждого отдельного компонен- та, так и для всей массы в целом. Приход (расход) массы может быть следствием как входного (выходного) потока, так и химических реакций или биологического роста. сколько примеров иллюстрируют принципы уравнения баланса. Пример 3.6 Баланс общей массы Бак заполняется однородной несжимаемой жидкостью (рис. 3.9). Приход и Расход массы обозначаются как qin и q()Ut соответственно. Уравнение баланса имеет вид dM —— = Qin Qout dt где M _ полная масса.
82 Епава 3. Описание и моделирсммийр^риств. Qin Рис. 3.9. Емкость с однородной жидкостью Пример 3.7 Баланс массы компонента Бак наполнен раствором с однородной концентрацией одного из компо- нентов с (рис. 3.10). Q Рис. 3.10. Динамика концентрации в простом смесителе Сформулируем баланс массы компонента. Концентрация раствора во входном потоке с, может меняться заданным образом. Расходы входного и выходного пото- ков считаются постоянными и равны q. Полная масса компонента в баке опреде- ляется объемом V и равна V с. Будем считать концентрацию в выходном потоке такой же, как в баке. Тогда баланс массы компонента записывается в виде d(V • с) —-------- q • Ci - q ' с dt
3 2- Основы моделирования динамических систем 83 Поскольку объем ^постоянный V de — • — = - С + С: q dt г Вид этого дифференциального уравнения такой же, как и для электричес- кой цепи в примере 3.4. Постоянная времени определяется здесь как Т= V/q. Изменение концентрации в баке при скачке сг- аналогично зависимости, пред- ставленой на рис. 3.5. Решение дифференциального уравнения имеет вид c(O = q-(1 -е”г/г) Интуитивно ясно, что концентрация будет меняться медленнее, если рас- ход жидкости во входном потоке мал по сравнению с объемом V (это соответ- ствует большому значению Г). То есть баланс массы компоненты имеет такие же динамические свойства, что и низкочастотный фильтр. В принципе, анализ рассмотренной системы можно выполнить и в частот- ной области, аналогично электрическому низкочастотному фильтру. В этом случае концентрация входного потока изменяется (модулируется) по синусо- идальному закону и изучается частотный отклик концентрации в выходном потоке. Этот подход, однако, не очень практичен для химических процессов, так как постоянная времени может быть порядка часов и такой эксперимент продлится много дней. Пример 3.8 Аэрация бака очистки сточных вод Уравнение, описывающее концентрацию растворенного кислорода в аэра- торе станции очистки сточных вод или в ферментаторе, является нелинейным. При этом полагают, что аэратор работает как дозатор, т. е. жидкость поступает в бак и вытекает из него не постоянно, а только в определенные моменты вре- мени. Воздух подается от компрессора с расходом и. Скорость перехода кислорода из газообразного состояния в растворенное определяется коэффициентом растворимости kL а. Для простоты будем пола- гать, что этот коэффициент пропорционален расходу воздуха: kf а = а и где а — коэффициент пропорциональности. В свою очередь, коэффициент ра- створимости равен нулю при насыщенной концентрации растворенного кис- лорода (с = cs) и максимален при нулевой концентрации; эта зависимость мо- делируется выражением а • и • (cs - с). Микроорганизмы потребляют Растворенный кислород в процессе своего роста со скоростью R. Упрощенное Уравнение баланса массы растворенного кислорода при концентрации с можно записать в виде de —= а - и (г - - с) - R dt Из-за наличия произведения и с система нелинейна.
84 Глава 3. Описание и моделирование сист6| Пример 3.9 Станция очистки сточных вод с замкнутым циклом — простая модель взаимодействия микроорганизмов с загрязнениями Качественное описание работы станции биологической очистки сточных вод приведено в разделе 2.4.2. Входной поток сточных вод характеризуется концентрацией загрязнений хг- и не содержит живых организмов. В аэраторе - в предположении, что компоненты равномерно перемешаны, — смесь загряз- нений с концентрацией s и микроорганизмов с концентрацией сх находится во взвешенном состоянии. Расходы показаны на рис. 3.11. входной поток = Q выход очищенной воды рециркуляция микроорганизмов = Qr отстой на переработку Рис. 3.11. Простая модель аэратора станции очистки сточных вод Баланс массы загрязнений и микроорганизмов в аэраторе записывается в виде приращение массы = втекающая масса - истекающая масса + рост - распад Микроорганизмы возвращаются из отстойника с концентрацией сх/.. Пока- затель роста микроорганизмов моделируется величиной р • сх, при этом удель- ный показатель роста р зависит от концентрации загрязнений где К — постоянный параметр. Рост практически отсутствует при малых значе- ниях х и приближается к максимальному значению рпри высокой концентра- ции загрязнений. Концентрация микроорганизмов уменьшается из-за их гибе- ли со скоростью, пропорциональной концентрации b сх. Уравнение баланса массы микроорганизмов имеет вид de Qr-Cjr-(Q + Qr)'cx+ v-<6L-cx~b-cx) at. Загрязнения попадают в аэратор из входного потока и при рециркуляции из отстойника. Поскольку предполагается, что загрязнения растворены, их концентрация одинакова и в аэраторе, и отстойнике. Загрязнения перерабаты-
3 2. основы моделирования динамических систем 85 ваются в аэраторе из-за метаболизма микроорганизмов. Соответствующая оизводительность переработки загрязнений определяется величиной сх/У, где переменная Yназывается коэффициентом воспроизводства (yield. ^factor). Тогда уравнение баланса масс загрязнений можно записать в виде ds Ц V^=Q-s! + Q,.-s-(Q+Qr)-s- Очевидно, что динамика системы является нелинейной — удельный пока- затель роста ц зависит от концентрации загрязнений, а расход умножается на концентрацию. ________________________________________________________ 3.2.4. Уравнения сохранения энергии В некоторых процессах необходимо регулировать температуру. Динамическая модель системы управления температурой должна учитывать тепловые потоки и на- копление тепловой энергии. Во многих случаях поток тепла через объект пропорцио- нален разности температур на его границах <7 = ^-(Г1“Г2) где q — поток тепла, R — тепловое сопротивление и Г — температура. Перенос тепла часто моделируется как величина, пропорциональная площади поверхности А и об- ратно пропорциональная длине пути / теплового потока где£ — теплопроводность. Сохранение тепловой энергии можно описать как где С теплоемкость, q — алгебраическая сумма входящих и исходящих тепловых потоков. Пример 3.10 Тепловой баланс жидкости в баке Тепловой баланс жидкости в баке служит иллюстрацией закона сохранения энергии (рис. 3.12). Температура жидкости Тоднородна внутри бака, темпера- тура окружающей среды — Та, а теплоемкость бака - С). Суммарное тепловое сопротивление верхней и нижней частей — абоковых стенок — й2- Нагрева- тельный элемент подводит к жидкости тепловую энергию uq. Тепловой баланс dT 1 J. Ci'lt=U^(Ri + R2)'( ~Та)
86 Глава 3. Описание и моделировани0 систс(; 3 з Непрерывные модели динамических систем 87 Рис. 3.12. Система в состоянии теплового равновесия (Т — температура окружающей среды, Т— температура в баке) Большая разница температур на внутренних и внешних поверхностях сте- нок будет вызывать быстрые температурные изменения в баке. Чем больше Rr и тем медленнее будут изменения. 3.3. Непрерывные модели динамических систем 3.3.1. Описание систем во временной и частотной областях — исторический обзор Описание динамических систем обыкновенными дифференциальными уравне- ниями восходит, по крайней мере, к Исааку Ньютону. Вероятно, первым провел сис- тематическое изучение устойчивости систем с обратной связью Джеймс С. Максвел11 на примере центрифужного маятникового регулятора, разработанного примерно® 1788 году Джемсом Уаттом для управления его паровой машиной. В своей стать® 1868 года Максвелл вывел дифференциальные уравнения регулятора, линеаризовав их в окрестности точки равновесия и показал, что устойчивость системы зависит от корней ее характеристического уравнения. Если эти корни имеют отрицательные ве шественные части, то система устойчива. Важнейшая технологическая задача для США в 1910-1920 годы — создание ме# континентальной телефонной связи. Соответствующие исследования привели К многим важным открытиям в электронике и теории управления и заложили фунДа мент их становления как научных дисциплин. Благодаря разработке после Перво1 мировой войны электронного усилителя стали возможны междугородные телефон- ные звонки. Для компенсации потерь электроэнергии на больших расстояниях необ- ходимо было использовать много усилителей, последовательное включение кото- рых, однако, приводило к большим искажениям, поскольку нелинейности каждой усилителя также усиливались последующим каскадом устройств. Создание Харальдом С. Блэком (Harald S. Black) усилителя с обратной связью о эту проблему. Внедрение новых и более сложных технических систем требо- ало в то же время использования новых математических методов. Для систем из пя- тидесяти и более усилителей анализ характеристического уравнения больше не под- ходил Поэтому инженеры в области связи и электронных устройств разработали новый метод исследований на базе комплексного анализа и предложили концепцию частотных характеристик. В 1932 году американец шведского происхождения Гарри Найквист (Harry Nyqvist) опубликовал свою знаменитую теорему о том, как опреде- лить устойчивость по форме частотной характеристики. Критерий Найквиста, кото- рый в момент своего появления считался революционным, на сегодняшний день представляет собой лишь небольшую часть вводных курсов по теории управления. Но в те времена военные считали эти теорему настолько важной, что США держали ее в тайне до конца Второй мировой войны. В большинстве случаев технические процессы очень сложны и нелинейны. В 1940-е годы стал стандартным подходом метод обратной связи; были разработаны устройства на базе концепции пропорционально-интегрально-дифференциального (ПИД) регулирования (раздел 6.4). Метод частотных характеристик доказал свою эффективность для анализа линеаризованных моделей динамики процессов. В 1950-е годы некоторые исследователи вернулись к описанию систем обыкно- венными дифференциальными уравнениями как основе управления процессами. Это направление было стимулировано американской и советской космическими программами, поскольку обыкновенные дифференциальные уравнения представля- ют собой естественную форму описания динамики космических кораблей. Тенден- ция усилилась с появлением цифровых ЭВМ, которые позволили проводить расче- ты, ранее практически не применявшиеся из-за огромных затрат времени. Цифровые ЭВМ требовали, в свою очередь, новой математики. Инженеры работали с диффе- ренциальными уравнениями состояния, а не впрямую с частотными или характерис- тическими уравнениями. Были введены новые фундаментальные понятия — управ- ляемость, наблюдаемость и обратная связь по переменным состояния. Для решения задачи оптимизации траектории полета были разработаны новые разделы вариаци- онного исчисления. В химии и механике естественным является вывод дифференциальных уравне- нии модели на базе физических свойств системы. Такой подход возможен и в других ^Риложениях, но, несмотря на это, ПИД-регуляторы используются во многих техни- ских решениях. Поэтому обычной практикой является применение и дифференци- пп НЫХ уравнений> и частотных характеристик. Описания в частотной области по- дляЖНеМУ попУляРны в электротехнике и электронике и совершенно естественны °быМН°ГИХ пРиложений- Сложные системы предпочтительнее описывать в терминах кновенных дифференциальных уравнений. •3.2. Уравнения состояния МожИфференциальнь1е Уравнения, описывающие физический процесс, всегда ВогоН° ПреобРаз°вать к системе обыкновенных дифференциальных уравнений пер- Иди Порядка- В этом случае говорят, что это описание в виде уравнений состояния ф В пространстве состояний (state-space form). Главное преимущество такой PMbi записи в том, что для решения этих уравнений можно использовать числен-
3 3jdenpeP^±[£ модели динамических систем 89 88 Глава 3. Описание и моделирование chct6|j ные методы. Кроме того, четко прослеживается физическая сущность процесс в частности связь между внутренними переменными и внешними входным и вц додным сигналами. Аналогично, изучение систем управления с более чем одц^ входом и выходом, проще в форме уравнений состояния. Основой математическое аппарата для моделей в пространстве состояний служит, главным образом, линеЦ. ная алгебра — векторная и матричная нотации значительно упрощают описание Однако методы линейной алгебры не требуются, чтобы получить основные пред, ставления о динамике системы. Большинство физических процессов можно моделировать на основе функцио- нальных блоков, аналогичных описанным в примерах раздела 3.2. В общем случае уравнения баланса нелинейны и, как правило, связаны друг с другом. Таким образом описание динамики процесса может представлять собой набор нелинейных, связан- ных между собой дифференциальных уравнений первого порядка для баланса энер- гии, общей массы, массы компонентов, сил и моментов. Уравнения состояния представляют собой практичный и удобный способ описа- ния динамических систем. Состоянием называется набор всех переменных — так на- зываемых переменных состояния {state variables'), производные первого порядкам которых входят в уравнения описания динамической системы. Концепция уравне- ний состояния имеет фундаментальное значение. Если известны текущее состояние системы (переменные состояния) и входные сигналы, то можно предсказать ее даль- нейшее поведение. При этом предысторию, т.е. как было достигнуто текущее состоя- ние, знать не нужно. Другими словами, состояние — это минимальное количество ин- формации о системе, которое необходимо, чтобы предсказать ее будущее поведение. Состояние х можно представить как вектор-столбец, компоненты которого — пе- ременные состояния х = (eq х2 - Непосредственно измерить все переменные состояния можно в редких случаях, т. е. существуют внутренние переменные, за которыми не удается следить с помощь® датчиков. Поэтому описание в пространстве состояний называют также внутренним описанием {internal description). Выходные величины — измерения, обозначаются че- рез z/р г/2, Ур и составляют вектор у У = (г/i г/2 - Ур? В общем случае число датчиков р, связанных с техническим процессом, меныИе числа переменных состояния п. Поэтому вычисление х по у — нетривиальная задан- на любую техническую систему влияют входные сигналы двух типов - сигналы- которые можно изменять вручную или автоматически какими-либо технических111 средствами, и сигналы, которыми управлять невозможно. Сигналы первого типа на зываются управляющими сигналами или переменными управления z/р г/2, •••, ггги с° ставляют вектор и и = (tp и2 ... иг)г Входные сигналы второго типа могут влиять на систему, но не поддаются упра8' лению. Величина этих сигналов отражает влияние внешней среды на систему, напр11" мер изменение (возмущение) нагрузки, вызванное температурой, радиацией, иеЖе ттм магнитным воздействием (“наводками”) и т. п. Все эти сигналы обознача- пательны' ются вектором v V = (»i »2 - »т)Т Целью системы управления является вычисление на основе имеющихся измере- ий у таких управляющих сигналов и, чтобы, несмотря на влияние возмущений у, техническая система выполняла поставленные задачи. Управляемую систему можно п едставить в виде блок-схемы (рис. 3.13), на которой показаны управляющие сиг- налы, возмущения и выходные переменные. v Рис. 3.13. Блок-схема управляемой системы Эта концепция объясняется на следующем простом примере. Пример 3.11 Механическая система Система в примере 3.2 (раздел 3.2.1) имеет две переменные состояния — поло- жение z и скорость V. Входная переменная и — это сила А Положение z (выходная переменная) можно измерить. В векторной форме система описывается как х = (г <ч)т; и = Е; у = г = (1 0) х Уравнения состояния имеют вид 3 з g Описание линейной системы в пространстве состояний g кИе Ольшинство примеров из раздела 3.2 представляют собой линейные динамичес- УРавн СТемы’ и поэтому их можно смоделировать линейными дифференциальными соСт ениями> в которых отсутствуют члены, содержащие произведения переменных ТеМа°ЯНИЯ’ вх°ДНых и выходных сигналов — типа х^, х и или х1 х2. Линейная сис- ’ ИМеЮщая п переменных состояния и г входных переменных, описывается сле- Щими уравнениями состояния с постоянными коэффициентами:
90 Глава 3. Описание и моделирование сист^ 2 Непрерывные модели динамических систем 91 dx\ — = а1Л + ... + ainxn + buur + ... + blrur ~^ = ап\х\ + - + аппхп + bnlul + - + bnrur где параметры и Ь^ — константы. Поскольку эти уравнения являются дифференциаль- ными уравнениями с постоянными коэффициентами, они обладают рядом привлека- тельных свойств. Например, всегда можно найти аналитическое решение х(г) при произ- вольных входных сигналах ц(Г). Начальные условия определяются п константами х(0) = (г10 х20 ... х,г0)Т В матричном виде уравнения состояния записываются значительно проще й?Х — = А • х + В • и (3.1) dt ’ где А и В — матрицы, содержащие постоянные коэффициенты /а11 а12 - а1п\ All - bir> д = а21 а22 - а2п в = ^21 - ^2г \ал1 ап2 — ann/ \Ьп2 Ьпг/ При единственном управляющем сигнале матрица В имеет только один столбец. Между внутренними переменными состояния х и измерениями у существует ли- нейная зависимость. Кроме того, иногда имеется прямая связь между управляющи- ми переменными и и выходными переменными у У1 = С1Л + - + сьЛг + dnul + - + rfiA Ур ~ ср1х1 + - + сРпхп + dplul + - + dp^r или в векторно-матричных обозначениях у=С x+D и (3.2) где Сц С12 ... С1п С21 с22 •” с2п Ср1 ср2 ••• срп, (dll ... d2\ - dp2 - Если имеется только одна выходная переменная, то С состоит из одной строки- Обычно нет прямой связи между входными и выходными переменными, и тогда ма*' рица D — нулевая. Линейная система имеет много преимуществ (сравните, например, с некоторыми свойствами нелинейных систем, упомянутыми в разделе 2.2.7). Наиболее важным „ оМ линейных систем является принцип суперпозиции (superposition principle). СЪ означает, в частности, что если при каком-либо изменении амплитуды входного ^Т° па Дм выходной сигнал изменится на величину Дг/, то при удвоенном изменении СИоДНОГо сигнала 2 • Дм выходной сигнал изменится на величину 2 • Дг/. 3 Линейные системы обладают свойством аддитивности входных сигналов, т. е. ес- входной сигнал ui вызывает выходной сигнал г/^ а гг2 — сигнал г/2, то общий сиг- + и на входе приведет на выходе к у, + г/2. Как следствие, влияние сигналов НЭЛ 2 м павления и возмущении можно анализировать отдельно. У Несмотря на все достоинства линейного описания, применять его следует с боль- шой осторожностью, поскольку большинство технических процессов существенно нелинейны. Если нелинейности “гладкие”, т. е. отсутствуют скачки, то при опреде- ленных условиях нелинейную систему можно рассматривать как линейную. Тогда линейное описание справедливо для малых отклонений вокруг точки равновесия. Многие параметры промышленных процессов должны поддерживаться вблизи некоторых постоянных — опорных — значений; целью систем управления является приведение параметров процесса к их опорным значениям. Пока отклонения от опорного значения малы, линейное описание является адекватным. Однако при больших отклонениях могут потребоваться более точные модели, поскольку влияние нелинейности будет существенным. 3.3.4. Описание в виде отношений входных и выходных переменных Частотные методы (пример 3.4 и раздел 3.3.1) используют анализ функций комплек- сной переменной и преобразование Лапласа. Главные элементы этого подхода — переда- точные функции, функциональные блок-схемы и их преобразование, анализ нулей и по- люсов. К преимуществам анализа систем в частотной области относится возможность собрать соответствующие экспериментальные данные, позволяющие непосредственно построить удовлетворительную модель системы. Из-за этого метод частотных характе- ристик обычно используют при описании сложных систем, например усилителей с об- ратной связью, а также многих электромеханических устройств и систем. ели описывается только связь между входными и выходными сигналами, то не- ние°РЫе внУтРенние переменные и их взаимосвязи остаются скрытыми, представле- системы становится более компактным и имеет меньшее число параметров, чем и сание в пространстве состояний. Поскольку в модель включены только входные в ио Х°ДНЫе пеРеменные>то она называется внешним описанием (external description) РегуОТИВ°ПОЛОЖНОСТЬ внУтРеннемУ представлению уравнениями состояния. Многие •Модел °РЬ1' напРимеР ПИД-регулятор, описанный в главе 6, настраиваются на базе и технического процесса в виде отношений входных и выходных переменных. Нир внУтРеннего описания системы можно исключить вектор х и получить описа- ие системы в виде <Гу dn~ly 1 <Fu dn-lu + + - + йпУ ~ + — + - + Ьпи ] dn d^n-‘ d'n dtn МноКг°ЭффиЦиенть1 ai и bi могут быть получены из матриц А, В, С и D. В системах со Ми входными и выходными переменными для каждой пары вход/выход суще-
НепреРь1ВНЬ1е м°Дели Динамических систем 3.13 93 92 Глава 3. Описание и моделирование си^. ствует своя зависимость (в дальнейшем рассмотрение будет ограничено система^ только с одним входом м и одним выходом г/). Для дифференциального уравде^ порядка п можно выполнить преобразование Лапласа (sn + sn1 + ... + ап) K(s) = (b0 sn + br- sn i + ... + &„) • U(s) где s — переменная Лапласа, a Y(s) и U(s) — результат преобразования Лапласа (и3^ ражение) для г/(Г) и u(t) соответственно. Преимущество этого метода в том, что ксу плексными переменными s, которые представляют собой операторы дифференцир^ вания, можно манипулировать алгебраическими методами. Здесь полагается, Ч1> начальные значения переменных состояния — нулевые. Связь между входными и выходными переменными линейной системы мож® выразить ее передаточной функцией (transfer function), которая определяется к<ц отношение между изображениями Лапласа выходного и входного сигналов систем! У(з) Ь$п + + ... + Ьп G(s) =----=------------------- C-j U(s) sn + а^1 1 + ... + ап Передаточную функцию также можно рассчитать непосредственно из внутренне! описания в переменных состояния [уравнения (3.1) и (3.2)]. ИмееГместо следующе. соотношение K(s) , G(s) =----= С • (si - АГ1 • В + D - i U(s) где I — единичная матрица порядка п. Вывод этого выражения очень прост и приво дится в большинстве книг по управлению. В системе с одним входом и одним выхо дом матрица С состоит из одной строки, а матрица В — из одного столбца, матрица! имеет размерность пХп. Обычно матрица D (имеющая при этом размерной 1X1)— нулевая. В этом случае G становится скаляром. Для нескольких входов! выходов G(s) является матрицей с элементами G..(s), которые суть передаточн® функции для каждой пары вход щ и выход г/у. Пример 3.12 Передаточная функция механической системы Передаточная функция системы из примера 3.2 (раздел 3.2.1) имеет вид Z(s) 1 G(s) =----- = F(s) ms2 где Z(s) и F(s) — изображения Лапласа для координаты z и силы F соответ- ственно. Уравнения состояния были получены в примере 3.11. Передаточную функцию можно также вычислить непосредственно из уравнений состояния [см. уравнение (3.4)] G(s) = С • (si - А)-1 В = (1 0) • ( I | ° | = -L. \и 5 / \т / ms Пример Низкочастотный фильтр Низкочастотный ДС-фильтр из примера 3.4 можно характеризовать его пе- аточной функцией. В предположении, что начальные напряжения равны нулю, связь вход/выход можно записать как V0(s) 1 G(s) = =---------- Vi (s) 1 + s • R • C Изменение амплитуды выхода и фазовый сдвиг для синусоидального сиг- нала получаются при замене в передаточной функции s на;<о. Поскольку описание вход/выход содержит меньшее число коэффициентов, чем внутреннее описание в пространстве состояний, то его всегда можно получить из последнего; однако обратное преобразование неоднозначно. Это совершенно есте- ственно, так как вектор состояний х получается с помощью подстановки в исходные уравнения новых переменных, которые можно выбрать произвольно, а у и и зависят от физической природы процесса и поэтому определены однозначно. Знаменатель передаточной функции называется характеристическим уравнени- ем (characteristic equation). Корни характеристического уравнения называются по- люсами (poles) и имеют фундаментальное значение. Значения полюсов идентичны собственным числам матрицы А. Корни числителя передаточной функции называ- ются нулями (zeros). Если нули обозначить zt, ...,zm, а полюса — рг, ...,рп, то при п > т передаточную функцию (уравнение 3.3) можно записать в виде G(s) = K<s~zt>-<s~zm) = ах + + ап (s-pf)...(s-pn) s-px s pn где at — действительные или комплексные константы. Это означает, что выходную переменную у можно представить суммой показательных функций, которые называ- ются составляющими движения или модами (modes) У(9 "сре рс1 + ... + сп е~рпс+ [слагаемые, зависящие от м(£)] ст е1Пественный полюс соответствует слагаемому с вещественным показателем И’ а два комплексн°-сопряженных полюса всегда можно представить в виде одного слагаемого. Если два полюса имеют значения т0 „ ^Д+1 = -°±> й паре соответствует слагаемое передаточной функции ck с °' sin(cor) Де-Тяктр1°Са (ИЛИ собственные числа матрицы А) линейной системы полностью опре- акИия Т устойчивость- Если вещественные части полюсов — отрицательные, то ре- т°йЧи На огРапиченный входной сигнал и также всегда ограничена, т. е. система ус-
3 3дчепрерыв^ модели динамических систем 95 94 Глава 3. Описание и моделирование сист^ Нули определяют значения коэффициентов экспоненциальных функций в От. клике, но при этом не влияют на устойчивость системы. Если полюс располагает,., близко к нулю, то соответствующая мода мала. Если полюс и нуль совпадают,^ мода исчезает. 3.3.5. Область применения линейных моделей Существуют динамические явления, которые нельзя описать линейными диффе. ренциальными уравнениями с постоянными коэффициентами. Рассмотрим влияние нелинейности на примерах. Системы, описываемые ниже, ведут себя как линейные при малых значениях входных сигналов, а при больших — появляется нелинейность Пример 3.14 Ограничения сигнала В реальных условиях все сигналы ограничены. Во многих технических системах в качестве конечных управляющих элементов используются клапа- ны. Поскольку клапан не может быть открыт больше, чем на 100 %, рассчитан- ный математически сигнал управления иногда просто нельзя реализовать (рис. 3.14). Это вызывает определенные трудности в управлении, обсуждае- мые в главе 6. Другой пример ограничения сигнала — ток ротора электрического дви- гателя. Ток должен быть ограничен, иначе двигатель сгорит. Соответствен- но, система управления двигателем не может быть линейной, особенно при больших ускорениях и моментах, когда ток тоже должен быть большим. Рис. 3.14. Выходной сигнал исполнительного механизма с ограничениями Пример 3.15 ____________________________________________ Процесс аэрации Рассмотрим снова станцию аэрации сточных вод (пример 3.8, раздел 3.2.3). Для процесса аэрации принцип суперпозиции не выполняется. Предположим, что входной поток воздуха и и скорость поглощения кислорода R не меняются, концентрация растворенного кислорода поддерживается постоянной около точки равновесия со значением равным 3 мг/л. На рис. 3.15 показано, что когда входной поток изменяется скачком (2 %, 4 % и т. д.), концентрация достигает нового стационарного значения за час. При изменении расхода воздуха на 4 % изменение концентрации практически точно вдвое превышает изменения концентрации по сравнению с 2 % измене- ния расхода воздуха. При этом обе кривые симметричны относительно точки равновесия. Однако уже при 8 % изменения расхода воздуха очевидна асси- метрия в реакции системы. При изменении расхода на ± 20 % изменения в кон- центрации уже существенно несимметричны и, более того, не в пять раз отли- чаются от изменений, вызванных 4 % изменения расхода. Приведенные кривые иллюстрируют практическое проявление нелинейности. Рис. 3.15. Изменение концентрации растворенного кислорода в баке аэрации при скачке расхода воздуха (входная переменная) в момент времени t = 0. Результаты приведены для значений входной переменной: ±2%, ±4%и±8% (а); + 20 % (б) Системы, описанные выше, имеют “слабые” нелинейности, т. е. ведут себя практически линейно при малых значениях входного сигнала. Многие системы при ольших отклонениях от точки равновесия требуют более точного описа- ния, чем линейные дифференциальные уравнения, поэтому необходимо добав- Ть нелинейные слагаемые. При моделировании должны быть четко определе- —^фаницы, в рамках которых линейное описание является адекватным. •3.6. Нелинейные системы Си Юпущ Темы’ описанные в разделе 3.3.5, являются нелинейными, но при некоторых ^линеТИЯХ ИХ можно аппРоксимировать линейными уравнениями. Другие типы 'я при,м И0СТеЙ нельзя свести к линейному описанию. Наиболее часто встречающий- 1ено/в еР ~ Релейные системы. Реле вырабатывают бинарные сигналы типа “вклю- 1МееТ(кГКЛЮЧен0 ’ идеальное реле для любого положительного входного сигнала рцц ФИКСИР°ваннь1Й положительный выход и, соответственно, фиксированный от- Не ВЬ1 ельнь1Й выход при любом отрицательном входе. Очевидно, что в такой системе п°лняется принцип суперпозиции.
3 3 Непрерывные модели динамических систем 97 96 Глава 3. Описание и моделированиевеистс. Примеры систем с существенными нелинейностями: различные виды реле (с зоной нечувствительности, гистерезисом и т. - клапаны (зоны нечувствительности, насыщение); - нелинейные деформации механических пружин; - падение давления в сужении трубы; - силы трения; - аэродинамическое сопротивление; - свойства пара; - двигатели постоянного тока с последовательной обмоткой возбуждения (мо. мент — функция квадрата тока роторной цепи); - двигатели переменного тока. Нелинейные системы (см. примеры 3.8 и 3.9 в разделе 3.2.3) можно описать в сле- дующем виде dx^ — = fr(xbx2,...,xn,u{..ur) = fn(xbx2, ...,хп,иь ...,ur) где определены п переменных состояния и г входов, или в компактной векторной форм! dx — =f(x,u) dt (3.51 где вектор состояний х и вектор управления и определены в разделе 3.3.2, а каждый- компонент вектора f является функцией f=(/i/2 -Л)т В состоянии равновесия производные dx^dt равны нулю. Пусть точке равновесия х соответствует постоянный управляющий сигнал й, тогда условие равновесия f(x, й) = 0 (3'6’ Заметим, что уравнение (3.6) эквивалентно п скалярным уравнениям. Эти ура® нения могут иметь несколько решений, каждое из которых соответствует некотор точке равновесия. Датчики тоже могут вести себя нелинейно (глава 4). В частности, у датчиков т пературы или давления выходной сигнал нелинейно зависит от измеряемой физ ческой величины. Такая зависимость может быть линейной для малых значении с , нала и нелинейной - для больших. Поэтому уравнение (3.2) нужно переписать более общем виде у-, = g\(Xi> х2< Хп< м1’ •••> мг) Ур — ё1(х1’ х2> хп’ и\.....wr) более компактно в матричных обозначениях Или у(0 = g(x(t), u(0) (3.7) где компоненты вектора g суть функции gj, g2,.... gp g = (gi & - gP)T Обычно для нелинейных систем аналитическое решение не известно, поэтому ис- пользуются численные методы, что вполне приемлемо в большинстве случаев. Важ- но найти уравнения состояния системы, чтобы по ним построить модель. Если извест- на модель в виде дифференциальных уравнений, то всегда есть методы решения. 3.3.7. Численное моделирование динамических систем Для решения нелинейных дифференциальных уравнений в большинстве случа- ев используются численные методы. Основной метод решения дифференциальных уравнений — аппроксимация производных по времени простыми разностными уравнениями. Этот метод называется аппроксимацией Эйлера с восходящими раз- ностями x(t + h)~ x(t) + h f(x(f), u(r)) Если известны начальные условия х(0), то можно рассчитать состояния х(/г), х(2/г), х(3/г),..., которые являются приближениями точного решения в моменты вре- мени h, 2h, 3h и т. д. Здесь очень важно выбрать шаг (step) интегрирования h, кото- рый, в принципе, должен быть как можно меньше, однако на практике выбирается некая компромиссная величина. Слишком маленький шаг приведет к неоправданно большому времени вычислений (которое, естественно, еще серьезно зависит от слож- ности вычислений, типа уравнений, числа переменных и мощности процессора). С Другой стороны, слишком большое значение h вызывает проблемы сходимости реше- ния и приводит к нежелательным результатам. Эффект неправильно выбранного шага может оказаться очень существенным, особенно если моделируемая система включает в себя и быстрые, и медленные динамические процессы. Пример 3.16 Проблема слишком большого шага Для иллюстрации проблемы слишком большого шага рассмотрим простую истему, описываемую уравнением первого порядка dx — - -а х dt Дех(О) = 1 и а > 0. Уравнение имеет аналитическое решение x(t) = е а' С Другой стороны, дифференциальное уравнение можно решить численно ме- °Дом Эйлера. При аппроксимации производной конечной разностью 4 1021
98 Глава 3. Описание и МОДМИровавШеисп ----------------- 1 , Ч„ - tty dx(t') x(t + h) - x(t) dt h решение имеет вид x(t + h)~ x(t) - h- a- x(t) = (1 - h - a) x(t) Рис. 3.16. Численное решение дифференциального уравнения первого порядка dx/dt = -ах при а = 2 и различном шаге интегрирования h:a — h = 0.05 ; б — h = 0.1 и 0.4 На рис. 3.16 показано, что происходит при различных значениях шага h. В общем случае для больших значений h — таких, что 11 -ha\ > 1, т. е. h>‘2./a, решение х будет иметь колебательный характер с изменением знака и ростом амплитуды. Проблема возникновения колебаний из-за слишком большого шага интегрирования называется численной неустойчивостью. Эта неустой- чивость не имеет ничего общего с самой системой и вызвана только слишком грубой аппроксимацией при вычислении решения. Существует много методов численного интегрирования, каждый из которых име- ет свои достоинства и недостатки; наибольшее распространение получили методы Рунге-Кутта. Большинство методов интегрирования допускают варьируемую вели- чину шага, которая выбирается автоматически, чтобы удовлетворить наперед задан- ному критерию погрешности. Имеется несколько коммерческих пакетов программ для моделирования, позволя- ющих решать нелинейные дифференциальные уравнения. Под “решением” здесь по- нимается, что значения переменных состояния можно получить численным интегри- рованием дифференциальных уравнений при заданных начальных условиях 11 входных сигналах, являющихся функцией от времени. При использовании таких пр0' грамм необходимо задать дифференциальные уравнения и некоторые параметры чи°' ленного интегрирования — метод, размер шага, форму представления решения (табли- ца или график) и т. п. Хорошие программы должны быть способны как минимум: 3 непрерывные модели динамических систем 99 проверять согласованность уравнений, - переупорядочивать уравнения для оптимизации итерационного процесса; _ интегрировать уравнения; _ отображать результаты в требуемой форме (таблица или график). Современные пакеты моделирования обеспечивают набор простых команд для изменения параметров или начальных условий и несколько алгоритмов интегриро- вания, из которых можно выбрать наиболее подходящий для конкретной задачи. Они также имеют развитые возможности отображения результатов в легко воспри- нимаемой графической форме. На рынке есть несколько мощных пакетов моделиро- вания - Mathematica, Simnon, Matlab, Simulink, Easy-5 и ACSL существуют в верси- ях для различных вычислительных платформ. Программа Matlab быстро приобрела большую популярность как аналитический инструмент, поскольку она поддержива- ет несколько математических методов: матричные вычисления, методы линейной алгебры, идентификацию параметров, анализ временных рядов и синтез систем уп- равления. Диаграммы, приведенные в этой книге, были получены с помощью програм- мы Simnon, разработанной на кафедре автоматического управления Lund Institute of Technology. Программы Simnon и ACSL являются пакетами моделирования, ориентирован- ными на уравнения, т. е. системы в них описываются обыкновенными дифференци- альными уравнениями. Другие программы моделирования, например Easy-5 и Simulink, снабжены готовыми модулями описания элементов процессов; пользова- тель имеет возможность добавить к пакету свои собственные модули. Идея таких па- кетов заключается в объединении нескольких модулей в единый процесс. В осталь- ном они содержат те же самые средства численного интегрирования и взаимодействия с пользователем, что и программы, ориентированные на уравнения. Одно из ограничений программ моделирования на основе готовых функциональ- ных блоков есть требование наличия причинно-следственных связей, т. е. для урав- нения (модуля) всегда необходимо описать вход и выход. Но в реальных ситуациях это не всегда возможно — например, одновременные события не взаимосвязаны. При моделировании резистора наперед не очевидно, будет ли нужно уравнение в виде u = R-i или в виде и i = — R ^Се зависит от окружения, в котором находится резистор. Соответственно, модели- РУЮщий инструмент должен уметь ослаблять причинно-следственные ограничения, первоначально наложенные на уравнения. Эта концепция привела к парадигме Ъектно-ориентиРованного моделирования, в которой язык моделирования уста- навливает точное соответствие между физическими объектами и их представлением Рамках модели. Примером объектно-ориентированного пакета моделирования яв- Ляется Dymola фирмы Dynasim АВ (г. Лунд, Швеция). Dymola, разработанная Хил- ДИнгом Елмквистом (Hilding Elmqvist), автором программы Simnon, является инст- рументом для построения сложных моделей, которые затем обрабатываются другой программой, напр111^6? Simnon или Simulink.
100 Глава 3. Описание и моделировании Для некоторых приложений, таких как авиатренажеры, модели атомных ров и энергосистем, разработаны специализированные пакеты моделирован^*^ системы должны моделировать хорошо известные технические процессы в но реалистичных ситуациях и в основном используются для тренировки orien и проектирования систем. Во многих случаях эти программы сопряжены с ре ми системами управления и могут обрабатывать поступающие от них данные (Ь**11 ственно, при этом команды не посылаются в реальный технический процесс) 3.4. Дискретные модели динамических систем Цифровая ЭВМ не может обрабатывать постоянно меняющиеся аналоговые,цй ные. Соответственно, и сбор данных, и выработка управляющих сигналов происхо дят только в определенные моменты времени. Ситуация принципиально не меняет» при повышении скорости процессора. Более быстрый процессор работает по тому® принципу, что и более медленный, -- он просто обрабатывает больше данных за тот же интервал времени, но данные при этом остаются дискретными. Ниже излагается модель физического процесса, пригодная для приложений компь- ютерного управления. В соответствии с рассматриваемой моделью измеряемые дан- ные процесса собираются через регулярные интервалы времени. Эти интервалы не обязательно должны быть одинаковыми, однако описание дискретной динамическое модели становится проще при постоянном интервале. Данный процесс называется вы- боркой, дискретизацией (sampling) или квантованием, длина интервала — временем (периодом, интервалом) выборки, дискретизации (sampling time) или квантование Практические методы дискретизации сигналов детально обсуждаются в разделе 5.1. Другое упрощение, используемое при разработке дискретно-временных моделей процессов, состоит в том, что измеряемые данные и сигналы управления остаются постоянными в течение интервала выборки. Фактически таким же образом работаю! схемы выборки и хранения интерфейса компьютера (раздел 5.1). 3.4.1. Описание в пространстве состояний Нелинейный процесс [уравнение (3.5)] можно аппроксимировать разностни» уравнением х[(Л + 1)Л] = x(kh) + h • f(x, и) где h - интервал выборки и k — его порядковый номер; f(x, и) — производная по вре мени вектора состояния системы х в соответствии с уравнением (3.5). Аппроксимз ция справедлива, если h достаточно мал и производная “гладкая”. Разностное ураВ нение по существу такое же, что и при численном моделировании (раздел 3.3.7)’ Линейная система с постоянными коэффициентами [уравнение (3.1)] в дискретно*1 виде представляется следующим образом Xj[(^+ l)h] = (1 + h-all) • xx(kh) +... + h-aln-xn(kh) + h • bn • u^kh) +... + h • blr-ur(kh) xn[(k + 1 )/z] - (1 + h anf)-X\(kh) +... + h- antl- xn(kh) + h- bn^- ufkh) +... + h- bnr-ufkh) 101 м0ДелидинамическиХсистем _ обозначениях это можно записать в матричн + h а . x(kh) -+ h • В • u(kh) « (I + Л • А) • x(kh) + h • В • u(kh) Х[(М 1)^ , 1 “ “ или линеаризированной системы аппроксимация (З.о) не обяза- Для линеинои |и11е[.[[ые дифференциальные уравнения можно решить анали- тельна. ПосК°Ле^вующие уравнения для дискретного представления можно полу- тически, соотве^ния Предполагается, что сигнал управления и(Г) остается чить из УРа^жду моментами выборки, т. е. система включает в себя схему удержа- ПОяТ0ДЯискретную модель можно записать в матричном виде х[(Л + \)h\ = Ф- x(kh) + T-u(kh) (3.9) ф - матрица размерностью п X п, а Г - матрица размерностью пХг. Связь между Матрицами А и В и матрицами Ф и Г следующая (ЛА)2 Ф = = I + ЛА и-+ ••• / (ЛА)2 \ Г = 1Л+-----+ - В \ 2! I где I — единичная матрица. Преобразование между матрицами для непрерывной и дискретной моделей мож- но выполнить с использованием стандартных программ. Аппроксимация конечными разностями Ф ~ I + Л • А и Г ~ Л • В стремится к точному решению при малых значе- ниях интервала выборки Л. Поскольку измерения происходят периодически, то урав- нение (3.2) для дискретной модели справедливо только в моменты выборки у(ЛЛ) = С • x(kh) + D • и(ЛЛ) (3.10) Решение уравнений дискретной модели на цифровой ЭВМ получается довольно просто: решения x(kh) в последовательные моменты времени вычисляются шаг за шагом на основе разностных уравнений. 3.4.2. Отношения вход/выход и оператор сдвига в дискретных моделях, так же как и в непрерывных, часто удобно напрямую свя- зать вход процесса и с его выходом у, в особенности, когда регулятор записан в такой Же Ф°Рме, т. е. он оперирует выходной величиной процесса для подсчета управляю- щего сигнала. Дискретно-временной анализ проще выполнить при помощи операто- ра сдвига q (shift operator). Эффект от применения оператора к зависящей от време- ПеРеменной z(t) такой же, что и сдвиг по времени на интервал Л — его также называют сдвигом вперед (forward shifting) q • z(kh) = z[(k + 1)Л] (3.11) С помощью оператора сдвига разностные уравнения можно заменить на алгебра- !’Ческие, которые проще преобразовывать и решать. Здесь использован принцип, аналогичный преобразованию Лапласа, для упрощения дифференциальных уравне- ний с помощью комплексной переменной 5.
102 Глава 3. Описание и моделирование п. —-ф/к BPf. Оператор обратного сдвига q 1 (backward shift operator) сдвигает ФункцИ!(. мени на один шаг назад q~x -z(kh.) = z[(k- l)7z] В общем случае оператор сдвига можно применять несколько раз qn z(kh) = q • q •... q • z(kh) = z[(k + ri)h] Оператор сдвига q можно применять и к вектору n(kh), что эквивалентно испп зованию этого оператора к каждому его компоненту. 1 Если существует дискретное представление в пространстве состояний [ура£ нения (3.9) и (3.10)], то, исключив вектор х и приведя подобные члены, получи» связь между входом и выходом в виде y[(k + n)h\ + al y[(k + n - 1 )/z] + ... + an • y(kh) = 60 • u[(k + ri)h\ + ... + bn u(kh) Применение оператора сдвига q дает более компактную запись (qn + с?! • qn~r + ... + ап) y(kh) = (60 • qn + br- qn~l + ... + bn) u(kh) (3.13) Выше было показано, что зависимость между входными и выходными перемен- ными линейной системы можно представить передаточной функцией G(s), опреде- ляемой как отношение изображений Лапласа входных и выходных сигналов систе- мы. Аналогичное описание можно получить с помощью оператора сдвига q и для дискретных систем. Дискретный передаточный оператор H(q) (discrete transfo operator) определяется из уравнения (3.13) следующим образом y(kh) ba- qn + b, • qn 1 + ... + b„ H(q) = ^=n--------------Ни------------- <314) u(kh) q + ar- qn 1 + ... +an Выражения в обеих частях уравнения (3.13) можно сдвинуть на п периодов назад, что эквивалентно их умножению на q~n. Тогда отношение вход/выход выражается в виде y(kh) + а1 y[(k - 1 )/z] + ... + ап y[(k - n)h] = b0 u(kh) + ... + bn u[(k- n)h\ Используя оператор обратного сдвига, это отношение можно записать проще (1 + аг • q~r + ... + anq~n) y(kh) = (Z>0 + bvq~r + ... + bn q~n) u(kh) Соответствующий дискретный передаточный оператор имеет вид -к y(kh) bo + bi-(Tl + - + bn q~n /о 15) Н (q ) =-------=------------ u(kh) 1 + аг • q 1 + ... + ап- q п Если числитель и знаменатель уравнения (3.15) умножить на qn, то в результат6 получим уравнение (3.14), т. е. H*(q-t) = H(q). Дискретный передаточный оператор можно получить непосредственно из описа ния в пространстве состояний [уравнения (3.9) и (3.10)]. Ниже сформулирован ре зультат, доказательство которого дается в учебниках по теории управления. Связь между дискретным передаточным оператором и матрицами в пространстве состоя' ний определяется следующим соотношением y(kh) H(q) = Я*«‘) = —777 = С • (q I - Ф)1 Г + D (3.16) 1Л(КН ) 103 ди^ретныем£^^ СИСТ-^ ~~ ении этого выражения q рассматривается как комплексное число, При получ является оператором. Для систем с одним входом и и одним выхо- хотя формально имеет ОдНу строку, матрица Г - один столбец, а матрица Ф - раз- дом у матрИЦа обычно матрица D нулевая, что означает отсутствие алгебраичес- «ерностьи мЫх фИЗИЧеских) связей между входом и выходом технического ких (т- е- пря процесса. ^ом СЛучае> как и для непрерывной передаточной функции, коэффици- В Дис °ре ачн0 определяются из внутреннего описания в пространстве состояний. енты одН°но поСКОЛьку вектор переменных состояния х можно сформировать, ис- Аналоги ные варианТы представления, из H(q) можно получить множество раз- пользу ф г с и D. Описание системы в виде передаточного оператора явля- чичных ма1 рин ется однозначным, а с помощью матриц переменных состояния - нет. Пример 3.17__________________________ Дискретное описание механической системы в пространстве состояний В качестве примера дискретного описания в пространстве состояний рас- смотрим еще раз механическую систему из примера 3.11 (раздел 3.3.2). Сначала определяется шаг выборки h. После этого можно вычислить мат- рицы Ф и Г 1 э /1 h\ Ф = еАЛ = 1 + А/г + - (Ah)2 + ... = 2 \0 1/ Дискретная модель механической системы приобретает вид х[(& + 1)/г] = h\ h I • n.(kh) -I-• 1/ m u(kh) y(kh) = C • ~x.(kh) = (1 0) • n.(kh) Теперь передаточный оператор можно вычислить, используя уравне- Ние (3.16). Заметим, что q мы рассматриваем как комплексное число. Тогда 1 МЛ 12/га /г2 q + 1 I h 2т (q - I)2 \ т / / q - 1 -h H(q) = (10)- n
104 Глава 3. Описани«и«вдеяированио ------------------------ еси^ Это выражение можно переписать в следующем виде ^5 • (q2 - + 1) • y(kh) = -j • (q + 1) • u(kh) или,подставляя q, т m 1 ^2 ' [y[(k + 2)/i] - 2y[(k + 1)/г] + г/(АЖ)] = - • [u[(k + 1)/г] + u(kh)] Аналогично, со сдвигом по времени на 27г т г 1 -2 \y(kh) - 2^[(Лг - 1)Л] + y\(k - 2)А]] = - • [4(6 - 1)Л] + u[(k - 2)й]] Это дискретная модель механической системы. Выполним для сравнения простую разностную аппроксимацию непрерывной модели, описанной в мере 3.2 (раздел 3.2.1). Разностная аппроксимация назад дает • [y(kh) - 2y[(k - 1)/г] + y[(k - 2)/z]J = u(kh) при- а при разностной аппроксимации вперед имеем ^2 ’ + 2)^] ~ 2г/[(^ + 1 )/г] + г/(^/г)] = u(kh) Аппроксимации, полученные разностями вперед и назад, аналогичны и от- личаются сдвигом по времени на 2h. При малых значениях h дискретная мо- дель в пространстве состояний стремится к разностным аппроксимациям. Таким образом, для того чтобы получить дискретную модель аналоговой системы, мы можем использовать два способа. Первый — аппроксимация исходных уравнения разностными [уравнение (3.9)]; если исходная система линейна, то Ф и Г можно по лучить из А и В. Второй — получить передаточный оператор//на основе дискретно^ описания системы в пространстве состояний с помощью уравнения (3.16). Ранее отмечалось, что полюса непрерывной модели идентичны собственным чио лам матрицы А. Аналогично, полюса дискретной модели системы идентичны со» ственным числам матрицы Ф. Рассмотрим непрерывную систему первого порядка dx — = -а-х dt Y VC1^' При а > 0 система устойчива и сходится к нулю независимо от начальных у вий, т. е. х(0 = e~af-х(0) 105 ярость, оценка и наблюдаемость____________ + = e~ah . = ф . xQih') мало, что произведение а • h стремится к нулю. Тогда <р стремится Пусть h так * это означает> что состояние системы между последовательными к j физИЧе^1^орки изменяется очень незначительно. С другой стороны, если h моментами митСЯ к нулю. Это означает, что между двумя выборками систе- велико, то ф ничеГ0 не “помнит”. Поэтому очевидно, что интервал выборки h ма праКТИзначением коэффициента а и должен выбираться так, чтобы избежать связан со пешения. Определение интервала выборки подробнее обсужда- неустойчивое!п р ^Собственные числа X матрицы А соответствуют собственным числам exh матри- ф Для вышеприведенного примера системы первого порядка мы видели, что для ц“ стойчивости необходимо и достаточно, чтобы собственное число (-а) было веще- ственным и меньшим нуля. Соответственно, для дискретной системы собственное число e~ah будет лежать в диапазоне вещественных чисел от 0 до 1. Колебательная система второго порядка имеет собственные числа -о ±;со. Коле- бания будут устойчивы при о > 0 (раздел 3.3.4). Соответствующие собственные чис- ла дискретной модели суть е о/;Э“бг и е~а1г^шк. Очевидно, что, поскольку мы рассмат- риваем одну и ту же физическую систему, эти собственные числа соответствуют тому же самому колебательному процессу, но только наблюдаемому в моменты времени с интервалом h. Заметим, что при о > 0 собственные числа дискретной модели распо- ложены внутри единичного круга. Приведенные примеры уравнений первого и второго порядков можно обобщить для систем более высоких порядков: если собственные числа — и, соответственно, полюса — дискретной модели расположены внутри единичного круга, то система ус- тойчива. Таким образом, внутренность единичного круга соответствует левой части комплексной плоскости для непрерывных систем. 3 5. Управляемость, оценка и наблюдаемость Каждая техническая система обладает несколькими фундаментальными характе- ристиками, которые требуют особого внимания. 3-5.1. Управляемость ст, имеет ЛЯеМ°СТЬ ^соп^го^а^^У>) ~ это характеристика системы, которая показыва- чтобы ЛИ система Достаточное количество регулируемых параметров для того, мой, еслПи>аВЛЯТЬ еЮ тРебУемым образом. Грубо говоря, система является управляе- Т|,гла за М°Жно подобрать такие управляющие воздействия и, чтобы система дос- (илисобст Н0Г° состояния х Только тогда, когда система управляема, ее полюса (глава 6) Веннь1е числа) можно произвольно перемещать с помощью обратной связи ”ены От "Р°цесс неуправляем, это означает, что части системы физически отсоеди- ИМеЮщей к авля1°Щих сигналов и. Проиллюстрируем этот случай для системы, не чсния). в т ?ЫХ собственных чисел и полюсов (все полюса имеют различные зна- 11 йЧде И системе переменные состояния можно разделить, т. е. представить ее Дискретное описание системы имеет вид
106 или в матричной форме Глава 3. Описаниеи!Д^^ ^r=xr*i + Pi-“i dxn -^=К-хп+&п-иП dx dt гтк оценка и наблюдаемость ^управляемо£1д--^-------- - состояния X, даже если адекватные датчики не существуют или про- полный вектор, р[рИ определенных условиях можно вычислить вектор состоя- сТ0 слишком изМерений у. В последующем х будет обозначать вычисленный век- ния х на ос поскОльку он может отличаться от реального. тор сОСТО^чиСдения неизмеряемых переменных состояния можно использовать про- ДлЯ В енки (estimator), причем как для непрерывных, так и для дискретных моде- цедуру ассмотрен алгоритм оценки для дискретной модели, поскольку его можно Лей. Здес енн0 прИМенять в компьютерном управлении. Оценка состояния факти- Henoci^aeTC>I 0Писанием технического процесса разностными уравнениями (3.9), ^спорые введен дополнительный член для корректировки оцениваемых перемен- ных на основе измерений у х[(А + l)/z] = ф • x(kh) + Г • u(kh) + К • [у(Агй) - С • x(kh)] 107 (3.17) при Хг- Ху для всех г j. Такая запись называется диагональной, а состояния в такой системе — собственный колебаниями (naturaloscillationsmodes) (раздел 3.3.4). Управляющие сигналы влияютк каждую переменную состояния по отдельности. В управляемой системе все элемент матрицы В — ненулевые, в противном случае переменные состояния, соответствующие нулевым элементам матрицы В, не могут регулироваться сигналами управления. Значе- ния таких переменных будут определяться только свойствами системы. Аналогичные рассуждения можно провести и для дискретной модели. Если вс собственные числа различны, то уравнение принимает диагональный вид /Х10... 0\ /|ЗД х[(& + 1) h\ = I ° " ° I • x(kh) + I ^2г| • и \ о о... х„/ W Точно так же как и в непрерывной модели, для того чтобы система была управ.» емой, все |Зг- должны быть ненулевыми. Управляемость линейной системы на базе непрерывной и дискретной моделг можно проверить математическими методами. Однако никакие математические тоды не могут заменить понимание физической природы процесса инженером-пр0' ектировщиком. Например, часто бывает, что некоторые параметры плохо управЛЯ^ мы, т. е. значения соответствующих коэффициентов (Зг- малы. И хотя форм система управляема, реальный регулятор, пригодный для практического исп вания, создать невозможно. 3.5.2. Оценка состояния на основе измерений Вторая характеристика системы связана с измерениями и наблюдением- ляет ли имеющийся состав датчиков получить достаточную информацию о нии системы? Возможно ли косвенным образом вычислить весь текущий веКТ^,.1; стояния x(t), если известны текущее и предыдущее значения выходного с у(Д)? Эта характеристика называется наблюдаемостью (observability). В большинстве случаев состояние системы не измеряется непосредсТ т. е. число датчиков меньше числа переменных состояния. Однако часто ваЖН° Матрица D [уравнение (3.10)] в большинстве случаев — нулевая. Если система имеет только один датчик, тогда К является вектором, в противном случае — матри- цей. При “отличной” оценке х и х совпадают и последнее слагаемое в уравне- нии (3.17) равно нулю, так как у = С • х. Оценка будет подчиняться тому же динами- ческому уравнению, что и истинный вектор состояния х [уравнение (3.9)]. Поскольку х отличается от х, последнее слагаемое, т. е. разность между реальным измерением у и его оценкой С • х, используется для коррекции ошибки. Матрица К есть весовой коэффициент, определяющий качество оценки. Работа алгоритма оцен- ки иллюстрируется рис. 3.17, где показано, как выход модели С • х постоянно коррек- тируется измеренными значениями у. Если К выбран правильно, то х сходится к х. Ис’ 3'17- ОЦе1 ка состояния по всем переменным технического процесса
108 Глава 3. Описание и моделирование — В верхней части рисунка изображен технический процесс, а в нижней — п ра его оценки по всем переменным состояния (full- order estimator'), т. е. компыо модель на основе уравнений (3.17). Другими словами, оценка есть не что и Тер*^ компьютерная модель технического процесса, которая регулярно KoppeKTnnv основе текущих измерений. Для проверки сходимости используется неличцц/'^ рая называется погрешности) оценки (estimation error) ’ Л x(kh) = x(kh) - x(kh) Вычитая уравнение (3.17) из уравнения (3.9) и подставляя уравнение (3 Ю) п условии, что матрица D нулевая, имеем x[(k + 1 )h] = Ф x(kh) - К • [y(kh) - С • x(kh)] = = Ф • x(kh) - К С x(kh) = (Ф - К С) x(kh) (31s Если К можно выбрать так, что x(kh) сходится достаточно быстро к нулю, то оцен- ка является удовлетворительной. Это означает, что x(kh) будет сходиться к х((А)не- зависимо от начальных условий. Более того, К можно подобрать таким образом,™ погрешность будет сходиться быстрее, чем исходная аппроксимация, определяема; матрицей Ф. Возможность выбрать К таким образом, чтобы оценка была приемлемой, зависк от наблюдаемости системы, которая определяется только матрицами Ф и С. Иначе говоря, наблюдаемость характеризует возможность получить информацию обо вен состояниях системы х на основе выходных сигналов у. Наблюдаемость также гаран- тирует, что можно найти подходящую матрицу К такую, что x(kh) сходится к нулю сколь угодно быстро. Ненаблюдаемость означает, что некоторые состояния или час- ти системы физически отсоединены от выхода процесса и поэтому не отражены виз- мерениях. Система, описываемая передаточной функцией, наблюдаема, если числи- тель и знаменатель не имеют общих множителей. Пример 3.18 Оценка угловой скорости в механической системе Рассмотрим двигатель, соединенный с тяжелой нагрузкой упругим валом- В бумагоделательной машине или на прокатном стане упругость вала может быть причиной колебаний нагрузки (рис. 3.18). Рис. 3.18. Электрический привод, состоящий из двигателя и нагрузки, соединенны- упругим валом Поскольку основной целью является управление угловой скоростью грузки, эту скорость нужно измерять. Скорость также можно оценить, ес-^ измерить угловое положение нагрузки. Динамика нагрузки описывается заК°
109 пн.рнка и наблюдаемость 35,ynpa^5£^ v угий вал действует как пружина с силой реакции, пропорци- ям Ньютона. ПР углами поворота валов двигателя и нагрузки. До- пн^^ГГпэзность скоростей вращения со валов двигателя и нагрузки вы- полнительно Раа Отивления, пропорциональный скорости. При моменте зывает м0**еИТ еНте инерции JL закон Ньютона для нагрузки имеет вид двигателя и м d2e , de J, --=Tm-k'E~c'~r JL dt2 m dt динамику системы можно описать уравнениями состояния dx^ ------------------------= Хо dt dx2 k -т- = - — И - dt JL Xj - £ с 1 7LX2+hT" de y(t) = xr Производные аппроксимируются конечными разностями с шагом h + 1)/г] ~ x^kh) + h x2(kh) kh he h x2[(k + 1 )/г| ~ x2(Jih) - — x^(kh) - — • x2(kh) + ~~~ • Tm(kh) Jl Jl Jl где& = 0,1, 2,... Оценка имеет вид хД(& + l)h] =x^(kh) + h x2(kh) + \x\(kh) - x^kh)] ^2[(^ + 1)Л] = x2(kh) - — x^kh) - — x2(Jdi) + — • Tm(kh) + Jl Jl Jl + K2 ’ [xjjdi) - x^kh)] Цель оценки — вычислить х2(^Л) на основе измерений у = x^kh). Началь- НЬ1е условия реальной системы неизвестны, и поэтому для оценки их можно считать нулевыми. В примере, показанном на рис. 3.19, угловая скорость меха- кои системы изменяется неизвестным образом. В момент времени t = 5 1вигатЯ СКОРОСТЬ меняется скачком из-за мгновенного увеличения момента о™ РИСуНКе видн0, как значение х2 стремится к х2(&/г). Реальная нЬ1 Q ТЬ х2(^) неизвестна и принимается равной 5. Даже если и К2 рав- рект’ О1'с-Нка стремится к реальной величине, поскольку модель оценки кор- ствит СЛИ значения и -^2 положительны, оценка может сходиться к дей- схолпеЛЬН°Му значению быстрее. Чем больше значения К, и К2, тем быстрее аится оценка. оценкСК°лькУ °Ценка достигла действительного значения (т. е. погрешность то они и дальше остаются идентичными, даже если ^УНКцИК)М0МеНТ изменяется; в известном смысле оценка “знает” входную
no 111 Рис. 3.19. Оценка скорости на основе точного измерения угла поворота лл различных значений вектора оценки К. Реальная скорость показана сплошной линией, а оценки — пунктиром. Значения вектора оценки: 1 — К, = О, К = О’ — ~ 3, -&2 = 3; 3 — К, = 3, К2 = 15. Оценки 2 и 3 сходятся быстро ~ они совпадают с реальной скоростью примерно через 2 секунды. Следует отметить, что оценки 2 и 3 первоначально имеют разные знаки В реальной системе скорость можно получить просто дифференцировани- ем угла поворота вала. Однако на практике это довольно сложная операция, поскольку сигнал обычно зашумлен и производная от такого сигнала дает мало информации. Если модель физической системы неточна, то динамика погрешности не подчиня ется уравнению (3.18). Однако часто К можно выбрать таким образом, что систем: остается устойчивой, а погрешность оценки приемлемо мала, даже несмотря на не большие неточности в модели процесса или искажения при измерениях. Этому®' священ следующий раздел. 3.6. Системы с неопределенностью Математическая модель редко точно отражает реальность — всякое описан^ строится на основе некоторых допущений. Во многих случаях модель не учитывав все тонкости реального процесса, а некоторыми состояниями просто пренебрегаю1 Существуют системы, которые трудно описать количественно в виде математик1- ких выражений. В таких случаях можно использовать семантическое описан в частности для систем, в контур управления которых включен человек-опера' К этому классу относится большинство биологических систем, которые либо сл ком сложны, либо недостаточно изучены. Поэтому при проектировании систему равления всегда необходимо задаваться вопросом о том, какая модель являе^ наиболее адекватной с позиций неучтенных факторов — неопределенно {uncertainties). Моделирование возмущений и случайных ошибок в датчиках основываете^ теории стохастических процессов. Стохастический процесс {stochasticprocess) " последовательность случайных величин. В принципе это означает, что в момент каждой переменной процесса добавляется случайная величина 'орки к значению дением вероятности. Аналогично, шум в измерениях можно ° известным распр й ю добавку к сигналу датчика. Проблемы точности изме- Оценка состояния при стохастических возмущениях 3 ®’ м раздеЛе предполагалось, что используемая при оценке измери- В преДьИУ мация <т е вектор измерений у) не содержит ошибок. На практике не тельная инф°леальных датчиков. Шумы и возмущения в датчике можно рассматри- сушествует и ^тельную случайную переменную е в уравнении состояния. Возму- вать как д датчики технического процесса, можно компактно записать шения, влияющие па У аа как вектор е, который добавляется в уравнение (3.10) y{kh) = С • x{kh) + e{kh) (3.19) Каждый компонент вектора шума e{kh) моделируется как последовательность стохастических, т. е. случайных, значений. Если эти компоненты независимы друг от друга, тогда амплитуды компонентов шума в момент времени kh не зависят от их зна- чений в предшествующие моменты времени. Обычно, можно считать, что эти ампли- туды нормально распределены, и тогда среднее значение и стандартное отклонение полностью характеризуют возмущения. При наличии шума в измерениях процедура оценки, описанная в разделе 3.5.2, должна выполняться с особой тщательностью. Для вычисления погрешности вмес- то уравнения (3.10) используется уравнение (3.19). Выражение для оценки прини- мает вид х[(* + 1 )h] = Ф • x{kh) + Г • u{kh) + К • [y{kh) - С • x{kh)] = „ (3.20) = Ф • x(kh) + Г • u{kh) + К • [С x(kh) + e{kh) - С • x{kh)] В этом случае необходим компромисс при выборе К. Большие значения компо- нентов вектора К ускоряют сходимость, но при этом усиливается влияние слагаемо- го шума е, что увеличивает погрешность оценки. Поэтому значения компонентов ™Ра К должны быть, с одной стороны, достаточно велики, чтобы x{kh) сходилосг возм°жно быстрее, а с другой — достаточно малы, чтобы слагаемое шумг 1 не очень существенно влияло на результат. Пример 3.19 Ценка при зашумленных измерениях что^™ eUie Ра3 механическую систему из примера 3.18. Предположим, Результаты измерения угла поворота вала наложен шум р y(t) =хг + е |(езащ УЛЬтат 0Иенки скорости при тех же самых значениях К, что и для случая носят УМЛенных измерений, показан на рис. 3.20. График показывает, как соот- хУЖе СХодимость и точность оценки. При малых значениях К сходимость итоговая точность вполне приемлема. Большие значения К позволя-
112 113 Глава 3. Описание и моделирование -------------------------- ют получить быструю сходимость, но общая точность оценки неудовлет тельна. Очевидно также, что оценка скорости дифференцированием ворота вала будет давать очень плохой результат. 'вори. Угла uq. Рис. 3.20. Оценка скорости при измерении угла поворота в условиях шумов; схо- димость для варианта 2 быстрее, но выше чувствительность к возмущениям. Значения вектора оценки К такие же, что и для примера на рис. 3.19: 1 — Kt = 3 Х9 = 3- 2 - К{ = 3, К2 = 15 ' Для того чтобы найти наилучшие значения вектора К при зашумленных измерениях нужно использовать более сложные методы. Наилучшие значения К часто изменя- ются в зависимости от времени. Они могут быть достаточно большими до тех пор пока разность между реальным измерением у (Л/г) и его оценкой ^(kh) = С х(Й! больше, чем е(Л/г). Когда погрешность уменьшается и ее значение становится соизме- римым с шумом е(Л/г), то и значения К следует соответственно уменьшить. На переменные состояния могут влиять возмущения, которые нельзя смоделиро вать детерминированным образом. Для учета влияния ошибки моделирования ил» шумов процесса в разностное уравнение (3.9) добавляется член, характеризуют1111 возмущения. Типичным примером является измерение уровня жидкости в больш01 емкости с волнением на поверхности, которая вызывает случайные колебания изме ряемого уровня. Другим примером может служить измерение момента электроМ°^ ра, при котором возникают небольшие пульсации из-за работы преобразователя тоты. Такие отклонения можно моделировать случайными величинами v(- которые добавляются к уравнению состояния х[(& + 1 )/г] = Ф • х(/е/г) + Г • u(kh) + v(kh) Эти случайные величины могут быть учтены аналогично измерительному шУ1^ В этом случае регулятор учитывает неопределенность и его действия будУт “осторожными”, т. е. коэффициент усиления регулятора должен быть Оптимальное значение К зависит от типа возмущения. Фильтр Калмана ( filter) — это функция со структурой, соответствующей уравнению (3.20), и базИ^ щаяся на описании системы уравнениями (3.19) и (3.21). Значение К, получае-' фильтра Кальмана, изменяется во времени и представляет собой оптимальный ромисс между возмущениями в системе и в датчиках и погрешностью оценки- ДГ^ечеткие системы 3-°’ не только нелинейны и нестационарны (изменяются во време- Многие сист пл0Х0 определены. Их нельзя смоделировать уравнениями или ни), но и в°°а 0М ясных логических правил типа “если-то-иначе”. Для решения представить на* американский ученый Лотфи А. Задех (Lotfi A. Zadeh) разработал подобных зал (fuzzy logic). Термин “нечеткая” фактически использован не совсем нечеткую л°оскольку ЛОГИка прочно базируется на математической теории, правильно, логику моЖНо рассматривать как методологию дискретного управле- Нечет у человеческое мышление, с использованием такого свойства, Ния, им физическим системам, как неточность. В традиционной логике и присуш^елъной технике используются детерминированные множества, т. е. всегда можно сказать, принадлежит ли элемент множеству или нет. Обычная - бинарная - погика оперирует только противоположными состояниями — “быстро/медленно”, “открыто/закрыто”, “горячо/холодно”. В соответствии с этой логикой температуру 25 °C можно расценить как “горячо”, а 24.9 °C - еще “холодно”, и регулятор темпера- туры будет реагировать соответственно. В противоположность этому нечеткая логика работает, преобразуя жесткие двоич- ные переменные - “горячо/холодно”, “быстро/медленно”, “открыто/закрыто" — в мягкие градации с изменяемой степенью принадлежности {degree of membership) — “тепло/прохладно”, “довольно быстро/несколько медленно”. Температура 20 °C мо- жет означать одновременно и “тепло”, и “прохладно”. Такие градации игнорируются обычной логикой, но служат краеугольным камнем нечеткой логики. Степень член- ства определяется доверием (confidence) или уверенностью (certainty) (выражается числом от 0 до 1), что конкретный элемент принадлежит нечеткому множеству. Нечеткие системы вырабатывают свои решения на основе входной информации в Форме лингвистических переменных, т. е. терминов обычного языка, например “го- рячо , медленно” или “темно”. Эти переменные обрабатываются правилами “если- тог иНЭЧе ',И в РезУльтате формируется один или более выводов в зависимости от ствц'иКЭКИе УтвеРждения истинны. Вывод каждого правила взвешивается в соответ- с доверием или степенью принадлежности его входных значений. теллекта?^61- некотоРая аналогия между правилами “если-то” искусственного ин- лект — AI) и нечеткой логикой, хотя искусственный интел- И[1течлектПР01“еСС о^Ра^отки символов, а нечеткая логика — нет. В искусственном структур ^веиР°нная сеть есть совокупность данных и выводов в виде специальных вой коэфф Д0И вх°Дн°й величине назначается относительный, дискретный весо- Сетьдляпп ЦиеНт’ Взвешенные данные точно определенным способом формируют |1епРерывно ЯТИЯ Решений- В отличие от этого в нечеткой логике весовые функции Вечеткая°ПРеДеЛеНЫ на множестве значений принадлежности. 'ем ^меряютздИу3 Часто имеет Дело с переменными, которые скорее наблюдаются, "Ое °тличие поЯ пРавление на основе нечеткой логики имеет еще одно существен- '’одели систем Сравнению с традиционным. Последнее основано на математической ПеРеменнь1х ^?ТОрая предполагает наличие детальных знаний о соответствую- ВхОд/ВЬ1 1Х’ Моделирование на основе нечеткой логики имеет дело с отношени- замена в которых собраны вместе многие параметры. При таком управле- Г>и”аДлежиОс^)ЛЬ11Юго Диапазона значений на меньшее количество градаций помогает сократить число переменных, которыми должен опериро-
114 Глава 3. Описание и моделирован^ —— вать регулятор. Соответственно, требуется меньшее число правил, поскодь оценивать меньше параметров, и во многих случаях регулятор на базе нечетко^ *1"‘ ки может вырабатывать решения быстрее, чем экспертная система на основе п “если-то”. На экспериментальных прототипах было показано, что нечеткая является хорошим инструментом при недостаточных объемах информации 40115 Автоматический регулятор скорости поезда служит простой иллюстрацией ложений нечеткой логики. Критерием для регулятора является оптимизация в ни пути при известных ограничениях. Входными данными являются теку]цИе ) рость, ускорение и расстояние до места назначения, на основе которых регудят управляет мощностью двигателя. скорость текущее состояние: слишком медленно = 0.2, медленно - 0.8 выход регулятора Рис. 3.21. Функции принадлежности регулятора скорости на основе нечеткой лог Функция принадлежности присваивает измеряемым величинам лингвис кие значения (рис. 3.21). В приведенном случае ускорение имеет значение т и 0 ние” из-за крутого подъема. Скорость принадлежит к множеству “медленно и “слишком медленно” (вес 0.2), а расстояние имеет значение “очень близко назначения” с весом 0.65 и “близко” с весом 0.35. 115 _________________ правил^й^^'дать представление 0 логике управления: Несколько имеет значение “слишком медленно”, а ускорение — “торможе- - если ск°сРледует “существенно увеличить” мощность; ние ’ ть иМеет значение “медленно”, а ускорение — “торможение”, то сле- " Хет “слегка увеличить” мощность; д- тпяние имеет значение “близко”, то следует “слегка снизить” мощность. - если расстояп вило должно быть выбрано? Выход также имеет степень доверия, кото- КаК°е т от степени доверия (т. е. веса) входных данных. Окончательный выбор рая зави аемом примере — “слегка увеличить” мощность. Даже если скорость В РЭССзначение “слишком медленно”, то поезд уже близок к месту назначения. ИМНет гарантии, что нечеткая логика может успешно справляться со сложными сис- темами Регулятор на базе нечеткой логики является практически оценкой состоя- ния системы, которая не основана на конкретной модели. Доказать устойчивость та- кого регулятора очень сложно. Нечеткая логика приобрела чрезвычайную популярность при разработке систем управления в Японии, хотя в Соединенных Штатах, где была создана, и в других за- падных странах к ней относятся довольно сдержанно. Продукция, основанная на не- четкой логике, — вся она японского производства — включает в себя автоматически фокусирующиеся фотоаппараты, кондиционеры воздуха, стиральные машины, пы- лесосы, регуляторы лифтов и скорости поездов метро. Аналогично другим техническим решениям, применение нечеткой логики долж- но рассматриваться с точки зрения эффективности, т. е. достижения приемлемых ре- зультатов при разумных затратах. Нельзя рассматривать нечеткую логику как всегда верное решение или как простую альтернативу более сложным схемам управления. В некоторых случаях, как для вышеупомянутых автоматически фокусирующихся фотоаппаратов, разработка более совершенной технологии датчиков фактически привела к лучшим результатам, чем использование нечеткой логики. 3-7. Комбинационные и последовательностные сети к° проХхПРОМЬ1ШЛеННЬ1е пРОцессы управляются бинарными сигналами; несколь- в Разделе 2 2ПВ,ИМеров УпРавления последовательностью событий было приведено к°мбинац ИСТеМЫ На основе бинарных сигналов можно разделить на два типа — Ческих вып ННЫе5ети’ К0Т0РЬ1е также можно рассматривать как совокупность логи- вкомбина6НИЙ’ И последовательностнь1е сети. ,начением “и 1'Ион^10® сети (combinationalnetwork) входная величина у с логическим 1°вдетворятСТИНа ИЛИ ложь” зависит от ряда входных условий и, которые должны ься одновременно. У системы нет памяти, т. е. ЭТоТтип п y{t)-f[u{t)] (3.22) 1'м°сти ручногс)ВЛЯЮи1еЙ СеТИ можно исп°льзовать, например, для проверки допус- '||01Ций компы Управления- Во время запуска сложного процесса вручную управ- 'м^Удет вКЛ1оХер ДОлжен проверить выполнение всех логических условий прежде, v П°Следовя еН ИЛИ выклгочен конкретный исполнительный механизм. 111ег° состоянияЛЬН°СТНОЙ сети (seQuencing network) выход зависит не только от те- процесса и входных сигналов, но и от их истории. Такая система
116 Глава 3. Описание и моделирование сиСТ( К мбинаторные и последовательные сети 117 имеет память и использует концепцию состояния объекта. В простой последовав ностной сети действия выполняются так Шаг 1 => Шаг 2 =>... => Шаг п Когда переход от одного шага к другому определяется логическими условия^ последовательность называют асинхронной. В отличие от этого в синхронных посЛе довательностях переход между состояниями (шагами) задается метками времен В промышленных приложениях чаще встречаются асинхронные переходы. Некоторые идеи можно проиллюстрировать на упрощенном примере коордищ. ции работы станков при поточном производстве. Два станка А/1 и М2 образуют тех- нологическую линию (рис. 3.22). Буфер В между ними может содержать не более од- ной детали. Рис. 3.22. Два станка с промежуточным буфером на транспортере между ними Каждый станок может быть в одном из двух дискретных состояний — “готов к рабо- те” или “неисправен”. В течение короткого интервала времени At для каждого из двух станков существует вероятность, что он будет неисправен, — /j • At и /2 • At- Вероят ность, что сломанный станок будет починен и снова запущен в работу в течение того же самого интервала времени, — г± • At и г2 • At. Буфер имеет два дискретных состояния- “полный" или “пустой”. Пустой буфер будет полным, если станок Mi производит дета- ли с вероятностью • At. Полный буфер может стать пустым, только если станок Ай обработает накопившиеся детали с вероятностью ц2’^t. Поскольку состояния явля- ются дискретными, их можно идентифицировать двоичными цифрами О — станок неисправен 1 - станок готов к работе О — буфер пустой 1 — буфер полный Система описывается восемью состояниями (табл. 3.1). Таблица 3.1. Описание дискретных состояний технологической линии Состояние Буфер Mi М2 5000 0 0 0 5001 0 0 1 5010 0 1 0 5011 0 1 1 5100 1 0 0 5101 1 0 1 5110 1 1 0 5111 1 1 1 Станок Mi может выполнять работу, только если буфер пустой; п противном сЛУ чае он должен ждать. Станок М2 может продолжать работу, только если буфер содл еТали- иначе он тоже должен ждать. Таким образом, работа каждого станка за- ^ит д от состояния другого. Говорят, что станок “блокирован”, если он не может ра- висит нехватки некоторых ресурсов (в данном примере деталей или свободно- Аотатьиз зо места в буфере). г° Работу станков иллюстрирует граф состояний (state graph) или конечный авто- , ufomatori), описываемый восемью состояниями 5000,..., Si 11 (рис. 3.23). маТр каЖДый момент времени система может находиться только в одном состоянии. Ле еход между состояниями определяется вероятностью, что станок выполнит свою боту за определенное время, или что он сломается, или что будет отремонтирован. Допустим, например, что система находится в состоянии 5101; при этом А/1 простаи- вает а М2 может работать, поскольку буфер полный. Система может изменить это состояние тремя способами: - если М2 сломан — переход в состояние 5100; - если М1 отремонтирован — переход в состояние 5111; - если М2 работает нормально — переход в состояние 5001. р,*с. 3.23. Граф состояний технологической линии с двумя станками и буфером в Разл'ц011 Метод м°ДелиРования системы станков позволяет имитировать переходы (,ость ЧНЫе состояния- Фактически с помощью этой модели можно оценить вероят- Р°сть Д°Стижения определенного состояния. Производительность станков и ско- мальнИХ ремонта влияют на общую эффективность работы системы в целом. Опти- Детад Система не допускает простоя станков из-за блокировки или недостатка г е* и Имеет небольшую интенсивность отказов (failure rate). пРило-Ф С°СТОЯНИЙ пРеДставляет собой инструмент для систематического анализа ГгРом, ЖеНИЙ подобного рода и поэтому широко используется при проектировании пиленных приложений.
118 Глава 3. Описание и моделирование Процессы, в которых переход в другое состояние зависит только от текуц^ состояния и входных сигналов, называются марковскими процессами (Afa^‘ process). В известном смысле марковские процессы похожи на дифференциалу уравнения из раздела 3.4, однако между ними есть фундаментальное отличие в первом случае каждая переменная состояния имеет непрерывно изменяющую амплитуду (например, значение температуры или давления), но выборка и обраб^ ка происходят только в определенные моменты времени; напротив, марковский у цесс “переключается" между конечным числом детерминированных состояний. Граф состояний можно рассматривать как информационную структуру процесь автоматизации. Она, однако, ничего не говорит о том, как реализовать управление В главе 7-будет показано, как использовать переключатели и программируемые* гические контроллеры для создания таких систем. 3.8. Заключение Модель есть описание физического процесса в целях управления. В этой глаи были рассмотрены четыре класса математических моделей: - непрерывные динамические системы, описываемые линейными или нелиней ными дифференциальными уравнениями; - дискретные модели динамических систем, описываемые линейными или не® нейными разностными уравнениями; - системы дискретных событий или последовательностные системы, опись» мые конечными наборами состояний; - системы с неопределенностями, которые описываются статистическими и.® лингвистическими методами. Для компьютерного управления модель динамической системы должна бы® представлена в дискретном виде, либо в пространстве состояний (внутреннее прй ставление), либо как отношения вход/выход (внешнее представление) — выбор* висит от структуры проектируемой системы управления. Линейные модели проШ' для анализа системы, но нелинейность не накладывает ограничений на компьютер ное управление. В этой главе были приведены примеры и нелинейных систем. Д'1’ исследования динамики линейных систем имеется целый ряд программных проД/ тов, однако описание нелинейных систем очень сложно и редко может быть выполз но аналитически. Поэтому важным инструментом моделирования таких систем^ ляются программы-имитаторы. В этой главе были описаны две важные характеристики систем — управляемой и наблюдаемость. Управляемость показывает, достаточно ли регулируемых napaW ров, чтобы привести систему в заданную точку в пространстве состояний. НаблюД3' мость показывает, можно ли на основе измеряемых величин найти все внутреН11’ переменные системы. Если технический процесс наблюдаем, то функция оценки111 зволяет определить переменные состояния, которые не измеряются датчиками 111 посредственно. Если на процесс или измерения влияет шум, то процедура опей1, должна включать в себя модель возмущений, которая обычно базируется на их ста11 стических свойствах. Многими промышленными процессами можно управлять без количествен116 математических моделей. Мысленные модели принятия решений (глава 11) котоР1 119 ^Закл^^- ми пользуются операторы, позволяют им управлять даже очень сложными система- ми. Если управляющий компьютер должен в той или иной степени имитировать мо- дель принятия решении человека, то систему управления необходимо описыватт в лингвистических терминах. Одним из средств описания моделей с внутренними неопределенностями служит нечеткая логика. Последовательностные системы и системы дискретных событий широко приме- няются в промышленности Некоторыми процессами можно управлять с помошью относительно простых комбинационных сетей, для других - необходимо учитывав их предыдущие состояния (историю). В этой главе были рассмотрены некоторые спо собы моделирования последовательностных систем. н Рекомендации по дальнейшему чтению Существует много книг, посвященных моделированию динамических систем; не очень сложными введениями являются [Luenberger, 1979] и [Ljung/Glad, 1994]. Идентификация процессов и оценка параметров, которые были коротко затронуты в этой главе, — предмет рассмотрения [Soderstrom/Stoica, 1989] и [Ljung, 1987], ко- торые рекомендуются как вводные, a [Ljung/Soderstrom, 1983] дает подробную ин- формацию по рекурсивным оценкам. Важным разделом механических систем является динамика и кинематика робо- тов; [Craig, 1989] дает короткое, но превосходное введение в эти вопросы. [Spong/ Vidyasagar, 1989] и [Asada/Slotine, 1986] представляют собой более полное рассмот- рение задачи управления роботами. Много книг посвящено электрическим системам. [Fitzgerald/Kingsley/ Unians, 1990] — это стандартный учебник по электрическим машинам; [Mohan/ Undeland/Robbins, 1995] дает обзор перспектив силовой электроники. Динамичес- ким аспектам особое внимание уделено в [Leonhard, 1985]. [Elgerd, 1982] предлагает хорошее введение в электрические системы. [Kreutzer, 1986] представляет собой обзор математических методов для модели- рования зданий; в книге даются различные стили моделирования и соответствующие методы расчетов на компьютере. [Wolfram, 1991] — это известный справочник по пакету Mathematica. [Buckley, 1964] — классическая книга о моделировании и управлении хими- ческими процессами. Представление об этих процессах также можно получить I uyben, 1990], где приведено несколько иллюстраций моделирования техно- логии химических процессов. [Seborg/Edgar/Mellichamp, 1989] дает подробное ваниЖеНИе УпРавления химическими процессами. Некоторые аспекты моделиро- al ю/™ биологической очистки сточных вод можно найти в [Henze et тецЛа и [Olsson, 1985]. [Cannon, 1967] обсуждает в деталях процессы передачи в HgFranklin/Powell/Emami-Naemi, 1986] рекомендуется как превосходное введение по м РеРЬ1ВНЬ1е системы управления. [Кио, 1995] содержит большой вводный раздел аналиДеЛИР°ВаНИЮ Физических систем и описание необходимой математики для их Лени 33 ^искРетные как детерминированные, так и стохастические системы управ- \у0 ь "дробно излагаются в [Astrom/Wittenmark, 1990] и [Franklin/Powell/ б0_ Illari, 1990]. В обеих книгах детально рассматривается влияние интервала вы- на устойчивость системы.
120 Глава 3. Описание и моделирование сиС;, ---------,---------------------------------------------- - "'"'х Хороший обзор положений нечеткой логики дается в [Yager/Zadeh, 1987] и Folger, 1988]. Современное представление о применении теории нечеткой логц^ в управлении изложено в [Driankov/Hellendoorn/Reinfrank, 1993]. Связь между ровными сетями и нечеткой логикой хорошо описана в [Kosko, 1990]. Последовательностные системы описываются в [Fletcher, 1980]. [Desrochers, 199^ рассматривает моделирование при поточном производстве, а также марковские и марковские процессы как инструмент такого моделирования. Ранняя история технологии управления от античных времен до паровой мащц^ Уатта приведена в [Мауг, 1970]. Некоторые исторические записки о Уатте и Макс- велле можно найти в [Fuller, 1976]; разработка усилителя с обратной связью опись вается в [Bode, 1960]. Некоторые ранние работы, касающиеся описания в прострав стве состояний и оптимизации, упоминаются в [Bellman/Kalaba, 1964]. Вход и выход физических процессов Интерфейс между техническим процессом и системой управления Датчики и исполнительные механизмы. Передача и согласование сигналов посвящена описанию интерфейса между физическим/техническим Обзор Эта глава процессом и управляющим компьютером. Для того чтобы обеспечить связь компью- тера с процессом, приходится применять много разных технологий. Разработчик си- стем цифрового управления не обязательно должен быть экспертом во всех смежных областях, однако важно, чтобы он имел представление о различных проблемах орга- низации интерфейса. В начале главы описаны составляющие интерфейса процесс-компьютер. Жиз- ненно важными для цифрового управления являются измерения и технология дат- чиков. Датчики должны точно отображать физические переменные технического процесса как в стационарных, так и в переходных режимах работы. Измерительная аппаратура и исполнительные устройства — это очень обширная тема, и здесь даны лишь несколько примеров, позволяющих читателю ощутить круг проблем и возмож- ностей в этой области (раздел 4.1). Основные характеристики датчиков описаны в разделе 4.2. Измерительные устройства, которые обеспечивают только сигналы типа “включено/выключено” — бинарные датчики — рассмотрены в разделе 4.3. Краткий обзор различных датчиков аналогового типа сделан в разделе 4.4. Значи- тельное внимание уделено расходомерам, поскольку они играют важную роль в при- кладных задачах управления процессами. Передача сигналов между датчиками, управляющим компьютером и исполни- тельными устройствами — еще одна большая тема. Сигналы, которые вырабатыва- ется датчиками, должны быть согласованы как с устройствами измерения, так и х ИНТеРфейсом компьютера. В этом смысле очень важно предпринять защитные против влияния разнообразных электрических помех, искажающих первона- но Н^ИСИГнал датчика. Вид носителя сигнала — ток, напряжение или свет — обыч- и,!,.. иРается в зависимости от характера помех. Вопросы передачи сигналов рас- м°трены в разделе 4.5. Димо Т0Г° что^ы воздействовать на процесс, выходной сигнал компьютера необхо- г° си ПРео^Разовать либо в механическое движение, либо в другой тип электрическо- ШирНа аЛа' Тэкие задачи решают исполнительные устройства. Это также очень об- Устро^Я °^ласть> в которой особое место занимают различные электроприводы — (двухИСТВа для преобразования электрической энергии в механическую. Бинарные Управ °3иЦионные) исполнительные устройства — для так называемого релейного Зе 4 /еНия по типу “включено/выключено” — рассмотрены в разделе 4.6; в разде- саНЬ[ Лан° введение в технику электропривода, и, наконец, в разделе 4.8 кратко опи- Управляющие клапаны.
Глава 4. Вход и выход физических проц^ 4.1. Компоненты интерфейса между процессом и управляющим компьютером Общая структура ввода/вывода между процессом и управляющим компьютер показана на рис. 4.1. Хотя на практике используются разнообразные датчики, исц0. нительные механизмы и согласующие устройства, основная структура интерф^' всегда одна и та же. 122 ^Компоненты инт^рфейсаме^кд^т^^ иуПравляЮщим компьютером теЛьного устройства (датчика) есть выходной сигнал преобразователя В больший стве управляющих систем этот выходной сигнал обычно - и предпочтительно электрический, однако довольно часто встречаются и пневматические датчики Главное достоинство электрических датчиков - это гибкость и разнообразие спо собов обработки сигнала. Следует отметить, что электрический сигнал можно давать на большие расстояния с очень малыми затратами энергии. Пневматически датчики, по сравнению с электрическими, обычно дешевле, меньше по пЛЗр„ проще и нечувствительны к возмущениям. Более того, в условиях взрыво и пожя ’ роопаснои среды пневматические датчики более безопасны, чем электрические физическая переменная (как правило, аналоговая величина) выходной сигнал (чаще всего электрический) Рис. 4.1. Общая структура ввода/вывода между процессом и управляющим компьютером То, что эта структура выглядит очень просто, вовсе не означает, что ее можно® ко реализовать. Один из законов Мерфи гласит: “Если вам кажется, что все идет» рошо, скорее всего, вы чего-то не заметили”. Рис. 4.2. Составные элементы датчика Различают три класса датчиков: - аналоговые датчики, т. е. датчики, вырабатывающие аналоговый сигнал; - цифровые датчики, генерирующие последовательность импульсов или двоич- ное слово; - бинарные (двоичные) датчики, которые вырабатывают сигнал только двух уровней: “включено/выключено” (иначе говоря, 0 или 1). 4-1 -2. Исполнительные устройства (механизмы) Исполнительное устройство или механизм (actuator) преобразует электрическую 4 11 Датчики х из!';мье“>ГИЮ В механическУю или в физическую величину для воздействия на управляе- 4- • • М существует множество различных ыи процесс. Электродвигатели, управляющие “суставами” промышленного робота, Для большинства физических величи симостью между вырабатывае есть исполнительные механизмы. В химических процессах оконечными управляю- могут быть клапаны, задающие расход реагентов. Следует подчерк- сигналом и измеряемой величиной. ЗМ?*головкИ ($еп$ог head) и преобразов что исполнительные устройства обычно лишь опосредованно влияют на пере- состоит из двух частей — измеРите^,Ьг?°^1Н “датчик” иногда ошибочно Уп0ТРай-ем”В'е Физических процессов, измеряемые датчиками. Например, датчики измеряют (transducer), как показано на рис. 4. еЕ“и книге под датчиком всегда поним ературу. координаты или химическую концентрацию, а исполнительные устрой- ют вместо “измерительной головки , в это головку и преобразователь. тОрТдиУПравляют подводом тепла, движением или потоками исходных реагентов. И уже полное устройство, включающее измерител HOg ГОловки датчика , к° иамики физической системы зависит, как измеряемые величины изменятся из-за Результат измерения- это “реакция^ трибой электрическую величину, Ра^ РцВ^Ю1Цих воздействий исполнительных устройств. на выходе преобразователя пРе^та следовательно, выходной сигнал ерВь таве исполнительного устройства можно выделить две части (рис. 4.3): во- страняющуюся дальше по проводнику. ............._еоиТ^и/или усилитель (amplifier), во-вторых, сило- стройство называется первичным измерите^ ^^^еобразователь (converter) и/или исполнительный механизм (actuator). Преоб- ’ Г^^Гвии с ГОСТ 16263-70 это его чаСть, на которую непосредстве^н^^ Тель превращает входной сигнал в механическую или физическую величину, пеобразователем (primary тев5г^7”^вствительным элементом (detector), а все поел МеР электромотор преобразует электрическую энергию во вращательное движе- яействует измеряемая величина, измерительным преобразователем (measwrm О1.СИЛитель изменяет маломощный управляющий сигнал, получаемый от выход- составляюшие измерительноицег ” не рекомендуется, однако для простоты изложе ИнтеРфейса компьютера, до значения, способного привести в действие преобразо- «г). применение термина ны .,датчик” и “измерительная головка . - Примеч. р нейшем будут использованы тер
124 Глава 4. Вход и выход физических поп, --------------- ------------- ватель. В некоторых случаях усилитель и преобразователь конструктивно состак одно целое. Таким образом, некоторые оконечные управляющие элементы могут ставлять собой самостоятельную систему управления — выходной сигнал комщ,^ является опорным значением для оконечного управляющего элемента. t- выходной сигнал компьютера исполнительное устройство преобразователь/ усилитель —► силовой преобразователь/ исполнительный механизм физическая величина 125 этом случае устройство более восприимчиво к нежелательным вы- Ро>1’"ротным возмущениям. Сокочас* измерительный сигнал искажается возмущениями {disturbances) и шумом Любой и3прОцесСе формирования, так и передачи. Одна из основных проблем пе- (погхв) к3^нала __ уменьшение влияния шума. Источники шума должны быть изоли- редачи и крайнем случае, их влияние должно быть снижено до минимально воз- рованьг^ Искажение сигналов или сообщений шумом является не только ’М°^Н°1иой организации интерфейса “процесс-компьютер”, но проявляется при лю- аР° типах передачи информации (глава 9). Моделирование и описание шума обсуж- 0ЫХ сь в разделе 3.6.1. Регуляторы обычно проектируются в расчете на наличие воз- мущений и шумов; в главе 6 будет показано, как регулирующий контур может уменьшить их влияние. Рис. 4.3. Составные элементы исполнительного устройства Требования к исполнительным устройствам — потребляемая мощность, разреи ющая способность, повторяемость результата, рабочий диапазон и т. д. - могутt щественно различаться в зависимости от конкретного приложения. Для успешно: управления процессом правильно выбрать исполнительные устройства так жена, но, как и датчики. Для перемещения клапанов часто применяется сжатый воздух. Если необход» развивать значительные усилия, обычно используют гидропривод. Электричесн сигнал компьютера должен быть преобразован в давление или расход воздуха ж масла. Бинарное управление обеспечивается электромеханическими реле или элас ронными переключателями. 4 1.4. Передача измерительных сигналов Аналоговые сигналы, вырабатываемые измерительными устройствами, обычно не- обходимо так или иначе преобразовать прежде, чем ввести их в компьютер. Сигнал в виде напряжения должен быть усилен так, чтобы соответствовать диапазону напряже- ний интерфейса компьютера. Более того, иногда уровень напряжения датчика должен быть смещен, чтобы привести в соответствие минимальный уровень выхода датчика с минимальным напряжением интерфейса компьютера. Эта процедура называется со- гласованием сигнала. Она рассматривается в этой и следующей главах. При передаче аналоговых сигналов существуют специфические проблемы, обус- ловленные электрическими возмущениями. Сигнал, передаваемый от датчика по электрическому проводнику, может подвергнуться зашумлению под влиянием сре- ды из-за нежелательных связей резистивного, индуктивного или емкостного харак- тера. Этот шум может исказить исходный сигнал. Одно из возможных решений — преобразовать аналоговый измерительный сигнал 4.1.3. Полоса пропускания и шум t 1 -•аналоговый измерительный сигнал в последовательность импульсов, Два важных фактора — ширина полосы пропускания и уровень шума — опред частота или продолжительность (ширина) которых известным образом связана ют способ передачи сигналов между компьютером и физическим процессом. с Уровнем исходного сигнала, а затем передавать этот преобразованный измерител^- Полоса пропускания {bandwidth) является важным параметром для многи 1И сигнал. Такой переход особенно полезен, когда внешний шум имеет ту же часто- нических приложений - передача данных, системные шины, управление с о р что и исходный сигнал. Последовательность импульсов может передаваться либо связью, — однако в разных случаях термин имеет различные значения. В пер ектрическому, либо по волоконно-оптическому кабелю. информации и управлении с обратной связью полоса пропускания обозначает д зон частот, в пределах которого амплитудно-частотная характеристика остаетс^ .2. Характеристики ДЭТЧИКОВ меньше заданного значения (обычно 0.707 от максимального). Для системных полоса пропускания является синонимом термина “пропускная способность к должен воспроизводить физическую величину максимально быстро и точно, дел 8.2.1). При обработке сигналов управления и мониторинга полоса пропус^{точНОсть 6 всвго датчик выбирают исходя из надежности и удобства обслуживания, его определяется как диапазон рабочих частот датчика или исполнительного ме Я|>0сН0Во^’^т^ Ильностьи повторяемость результатов остаются важнейшими факторами, ма — только те физические величины, рабочие частоты которых лежат в поло чТочНЬ1 а °ТЫ УпРавляюЩвго компьютера является входная информация, поэтому пускания, можно надлежащим образом измерить или изменить. Это означав g адежные измерения — это необходимое условие качества управления, скорость реакции датчика достаточна для правильного отображения изменена ая часть характеристик датчика, которые приводятся в техническом описа- ходной физической величины, при этом сигнал не искажается из-за несоотве ,г0Ч[10 атические параметры. Эти параметры не показывают, насколько быстро и динамики датчика и процесса. Аналогично, исполнительный механизм должен и .^Д тчик может измерить сигнал, изменяющийся с большой скоростью. Свой- соответствующую полосу пропускания, чтобы реализовать нужное управля! ражающие работу датчика в условиях изменяющихся входных воздействий, воздействие. Чем шире полоса пропускания, тем быстрее будет реакция датчика :Тв Тся динамическими характеристиками {dynamic characteristic). Они суще- исполнительного механизма. Последнее не всегда является положительным Фа 0 влияют на работу системы управления. Идеальный датчик мгновенно реаги- е Уровнем исходного сигнала, а затем передавать
Глава 4. Вход и выход физических 127 126 рует на изменение измеряемой физической величины. На практике любому^ необходимо некоторое время на отработку нового входного сигнала. Очевидц^ для адекватного отображения реальных изменений наблюдаемой величину реакции датчика должно быть как можно меньше. Это тот же самый принцип к рый применяется ко всей системе управления (компьютеру) процессом реалЬв ' времени в целом: временные характеристики физического процесса определяют бу/ родействие системы (производительность компьютера). Однако чаще требуй компромисс между скоростью реакции датчика и его чувствительностью к шуму 4.2.1. Погрешность и точность Точность (accuracy) определяет разницу между измеренной и действительной^ личиной; она может быть отнесена к датчику в целом или к конкретному его показу нию1. Разрешение (resolution) — это наименьшее отклонение измеряемой величин которое может быть зафиксировано и отражено датчиком. Разрешение нами»? чаще, чем точность, указывается в технических описаниях. Точность датчика завис,- не только от его аппаратной части, но и от остальных элементов измерительного вд плекса. Погрешность (ошибка) измерения (measurement error) определяется какра ница между измеренной и действительной величинами. Поскольку действительна; величина неизвестна, в произвольном случае оценку точности можно сделать на« нове эталонных измерений или углубленного анализа данных. Ошибки измерения можно классифицировать и, соответственно, моделировгп как детерминированные (или систематические) и случайные (или стохастически Детерминированные ошибки связаны с неисправностью датчика, нарушением уи вий его применения или процедуры измерений. Эти ошибки повторяются прика дом измерении. Типичная систематическая ошибка — это смещение показа® (reading offset) или сдвиг (bias). В принципе, систематические ошибки устраняют: при поверках (calibration). Случайные ошибки, напротив, могут иметь самое рази происхождение. В большинстве случаев — это влияние окружающей среды (темпер туры, влажности, электрических наводок и т. п.). Если причины случайных ошибе известны, то эти ошибки можно компенсировать. Часто влияние возмущений харз- теризуют количественно такими параметрами, как средняя ошибка (mean err№ среднеквадратичная ошибка (mean quadratic error) или стандартное отклонен1 (standarddeviation) и разброс (variance) либо погрешность ([ип]precision). Разница между систематической и случайной ошибками иллюстрируется рис. Центр каждой мишени представляет собой истинное значение измеряемой велИ’ ны, а каждая точка — это измерение. Сумма измерений характеризуется смещен и разбросом. Для хорошей точности обе характеристики должны быть малы. На рис. 4.4 а и в представлены смещенные результаты. Стандартное отклоне или разброс результатов отдельных измерений является мерой погрешности. Дат 1 В английском языке в слова “accuracy" и “precision", которые на русский язык перев^ ся одним и тем же словом “точность”, вкладываются несколько разные понятия. “Лесит соответствует общему отсутствию погрешностей измерения, в то время как “precision - деляет малый разброс результатов измерений относительно некоторого среднего значе которое может оказаться неточным из-за систематической погрешности, например сМе ния. Таким образом, необходимым и достаточным является удовлетворение требования- ределяемого термином “accuracy . яктеристикид^^ “ повторяемостью результата (или малой случайной ошибкой) имеет, оче- с хоро1ИеИ ю случайную погрешность, но не обязательно дает правильную выход- впдн°> X°PpIHVj поскольку сдвиг может существенно исказить результат, т. е. точность нуювеЛИеведИКа. ре3уЛЬТаты измерений на рис. 4.4 би г имеют малую погрешность, датчика показанный на рис. 4.4 г, является точным. но только резу значение время значение время Центр Иллюстрация смещения, погрешности и точности аточ™Д°И МИшени представляет собой истинное значение измеряемой величины, На прямо“РеЗУЛЬТаТ измерений- На диаграммах справа истинная величина представле- Зависит „ ЛИНИеи’ на КОТОРУЮ наложены результаты измерений. Точность измерения 0 , как от смещения, так и от разброса: 6 ольшое смещение + большой разброс = низкая точность; в ,^алое смещение + большой разброс = низкая точность; г ольшое смещение + малый разброс = низкая точность; Малое смешение + малый разброс = высокая точность
128 Глава 4. Вход и выход физических процессу 4 2 характеристики датчиков 129 4.2.2. Динамические характеристики датчиков Динамические свойства датчика характеризуются целым рядом параметров, ю0. торые, однако, довольно редко приводятся в технических описаниях производи^, лей. Динамическую характеристику датчика можно экспериментально получить ка|, реакцию на скачок измеряемой входной величины (рис. 4.5). Параметры, описываю, щие реакцию датчика, дают представление о его скорости (например, время нараста. ния, запаздывание, время достижения первого максимума), инерционных свойства} (относительное перерегулирование, время установления) и точности (смещение). Рис. 4.5. Динамическая реакция датчика (реакция на скачок): Tq — время прохождения зоны нечувствительности, Тд — запаздывание, Тр — время достижения первого максимума, Тs — время установления, Мр— перерегулирование В принципе следует стремиться к минимизации следующих параметров. • Время прохождения зоны нечувствительности (dead time) — время между наЧ?' лом изменения физической величины и моментом реакции датчика, т. е. момей том начала изменения выходного сигнала. • Запаздывание (delay time) — время, через которое показания датчика первый Ра‘ достигают 50 % установившегося значения. В литературе встречаются и ДРУГ!" определения запаздывания. • Время нарастания (rise time) — время, за которое выходной сигнал увеличиваем от 10 до 90 % установившегося значения. Другое определение времени нарМт‘ ния — величина, обратная наклону кривой реакции датчика на скачок измеря1' величины в момент достижения 50 % от установившегося значения, умноже®1 на установившееся значение. Иногда используются другие определения. М‘‘' время нарастания всегда указывает на быструю реакцию. • Время достижения первого максимума (peak time) — время достижения пер®0*1 максимума выходного сигнала (перерегулирования). . Время переходного процесса, время установления (settling time) — время, начи- ная с которого отклонение выхода датчика от установившегося значения стано- вится меньше заданной величины (например, ± 5 %). . Относительное перерегулирование (percentage overshoot) — разность между мак- симальным и установившимся значениями, отнесенная к установившемуся зна- чению (в процентах). • Статическая ошибка (steady-state error) — отклонение выходной величины датчи- ка от истинного значения или смещение. Может быть устранена калибровкой дат- чика. В реальных условиях некоторые требования к датчикам всегда противоречат друг другу, поэтому все параметры нельзя минимизировать одновременно. 4.2.3. Статические характеристики датчиков Статические характеристики датчика показывают, насколько корректно выход датчика отражает измеряемую величину спустя некоторое время после ее изменения, когда выходной сигнал установился на новое значение. Важными статическими па- раметрами являются: чувствительность, разрешающая способность или разрешение, линейность, дрейф нуля и полный дрейф, рабочий диапазон, повторяемость и вос- производимость результата. • Чувствительность (sensitivity) датчика определяется как отношение величины выходного сигнала к единичной входной величине (для тонких измерительных технологий определение чувствительности может быть более сложным). • Разрешение (resolution) — это наименьшее изменение измеряемой величины, ко- торое может быть зафиксировано и точно показано датчиком. • Линейность (linearity) не описывается аналитически, а определяется исходя из градуировочной кривой датчика. Статическая градуировочная кривая показыва- ет зависимость выходного сигнала от входного при стационарных условиях. Бли- зость этой кривой к прямой линии и определяет степень линейности. Максималь- ное отклонение от линейной зависимости выражается в процентах. ’ Статическое усиление (static gain) или усиление по постоянному току (d.c. gain) — это коэффициент усиления датчика на очень низких частотах. Боль- шой коэффициент усиления соответствует высокой чувствительности измери- тельного устройства. Дрейф (drift) определяется как отклонение показаний датчика, когда измеряемая величина остается постоянной в течение длительного времени. Величина дрейфа может определяться при нулевом, максимальном или некотором промежуточном значении входного сигнала. При проверке дрейфа нуля измеряемая величина Поддерживается на нулевом уровне или уровне, который соответствует нулевому ВЬ1ХоДному сигналу, а проверка дрейфа на максимуме выполняется при значении измеряемой величины, соответствующем верхнему пределу рабочего диапазона ^тчика. Дрейф датчика вызывается нестабильностью усилителя, изменением ок- ^УЖающих условий (например, температуры, давления, влажности или уровня Вибраци^у параметров электроснабжения или самого датчика (старение, выра- °ТКа Ресурса, нелинейность и т. д.)- 8ак 1021
физических проце 131 130 Глава 4. Вход и выход Рабочий диапазон {operating range) датчика определяется допустимыми верХ1) и нижним пределами значения входной величины или уровня выходного сигца^ Повторяемость (repeatability) характеризуется как отклонение между нескольку последовательными измерениями при заданном значении измеряемой величин^ одинаковых условиях, в частности приближение к заданному значению дОл^ происходить всегда и либо как нарастание, либо как убывание. Измерения доллщ. быть выполнены за такой промежуток времени, чтобы не проявлялось влиящ, дрейфа. Повторяемость обычно выражается в процентах от рабочего диапазона Воспроизводимость (reproducibility) аналогична повторяемости, но требует боль шего интервала между измерениями. Между проверками на воспроизводимо^ датчик должен использоваться по назначению и, более того, может быть подверг, нут калибровке. Воспроизводимость задается в виде процентов от рабочего диа- пазона, отнесенных к единице времени (например, месяцу). 4.2.4. Влияние нелинейности Многие датчики обладают свойством нелинейности. Например, если датчик дос тигает верхнего предела рабочего диапазона, проявляется эффект насыщения, т.с выходной сигнал ограничен, даже если входная величина возрастает. Примеры нели- нейностей: - нелинейная деформация пружин; - кулоновское трение; - магнитное насыщение в сердечниках трансформаторов; - характеристики расходомеров (например, измерения в открытом канале харак- теризуются нелинейным соотношением между измеренным уровнем h и расхо- дом F, так как Е = К • ha, где К — постоянная); - зависимость сопротивления термистора от температуры (R = Rq • е$^Т ’ где Т — это температура в градусах Кельвина, a Ro, То и Р — это постоянные). Особые проблемы связаны с люфтом в зубчатых передачах и других механизм» имеющих свободный ход, а также с магнитным насыщением. Выходной сигнал да’ чиков, для которых характерны такие явления, — это многозначная функция вхоа ной величины, зависящая от направления ее изменения. 4.2.5. Характеристики импедансов Объединение одного или нескольких элементов может существенно повлиять111 поведение каждого из них по сравнению с автономным использованием. НапрйМ^ тяжелый акселерометр может увеличить нагрузку настолько, что это изменит изМеРв емое ускорение и даст неверный результат. Аналогично, подключение вольтметра1,3 меняет токи и напряжения в цепи, а термопара может исказить измеряемую темпер туру. Все это называется эффектом нагрузки (loading effect). Такие ошибки мой превосходить все другие типы ошибок измерения; их следует предусматривать пр”с<г единении различных датчиков и устройств передачи/преобразования информаций- Понятие “импеданс” (impedance), т. е. полное сопротивление, имеет фундаМ6*1 тальное значение в электрических системах. Устройство с высоким входным иМ®^ дансом (input impedance) потребляет меньший ток при заданном напряжении и, со0* ^у^ряктеристики датчиков ветственно, меньшую мощность. Устройство с низким входным импедансом потреб- ляет больший ток при данном напряжении. Поскольку оно отбирает большую мощ- ность у предшествующего в цепи устройства, это может вызвать ошибки нагрузки Напряжение, генерируемое устройством с высоким выходным импедансом (outvut impedance), чрезвычайно чувствительно к эффекту нагрузки. Напротив, низкий вы- ходной импеданс позволяет уменьшить зависимость выходного напряжения от тока нагрузки. Для выходных сигналов в виде силы тока картина прямо противополож- ная: высокий выходной импеданс делает выходной сигнал менее подверженным вли янию токов нагрузки. Поэтому во многих случаях требуется применение специаль- ных согласующих электронных устройств для усиления сигналов и приведения в соответствие импедансов. В случае сигналов в виде напряжений применяются уси лители с высоким входным импедансом и низким выходным импедансом Процелупа называется согласованием импедансов (impedance matching) и должна тщательно выполняться на каждом этапе. Рассмотрим стандартный электрический четырехполюсник. Выходной импеданс Zo определяется как отношение напряжения холостого хода к току короткого замы- кания на выходных зажимах. Входной импеданс Zi определяется как отношение но- минального входного напряжения к току, протекающему через входные зажимы при разомкнутых выходных (рис. 4.6). Рис. 4.6. Схематическое представление входного и выходного импедансов четы рехполюсника (G — коэффициент усиления, vn — напряжение холостого хода) Если к выходным зажимам присоединена нагрузка, то напряжение на ней будет отличаться от v0 из-за тока, протекающего по выходному импедансу. Если четырех п°люсник является изолированным, то можно связать входное и выходное напряже НИя холостого хода через коэффициент усиления G vo~G' vi I i — входное напряжение. 4-2.6. Подбор входных и выходных импедансов Усмотрим два четырехполюсника, соединенных последовательно (рис. 4.7). За- 7 коэффициенты усиления Gt и G2> связывающие входные и выходные напряже- Ия> Можно легко получить следующие выражения
132 Глава 4. Вход и выход физических процес 133 vol “ G1 • vi Zi2 Vt2= 7~77~ 'Vol zol + zi2 vo2 = G2 ' V12 Отсюда можно получить общий коэффициент усиления vo2 = GrG2- & Vf zol + zi2 Рис. 4.7. Согласование импедансов последовательно соединенных четырехполюсников Результат стремится к произведению Gi G2, если выходной импеданс первом четырехполюсника будет намного меньше, чем входной импеданс второго. Другими словами, частотная характеристика устройства с двумя последовательно соединен ными усилителями не будет иметь значительных искажений, если импедансы согл сованы, т. е. выходной импеданс первого устройства гораздо меньше, чем входн® импеданс второго. u Для согласования импедансов в системе “датчик — измерительный прео р ватель” и с последующими цепями может потребоваться включение одного или скольких усилителей между датчиком и входом системы сбора данных. Такое гласование импедансов обычно основано на использовании операцио усилителей (раздел 4.5). 4.3. Бинарные и цифровые датчики В системах управления последовательностью событий (глава 7) в основном ПР меняются сигналы типа “включено/выключено”, вырабатываемые бинарными Д чиками. В любом производственном процессе приходится контролировать тыся условии типа включено/выключено . еделения положения при механичес»10 Бинарные датчики потоках (например, числа бГ перемещениях, для подсч т_ контроля достижения предельных значенИ1 тылок на выходе линии розлива), для контр часте{, уровня или давления иликрайних полож^ СОСТОящими только М «ебольшо. с: вьпоиочТтел! таки о^ень сложными. Некоторые цифровые датчики в действитеЛ» °Ления эффекта дребезжания контактов. 3 ^илпные и цифровые датчики представляют собой полнофункциональный микрокомпьютер, встроенный Н°СТИномное устройство и вырабатывающий либо сигналы типа “включено/выклю- В аВТ° либо кодированные цифровые данные. Ниже описаны некоторые типы датчи- чеН° бинарным выходом — положения, пороговые и датчики уровня. 4 3 1. Датчики положения В качестве датчиков положения (position sensor) в течение многих десятилетий с110льзуются выключатели. Они состоят из электрических контактов, которые ме- ханически размыкаются или замыкаются, когда какая-либо переменная (положение, оовень) достигает определенного значения. Концевые выключатели (limit switch) различных типов являются важной частью многих систем управления, надежность которых существенно зависит именно от них. Они располагаются там, где “происхо- дит действие”, и часто подвергаются большим механическим нагрузкам и токам. На рис. 4.8 показаны нормально разомкнутый замыкающий выключатель (normally open, make-contact switch), нормально замкнутый размыкающий выключа- тель (normally closed, break-contact switch) и переключатель (change-over switch) в нор- мальном положении и при срабатывании. На схемах контакты выключателя обычно изображают в нормальном положении. Нормально разомкнутый замыкающий выключатель Нормально замкнутый размыкающий выключатель Нормальное положение —О— Положение при срабатывании о б Переключатель ₽ис. 4.8. Различные обозначения выключателей Простейшим выключателем является механический нормально разомкнутый однополюсный выключатель (Single-Pole Single-Throw — SPST), показанный Но РИс' 4-9 а- Простое согласование сигналов можно обеспечить с помощью нагрузоч- Го (pull-up) резистора. Когда выключатель разомкнут, с резистора снимается на- ги еНие +5 В, воспринимаемое ТТЛ-вентилем на входе компьютера как одно из ло- “3 Сквх состояний. Если контакт замкнут, выходной сигнал равен потенциалу ли , что воспринимается как другое логическое состояние. к амыкание механического выключателя обычно вызывает проблемы, поскольку (риТакты вибрируют (“дребезжат”) несколько миллисекунд, прежде чем замкнуться вогС- 4 9 Когда важно зафиксировать только первое касание, как в случае конце- Выключателя, принимать во внимание последующие замыкания и размыкания И1В,- Эктов из-за дребезжания нет необходимости. Применение цепи, обеспечиваю- юе запаздывание выходного сигнала, является одним из способов пре-
Глава 4. Вход и выход физических процесс^ 135 Г выходное напряжение v0 однополюсный выключатель одинарного действия 5В замыкание выключателя •*-—► время < 5 мс дребезжание -О Vo Q Рис. 4.9. Дребезжание контактов при замыкании выключателя Однополюсный двухпозиционный выключатель (Single-Pole Double-Throw - SPDT) может быть типа “разрыв перед замыканием” (Break-Before-Make — ВВМ) или “замыкание перед разрывом" (Make-Before-Break — МВВ) (рис. 4.10). При пере- ключении в первом случае оба контакта разомкнуты на короткое время, во втором- через оба контакта ток кратковременно протекает. Бороться с дребезжанием контактов в переключателях SPDT можно с помощью специальных схем. Подвижный контакт должен быть заземлен; когда он касается контакта, присоединенного к источнику, напряжение последнего снижается. Под- ключенная электронная схема должна “уловить” логическое состояние, соответству- ющее первому касанию контактов, и игнорировать последующее дребезжание. а нормально разомкнутый выключатель б нормально замкнутый выключатель 0------------ 0------------- ©------------- ® нормально замкнутый выключатель ® нормально разомкнутый выключатель срабатывание срабатывание Рис. 4.10. Переключатели с различными контактными системами: а — разрыв перед замыканием, б — замыкание перед разрывом Существуют другие методы определения положения с помощью бинарных да1”1" ков, некоторые из которых приведены ниже. • Ртутные выключатели состоят из небольших герметически запаянных стекД^" ных трубок с контактными выводами. Трубка содержит достаточное количес1 ртути, чтобы замкнуть контакты. Выключатель размыкает и замыкает контаГ1 при изменении положения (наклона) трубки. • Магнитоуправляемое герметичное язычковое реле — геркон (reed switch, relay) — состоит из двух плоских пружин, запаянных в небольшую стекляН11'* * 43 д,лмарные и цифровые датчики трубку. Свободные концы пружин находятся друг над другом с очень небольшим зазором между ними. Когда к трубке приближается магнит, пружины намагничива- ются в разных направлениях, притягиваются друг к другу и замыкаются. . фотоэлектрические датчики выполнены из материалов, которые изменяют сопро- тивление или генерируют разность потенциалов под влиянием света. Во многих устройствах достаточно бинарной индикации - есть свет или нет. Фотоэлектри- ческий лучевой детектор состоит из источника светового луча и светочувствитель- ного элемента. Существует много конструкций светодетекторов, которые отлича- ются в основном тем, отражается или прерывается световой луч фиксируемым объектом. Преимущества светодетекторов - простота, гибкость, низкая стоимость и, главное, фиксация может выполняться без непосредственного физического кон- такта. На базе фотоэлектрических лучевых детекторов легко строятся измерители частоты вращения, счетчики, датчики положения и т. д. • Ультразвуковые и микроволновые датчики используются для обнаружения объектов на расстояниях от нескольких сантиметров до нескольких метров. Эти датчики работают в режиме отражения (излучатель и приемник заключены в од- ном приборе) или на принципе прерывания луча (излучатель и приемник распо- ложены в разных устройствах). 4.3.2. Пороговые датчики Разные типы датчиков используются для определения момента, когда аналоговая величина (например, уровень, давление, температура или расход) достигает некото- рого порогового значения. Поэтому их часто называют пороговыми датчиками (point sensors, limit sensors). Они обычно используются для подачи аварийного сигнала, а иногда и остановки процесса в случае достижения какой-либо величиной значения, указывающего на опасную ситуацию. Такие датчики должны быть устойчивыми и надежными. 4.3.3. Индикаторы уровня Индикатор уровня (level switch) срабатывает, если резервуар заполнен до заданной высоты. Принцип работы зависит от свойств контролируемого вещества — жидкость, Цементный раствор, гранулы или пыль. Индикатор может либо показывать текущий Уровень, либо выдавать сигнал, когда уровень достигает заданного. оплавок, находящийся на поверхности жидкости, при достижении определенного ч °ВНя Действует как концевой выключатель. Герконы являются идеальными выклю- бы ЯМИ ДЛЯ жидкой сРеДы’ поскольку они водонепроницаемы. На поплавке должен Цели УСтановлен магнит, чтобы вызвать срабатывание контактов геркона. Для той же Няют^аСТ° используются фотоэлектрические датчики. Для твердых материалов приме- Ня з Я е1Икостные датчики приближения (proximity sensors). По мере повышения уров- ся R °ЛНителя из пространства между стенкой сосуда и емкостным зондом вытесняет- И П0ЭТ0МУ изменяется емкость образованного ими конденсатора, которую Ния ИзмеРить стандартными методами. Уровень можно измерить и датчиком давле- П°Ме1Ценным на дно сосуда, поскольку величина давления у дна прямо пропорцио- (Ии На ВЬ1Соте столба вещества. В этом случае может вырабатываться как аналоговый ИкаЧия текущего уровня), так и бинарный (достигнут пороговый уровень) сигнал.
136 Глава 4. Вход и выход физических юких н ------------------------------ 4.3.4. Цифровые и информационно-цифровые датчики Цифровые датчики генерируют дискретные выходные сигналы, пульсные последовательности или представленные в определенном данные, которые непосредственно могут быть считаны процессором, от типа датчика выходной сигнал либо сразу формируется в цифровом мер, от датчика положения вала), либо должен обрабатываться цепями логики, которые обычно составляют с ним одно целое. Измерительная рового датчика такая же, как и у аналогового. Существуют интегрирован вые датчики, которые включают микропроцессоры для выполнения числ разований и согласования сигнала и вырабатывают цифровой или выходной сигнал. Если выходной сигнал датчика представляет собой последовательность то они обычно суммируются счетчиком. В другом варианте — можно изм вал между импульсами. Затем результат в виде цифрового слова переда нейшую обработку. При измерении энергии информация обычно кодиру сами — каждый импульс соответствует определенному количеству энер Информационно-цифровые датчики (Fieldbus sensor) дополнительно НапРИмер 7е В зависи^0. ВИде(напр; ЭлектРонйе головка м иные цифр,, овыхвр^ аналогов^- импульсе; ерять интер ется па да- ется импу.1ь ГИИ. обеспечив,- ют передачу информации через шины локального управления (Field bus), Koropt представляют собой специальный тип двухсторонних цифровых коммуникант (глава 9). Датчики данного типа — это обычные датчики температуры, давления, рас хода и т. д., которые дополнительно имеют микропроцессор для обрабо тки давни преобразования их в цифровой вид (например, в 12-разрядный код) и поддери внешних коммуникаций. По шине можно передавать не только резуль тэты измере- ний, но и идентификационную информацию датчика. Иногда такие дат чики поддер- живают режим удаленного тестирования и калибровки. Пример 4.1 Датчики положения вала Датчики положения вала или кодеры поворота (shaft encoders) — вые датчики для измерения угла поворота и угловой скорости. Они ются во всех системах, где нужна точная информация о параметрах ного движения, — например, станки, роботы, сервосистемы и элек Существуют датчики относительного (incremental) и абсолютного это цифр0' примеНЯ' вращатель- тропривоЯ (absoluti) типов. Датчик относительного типа состоит из светодетектора или датчика, например геркона, который генерирует последовательност сов при вращении объекта; поворот на 360° соответствует одному импульсам. Затем последовательность импульсов обрабатывается зуется в угол поворота и угловую скорость объекта. Датчик абсолютного типа выдает угол поворота объекта в дво Оптический датчик состоит из диска с прорезями и светонепро участками, причем каждая прорезь уникальна и соответствует оп углу поворота. Источник света освещает одну сторону диска, а на роне блок датчиков фиксирует световой шаблон (т. е. через какие погиплит. а через какие — нет), которому соответствует цифров магнитно00 •Ь импу-яь' или боЛ°е и преобр2 ичном нинаемь^ р«еле"“А ДРУгоИ пР°р7х ое зна° 4.4 Аналоговые датчики__________ угла поворота. Кодирование °бычноосущ^^~~~ ' ~~ ’ ~ двоичного мгари™, ,та6ы мв„им„ “ ««ове «оДИф„цяю. гоэлект^веекихдатвнков^осте,^ ошибки см *^4” юг“ обеслевивавт высокие разращен,0 ( ”“е- э« простая тешГ срори» на градус углового смещения или нД6о°° хе хорошую помехоустойчивость При пе* °°рот Диска) и точностг с-г аналого-цифрового преобразования ₽ с^иалов> поскольку не ’г 4,4. Аналоговые датчики Выходной сигнал датчика подается на вход обрабатывающего устройства, напри- мер на входной порт компьютера. Поскольку характеристики выходного сигнала датчика и последующего каскада довольно часто отличаются друг от друга, то для передачи сигнала между ними должна использоваться некоторая согласующая цепь. Термин “согласующая цепь” (conditioning circuitry) является довольно общим и мо- жет обозначать любой набор электронных компонентов между измерительной го- ловкой датчика и обрабатывающим устройством. Нельзя точно определить границу между электроникой измерительного преобразователя и последующими согласую- щими цепями — каждый раз она может трактоваться по-своему. Большинство датчиков с преобразователем, применяемых в системах управле- ния, генерируют аналоговый сигнал. Как правило, при управлении измеряются сле- дующие физические величины: электрические и магнитные характеристики; параметры движения; :ида, момент и давление; еМпература; Уровень заполнения емкости; Расход; плотность, вязкость и консистенция; концентрация (газа, жидкости, растворенных и взвешенных вещ ХиМическая или биохимическая активность. пРеДставлен краткий обзор аналоговых датчиков, обычно с0_ датиеМ^х Убавления. Измерение электрических величин — тока, камень Из- меритВЛ^яия’ «битного поля, излучения и мощности — краеугол VCKaI0TCa «p7HbIX техн°логий. Для большинства типов измерении серийно У ювды7'ПЬНЫе Головки> датчики, включающие согласующие цепи и д _ лел5.з Устройства со встроенными аналогово-цифровыми преобразователями (раз- > и средствами передачи данных. Дат ^атчики Движения >7 движения (motion sensors) измеряют четыре кинематические величины: Смещение (изменение положения, расстояния, степени приближения, раз Ъ°сть (включая угловую);
4 4. диалоговые датчики 538 Глава 4. Вход и выход физических процесс^ - ускорение; - удар. Каждая из этих величин является производной по времени от предшествующ^ Теоретически можно измерить только одну из них и затем получить остальные ДИф. ференцированием или интегрированием. На практике, однако, такой подход непри- емлем из-за природы сигнала (постоянный, переходный и т. д.), частотного спектра шумов и возможностей средств обработки данных. Контроль параметров движения обязателен для приложений, в которых исполь- зуется механическое оборудование — сервосистемы, роботы, электроприводы или другие манипуляторы. Измерение перемещений применяется при управлении поло- жением клапанов. Толщина пластин в прокатном стане постоянно контролируется системой управления калибровкой. Датчики деформаций — это устройства, которые измеряют механическое напряжение, давление и силу, но могут применяться и для измерения перемещений. В системах мониторинга состояния и предупреждения от- казов механического оборудования широко используются акселерометры. Для измерения параметров движения применяются следующие типы устройств: - потенциометры для измерения перемещений; они работают как переменные резисторы; - датчики на основе принципа электромагнитной индукции, например дифферен- циальные трансформаторы, резольверы, синхротрансформаторы (сельсины); - емкостные датчики для измерения малых перемещений, вращений и уровней жидкости; - пьезоэлектрические датчики для измерения давления, напряжения, ускорения, скорости, силы и момента (пьезоэлектрический материал деформируется под действием приложенной разности потенциалов или вырабатывает разность по- тенциалов при механическом воздействии); - лазерные датчики для точного измерения малых перемещений; - ультразвуковые датчики для измерения расстояний в медицинских приборах, системах автофокусировки фото- и телекамер, измерения уровня и скорости Пример 4.2 Резольвер Резольверы (resolver) применяются в приложениях, где требуется очень точное измерение угловых перемещений и скорости, например в сервосисте- мах и роботах. Выходной сигнал резольвера — это мера углового перемещения, дифференцирование этого сигнала дает угловую скорость. Резольвер работает на принципе измерения взаимоиндукции между двумя обмотками (рис. 4.11)- Ротор резольвера соединен с вращающимся объектом. На первичную обмотку ротора подается переменное напряжение vrej-. Статор состоит из двух обмоток, развернутых на 90° друг относительно друга. Напряжение на этих обмотках »01 = x-Vsine ^2 = *^/cose соответственно, где 0 — угловое положение ротора. Рис. 4.11. Принцип работы резольвера Можно сказать, что выходные напряжения и т>02 пРедсТаВ^Ю напряжение vrer, промодулированное величиной угла . споль я_ выходных напряжений, можно однозначно измерить углы лиш 0-90°, оба сигнала позволяют однозначно измерять углы от 0 дооо . Выход резольвера есть тригонометрическая функция угла, та не ность, однако, не всегда является недостатком. Например, при упра вращающими моментами в роботах требуются именно тригонометриче Функции углов поворота. Поэтому выходной сигнал резольвера можно н средственно использовать для управления без дополнительного прео разова ния в реальном времени, которое увеличило бы загрузку управляющего ко пьютера. Обычно резольвер дает хорошее разрешение и высокую точность. Он имеет высокий уровень выходного сигнала и низкий выходной импеданс, олоса пропускания резольвера зависит от частоты источника напряжения, ро ле мы при работе резольвера могут возникать только из-за щеток ротора (износ, Дополнительные шумы и механические нагрузки). Резольверы поставляются в виде полнофункциональных автономных устройств. „ „„„„пстей имеет фундаментальное значение для змерение линейных и ^^“^З^ожением систем измерения ускорений « С, ” Интер“йВ“" веской транспортных средств. л является управление активной под
140 Глава 4. Вход и выход физических процессор 44 диалоговые датчики 141 Пример4.3______________________ Тахометр Тахометр представляет собой генератор постоянного тока с постоянными магнитами, применяемый для измерения угловой скорости. Принцип его дей- ствия иллюстрируется рис. 4.12. Рис. 4.12. Принцип работы тахометра постоянного тока Магниты создают постоянное однородное магнитное поле. Движение про- водника в поле индуцирует напряжение, пропорциональное скорости его вра- щения. Ротор непосредственно соединен с объектом, скорость вращения кото- рого измеряется. Выходное напряжение, генерируемое в процессе вращения, снимается коллектором, который состоит из пары угольных щеток с низким сопротивлением. Тахометр обычно создает очень маленькую дополнительную механическую нагрузку для больших валов, на которые он устанавливается. Анализируя динамику тахометра, можно утверждать, что его частотный диа- пазон обычно значительно шире, чем у механического двигателя при его нор- мальной нагрузке. Поэтому индуктивность и другие электромагнитные пара- метры тахометра обычно не влияют на результаты измерения. 4.4.2. Датчики силы, момента и давления Многие типы датчиков силы/момента {force/torque) основаны на измерений^ формаций. Датчики для измерения деформаций называются тензодатчиками ($#” gauge). Принцип действия таких датчиков — изменение электрического сопротИ^ ния в образце, который подвергается воздействию внешних сил (пьезорезистивЯ^ эффект). Относительное изменение сопротивления как функция действуют6*1 датчик силы зависит от используемого материала: у полупроводникового ДаТ<11^ оно на 1-2 порядка больше, чем у металлического. Чувствительный элемент у п°у проводникового датчика выполнен из монокристалла пьезорезистивного матер#2' Дополнительное преимущество полупроводниковых тензодатчиков — более выс01' удельное сопротивление по сравнению с металлическими и, соответственно, мень- шее потребление мощности и выделение тепла. Измерение моментов и сил необходимо во многих задачах, включая управление . тОчным движением (например, перемещения и захваты в робототехнике) и передава- емой механической мощностью в двигателях и системах привода. Момент можно из- мерить либо на основе напряжений, возникающих в материале, либо на основе де- формации (прогиба). Измеряя угол скручивания оси датчиком углового перемещения, можно определить приложенный момент. В примере 3.5 было показа- но, что момент двигателя постоянного тока пропорционален току ротора, т. е. непря- мое измерение момента можно выполнить по величине тока. Давление можно измерить по соответствующей механической деформации, на- пример по изгибу трубки или отклонению мембраны. Мембрана присоединяется к кристаллу кварца, электроду конденсатора или дифференциальному трансформа- тору (рис. 4.13). Благодаря пьезоэлектрическому эффекту деформированный квар- цевый кристалл генерирует разность потенциалов. Изменение емкости конденсато- ра, присоединенного к мембране, можно измерить каким-либо электрическим методом. Выходной электрический сигнал в обоих случаях связан с приложенным усилием и деформацией измерительной головки. vout с- 4.13, Принципы измерения давления !10шЬц^)(^е11е1111.Иальный трансформатор {differential transformer) — это датчик, ис- СеРдеч ЫИ для измерения перемещений. Обычно он состоит из ферромагнитного т4етСя Ка> Движущегося внутри двух обмоток трансформатора. Одна обмотка пи- лены ПеРеменным током, а со второй снимается выходной сигнал. Обмотки соеди- Kl,M образом, чтобы в нейтральном положении сердечника выходное напря-
Глава 4. Вход и выход физических процесс^ жение было равно нулю. Любое перемещение сердечника пропорционально измена, ет выходное напряжение. Измерение давления используется для определения других величин. Например, по давлению на дне заполненного жидкостью сосуда можно определить ее уровень. 4.4.3. Датчики приближения Изменение электрических свойств элементов колебательных контуров при при- ближении к внешним объектам можно использовать для создания датчиков при- ближения (proximity sensors'). Эти датчики могут выдавать аналоговый сигнал, про- порциональный — по крайней мере в определенном диапазоне — расстоянию до заданного объекта, или цифровой сигнал при достижении заданного порогового значения расстояния. Электрические датчики приближения используют следую- щие принципы. • Индуктивные датчики приближения работают на основе излучения высокочас- тотного электромагнитного поля обмоткой, которая входит в колебательный кон- тур. Электромагнитное поле индуцирует в проводящем материале объекта вихре- вые токи. Когда объект, расстояние до которого контролируется, приближается к датчику (обычно на 2-30 мм), колебания начинают затухать. Изменение тока в колебательном контуре можно использовать для срабатывания полупроводни- кового ключа. • Емкостные датчики приближения содержат затухающий колебательный 7?С-кон- тур. Емкость зависит от расстояния между обкладками конденсатора, их площади и свойств диэлектрика между ними. Датчик присоединен к одной из обкладок или к диэлектрику. Когда объект приближается к датчику, результирующее измене- ние емкости, а следовательно, и частоты колебаний, можно зафиксировать элект рически и использовать для управления выключателем. Емкостный датчик мож обнаружить объекты, которые не являются проводящими. Диапазон срабатьв ния для таких датчиков обычно лежит между 5 и 40 мм. Емкостные датчики м но использовать также для измерения силы и давления. • Магнитные датчики приближения опознают приближение объекта по изме нию характеристик магнитного поля и не имеют подвижных частей. Р работы может базироваться на индуктивности, магнитном сопроти (reluctance), магниторезистивном эффекте или эффекте Холла. Магни Р тивный эффект и эффект Холла обусловлены одним и тем же физическ- нием — сопротивление проводящего материала изменяется под возд т. внешнего магнитного воля. Если проводник с электримским током под» Р ся воздействию магнитного поля, его сопротивление увеличиваете»(магии зистивный эффект). Кроме того, ва противоположных сторонах это Р ника возникает разность потенпиалов. которую можно измерить ОФФ Холла) Проводник должен быть расположен так, нтобы магнитное поле О лоллау. пр « тпкя- пазность потенциалов возникает в» перпендикулярно напр тному полю, и направлению тока. ГеометрИче оси, перпендикулярной чтобы максимальным был либо магН”1 ^^ьЖ" Х— —О выполняв из полупроводниковых материалов. л диалоговые датчики 143 4 4.4. Датчики температуры Зависимость свойств многих материалов от температуры не всегда является недо- статком — из таких материалов изготавливаются датчики температуры. Конструк- щя выбирается таким образом, чтобы усилить температурную зависимость какой- либо электрической характеристики. Эта зависимость, как правило, является нелинейной, что создает дополнительные трудности при ее воспроизведении. Обыч- но применяются три типа датчиков температуры: - термоэлементы; - резистивные детекторы температуры; - термисторы. Пример 4.4 Термоэлементы Первый термоэлемент был создан в 1887 году французским ученым Ле ТПя- телье (le Chatelier). В термоэлементе две точки контакта А и В соединены дву- мя параллельными проводами, выполненными из разных металлов (например, алюминий и медь). Таким образом создается замкнутая цепь (рис. 4.14). ются totj??111111111 работы термоэлемента. Если температуры точек А и В различа- ть для и-пгеп КН' Т°И ЦеПИ циРкУлиРУет т°к. На правом рисунке показана реальная ЛоДному. Точки иИЯг'Т0Г° Т°Ка' Т°ЧКа А соответствУет “горячему” спаю, а В и С — хо- и в и С должны иметь одинаковую температуру кает. Ес пи п°Р П°Ка темпеРатУРы в точках А и В одинаковы, ток в цепи не проте- кать электпиМПеРа" УРЫ 3точках А и В отличаются, то по цепи начинает проте- ем или 1,|ЧеСКИИ Эт° явление называется термоэлектрическим эффек- Исследова?е?еКч°М Сибека <Seebeck), по имени открывшего его в 1821 году ся как (bVH а ТаК называемая термоэлектродвижущая сила увеличивает- Делах н!скп ИЯ разности температур. Возникающее напряжение лежит в пре- чУвствИТР „ИХ милливольт, что требует применения дополнительной очень МеРИтеЛкн Н0И ~ И ПОЭТОМУ сравнительно дорогостоящей - электронной из- бирать аппаРатУРы- из-за низкого уровня сигнала следует тщательно в вид процедуру передачи и соединительные провода. Необходимо иметь ’ ,го термоэлемент измеряет разность температур, а не ее абсолютное
144 Глава 4. Вход и выход физических проц6С( значение, поэтому температура одного из контактов должна быть известна с высокой точностью. Для различных температурных диапазонов используют- ся разные сочетания металлов. Термоэлементы весьма надежны и недороги имеют малую теплоемкость и способны работать в широком диапазоне темпе- ратур. Международная электротехническая комиссия (МЭК, International Electrotechnical Commission — IEC) определила некоторые стандартные типы термоэлементов (стандарт IEC 584-1), Элементы имеют индексы R, S, В, К, J Е, Т в соответствии с диапазоном измеряемых температур. Металлы имеют положительный температурный коэффициент сопротивлении т. е. с увеличением температуры сопротивление проводника растет. Это свойство ис- пользуется в резистивных детекторах температуры. Пример 4.5 Резистивный детектор температуры Резистивные детекторы температуры (resistance temperature detector - RTD) обычно выполняются из платиновой проволоки. Сопротивление R явля- ется практически линейной функцией температуры Т(°C) при опорном значе- нии 7’0 = О °C. Отношение сопротивления R при температуре Т к сопротивле- нию Rq при опорной температуре Го можно выразить как R , 9 — = 1 +а- Т+Ь- Т2 + ... *0 где а — это температурный коэффициент сопротивления и b — положительная или отрицательная постоянная (рис. 4.15). Для платины типичными значени- ями параметров являются а = 0.004. [°C-1] и b = 0.59 • 10-6 [°C-2]. Рис. 4.15. Температурная характеристика сопротивления резистивного детектор2 температуры и термистора
145 ствуют RTD для набора стандартных сопротивлений. Наиболее часто льзуемыйтип имеет сопротивление 100 Ом при опорной температуре 0 °C ИСП°273 К’ у него есть собственное имя — Pt-100. илИ„ чиК’и типа RTD имеют весьма низкую чувствительность, и любой ток i, ользуемый для определения изменения сопротивления, будет нагревать ИСП ик изменяя его показания на величину, пропорциональную г2. Выходное сопротивление чаще всего измеряется мостовыми схемами. Пример 4.6__________________________________________________ __________ Термистор Термистор (thermistor), т. е. температурно-зависимый резистор, изготавли- вается из полупроводникового материала, имеющего отрицательный темпера- турный коэффициент и высокую чувствительность. Его сопротивление нели- нейно зависит от температуры ^o.^d/r-W где Т — температура в градусах Кельвина, — сопротивление при опорной температуре Т() (обычно 298 К, т. е. 25 °C ), а Р — постоянная (обычно 3000- 5000 К). Наклон кривой В-7’(рис. 4.15) соответствует температурному коэф- фициенту а, который, в свою очередь, является функцией температуры 1 d(R/R0) -b а ---------------- —х- (R/Ro) dT Т2 Значение коэффициента а обычно лежит в диапазоне от -0.03 до -0.06/С1 при 25 °C (298 К). Из-за конечного сопротивления термистора при протекании по нему тока выделяется тепло. Энергия, выделяемая в термисторе при 25 °C, имеет обычно порядок 0.002 мВт. При постоянной рассеяния около 1 мВт/°С температура датчика будет повышаться на 1 °C (на воздухе) на каждый милливатт рассеи- ваемой мощности. Термистор не является точным датчиком температуры. Однако, благодаря своей чувствительности, он используется для измерений малых отклонений температуры. Это устройство довольно надежно как механически, так и элект- рически. Нелинейное выходное напряжение термистора должно быть преоб- разовано в линейную зависимость от температуры. Это можно сделать с помо- ю аналогового устройства или программным способом. Программными ци^СТвами можно непосредственно задать градуировочную таблицу или функ- hq10' °браТНуЮ хаРактеРИСТИКе термистора. Линейность характеристики мож- получить, присоединив к термистору несложные электронные устройства. -—^£1°РЬ1 применяются для измерения температур вплоть до 500-600 °C. 4.4.5 1л • измерение расхода Изм Ь>еСМотеРеНИе раСХ0да (flow ra-td) играет жизненно важную роль в промышленности. Ря на большую потребность в качественных датчиках расхода, точность этих
146 Глава 4. Вход и выход физических процесс устройств до сих пор оставляет желать лучшего. Однако постоянно повышающй требования к качеству продукции во многих областях производства обусловлив^ необходимость прямых и точных методов измерения расхода. Иногда опрацд./ применение даже очень дорогих датчиков. йс Измерение расхода базируется на физических свойствах движущейся жидКос связанных либо с массой, либо с объемом. В случае однородной несжимаемой жид^ сти эти два показателя связаны через плотность р т = р V Однако многие жидкости, применяемые в промышленности, не имеют постоянной плотности, или ее трудно определить. Примером является сырая нефть, представляю щая собой на выходе из скважины смесь собственно нефти (которая сама по себе сложная смесь жидких и твердых углеводородов), воды, песка, других сопутствующих веществ, растворенного воздуха и пузырьков попутного газа. Большинство методой измерения расхода основано на объемных показателях. Ниже кратко рассмотрены не- которые из них, а также методы, связанные с измерением массового расхода. Во многих случаях интерес представляет не только мгновенное значение расхода, но и общее ко- личество жидкости, прошедшее через точку измерения (например, для расчета плате- жей). Измерительный прибор в этом случае называется расходомером (flowmeter). Измерение объемного расхода Объемный расход можно определить на основе скорости истечения потока. Связь между этими величинами однозначно определяется геометрией сечения трубы, где производится измерение, поэтому их взаимный пересчет легко выполняется с помо- щью калибровочной таблицы, поставляемой производителем датчика. Для измере- ния объемного расхода можно использовать следующие физические принципы: - разность давлений; - скорость вращения турбины; - распространение ультразвука в жидкости; - магнитную индукцию; - интенсивность образования вихрей. Датчики расхода, основанные на измерении разности давлений, работают в соот- ветствии с законом Бернулли. Движущаяся в трубопроводе жидкость имеет постоян- ный объемный расход во всех сечениях. Даже если трубопровод имеет сужение, то массовый и объемный расход должны оставаться одинаковыми. Чтобы удовлетво- рить законы сохранения энергии и количества движения, в месте сужения скорость и статическое давление жидкости должны отличаться от остальных сечений трубопр0' вода. В соответствии с законом Бернулли в месте сужения скорость движения жид кости увеличивается, а давление падает. По величине перепада давления Др = можно рассчитать скорость жидкости. Расход пропорционален /Др; коэффициент пропорциональности зависит от геометрии сужения. Для измерения можно исполь- зовать смещение мембраны, возникающее из-за увеличения давления. Если мембра на соединена с магнитным сердечником дифференциального трансформатора, еГ° выходное напряжение также будет пропорционально разности давлений и, следов2' тельно, расходу жидкости (рис. 4.16 а). датчики давления Рис. 4.16. Измерение расхода по разности давлений: а — общий подход с использо- ванием сужения трубопровода; б - принцип трубки Вентури В месте сужения всегда присутствуют потери на трение, которые можно умень- шить за счет выбора гидродинамически обтекаемой формы. Примером такого уст- ройства является трубка Вентури (рис. 4.16 б), которая состоит из сужающегося и расширяющегося сопел. Такая конструкция приводит к уменьшению вихреобразова- ния при прохождении потока через наименьшее сечение и позволяет пренебречь по- терями на трение. Трубки Вентури обычно используются для измерений больших расходов в открытых каналах; однако их стоимость, как правило, выше, чем сто- имость обычных дифференциальных расходомеров. Расход можно измерить турбиной со счетчиком частоты вращения, поскольку он пропорционален скорости вращения. Обычно этот принцип применяется в расходо- мерах, которые выдают импульс при прохождении через турбину определенного ко- личества жидкости. Такой измеритель можно использовать только для чистых жид- костей, так как любые твердые частицы будут мешать вращению турбины. Простой способ измерения объемного расхода основан на свойствах распростра- нения ультразвука в жидкости. В результате ультразвукового измерения можно по- лучить среднюю скорость жидкости, которая определяется по скорости распростра- нения ультразвуковых волн. В предположении, что эта скорость равна средней ск°рости движения жидкости (скорость считается средней потому, что в действи- тельности она неравномерно распределена по сечению и меняется от точки к точке), 0 темный расход получается простым умножением полученной скорости на пло- щадь сечения трубопровода. Ультразвуковое измерение выполняется с помощью двух пьезоэлектрических Преобразователей, помещенных по разные стороны трубы на расстоянии (вдоль оси Ру ы) п0 крайней мере 100 мм друг от друга; они могут работать как в режиме излу- ка (прямом), так и в режиме отражения (рис. 4.17). Уществуют два основных способа ультразвуковых измерений: один основан на РеДелении времени прохождения волны через жидкость, другой — на изменении частоты. Первый способ связан с измерением разницы во времени распространения после- с Вательности импульсов в жидкости (скорость звука зависит от вида жидкости; она ставляет 344 м/с в воздухе при комнатной температуре и 1483 м/с в воде). Сначала
148 Глава 4. Вход и выход физических проц6(. 149 первый пьезопреобразователь генерирует группу импульсов, а второй принимав затем они меняются ролями: второй преобразователь становится излучателем а вый — приемником. В одном случае составляющая скорости жидкости v • coset ув чивает время пробега волны, в другом — уменьшается. Исходя их двух измерь можно определить среднюю скорость жидкости о. пьезоэлектрические б преобразователи (излучатели/приемники) Рис. 4.17. Принцип ультразвукового измерения расхода: а — прямой метод; б — метод отражения Второй способ основан на разности частот излученных и принятых импульсов Составляющая v cosa скорости жидкости влияет на длину волны ультразвуковьи импульсов (эффект Доплера), что означает, что их частота увеличивается в одном направлении и уменьшается в другом. Из разности частот можно найти среднюю скорость жидкости. Достоинство этих способов состоит в том, что результат не зави- сит от скорости распространения звука в конкретной жидкости и поэтому не требу- ется специальной градуировки устройства, поскольку измерения в разных направле- ниях компенсируют друг друга. В обоих случаях, однако, на результат измерен»1 влияют неоднородность жидкости, пузырьки или твердые частицы. Другое преимущество ультразвуковых измерений состоит в том, что датчики лег ко монтируются на трубе (существуют даже переносные приборы), не требуют изМе нения ее конструкции, не влияют на характеристики потока (нет потерь давления в месте установки датчика). Точность измерений такая же, как и для датчиков дрУгИ> типов, — в пределах 0.5-1 % от измеряемой величины. Магнитные датчики расхода работают на основе закона Фарадея, который утвер* дает, что в проводнике, движущемся в магнитном поле, возникает э.д.с., величина торой прямо пропорциональна индукции магнитного поля и скорости движения пр° водника; э.д.с. ориентирована в пространстве перпендикулярно направлению по»я движению проводника. При магнитном измерении расхода проводник образует^ движущимися ионами электропроводящей жидкости; проводимость жидкости ДО-Л* на составлять по крайней мере 0.1 мкСм/см. Магнитное поле создается двумя обм0* ками, расположенными по разные стороны трубы, питающимися переменным И-11’ ним постоянным током. Э.д.с., индуцируемая в жидкости, измеряется пу.пьсирУ ванНЬ1Ми электродами; она пропорциональна расходу. Можно пока- двумя и3 £ между противоположными точками трубы мало зависит от распреде- зать’ чт0 ' CTeg п0 сечению трубы (профиля скорости). Поскольку принято, что се- ления сК0 ПОСТоянно, то выходное напряжение пропорционально расходу. ЧеНиеТРУщий СПОСоб измерения расхода жидкости в трубе основан на эффекте мана (von Karman). Если тело определенной формы помещено в поток жид- фон Кар кильватерной струе возникает турбулентность, порождающая области К°СТИ’ енным давлением, которые можно обнаружить датчиками. Частота порожде- С ПеРе хрей прямо пропорциональна скорости жидкости. Из-за весьма сложной зави- НйЯоВсти между расходом и скачками давления и влияния других факторов (напри- СИМ температуры) вихревые расходомеры требуют специальных электронных ^тройств обработки, которые обычно монтируются вместе с датчиком. У За исключением магнитных методов измерения расхода все другие способы основаны на наблюдении каких-либо гидродинамических характеристик потока. Точность измерений для ламинарных потоков выше, чем для турбулентных. Для исключения влияния различных элементов гидравлического тракта (насосов, из- гибов и соединений труб и т. д.) во всех случаях требуется, чтобы до и после датчи- ка были сглаживающие прямолинейные участки трубопровода длиной, равной по крайней мере 10-кратному диаметру, — они не должны содержать каких-либо вносящих возмущения элементов (клапанов, сужений и т. п.). Такие участки тру- бопровода необходимы для придания потоку ламинарного характера и для гаше- ния турбулентности. Измерение массового расхода Во многих случаях вместо объемного расхода или скорости жидкости необходимо знать массовый расход. Если известна плотность несжимаемой жидкости, то массовый расход рассчитывается непосредственно по объемному с учетом, если необходимо, температуры, давления и вязкости. Наюрактике, однако, плотность часто неизвестна. Многие попытки определить массовый расход на основе измерения сил и ускоре- нии потерпели неудачу. Один принцип, однако, получил промышленное примене- ние — это измерение массового расхода на основе гиростатического метода и влия- ния ускорения силы Кориолиса. Во вращающейся системе на массу, движущуюся вдоль радиуса, действует сила, называемая силой Кориолиса. Направление этой силы перпендикулярно оси враще- ния и направлению движения массы, а ее величина пропорциональна скорости вра- ия и радиальной скорости массы. Массовые расходомеры, основанные на изме- и силы Кориолиса, дают хорошие результаты, не требуя компенсации давления Температуры. 10Тс пРям°линейном участке трубопровода с помощью электромагнита возбужда- гарм К°Ле^анИя’ резонансные собственной частоте трубы или частоте какой-либо ее Ма Ники- На входе и выходе трубопровода симметрично по отношению к электро- б ИТУ РазмеЩены приемники для определения фазы колебаний трубы. Когда тру- Tnvf; °Д ПУСТ> Фазы колебаний совпадают. На любой элемент жидкости, текущей по н е' бУдет действовать боковое ускорение. Из-за инерции этого элемента колеба- На входе будут затухать. По мере прохождения элемента жидкости по трубе, он
151 150 Глава 4. Вход и выход физических процеСс передает ей накопленную энергию, и ее колебания на выходном конце усиливаю^ Фазы сигналов, измеренных на входе и выходе участка трубопровода, будут раздц чаться; разность фаз прямо пропорциональна массовому расходу. Датчики расхОда построенные в соответствии с принципом Кориолиса, очень мало влияют на потере давления в трубопроводах. Расходомер Кориолиса можно также использовать для измерения плотноСТ1] жидкости. Для этого определяется собственная частота колебаний заполненного участка трубопровода, которая обратно пропорциональна плотности жидкости. Расходомеры Кориолиса — непростые устройства и требуют сложных согласую- щих и обрабатывающих схем. Одно и то же устройство может применяться для изме- рения и расхода, и плотности. Кроме того, массовые расходомеры Кориолиса не тре- буют сглаживающих участков труб и обладают высокой точностью (0.5 % от измеряемой величины). Однако эти расходомеры чувствительны к вибрациям и име- ют ограничения по способам их установки. Кроме того, они довольно дороги. 4.4.6. Химические и биохимические измерения В химических и биохимических процессах очень важно измерять ряд физических характеристик. Некоторые из них можно постоянно измерять в оперативном режи- ме, в частности: - концентрацию; - проводимость; - содержание солей; - окислительно-восстановительный потенциал (redox potential — oxidation- reductionpotential)-, - величину pH; - уровень растворенного кислорода (dissolvedoxygen, DO); - плотность взвешенных частиц. Для всех указанных типов измерений в большинстве случаев существуют серий- ные промышленные датчики с приемлемыми характеристиками. Как уже указыва- лось, точность и погрешность измерений зависят не только от самих датчиков, но и от того, как они используются, т. е. от обслуживания, своевременных поверок и градУй ровок. Это особенно существенно в отношении химических и биохимических изМе рений. Существует много типов датчиков для измерения концентрации органического Уг лерода, соединений азота, фосфора и т. д. Многие из них основаны на своего рода ла раторном химическом анализе, который выполняется автоматически с помощью спе циального оборудования. Устройства этого типа обычно довольно сложны и, соотв^ ственно, довольно дороги. Они работают в автономном режиме, поскольку ана-'С может потребовать некоторого времени и специально отобранных образцов веществ результаты могут передаваться компьютеру по специальному информационному ка налу. Регулярное обслуживание — важнейшая часть эксплуатации такого оборуд°®а ния, и тем не менее его надежность нельзя считать полностью удовлетворительно1’’ „звание и передача сигналов ——------- --------------------- 5 согласование и передача сигналов а информации между различными частями системы управления являет- из неотъемлемых и критически важных элементов. Сигналы, вырабатыва- ем1 одНйМчикаМИ1 обычно имеют весьма низкий уровень, поэтому для дальнейшей емые д необходимо обработать и усилить. Уровни сигнала и импедансы выхо- ПереД ика, кабеля и входа компьютера должны соответствовать друг другу. Обра- ^тка сигнала для достижения указанного соответствия называется согласованием СИГ/Тоугой очень важной практической проблемой являются наводки. Любое элект- онное устройство способствует возникновению электрических возмущений. Если две электрические цепи по тем или иным причинам расположены рядом друг с дру- гом то изменение тока или напряжения в одной цепи вызывает также изменения тока и напряжения в другой. В частности, соединительные провода и кабели высту- пают в качестве антенны для шумов и возмущений. Многие проблемы, связанные с электрическими наводками, можно решить с помощью экранирования цепей и за- земления; некоторые принципы экранирования рассмотрены в этом разделе. Выбор способа передачи сигнала (напряжение, ток или свет) зависит от нескольких факто- ров, главным из которых является устойчивость к наводкам и шумам. В этом разделе будут приведены различные методы решения этих проблем. 4.5.1. Согласование сигналов в цепях с операционными усилителями В разделе 4.2 было показано, что для удовлетворительной передачи сигнала необ- ходимо минимизировать влияние нагрузочных эффектов между компонентами сис- темы. С одной стороны, уровень выходного сигнала датчика должен быть достаточно высок, с другой — входной импеданс компьютера должен быть значительно больше по сравнению с выходным импедансом системы “датчик-измерительный преобразо- ватель Для согласования уровней сигналов и величин импедансов между выходом Датчика и входом компьютера устанавливаются усилители. Фильтр согласования импедансов имеет высокий входной импеданс и низкий выходной при коэффициенте усиления, равном единице. Последний каскад в схе- Для °бычно стабилизирующий усилитель с большим коэффициентом усиления. ратно°ГЛаС°ВаНИЯ импедансов применяются операционные усилители в цепи с об- 6() °Перад“0ННЬ1й усилитель (ОУ, operational amplifier — ор-атр) представляет со- ентомТРОЙСТВ0’ ВЬ1Полненное на интегральных схемах, с очень большим коэффици- (нескоУСИЛеНИЯ П° напРяжению (порядка 106-1012), высоким входным импедансом Дыхо ЛЬКХ) МОм) и низким выходным импедансом (как правило, менее 100 Ом). '4и°нныйИ Т°К °бЬ1ЧН0 огРаничен величиной 10 мА при напряжении ± 10 В. Опера- циях УСилитель является распространенным составным элементом в аналоговых с иом' ПосколькУ его рабочие характеристики могут изменяться в широких пределах с°Тни 1111110 небольшого набора дешевых электронных компонентов. Существуют ^аЦИоРаЗЛИЧНЬ1Х типов операционных усилителей. Схематическое изображение опе- ного усилителя показано на рис. 4.18.
152 Глава 4. Вход и выход физических проц& Рис. 4.18. Схематическое изображение операционного усилителя (на схемах присое- динение к источнику питания обычно не показывается) Выходное напряжение v0 пропорционально разности двух входных напряжений v0 = G • (г/ - »f) где G — коэффициент усиления. Даже небольшая разность входных напряжений вы- зывает существенное изменение выходного напряжения. В таком виде операцион- ный усилитель является простейшей формой компаратора, поскольку даже очень малая разность входных напряжений выводит усилитель в режим положительного или отрицательного насыщения. Так как коэффициент усиления очень большой, но непредсказуемый, операцион- ный усилитель никогда не используется без какой-либо отрицательной обратной связи. На низких частотах (ниже 20 кГц) большинство схем обратной связи можно выполнить из различных пассивных элементов —• резисторов и конденсаторов. Ин- вертирующий усилитель, или инвертор (рис. 4.19 а), имеет простейшую структуру цепи обратной связи. Коэффициент усиления по напряжению — отношение выход- ного напряжения к входному vo R2 1 R< 1 1 1 1 +--------- |3- G где +7^2 a G — коэффициент усиления самого операционного усилителя. Величина G падает с возрастанием частоты сигнала, но, поскольку |3 • G > коэффициент усиления по напряжению зависит только от величины сопроти® ний в цепи обратной связи. Для идеального операционного усилителя коэффи1\ ент усиления выражается как отношение импеданса обратной связи к входи0 импедансу. йГ Цепь обратной связи, изображенная на рис. 4.19 б, называется повторителем" пряжения {voltage follower) или преобразователем импеданса (impedance transform Коэффициент усиления повторителя напряжения приблизительно равен 1. Если вторитель напряжения присоединен последовательно к измерительному преобра3 вателю, имеющему высокий выходной импеданс, то новая система будет иметь те * 153 5 Согласование и передав сигналов актеристики, что и исходная, но выходной импеданс будет низким. В некоторых Xaf) о ах сигнал необходимо усилить до того, как он будет подвергнут дальнейшей случаях обработке. Рис. 4.19. Схемы усилителя в режиме инвертора (а) и повторителя напряжения (б) Рис. 4.20. Дифференциальный усилитель Другая важная схема с операционным усилителем — дифференциальный усили- тель (differential amplifier) (рис. 4.20). Как видно из названия, усилитель оперирует ет вНОСТЬЮ межДУ входными сигналами. Выражение для выходного напряжения име- д2 Р н°вные М°ТРенные выше схемы с операционным усилителем представляют собой ос- нцТе Элементы, на базе которых создаются схемы согласования сигналов. Допол- СПеЦи<ЬНЫе Функциональные возможности, например выделение или подавление с*ВныхИЧеСКИХ частот’ легк° достигаются изменением структуры соединения пас- На этот Элементов между выходом и входом усилителя. Дополнительные сведения счет приведены в главе 5. 2- Электрические проводники РЧпьеКТРИЧесКИе проводники являются средой, по которой электрические сигналы °страняются в пространстве. Передаваемый по проводнику сигнал по мере уда-
154 Глава 4. Вход и выход физических проц6( ления от источника подвергается изменениям, определяемым физическими харак ристиками линии передачи. Поэтому проводники должны рассматриваться и адад зироваться как отдельный элемент системы “датчик-согласующие цепи-управдЯ1() щий компьютер”. Передача постоянного тока — простая задача в тех случаях, КоГд. импеданс проводника мал по сравнению с импедансом приемника на конце линии Передача импульсов или других быстро меняющихся сигналов порождает, как пра вило, некоторые проблемы. Если длина линии такова, что время распространения cj# нала между концами линии соизмеримо с величиной периода сигнала или временек нарастания, возникают побочные эффекты (скорость распространения электрически го сигнала по линии примерно равна скорости света 300 • 103 км/с = 300 м/мкс). Од. ним из таких эффектов является отражение сигналов (рис. 4.21). Рис. 4.21. Отражение сигнала при неправильном согласовании импедансов между ли- нией передачи и оконечным элементом — Zg Z^ Линию передачи можно представить в виде двух параллельных проводов, имею- щих распределенные по длине индуктивность L и емкость С (L и С — удельные значе- ния на единицу длины). На высоких частотах общая нагрузка, создаваемая распред^' ленными емкостями, становится больше резистивной. Входной сигнал в произвольно» точке линии будет распространяться в обоих направлениях со скоростью 1 V = — Сигнал, распространяющийся вдоль линии, имеющей на конце импеданс ZL, буДе частично отражен с коэффициентом отражения р, определяемым формулой zl-zq Р zL + z. где называется характеристическим импедансом линии. Следовательно, в идеальй0 случае, чтобы избежать отражения, импеданс нагрузки должен равняться хара1< теристическому импедансу ZL = Zo.
155 4.7 пасование и передача сигналов 4 5. Co£{L_—— рримвр Передача импульсного сигнала Для импульсного сигнала, передаваемого по линии, связь между напряже- нием и током в момент импульса есть V = Zo • I. Если линия разомкнута на при- емном конце (ZL = °°), то ток не может свободно циркулировать, т. е. он пол- ностью отражается линией. Напряжение так же, как и ток, полностью отражается, поскольку оно равно Zo • I. Другой крайний случай — это короткое замыкание на приемном конце (ZL = 0). Напряжение на конце линии все время равно нулю. Приходящий импульс напряжения должен быть компенсирован точно таким же импульсом противоположного знака. Другими словами, им- пульс напряжения полностью отражается, но с обратным знаком. Аналогичные условия также соблюдаются и для источника сигнала. Если импеданс источника не равен Zo, то пришедший импульс отражается вновь. Импульсы, посылаемые по линии с несогласованными конечными импеданса- ми, будут перемещаться туда и обратно с затухающей амплитудой. В цифро- вых сетях, в которых обычно передаются длинные последовательности им- пульсов, в случае несогласованности импедансов сигналы будут отражаться и налагаться друг на друга, и приемник не сможет их правильно интерпрети- ровать. Согласование импедансов на концах линии выполняется с помощью специальных оконечных импедансов, которые называются концевыми или терминирующими схемами. Примеры концевых схем для системных шин при- ведены в разделе 8.2.3 и в разделе 9.5.4 — для сетей передачи данных. Пример 4.8 Соединение двух кабелей При соединении двух кабелей с разными характеристическими импеданса- ми требуется их тщательное согласование. Например, если пятидесятиомный кабель присоединяется к кабелю с импедансом 300 Ом, между ними должна ыть включена специальная резистивная схема, выполненная таким образом, чтобы трехсотомная линия вместе с резисторами “наблюдалась” со стороны Пятидесятиомной линии как нагрузка с импедансом в 50 Ом. То же самое усло- вие должно соблюдаться и в обратном направлении, т. е. пятидесятиомная ли- Ия ДОлжна “ощущаться” другой линией как нагрузка в 300 Ом (рис. 4.22). кабель с импедансом 50 Ом кабель с импедансом 300 Ом с- 4.22. Согласование импедансов при соединении двух кабелей
fS6 Глава 4. Вход и выход физических проц6Сп> В приведенном примере должны быть выбраны величины Zj = 0 Ом Z2 = 274 Ом и Z3 = 55 Ом. Импедансы Zn Z2 и Z3 образуют схему, которая не только согласует импедансы кабелей, но и уменьшает затухание сигнала. Если по обоим проводам двухпроводной линии текут токи, имеющие одинаковые амплитуды, но развернутые на 180° по фазе, говорят, что линия сбалансировав, (balanced). В несбалансированной (unbalanced) цепи ток течет только по одному проводу, а другой является “относительной землей” — проводом с относительны» нулевым потенциалом (последнее не исключает того, что по этой линии также про-,., кает ток). В качестве соединительных кабелей используются в основном два типа электрц. ческих проводников — витая пара и коаксиальный кабель. Как показывает название витая пара (twisted pair) состоит из двух изолированных медных проводов, свитщ вместе. Витая пара является дешевой и простой средой передачи. Широкое распрост- ранение витой пары и коаксиального кабеля в телефонных и телевизионных сетях привело к тому, что эти кабели и их вспомогательные элементы — разъемы и штекке- ры — имеют достаточно низкую цену. Электрическая цепь на основе витой пары может быть сбалансированной и не- сбалансированной. Преимущество сбалансированной цепи в том, что она менее чувствительна к внешним возмущениям; наоборот, эта цепь излучает меньшую энергию, поскольку электромагнитные поля отдельных проводников компенсиру- ют друг друга, так как имеют одинаковую интенсивность, но противоположную по- лярность. С другой стороны, сбалансированная линия является таковой тольке тогда, когда она правильно смонтирована и обслуживается. Несбалансированная витая пара значительно более чувствительна к возмущениям, чем сбалансирован- ная, но не требует почти никаких усилий для установки и эксплуатации. Четыре парный кабель еще менее чувствителен к помехам индуктивного характера (см раздел 4.5.3). Коаксиальные кабели (coax cable) содержат электрический проводник, изолир0' ванный пластиковой оболочкой, которая окружена проводящим плетеным экран®1 Благодаря такой геометрии коаксиальный кабель существенно несбалансирован Экран заземлен и предотвращает рассеивание энергии с центрального проводник3 которое на высоких частотах является весьма заметным возмущающим фактор®1 И наоборот, экран предохраняет центральный проводник от влияния внешних в® мущений. Коаксиальные кабели различаются по величине их распределенного иМ1? данса; обычные значения — 50 Ом (кабель RG-58) и 75 Ом (кабель RG-59). Значе3111' коаксиального кабеля обусловлено его широким применением в высокочастотН01 технике и технике связи (раздел 9.3). 4.5.3. Электрические помехи Помехи, возникающие в электрическом проводнике, могут иметь различив природу. Обычно помехи вызваны одним из следующих типов связи между иХ11' точником и проводником: „ .пасование и передача сигналов £5^СогТ1^У-—.—----1--------------- ... емкостной; индуктивной (магнитной). резистивная (или гальваническая) связь между проводником и источником по- мех не зависит от частоты возмущающего сигнала. Напротив, при емкостной или ин- дуктивной связи степень влияния зависит от частоты помех — чем выше частота, тем больше энергии получается от источника возмущений. На практике это означает, что электрические цепи, в которых происходят быстрые изменения тока и/или напряже- ния, могут быть более серьезными источниками помех, чем низкочастотные. Вообще говоря, взаимодействие с источником возмущений редко относится к одному типу, обычно - это комбинация всех трех вышеперечисленных типов. Серьезные пробле- мы с помехами возникают, когда проводники с маломощными сигналами расположе- ны вблизи силовых кабелей. Каждый провод в соединительных цепях датчика с обра- батывающим электронным устройством является потенциальным приемником электрических помех. Чтобы создать для электронного оборудования среду, максимально свободную от наводок, постоянно проводится множество исследований и разработок. Целью явля- ется достижение электромагнитной совместимости (electromagnetic compatibility — ЕМС) в рамках электрических цепей, а также между различными цепями и система- ми. Электрический прибор должен, с одной стороны, быть нечувствительным к внеш- ним помехам и, с другой стороны, не должен генерировать помех, которые могут ока- зать влияние на другую аппаратуру. 157 Резистивная связь Когда несколько электронных устройств одновременно имеют общий источник питания и общее заземление, могут возникать взаимодействия резистивного харак- тера. Довольно часто встречающиеся источники помех — плохо заземленные элект- родвигатели и преобразователи частоты с полупроводниковыми вентилями. Один из способов избежать такого типа взаимодействия — обеспечить для чувствительного электронного оборудования выделенный источник питания. Другая возможность — это гальваническая развязка источников питания и аппаратуры. В этом случае пря- Мая электрическая связь между различными источниками питания и электрообору- дованием отсутствует. ^РИмер 4.9 Переключаемый конденсатор Переключаемый конденсатор (flying capacitor) — это пример гальваничес- кой развязки (рис. 4.23). Конденсатор присоединен к источнику напряжения 1еРез два переключателя, т. е. он имеет тот же потенциал, что и источник на- пряжения. Подача напряжения на выход обеспечивается с помощью переклю- Чателей. Таким образом, источник напряжения никогда не соединяется непос- ре4ственно с последующей цепью, например входом компьютера. Конденса- Т°Р переключает (“flies”) входное напряжение на выходную цепь.
158 Глава 4. Вход и выход физических вяНиеи передача сигналов 4.5-^.—‘ ' 159 Рис. 4.23. Развязка цепей с помощью переключаемого конденсатора Конденсатор заряжается от источника напряжения. После переключения контактов 51 и 52 выходное напряжение конденсатора равно напряжению источника. Аналогич- но, две системы заземления никогда не соединяются Емкостная связь Между двумя проводниками или между проводником и источником помех поте всегда существует емкостная связь, которая возникает из-за того, что переменноена пряжение наводит в проводнике ток i, пропорциональный производной напряжет по времени где С — величина емкости. Емкостные связи должны быть сведены до минимум* Они уменьшаются с увеличением расстояния между проводниками. Распространенный способ борьбы с этим явлением — защитный электростати* кий экран. Экран должен быть заземлен, чтобы его потенциал равнялся нулю. Та» мера обеспечивает хорошую защиту, хотя на концах кабеля, где проводник присо нен к датчику или к электронным схемам, например к входному порту компьют могут возникнуть некоторые проблемы. Причина в том, что в этих местах эКРаВ полностью закрывает и защищает проводник. На небольших, незащищенных ок ных участках могут возникнуть слабые емкостные связи, поэтому важно дела кие участки как можно короче. Индуктивная (магнитная) связь Проводник с током индуцирует вокруг себя магнитное поле с напряженн , пропорциональной величине тока. Соответственно, магнитное взаимодейств здает серьезные проблемы вблизи силовых кабелей, по которым текут значитеЛ токи. Переменный ток возбуждает переменное магнитное поле, которое в свою редь наводит э.д.с. индукции в другом проводнике, пересекающем поле. По за ( индукции при заданной величине взаимной индукции М между проводника**14 пряжен"» V, индуцируемое в проводнике, есть dt • - ток другого проводника. ГДер ли проводник, в котором наводится э.д.с., представляет собой часть замкнуто- fcC vpa то в нем будет циркулировать ток. Этот индуктивный ток пропорциона- Г0К°площади, охватываемой проводниками, через которую проходит магнитный П°ТСуШествУеТ несколько способов уменьшить влияние индуктивных связей. Пло- щадь контура, сцепленного с магнитным потоком, можно уменьшить, используя ви- тые провода; уменьшение этой площади означает снижение индуцируемого напря- жения. Более того, при скрутке “изменяется знак” потокосцепления на каждом витке, так что результирующее потокосцепление становится незначительным. Собственно поэтому применяется кабель на основе витой пары, а не просто состоящий из парал- лельных проводников. Проводник, по которому передается измерительная информация, должен быть расположен как можно дальше от источников помех. В частности, чувствительные электронные приборы не должны размещаться вблизи трансформаторов и индукто- ров. Кабели должны располагаться таким образом, чтобы возможные поля помех распространялись вдоль них. Необходимо следовать двум простым правилам: во-первых, низковольтные сигнальные кабели и высоковольтные силовые кабели не должны прокладываться вблизи друг друга в одних и тех же каналах и, во-вторых, сигнальные и силовые кабели должны пересекаться, если это неизбежно, только под прямым углом. Магнитное поле можно ослабить экранированием. Медный или алюминиевый экран имеет очень высокую проводимость, и, благодаря возбуждению магнитным полем вихревых токов в экране, магнитный поток ослабляется. Экран можно вы- ^лнить из материала с высокой магнитной проницаемостью, например из железа. нияГНИТНЫЙ экРан часто бывает довольно объемным, поскольку для демпфирова- ваниТГНИТН°Г0 ПОТОКа тРебуется достаточная толщина стенок. Поэтому экраниро- ные ^иснользуется в основном для аппаратуры, генерирующей сильные магнит- Фактические советы (“Неписаные законы”) ЭлектромаДаН пеРечень некоторых из основных правил для уменьшения влияния 6ели и обпабИТНЫХ наводок на измеРительное оборудование (датчики, сигнальные ка- ~ сни атЬ1ваюЩне электронные схемы). Очевидно, что в первую очередь следует: Эт0 первьГТЬ интенсивность источника помех. НИе Помех и И Наиболее важ»ый шаг, поскольку он позволяет резко уменьшить влия- ДруГИе ’ СООТВет5твенн°, ослабить требования к другим защитным мерам. КМИниМуму°МеХ00браЗУЮЩИе факторы> влияние которых должно быть сведено _ ГаЛьваническая связь; _ Расст°яние до источника помех; Ст°тный спектр помех.
160 Глава 4. Вход и выход фиЖФВДШИХ проц^ „„вание и передача сигналов 5 согл?2£гл-——'----------------- 1S1 Для уменьшения влияние емкостных связей необходимо: - применять экранированный кабель; - минимизировать длину неэкранированных участков на концах кабеля. Влияние магнитных связей уменьшается, если: - используется витой кабель, так как уменьшается площадь магнитного охватываемая проводником, а ориентация поля постоянно изменяется; nOTOfc - подключены несколько датчиков, так как для каждого из них используем своя витая пара; - силовые и сигнальные кабели проложены раздельно; сигнальные кабели распо ложены на достаточном расстоянии от источников помех; - низковольтные и высоковольтные кабели пересекаются под прямым углом 4.5.4. Сигнальное заземление Заземление (earthing, grounding) представляет собой физическое присоединен» нескольких цепей к общему потенциалу. Сигнальное заземление соответствует со- зданию точки общего нулевого потенциала для измерительных сигналов. Теорети- чески все точки, которые должны быть заземлены, присоединяются к этому нулево- му потенциалу без каких-либо сопротивлений или индуктивностей. К сожалению, на практике это невыполнимо. Проблемы, связанные с низким качеством заземления являются наиболее распространенными, и именно их труднее всего обнаружить. Это справедливо и для небольшой электронной схемы, и для большого предприятия. вольтметр Рис. 4.24. Простая измерительная система с двумя заземлениями На рис. 4.24 представлена простая измерительная система с источником наП^. жения vs, присоединенным к заземлению Plt и собственно измерительные УсТР ства, присоединенные к заземлению Р%- Два отдельных заземления редко имеют наковый потенциал, поэтому между ними существует ток утечки. ВольтМ_ покажет не правильное значение напряжения vs, а искаженную величину В больших и сложных системах часто имеются отдельные заземления для датчИЬ_ кабелей, компьютерного оборудования, силовых элементов и шасси аппаратуры- ‘ эти отдельные системы заземления должны быть присоединены к общей точке заЗе' леиия, как это показано на рис. 4.25. Рис. 4.25. Общее заземление для различных компонентов системы Практическое правило для кабелей, по которым передаются аналоговые сигна- лы, - заземление должно быть как можно ближе к источнику сигнала, т. е. датчику. Конечно, это может создать трудности в крупных технических системах с большим количеством длинных кабелей. Желательно изолированное заземление компьютер- ного оборудования, поскольку цифровые системы как излучают, так и легко воспри- нимают высокочастотные сигналы. Более старые аналоговые системы сбора данных по большей части подвержены влиянию низкочастотных наводок. Раздельное заземление рекомендуется производить для релейных схем, двигате- лей и других устройств, которые потребляют большие токи. Наконец, шасси аппара- туры должны быть присоединены к отдельному заземлению, а это последнее — к об- щему заземлителю. Экраны сигнальных кабелей обычно также заземляют. Чтобы избежать замкну- тых контуров в схемах заземления, экраны соединяют с “землей” только в одной точ- е или вблизи от источника сигнала (датчика), или вблизи последующих элект- ронных устройств. Первый вариант дает лучшее ослабление помех (рис. 4.26). 4 2fi с «ирую, „ ^истема с Датчиком и дифференциальным усилителем - заземление экра- Щеи оболочки кабеля выполнено вблизи датчика ак I02I
Согласование и передача сигналов 163 162 Глава 4. Вход и выход физических проце^ Проблемы, связанные с заземлением в контрольно-измерительных систем можно обобщить в следующих правилах. • Необходимо четко определить пути протекания тока. Токи, текущие от силов0Гг оборудования, должны возвращаться к тем же устройствам. Проводники, приС0(, диненные к электрическим элементам, могут называться “землей”, но в дейстВЙ тельности функционировать как замкнутый контур и вызывать искажение напр; жения или пиковые возмущения из-за импеданса кабелей. Следует Применяв провода соответствующего сечения как для силовых цепей, так и для цепей зазем ления. • Цифровые и аналоговые цепи должны заземляться раздельно. Когда цифрован система изменяет свое логическое состояние, на “цифровом заземлении” мот появляться значительные всплески напряжения. Поскольку аналоговые цепи обычно очень чувствительны к возмущениям, то раздельное заземление снижает влияние резистивной связи. 4.5.5. Выбор носителя сигнала: напряжение или ток Выбор носителя сигнала для передачи измерительных данных от датчика к ком- пьютеру зависит от нескольких факторов. Наибрлее существенное соображение, ко- торое следует принимать во внимание, — сигнал должен быть по возможности мало- чувствительным к электрическим возмущениям. Передача сигнала напряжением Каждый кабель обладает определенным погонным сопротивлением. Если входной импеданс последнего элемента в цепи — устройства обработки сигна- ла — не бесконечность, то по кабелю будет протекать ток и в результате пре изойдет падение напряжения. Если изменяется амплитуда сигнала, то некото- рый ток потечет между проводами из-за распределенных емкостей Следовательно, разумно всегда считаться с некоторым падением напряжения® линии передачи. Требование, чтобы устройства обработки имели высокий вх°-; ной импеданс, приводит к тому, что они очень чувствительны к помехам- вательно, напряжение не слишком пригодно для передачи данных в случа^' когда могут быть заметные помехи. Одним из способов передачи сигнала напряжением является организация ТР^ проводной системы (рис. 4.27). По одному проводу течет постоянный ток для ния датчика, по другому поступают сигналы от датчика к согласующим и о у тывающим устройствам, а третий провод является общим для обоих кон Преимущество этого решения в том, что изменения сопротивления сигнал1’ провода, например из-за колебаний температуры, не сказываются на сигна. этому проводу не протекает ток и, следовательно, на нем нет падения напряж Чувствительность к внешним помехам остается, однако, неизменной. Главная причина популярности напряжения для передачи сигналов — эТ°' ной стороны, присущая этому методу простота, а с другой — широкая досту11 устройств для усиления, фильтрации и других видов обработки. НапримеР’ необходимо, чтобы один и тот же сигнал поступил на вход нескольких схеМл1 точно соединить эти схемы параллельно (с учетом входного импеданса). Нес; на ЭТО, напряжение не очень часто используется в промышленных системах по- скольку сигналы в них должны передаваться на большие расстояния и влияние ис- точников помех может стать значительным. усилитель с высоким входным импедансом Рис. 4.27, Подключение датчика в трехпроводной цепи По двум проводам течет постоянный ток; по сигнальному проводу ток не течет, следо- вательно, нет падения напряжения Наиболее важные уровни сигналов IEC381): напряжения стандартизованы (стандарт от +1 до +5 В от 0 до +5 В от 0 до +10 В от -10 до +10 В Передача сигнала током Для передачи сигнала на значительное расстояние лучше использова * ение, а ток, потому что он остается постоянным по длине ка еля, а на „„m-iaao- Дает из-за сопротивления кабеля. На конце кабеля токовый сигнал можно пр Вать в напряжение с помощью высокоточного шунтирующего резистора (р • _ Чри передаче токовых сигналов выходное напряжение датчика прео а ^ераци0ННым усилителем в ток. Приемник — операционный усилитель на Пи - в идеале ДОЛжен иметь нулевой входной импеданс. В действительност , т„ аас ОпРеделяется шунтом и обычно имеет порядок нескольких сотен 5 ра при сопротивлении шунта 250 Ом падение напряжения удет состав н ЕСли Истачник сигнала, т. е. преобразователь напряжения в ток имеет высокий «оХН°Й ИМПеданс’ ™гда любая помеха при передаче приведет к небольшому, обы I- „ Т °“( "ад“"Ю ™лр“““ "а„ГХк« к» »"«»” »" 10 г“- ПРЯ т„ '' " П₽а” кабеля »' М“ет »» “Г- ’ « "Л„ " ”дмль"°“ “ Обрабатывающей схемы - такая же. Минина тока на входе приемника и
164 165 Глава 4. Вход и выход физических пРоц6Сс^ как на выходе источника сигнала. При переменном токе влияние емкостного фекта становится заметным и часть тока будет теряться по длине кабеля, уХс/ либо в обратный провод, либо в заземленный экран. Международный станда IEC 381 рекомендует для передачи сигналов диапазон токов 4-20 мА. Минима^ цый уровень сигнала определен как 4 мА, чтобы можно было обнаружить pa3D, цепи (0 мА). 16 Рис. 4.28. Передача аналогового сигнала по токовой петле Преобразователь напряжения в ток — стандартный элемент цепи. Сигнал передается по витой паре, длина которой может достигать нескольких сот метров. Шунтирующий резис- тор для преобразования тока в напряжение в диапазоне от 0-2 до 10 В должен иметь вели- чину порядка 500 Ом Питание и датчика, и преобразователя и передача выходного сигнала могут осу- ществляться по одной и той же паре проводов. Это можно сделать при условии, что ток, потребляемый датчиком и преобразователем, не меняется, тогда любое измене- ние тока в цепи, очевидно, отражает работу датчика. Напротив, как было сказано ра- нее, передача сигнала напряжением требует трех кабелей. Подводя итоги, можно сказать, что измерительная система, использующая ток для передачи сигнала и датчик, гальванически изолированный от выходного сигнала, имеет несколько преимуществ: - удовлетворительно работает на протяженных коммуникациях; - допускает простую процедуру проверки, поскольку величина тока 0 мА означа ет, что датчик отключен или линия разомкнута; - обеспечивает хорошую защиту от помех; - для системы достаточно только два провода, что позволяет снизить затраты- 4.5.6. Передача оптических сигналов Передача сигналов по оптоволоконному кабелю стала обычной практикой во мН° гих измерительных и коммуникационных приложениях. Оптическая передача Ин формации требует весьма сложного и, соответственно, дорогостоящего цифрой коммуникационного оборудования. С помощью светодиодов (light-emitting diode LED) цифровые электрические сигналы преобразуются в световые импульсы, кот° рые затем передаются по оптическому волокну. На приемном конце световые И14' БинаРные (ДвУхпозиционнь1е) исполнительные механизмы сы снова преобразуются в электрические сигналы с помощью оптоэлектронных ’тяТЧИКО®' Д Оптический сигнал невосприимчив к магнитным и электрическим помехам и / печивает абсолютную изоляцию. Этот способ передачи предпочтителен для расстояний (>1 км), а также в сложных условиях, например вблизи элект- °° вигателей и преобразователей частоты. Применение оптических сигналов в тех- Р°ческих системах обусловлено в большей степени их помехоустойчивостью, чем Нцсокой пропускной способностью. Более подробно оптические системы связи рас- смотрены в разделе 9.3.8. 4.6. Бинарные (двухпозиционные) исполнительные механизмы Очень часто для управления достаточно исполнительных механизмов, имеющих только два рабочих состояния. Эти механизмы называются двухпозиционными или бинарными. Они похожи на электрический выключатель: включен — есть ток, вы- ключен — тока нет. К двухпозиционным исполнительным механизмам, в частности, относятся магнитные клапаны, электромагнитные реле и электронные твердотель- ные выключатели. Для управления такими механизмами достаточно одного-двух бит, которые легко можно получить на выходе управляющего компьютера. Управля- ющий сигнал можно усиливать простым переключателем, а не сложным линейным усилителем. Бинарные исполнительные механизмы бывают с одним (monostable) и двумя (bistable) устойчивыми состояниями. Исполнительный механизм с одним устой- чивым состоянием, которому соответствует отключение питания, управляется только одним сигналом. Дистанционный контактор электродвигателя обычно яв- ляется устройством такого типа. Пока на контактор приходит управляющий сиг- нал, двигатель получает питание, но как только сигнал пропадает, питание вы- ключается. Устройство с двумя устойчивыми состояниями сохраняет свое текущее состояние До тех П0Р. пока не получит новый управляющий сигнал, изменяющий его. Можно сказать, что исполнительный механизм “помнит” свое последнее положение. Напри- мер, чтобы привести в движение цилиндр, управляемый магнитным клапаном с дву- н^СТ0ИЧИВЬ1ми положениями, необходимы один сигнал для открытия и другой сиг- для закрытия. Исполнительные механизмы с двумя устойчивыми состояниями авляются импульсными, а не аналоговыми сигналами. 6-1. Управляемые выключатели НапцР°ВеНЬ мощности выходного сигнала компьютера обычно очень мал: уровень го” _^жения мощного” выходного сигнала лежит между +2 В и +5 В, а “маломощно- пРав Менее 1 В- Максимальный ток зависит от присоединенной нагрузки, но, как Р’Дка^Н) °Н Менее м А- Обычный выходной порт компьютера выдает мощность по- уеХа 0 мВт. Это означает, что для управления большинством исполнительных *tbiP Низмов сигнал компьютера нужно усилить. Для этого используются управляе- выключатели.
166 167 Глава 4. ВхоХх°Д и выход физичеси^ п Наиболее распространенным электрически изолТ-олиРованным выключате стемах управления всегда было электромеханичес^эское реле. Реле — над ключатель, который может работать как на переме^пенном, так и на постояНн Ток, протекающий по обмотке реле, создает магии"питное поле, перемещакощее T°s из одного положения в другое. Таким образом, раеоазмыкаются и замыканоТсяЯ*"'? трические контакты, которые сами по себе могутг'ут пропускать токи, знаЧитЭ'1е' большие, чем требуется для управления собственншно реле. Типичный ток обу^' реле составляет около 0.5 А при напряжении 12 В, <8, поэтому реле нельзя v™,' °Тк непосредственно с выхода компьютера; требуется^-я промежуточный выключат' средней мощности, например транзисторный уси.л.плитель, который устанавлива ся между выходом компьютера и реле. При проект ктировании систем с реле всег- необходимо помнить о проблемах энергоснабженгтчтия, поэтому при снятом питан? реле должно принимать безопасное положение. - Другими словами, отключен? питания релейной системы не должно приводитниь к нежелательному поведен» присоединенной нагрузки. Существуют различные типы реле в широком ул диапазоне мощностей от милли- вольтных поляризованных реле до киловаттных когеч«нтакторов. Маломощные поляри- зованные реле для коммутаций сигналов небольшойой мощности существуют в испол- нении на платах расширения компьютера. Реле длсп-ля больших мощностей слишкоу велики для этого и устанавливаются отдельно, чаиж.гле всего в закрытых стойках. До полнительным преимуществом реле является то, чт^тго их работа хорошо знакома мон- тажникам и обслуживающему персоналу. Среди недостатков реле следует отметить их о<Х>тносительно низкое быстродей- ствие — переключение требует порядка несколькихнх миллисекунд, вмести макросе кунд для электронных устройств. У реле, так же как * и у механических выключателей бывает так называемое дребезжание контактов (раздл*Дел 4.3.1), которое может вызват- помехи, что в свою очередь влияет на измерительную”10 аппаратуру и электронику ки- пьютера. Твердотельные полупроводниковые приборы О (solid-state semiconductor) при няются для переключений больших мощностей, цгпоскольку лишены мнюгихн статков реле. Твердотельный выключатель имеет у г оправляющий вход, присое ный к устройству управления. Твердотельные s силовые выключатели приводиться в действие непосредственно выходным-1*111 сигналами цепей ци гики, поэтому их довольно просто использовать в ко>:омпыотерном управле Mj- Различные типы управляемых выключателей ис ^пользуются для комм ( лых и средних мощностей. Интегральные схемы с транзисторным вых лЯют использовать до напряжений порядка 80 В и токов /схД° 1 • А, такие схемь )МПЬ1отер* ся выходным сигналом компьютера. Когда уровень--**5 выходного сигна церез"1 превышает 2.4 В, ток, управляемый электронным вь--^1Ключатолом’ ПР°' р запер1.* полнительный механизм, а когда уровень сигнала ниже . , тРав HaCbinuai°ullll! ток не течет. В такой конфигурации транзистор рабо«отает как прост СЯ Для боТших мощностей конструкция выключателя может роговых транзисторах (discrete power transistors) и„ли полевых МОП- Р (полевой транзистор со структурой металл-оксиггад-полупроводник, Semiconductor Field-Effect Transistor - MOSFET). Теакие цепи могут пропУ озиционные) исполнительные механизмы --— разность потенциалов более 100 В. Из-за наличия внутренне- го А И вЫДеРиЯ при прохождении тока транзистор рассеивает некоторую энергию, гОсопротЯвЛ^ИйЯ3^ежать перегрева, их нужно монтировать с учетом требований ох- поэтому.чт0 ь ла*ДеНЙЯ' нйИ большими мощностями (> 100 Вт) между выходом компьютера При упр вЫКЛючателем не должно быть прямых электрических связей, в про- п электронв^™вЫКЛЮчатель является источником помех, которые могут повлиять на тивном ^омПЬЮТера. Кроме того, при пробое выключателя высокое напряжение, ^^азначенное для питания привода, может повредить компьютер через прямую ”РеДН агкую связь. Чтобы избежать указанных проблем, необходима гальваничес- иектрическу напоимер схема с использованием оптической передачи сигнала управ- кая развязка, и к 1ения включающая светодиод и фототранзистор, расположенные вблизи друг друга и исключающие прямой электрический контакт. Важный класс полупроводниковых выключателей — тиристоры. Типичными представителями этого класса являются симметричный триодный тиристор, или си- мистор (TRIode AC semiconductor — Triacs), и однооперационный триоидный тирис- тор, или однооперационный тринистор (Silicon-Controlled Rectifier — SCR). Другое название этих полупроводниковых приборов — управляемые твердотельные выпря- мители (solid-state controlled rectifiers). После того как тиристор, включенный управляющим импульсом, “поджигается”, он будет оставаться включенным до тех пор, пока через него течет ток. Другими сло- вами, в отличие от силового или полевого транзистора тиристор не выключается, когда исчезает управляющий сигнал. Тиристор не отключается даже если приложен- ное напряжение падает до нуля. Отключение происходит только в том случае, если управляющее напряжение меняет знак — вынужденная коммутация. Тиристоры 1аще всего используются для отключения переменных токов, потому что изменение Риод п°СТИ ЧеРе3 одинаковые промежутки времени, по крайней мере один раз за пе- ственная В°ЛЯеТ Погасить тиРистор при отсутствии управляющего импульса — есте- или полевые111 М°Гут УпРавлять значительно большими мощностями, чем силовые Ристорапп тРанзистоРы- В проводящем состоянии внутреннее сопротивление ти- те1)ла миниаТ ИЧески Равн0 нулю, соответственно, падение напряжения и выделение альны, и ими можно пренебречь. д 6 рс Тключение индуктивных нагрузок ^’’вигатедь ^Латв исполнительное устройство с индуктивностью — например, элект- ЙГл‘Никцуть проб ° М0ТКИ соленоида — с помощью обычного выключателя, то могут лемы. Напряжение на индукторе исполнительного устройства равно г di v = L — dt д°стат 1Дуктивностт я • стат °'1Но быстр ’dZ ток исполнительного устройства. Если ток отключается 3>,а'Штет, ’ напРяжение на индуктивности в процессе отключения может Ь»Ь1М (рис 4 29)
168 Глава 4. Вход и выход физичбски^4^юцесс^ь 1 исполнительные механизмы с электроприводом 169 ток выключателя время напряжение на выключателе Рис. 4.29. Броски напряжения, возникающие в индуктивном исполнительном меха- низме при размыкании выключателя Броски напряжения могут повредить выключатель, поэтому их необходимо га- сить. Для этого можно использовать разрядный (шунтирующий) диод (free-wheeling diode), подключенный параллельно нагрузке (рис. 4.30). При размыкании выключателя ток индуктивности протекает через диод. Напря- жение на исполнительном устройстве ограничено величиной менее 1 В, что соответ- ствует падению напряжения на диоде. Выключатель должен выдерживать только номинальное напряжение, а не перенапряжения. Ток индуктивности через разряд- ный диод затухает экспоненциально; скорость затухания можно увеличить, включив последовательно с диодом резистор. источник питания исполнительного механизма Рис. 4.30. Применение шунтирующего диода для гашения бросков напряжения, воз- никающих при отключении индуктивных нагрузок 4.7. Исполнительные механизмы с электроприводом Термин привод (drive system) обозначает комбинацию двигателя с управляю^ электроникой. Применение управляющих схем значительно улучшает фунК11 нальные свойства электродвигателя, позволяя регулировать скорость и момент в f роких пределах и с высокой точностью. Большинство исполнительных механизм* используемых в системах управления, являются аналоговыми, например двига^ постоянного тока, синхронные и асинхронные двигатели переменного тока. ШйР° применяются и шаговые двигатели, но их системы управления заметно отличаются оТ приводов непрерывного действия. Привод может быть частью другого механизма например системы позиционирования клапана, манипулятора робота и т. д. Обыч- ный CD-плейер содержит приводы для вращения диска и позиционирования держа- теля считывающего лазерного датчика. При этом и скорость диска, и положение го- ловки должны выдерживаться с высокой точностью. В этом разделе рассмотрены наиболее важные аспекты точного управления электроприводом. 4 7.1. Усилители мощности Выходные порты компьютера имеют очень низкую мощность и не могут непос- редственно управлять каким-либо физическим устройством. Для того чтобы возбуж- дать исполнительные механизмы, взаимодействующие с физическим процессом (двигатели и т. п.), выходной сигнал компьютера необходимо усиливать. Усилители мощности управляющих сигналов могут быть выполнены как отдельные устройства, так и входить непосредственно в состав исполнительного механизма. При уровнях мощности до нескольких сотен ватт можно использовать усилители, аналогичные применяемым в аудиосистемах, которые называются операционными усилителями мощности (power operational amplifiers). При больших мощностях чаще используется название сервоусилитель или программируемый источник энергоснабжения (programmable power supplies). Конструктивно последние обычно выполнены таким образом, чтобы их можно было монтировать вместе с двигателями или электроклапа- нами. Выходным напряжением программируемых источников можно управлять с помощью аналогового или цифрового сигнала. - широтно-импульсная модуляция (ШИМ, pulse-width modulation — PWM). В этом случае выходное напряжение переключается между двумя постоянными значе- ниями с высокой частотой, обычно в диапазоне нескольких килогерц. Средний уро- вень напряжения поддерживается изменением (модуляцией) ширины импуль- с°в. На рис. 4.31 приведен пример такого сигнала. “Узкие” импульсы соответствуют иизкому, а “широкие” — высокому среднему напряжению. Устройство ШИМ вклю- чается в схему управления мощностью на основе твердотельных выключателей типа транзисторов, мощных полевых МОП-транзисторов или тиристоров. В преобразова- лях для мощностей порядка 300 кВт используются так называемые биполярные дла”^ИстоРы с изолированным затвором (Insulated Gate Bipolar Transistors — IGBT). (Gm ^1ЬШИх Уровней мощности целесообразно применять запираемые тиристоры urn °ff thyristors — GTO thyristors). Сг°РитН°Л0ГИЯ используется в тех случаях, когда обычный усилитель просто И3'за ВЫс™ уровня мощности. Переключения приводят к тому, что твер- СТВенноЫе ПРИбОрЫ загРУжены полной мощностью лишь короткое время и, соответ- Кую Э(Ь4)РаССеИВание -МО|Г1н°сти в них мало, а значит, ШИМ-усилители имеют высо- в°3Мож ективн°сть. Дополнительным преимуществом ШИМ-усилителей является х°4ной °СТЬ непосРеДСтвенного управления переключениями через цифровой вы- Шим°рт КОмпьютеРа- "eilPepbI упРавле«ие широко используется в технике исполнительных механизмов РопРив0 рГ° деиствия> таких как двигатели переменного и постоянного тока и гид- ’1еВию СД 'с'1и частота переключений ШИМ-усилителя достаточно высока по срав- Чостоянной времени исполнительного механизма, то результирующий сиг-
170 Глава 4. Вход и выход физичек ------------- -------- нал имеет некое среднее значение (рис. 4.31). Входное напряжение п между нулевым и максимальным значениями, в результате вырабатыв ^еКЛ1°Чае} ленное среднее значение выходной мощности. Если частота переключе “СЯ °ПЧ но высока по сравнению с постоянной времени управляемой системы И ДОстЧ выходных величин пренебрежимо малы. ’ Т° Колебац>. Рис. 4.31. Огибающая результирующего напряжения в цикле широтно-импульсной модуляции (ШИМ) Напряжение переключается между тремя значениями (ноль, положительный макси- мум и отрицательный минимум). Синусоидальная кривая — эффективное напряже- ние, приложенное к нагрузке Частотный преобразователь (frequency converter) — это регулятор частоты Ф щения и момента двигателя, основанный на применении ШИМ-технологии; он пр* меняется для двигателей переменного тока. Частотные преобразователи можно пользовать как в новых системах, так и для модификации старых. П°сК°^ большинство насосов и компрессоров уже имеют асинхронные двигатели, то в тором смысле они подготовлены к применению частотных преобразователе^ реализации сложных режимов с широким рабочим диапазоном, при низких тях и больших моментах может потребоваться дополнительное охлаждение по нению с обычно применяемым в двигателях. 4.7.2. Управление позиционированием и скоростью приводов Стандартной задачей в промышленности и автоматизации процессов высокоточное управление позиционированием сервомеханизма, например^ лятора робота, инструмента станка или магнитной головки дисковода ;1 Для ее решения двигатель сервомеханизма должен быть снабжен системой связи, вырабатывающей необходимое управляющее воздействие. СтруктУРа мы управления позиционированием показана на рис. 4.32; она не зависит нН
171 еЛЬНые механизмы сэгюктроприводом 4 7. испо^-^ двигателя (переменного или постоянного или аналоговое). Т»ка), НИ 0Т управ*"« нмюг положение опорная скорость опорный момент двигатель нагрузка скорость Рис. 4.32. Схема структуры сервосистемы управления позиционированием Сервосистема управления позиционированием содержит в каскадной конфигура- III три вложенных контура для момента, скорости и положения. Угол поворота из- ряется датчиком (разделы 4.3 и 4.4.1) и сравнивается с опорным значением. Исхо- из величины отклонения регулятор вычисляет новое значение скорости, >еспечивающее требуемое изменение положения. Чтобы изменить угловую скорость, двигатель должен изменить вращающий мо- •ит (пример 3.3, раздел 3.2.1). Требуемый момент вычисляется регулятором скоро- ии на основе встроенной динамической модели используемого двигателя. Вычис- ленное значение затем сравнивается с текущим, которое, например, можно оценить, измеряя ток ротора (пример 3.5, раздел 3.2.2). Разность моментов используется как ГТ величина для регулятора момента, оборудованного силовой электроникой. ^атывающей напряжение и частоту для управления двигателем. приме ЭЗанную систему управления позиционированием можно использовать, на- к°мпактДЛЯ продОльного позиционирования лазерного датчика устройства чтения в°й ско ДИскОв- Во многих исполнительных механизмах требуется управлять угло- В'Плейе^в’ Я положением’ например в приводе вращения диска того же ‘-лить из ЭТОм случае внешний контур управления позиционированием можно 8 это.м с КЙСКада УпРавлеиия. Опорное значение для регулятора угловой скорос- ЕСди си?4'6 устанавливается непосредственно. •,)ав-'1яющИй Управления позиционированием базируется на аналоговой технике, Ть. Паприм КОМпЬ10тер должен вырабатывать аналоговые сигналы; это можно сде- вРаШения м'С ПОмощью Цифро-аналогового преобразователя (раздел 5.2). Часто- ’^Риометром^0 измеРять тахометром (пример 4.3, раздел 4.4.1), а положение — ,Т°М случаеДХ°Д заключается в сочетании аналоговой и цифровой технологии. "<ой, а УиравУПРаВЛеНИе частот°й вращения осуществляется аналоговой электро- ЙЛеНИя ИспоЛеВДе пол°жением — компьютером (рис. 4.33). Такие структуры уп- Льзуются с начала 1960-х годов.
172 Глава 4, Вход и выход физическижярвцесс^ 173 сигнал направления (выбор полярности |ч------------ цифровой аналоговый ------->1 Рис. 4.33. Соединение аналогового и цифрового контуров сервоуправлени;. Датчик положения — это относительный кодер угла поворота (пример 4.1, раз- дел 4.3.4), который выдает фиксированное число импульсов на каждый оборот вала двигателя. Когда двигатель вращается, генерируется последовательность импуль- сов, скорость поступления которых пропорциональна частоте вращения. Компьютер посылает импульсы позиционирования, которые добавляются к счетчику импуль- сов. Импульсы от датчика положения, напротив, вычитаются из него. Разность в чис- ле положительных и отрицательных импульсов (значение счетчика) определяет ошибку позиционирования; эта величина подается в ЦАП, который вырабатывает аналоговый сигнал — напряжение, используемый в качестве опорного для скорости. Компьютер получает и выдает только импульсные сигналы, как при управлении ша- говым двигателем, а не реальным двигателем постоянного тока. Контур сервоуправления можно полностью реализовать на цифровой технике- Датчик положения вала обеспечивает измерительную информацию и о положении, и о скорости. Специальные платы, содержащие необходимые цифровые контуры Уп равления, существуют для многих типов микрокомпьютеров. Такие контроллеры выпускаются и в исполнении с сервоусилителями. 4.7.3. Шаговые двигатели Шаговые двигатели (stepping motors) являются приводными исполнительны* механизмами, обеспечивающими фиксированные угловые перемещения (ша Каждое изменение угла поворота ротора — это реакция шагового двигателя входной импульс. Поскольку каждый шаг двигателя соответствует определенно^ углу поворота ротора, а движение строго задано управляющими импульсами, управлять позиционированием и скоростью вращения очень просто. Это, одна*, справедливо при допущении, что ни один шаг не был пропущен, т. е. положен^ ротора полностью определено входными импульсами. В этом случае нет необхоЛ11 1 исполнительные механизмы с электроприводом в обратной связи по углу поворота ротора — разомкнутый контур управле- М в условиях переходного процесса при моменте, близком к номинальному, НИЯ ь импульсов может быть пропущена. Если шаговому двигателю приходится ра- -1, в таких условиях, необходимо предусматривать контур обратной связи для ботаи5 ° - компенсации ошибок. Преимущества шаговых двигателей: высокая точность, даже в разомкнутой структуре управления, т. е. без датчика угла поворота; естественная интеграция с приложениями цифрового управления; - отсутствие механических коммутаторов, которые часто создают проблемы в двигателях других типов. Недостатки шаговых двигателей: - малый вращающий момент по сравнению с двигателями приводов непрерыв- ного типа; - ограниченная скорость; - высокий уровень вибрации из-за скачкообразного движения; - большие ошибки и колебания при потере импульсов в системах с разомкнутым контуром управления. Преимущества шаговых двигателей намного превосходят их недостатки, поэтому они часто применяются в тех случаях, когда достаточно небольшой мощности при- водных устройств. 4.7,4. Двигатели постоянного тока Электрические и механические динамические свойства двигателей постоянного тока были описаны выше (пример 3.3, раздел 3.2.1, и пример 3.5, раздел 3.2.2). Двига- тели постоянного тока широко используются в качестве сервомоторов, несмотря на ЧТО в настоящее время все чаще для этого применяются двигатели переменного тока. Основным недостатком двигателей постоянного тока является наличие меха- ского коммутатора (коллектора), который ограничивает как мощность, так и ча- пос У вра1цения двигателя. Этот недостаток отсутствует у бесщеточных двигателей коммЯННОГО ТОка’ т' е' Двигателей с ротором в виде постоянного магнита, у которых ный УТаЦИЯ осУ111'ествляется электронным переключением токов статора. Бесщеточ- ми тн,3111'аТе'1Ь постоянного тока имеет сходство с шаговым двигателем и некоторы- У пами синхронных двигателей. пРяжениг[1еНИе двигателем постоянного тока осуществляется регулированием на- Нце Пеп Я’ ПРиложенного к ротору, и иногда напряжением возбуждения. Примене- РезистоРов’ включенных последовательно с источником питания, Должно1б°Г° недостатков- Резистор рассеивает энергию, причем выделившееся тепло Ный спо Ь^ТЬ Отведено из-за возможных нежелательных эффектов. Распространен- боРов и управления напряжением питания — использование твердотельных при- ег0 с И ШИМ-управления. Напряжение питания “нарезается” таким образом, что УпРавеДНее значение имеет заданный уровень. В качестве переключателей в схемах Ления двигателями постоянного тока обычно используются тиристоры.
174 Глава 4. Вход и выход физических процесс^ 4.7.5. Асинхронные и синхронные двигатели Двигатели переменного тока (а.с. motor), как правило, применяются в тяжельц эксплуатационных условиях, однако они находят все большее распространение в си- стемах промышленного управления, например в качестве сервомоторов. Некоторые преимущества двигателей переменного тока перечислены ниже: - экономичность; - надежная и простая конструкция; - высокая эксплуатационная надежность; - простое энергопитание; - отсутствие коммутатора; - практическое отсутствие дуговых явлений (поскольку нет коммутаторов). Отрицательными чертами двигателей переменного тока являются более низкий момент трогания, чем у двигателей постоянного тока, и более сложные цепи управле- ния. Однако преимущества систем привода переменного тока таковы, что они успеш- но конкурируют с двигателями постоянного тока в роботах, манипуляторах и других промышленных системах силового привода. Широкое применение двигателей переменного тока в качестве сервомоторов ста- ло возможным по мере развития силовой электроники в сочетании с новыми метода- ми управления. Применение микроэлектроники обеспечивает вполне приемлемое управление частотой питающего напряжения. Вращающий момент двигателя нельзя измерить так же просто, как у двигателей постоянного тока, однако существуют спо- собы его оперативной (on-line) оценки. Из-за жестких временных требований для управления должны использоваться микропроцессоры со специальной архитекту- рой, обеспечивающей очень высокую скорость вычислений, — цифровые сигналь- ные процессоры (Digital Signal Processors — DSP). У асинхронного (индукционного) двигателя магнитное поле статора не постоянно, в отличие от двигателя постоянного тока. В простейшей (двухполюсной) машине имеются три статорные обмотки, расположенные вокруг статора под углом 120° друг относительно друга. Когда по ним подается трехфазное переменное напряжение, ре- зультирующий магнитный поток статора вращается с частотой приложенного напря- жения. Поскольку к обмотке ротора не подводится никакого внешнего питания (она короткозамкнута), то нет необходимости в щеточных коммутирующих устройствах. Вращающееся поле статора пересекает обмотки ротора и индуцирует в них ток- Результирующий поток ротора взаимодействует с вращающимся потоком статора и создает вращающий момент в направлении вращения поля статора. Этот момент и есть рабочий момент двигателя. Из-за потерь на трение ротор не может даже на холо стом ходу достичь так называемой синхронной частоты вращения, т. е. точного зн» чения частоты вращения поля статора. Вращающий момент образуется именно из-за разности частот вращения ротора и поля статора. Относительная разность частот вращения называется скольжением ротора (slip) S = ----- С05 где cos. - частота вращения поля статора (синхронная частота), а шт -- частота враШс ния ротора. Очевидно, что при л = 0 вращающий момент равен нулю.
175 управляющие клапаны___________________________________________________ ротор синхронного двигателя движется синхронно с вращающимся магнитным по- ддаваемым обмотками статора (статор синхронного двигателя в принципе такой Л.еМкаК у асинхронного). В отличие от асинхронного, обмотки ротора синхронного дви- 'дгеля возбуждаются от внешнего источника постоянного тока. Полюса возникающего (агнитного поля ротора занимают фиксированное положение относительно вращающе- гося поля статора и вращаются вместе с ним; следовательно, скорости вращения поля статора и ротора идентичны и скольжение равно нулю. Синхронные двигатели часто ис- пользуются в тех случаях, когда необходима постоянная скорость вращения при пере- менной нагрузке. В сочетании с современными преобразователями частоты синхронные двигатели могут работать с переменной скоростью вращения. Большое распространение приобретают синхронные двигатели с постоянными магнитами. Шаговые двигатели можно рассматривать как специальный тип синхронного двигателя. 4.8. Управляющие клапаны Управляющий клапан (control valve) состоит из тела клиновидной или цилиндри- ческой формы (иногда называется тарелкой), закрепленного на стержне (штоке), ко- торый движется вверх и вниз относительно цилиндрического седла. Стержень обыч- но перемещается под давлением сжатого воздуха на поршень или диафрагму с пружиной. Пружина может либо открывать, либо закрывать клапан в зависимости от того, какое положение требуется в случае прекращения подачи сжатого воздуха. Иногда для управления потоком используется электрический или гидравлический привод. Конструкции тела и седла клапана различаются в зависимости от требова- ний к соотношению между производительностью и потерями напора на клапане, типа жидкости и расхода при разных положениях штока. Размер клапана обычно выбирают в соответствии с параметрами трубопровода, в котором он устанавливается. Выбор формы клапана и сочетания размеров седла и тела (тарелки) требует оценки следующих факторов. • Потери напора (pressure drop). Большие потери напора на клапане могут затруднить движение штока. Специальная конструкция клапана заставляет поток двигаться в противоположных направлениях через два запирающих элемента, тем самым урав- новешивая силы. Необходимость снижения потерь напора может потребовать при- менения различных типов клапанов, например типа “бабочка” (butterfly valve). Максимальный расход (maximum flowrate). Это требование сводится к сочетанию максимального расчетного расхода с максимальной зоной управления. Послед- няя должна в идеале составлять 30-50 % от расчетного расхода. Иногда неопыт- нее специалисты задают эту величину на уровне 10 %, что заметно ухудшает ра- бочие характеристики. Управляемость (rangeability). Это отношение расходов при двух различных поло- жениях штока. Оно в основном связано с конструкцией тела и седла и зависимос- тью потерь напора от расходных характеристик, которые, в свою очередь, связаны характеристиками нагнетающего насоса. Управляемость должна обеспечивать Номинальный диапазон расходов с соответствующими зонами управления (жела- тельно 30-50 %) по обе стороны диапазона. Чувствительность (sensitivity). Связана с управляемостью и величиной управля- ющего воздействия, необходимого для управления с заданной точностью. Иногда
176 177 Глава 4. Вход и выход физических процесс большой клапан обеспечивает номинальный расход, а малый, установленный раллельно, обеспечивает необходимую чувствительность. • Линейность (linearity). Желательно, чтобы в контуре управления существовала нейная зависимость между выходами регулятора и датчика, т. е. в цепочке “ пан — процесс — датчик”. Если контур управления не обладает линейной зависи^ стью выходных и входных величин, ее можно обеспечить выбором характерис ° клапана, а иногда и датчика. Качество управления при отсутствии линейности жет оказаться низким, или потребуется реализация специальных способов ynDa° ления. ав' • Гистерезис (hysteresis). Это обычная проблема управляющих клапанов, возникаю щая из-за процессов сухого трения (прилипания) в месте прилегания запорного эле мента клапана к седлу, а также потерь напора на клапане. Как правило, гистерезис является причиной небольших постоянных колебаний в контуре управления для борьбы с которыми можно применять устройства точного позиционирования клапа- на. Это специальное устройство управления с большим коэффициентом усиления которое обеспечивает нужное положение штока клапана. В этом случае управляю- щий компьютер не осуществляет точного контроля за открытием клапана, а только вырабатывает опорные значения для устройства позиционирования клапана. 0 20 40 60 80 100 степень открытия клапана, % (положение штока) Рис. 4.34. Характеристики клапанов Управляемость клапана можно определить на основании расчета двух расходе®' равных, например, 15 и 85 % от максимального расхода. В этом случае необходим0 знать функцию f(x), которая характеризует клапан. Клапаны поставляются со след} ющими характеристиками: /(х) = х — линейная, f(x) = у[х — соответствующая квадратному корню, /(х) = — равного процентного отношения (где конструктивная постоянная А обычно лежит в пределах от 20 до 50). --- симссти показаны на рис. 4.34. Следует отметить, что идеальный клапан Эти заВЙ оцентного отношения не закрывается полностью. На практике их проек- равН°г0ДРиМ образом, чтобы получить линейную характеристику при очень малых тпрУ107 СЛедовательно, они закрываются полностью. открытий’ и, 4 9. Заключение менные физических процессов измеряются аналоговыми, цифровыми или Р ши датчиками. Тип выходного сигнала датчика — аналоговый, бинарный, °инар оватеЛЬНОСТЬ ИМпульсов — должен выбираться в зависимости от приложения ихарактерауправления. Каждый датчик должен удовлетворять разнообразным тре- бованиям, например: выход должен линейно зависеть от измеряемой величины; - выходной сигнал должен иметь достаточно высокий уровень; - сам датчик не должен искажать измеряемую величину; - датчик должен иметь низкое потребление мощности; - датчик должен быть нечувствителен к внешним воздействиям и помехам; - выходной сигнал датчика должен быть одним и тем же при фиксированном значении измеряемой величины и не зависеть от предыдущих измерений; соот- ветственно, измеренное значение должно однозначно определяться по выход- ному сигналу датчика; - датчик должен иметь адекватное время установления для правильного воспро- изводства переходных процессов. В главе были рассмотрены несколько примеров датчиков для аналоговых физи- ческих величин и для бинарных состояний. Для качественной передачи сигналов по линиям связи необходимо согласование Уровней сигналов и импедансов, чтобы исключить нагрузочные эффекты и использо- вать полный измерительный диапазон соответствующих устройств. Были описаны важнейшие причины наводок и помех на электрических линиях связи: резистивная связь; емкостная связь; индуктивная (магнитная) связь. Рас осмотрены основные способы подавления помех или уменьшения их влияния: ~ экранирование и заземление; гальваническая развязка; применение витых проводов; Раздельная прокладка силовых и сигнальных кабелей; сигнальное заземление. а Н^ЛЯ Передачи измерительной информации предпочтительнее использовать ток, \1е НапРяЖение, из-за чувствительности последнего к внешним помехам. Ток при- !1Ия 1ТСЯ В пР0МЬ1шленнь1х системах управления для передачи на большие расстоя- ча ' °0 избежание многих проблем, связанных с электрическими наводками, все е Используются оптические сигналы.
178 Глава 4. Вход и выход физических пь ----------- ---------------- Исполнительные механизмы — это устройства, механически воздействуй физические процессы путем преобразования электрических сигналов в Tpeg управляющее воздействие. Аналогично датчикам, исполнительные механизм жны быть подобраны соответствующим образом для каждой задачи. ИсцОл11^ * ные механизмы могут быть бинарными, дискретными или аналоговыми; конк тип для каждой задачи выбирается с учетом необходимой выходной мощности стродействия. В главе также рассмотрено электромеханическое преобрази энергии с помощью двигателей постоянного тока, асинхронных, синхронныхи вых двигателей. Многие исполнительные механизмы сами по себе являются с^' мами управления, т. е. включают в себя контуры регулирования своих параметров основе управляющего сигнала от внешней системы управления; некоторые серво^ ханизмы, изменяющие скорость и позиционирование, включают в себя и элеме^ управления этими параметрами. В других случаях контур регулирования Мо^ быть реализован управляющим компьютером. Рекомендации по дальнейшему чтению Хороших книг, посвященных общим вопросам измерений и инструментально! техники, совсем немало. [Doebelin, 1990] представляет собой выдающийся справоч- ник, содержащий детальное описание большинства типов датчиков. Необходимоот- метить также [Alloca/Stuart, 1984] и [Barney, 1988]. Прекрасным учебником по применению датчиков и исполнительных механизме! в компьютерных системах управления является [de Silva, 1989]. В книге [Derenzo 1990] описаны некоторые вводные упражнения по интерфейсу с компьютерами иго держится прекрасный перечень литературы по предмету. [Sargent/Shoemaker, 1995 давно стала классическим трудом по программным и аппаратным интерфейсам ДО персональных компьютеров и может быть рекомендована всем, кто использует коя пьютер не только как универсальный игральный автомат, усовершенствованную пи- шущую машинку или средство для блуждания в Интернете. Измерение сил описано в [Norton, 1989], а датчики, работающие по принципу Кс риолиса, в книге [Vogtlin/Tschabold, 1990]. В [Pessen, 1989] дан хороший обзор эл® трических и пневматических бинарных датчиков, исполнительных механизмов- схем; этот учебник содержит также несколько полезных ссылок на работы в данн°‘ области. Фотоэлектрические датчики подробно рассмотрены в [Juds, 1988]. Исполнительные механизмы сами по себе представляют целую науку. Р1'’ gerald/Kingsley/Umans, 1990] является стандартной книгой по электрическим шинам. В [Leonhard, 1985] дается более углубленный материал по управлению си мами электропривода, a [Kenjo/Sugawara, 1994] является основным источником шаговым двигателям. Как современное и глубокое руководство по силовой элек Р нике и ее применению для управления двигателями можно рекомендовать кН [Mohan/Undeland/Robbins, 1995]. „ Операционные усилители являются настолько важными элементами цепей,. равления, что существует огромное количество специальной литературы по эТ‘{ теме. Среди других следует упомянуть книги [Glasford, 1986], [Hufault, 1986], [IfVl ( 1994] и [Jones, 1986]. Техника использования заземлений и экранирования onHcaf в [Morrison, 1986] и [Ott, 1988]. [Wilson/Hawkes, 1989] дает обширный обзор прЯМ нения оптоэлектроники. Обработка сигналов Дискретизация сигналов. Преобразование аналоговых и цифро- вых сигналов. Обработка измерительной информации Обзор В главе 4 были рассмотрены методы генерации датчиками сигналов измеритель- “ информации и их передачи в аналоговом виде по проводникам. Настоящая глава посвящена технологии ввода собранных данных в управляющий компьютер и их об- Паботке. Различные компоненты входного и выходного интерфейсов компьютера рассматриваются в разделе 5.1. Ключевым вопросом этой главы является оцифровка (дискретизация, квантование) сигналов, т. е. представление аналоговых сигналов, которые как таковые не могут быть обработаны компьютером, в виде последователь- ности значений в дискретные моменты времени. Обсуждаются применяемые для этого устройства — схемы выборки и хранения и мультиплексоры. Преобразование аналоговых сигналов в цифровые (АЦ-преобразование) и цифровых сигналов в ана- логовые (ЦА-преобразование) — основная задача интерфейса компьютера с датчика- ми и исполнительными механизмами. Это тема раздела 5.2. Прежде чем оцифровывать аналоговый сигнал, необходимо убедиться, что он со- держит только частоты, непосредственно относящиеся к измерению, и что все посто- ронние или нежелательные частотные составляющие, например высокочастотные шумы, исключены или подавлены. Для этой цели используются аналоговые фильт- ры, рассмотренные в разделе 5.3. Для извлечения из сигнала полезной информации после АЦ-преобразования ис- пользуются цифровые фильтры (раздел 5.4). С помощью цифровой фильтрации мож- но уменьшить посторонние составляющие входного сигнала. Чтобы обеспечить каче- ство и правильность измерительной информации, после АЦ-преобразования необходимо провести ряд предварительных проверок. Наиболее важные из них об- суждаются в разделе 5.5. 5 1 п Дискретизация аналоговых сигналов • 1 • 1 • Ввод аналоговых сигналов в компьютер по ФУНКЦиональные компоненты входного и выходного интерфейсов компьютера казаны на рис. 5.1 Них ГНал’ ВЬ1Работанный датчиком, должен быть отфильтрован от всех посторон- Уст Частот До того, как он будет обработан компьютером. В частности, необходимо сир ИТЬ ВЬ1С°к°частотный шум, который обычно наводится в кабеле при передаче ЭТо"ала- Отфильтрованные измерительные сигналы собираются в мультиплексоре. Mvj ^СтР°йство, которое имеет несколько входов и один выход. Основное назначение «СИПЛексоРа — уменьшить общую стоимость системы за счет применения только г° Устройства обработки (в данном случае — управляющего компьютера), кото-
180 Глава 5. Обработка аналоговых сигналов 181 рое обычно существенно дороже мультиплексора для всех входных сигналов. 1К(, разование аналогового сигнала в цифровой происходит в аналого-цифровом Пр разователе (АЦП). Схема выборки и хранения запоминает мгновенные значец входного сигнала в заранее установленные моменты времени и удерживает его стоянным на выходе в течение интервала дискретизации. Перед дальнейшей обра боткой в компьютере значение сигнала измерительной информации необходимо^ полнительно проверить, чтобы удостовериться в том, что оно приемлемо и смысл в контексте физического процесса. Рис. 5.1. Схема ввода/вывода в системе “процесс-управляющий компьютер 5.1.2. Мультиплексоры Во многих случаях различные элементы системы должны совместно испоЛ^ вать некоторые ограниченные ресурсы, например входной порт компьютера длинный сигнальный кабель, по которому передается информация от несколь датчиков. Мультиплексирование (multiplexing) позволяет компьютеру в любой мент времени выбирать, сигнал какого датчика необходимо считать. Иначе го® , мультиплексор (multiplexer) можно рассматривать как переключатель (коммута? я10Щий компьютер в каждый момент времени только с одним датчиком соедин МуЛЬТИплексирование применяется не только в области измерений, но и (РиС' хотя и в другом смысле, важную роль в технике связи (раздел 9.4.2). цграет’ ‘ рис. 5.2. Мультиплексирование и АЦ-преобразование измерительной информации Мультиплексор может быть либо электромеханическим, либо электронным. Если считать, что все входы мультиплексора пронумерованы, то переключение обычно про- исходит последовательно в соответствии с порядковым номером; однако применяются и другие алгоритмы. Электромеханический мультиплексор с язычковым реле — на- дежная, хотя до некоторой степени медленная, система; он может выполнять до сотни коммутаций в секунду. Эксплуатационный период мультиплексоров этого типа огра- ничен естественным износом подвижных частей, хотя, с другой стороны, такие систе- мы имеют хорошие изолирующие качества и низкую стоимость. Другой немаловаж- ный фактор — очень малое падение напряжения на контактах. Для сравнения: электронный полупроводниковый мультиплексор намного быстрее (коммутация за- нимает не более чем несколько микросекунд). В сочетании с развязывающим усилите- лем (раздел 4.5.1) этот тип мультиплексоров имеет очень хорошие эксплуатационные характеристики, но он существенно дороже релейного мультиплексора. Токовые утечки и скачки напряжения на входах мультиплексора могут пред- ставлять собой серьезную проблему. Развязывающий усилитель между датчиком и компьютером работает с дифференциальным входом, но потенциал сигнала может плавать” относительно “земли”. В этом случае проводники, подходящие к мульти- плексору или АЦП, должны быть гальванически изолированы, например с помо- переключаемого проходного конденсатора (пример 4.9, раздел 4.5.3). 511‘3- Дискретизация сигналов №овРьаЗДеЛе 3 4 было показано, что компьютер не может непрерывно считывать ана- пьют е СИгналы> а выбирает их только в некоторые моменты времени. Поэтому ком- KPeT«P В0СпРинимает сигнал в виде последовательности дискретных значений. Дис- счить3ация (sampHng) — выборка, оцифровка, квантование — представляет собой стся в Вание сигнала только в определенные моменты времени; этот процесс реализу- Вание К°.МпьютеРе специальной схемой. Дискретизация включает мультиплексиро- с ц0 ^‘Преобразование. Эти операции должны быть строго синхронизированы Са°Щью задающего таймера (рис. 5.2). пРчоб 3 П° Се^е Дискретизация происходит очень быстро. Однако во время АЦ- МоглиРбазг°!ания не должно быть каких-либо изменений во входном сигнале, которые *РацР Ы повлиять на цифровой выход. Это обеспечивается операцией выборки и Ия (sample-and-hold) в каждом цикле дискретизации — значение аналогового
182 Глава 5. Обработка сцГн. сигнала считывается в начале каждого интервала и остается постоянным в Tfct[ всего времени АЦ-преобразования. Эта операция называется задержкой ну1е порядка (рис. 5.3). Такой подход был использован при численном моделцрое нелинейных систем (раздел 3.3.7) и при дискретизации по времени непрерывнь^’ намических систем (раздел 3.4). Рис. 5.3. Дискретизация аналогового сигнала с задержкой нулевого порядка Схема выборки и хранения (sample-and-hold circuit) показана на рис. 5.4. Ее работ- управляется ключом. В моменты выборки (5 — sample) ключ замыкается и конденса- тор С заряжается до текущего значения напряжения входного сигнала. Во времт удержания (Н — hold) ключ открыт и на выходе операционного усилителя сигна: в идеальном случае остается постоянным и равен последнему выходному значени в момент, когда ключ был еще замкнут. Рис. 5.4. Схема выборки и хранения с единичным усилением & В режиме выборки (5 - sample) амплитуда выходного сигнала равна мгновенному з нию входного сигнала оо = v{. В режиме удержания (Я - hold) выходной сигнал пос^ и равен последнему выходному значению, когда цепь функционировала в режиме вЫ Дискретный сигнал отстает примерно на половину интервала дискретизаи11^. относительно непрерывного сигнала. Если процедура дискретизации является тью большой системы управления, эта задержка может вызвать фазовое отставав привести к сокращению диапазона устойчивости цифрового регулятора по cpaS нию с соответствующим аналоговым устройством (раздел 6.5.2). 183 Т1л-зяция аналоговых сигналов __________ ^ДИСКР__ -- ’ ОпреДеление интеРвала дискретизации 5.1.4- важно правильно определить интервал дискретизации аналогового сиг- ^ЧеНобшем случае это представляет собой нетривиальную задачу. Интервал на'Ча’ Втцзации h должен быть достаточно коротким, чтобы выходной сигнал ;ШгКРе точностью описывал изменения аналогового входа. Теоретически р приемлемой С ? а дискретизации должна более чем в два раза превышать частоту наивыс- ЧаС“Тсоставляюн1ей преобразуемого сигнала (частотные компоненты определяют- ШбИ помощью Фурье-анализа исходного сигнала). Если интервал дискретизации СЯиШКОм велик, т. е. частота выборки слишком мала, то компьютер получит не- С ую картину исходного сигнала. В то же время слишком малый интервал, В е высокая частота выборки, приводит к тому, что управляющий компьютер вы- полняет неоправданно много вычислений. Кроме того, чем больше быстродей- ствие — тем дороже устройство. Поскольку после выборки об исходном сигнале ничего не известно до следую- щей выборки, период дискретизации должен быть настолько коротким, чтобы ис- ходный сигнал не успел значительно измениться. Другими словами, частота вы- борки должна быть достаточной для последующего восстановления аналогового сигнала из дискретного. Нижний предел частоты, очевидно, связан с динамикой процесса, т. е. насколько быстро измерительный сигнал, а следовательно, и перво- начальная физическая величина изменяются во времени. Ключевой задачей диск- ретизации является сбор достаточной информации для последующей обработки сигнала, например для генерации необходимых выходных сигналов в системе уп- равления с обратной связью. Выбор интервала дискретизации проиллюстрирован ниже на примерах. Для про- стоты обсуждение ограничено синусоидальными сигналами. Однако поскольку каж- дый сигнал можно разложить на совокупность гармоник, например с помощью пре- 0 разования Фурье, то дальнейшее изложение справедливо для любых аналоговых сигналов. fjPHMep 5.1а Дискретизация синусоидального сигнала ди РассмотРим аналоговый синусоидальный сигнал с частотой f Этот сигнал ИсхКРеТИЗИРУется с частотой fs. Если выборка делается шесть раз за период КопДНОГ° сигнала’ т0 гладкая кривая, проведенная через эти точки, близка (рис и наблюдаемая частота f0 не отличается от исходной частоты f кРивая ' Р'сли делать выборки только три раза за период, то результирующая мая ч еСТЬ менее надежное представление исходного сигнала, хотя наблюдае- астота/о все еще равна частоте/. б°Рок И ИСХ0ДНЬ1Й сигнал дискретизируется только 5/4 раз за период (т. е. 5 вы- (Рис^й^ ПеРи°Да), то соответствующая гладкая кривая также синусоидальна част' но наблюдаемая частота f0 равна//4, т. е. намного меньше истинной кц 5?LbI-'’ Наблюдаемая ложная частота есть разность между частотой Выбор- га п И истинной частотой f. Эта ложная, или кажущаяся, частота называет- СевДочастотой (alias frequency).
185 Рис. 5.5. Если синусоидальный сигнал дискретизируется шесть или три раза за пери- од, наблюдаемая частота равна истинной Рис. 5.6. Если синусоидальный сигнал дискретизируется пять раз за четыре периода- то наблюдаемая (аппроксимирующая) синусоида будет иметь намного более низку» частоту, чем исходная Отметим следующий эффект: если частота выборки слишком мала по отношей11 к частотным составляющим исходного сигнала, то в восстановленном сигнале появл ся ложная частота (псевдочастота), как показано в примере 5.1 а. Наблюдаемая час / (псевдочастота) есть разность между частотой выборки fs и истинной частотой/ J О Js j Частота восстановленного сигнала (наблюдаемая частота) будет той же что и исходная, до тех пор пока частота выборки достаточно высока, т. е./? > 2/ fs < 2/наблюдаемая частота уменьшается линейно и достигает нуля при / = /s-T'j при одной выборке за период. Если выборка происходит один раз за период (илй3 ,,чЯиия аналоговых сигналов очевидно, что исходный сигнал выбирается всегда в одной и той же пери°доВ)’ Териодического сигнала будет получено одно и то же значение; другими фазе и ДлЯ бодаемая частота становится нулевой. Зависимость между наблюдае- сЛо0амИ> на „„||Р|1НПй) и истинной частотами имеет пилообразный вид (рис. 5.7). мОй (восстановлен Рис. 5.7. Наблюдаемая частота/0 как функция истинной частоты f синусоидального сиг- нала при частоте выборки /.. Наблюдаемая частота равна истинной частоте, только если //Д < 0.5, т. е./5 >2/ Оказывается, что при частоте выборки fs, меньшей удвоенной частоты исходного сигнала/, последний нельзя восстановить на основании дискретных значений. Гра- ничная частота называется частотой Найквиста (Nyquist frequency)^ fN=2f (5-1) Если аналоговый сигнал содержит любые частоты, превышающие fN/2, то эти вы- сокочастотные компоненты появляются в последовательности данных выборки как гармоники более низкой (псевдо) частоты. Во избежание появления псевдочастот не- обходимо, чтобы частота выборки по крайней мере вдвое превышала самый высокоча- стотный компонент сигнала. В этом суть теоремы дискретизации (sampling theorem). На практике частота выборки должна быть больше частоты Найквиста. Теорема основана на предположении, что исходный сигнал периодический и дискретизирует- ся неограниченное время. Поскольку очевидно, что в реальных системах это не так, то для сбора информации, достаточной для адекватного описания сигнала и его пос- ледующего восстановления, частота выборки должна быть выше. Более того, в слу- чаенепериодического сигнала нет теоремы, ограничивающей нижний предел часто- ТЫ выборки. Несколько практических правил для частоты выборки в замкнутых СИстемах управления рассматриваются в разделе 6.5.2. оь1чно аналоговый сигнал содержит высокочастотный шум. Поэтому частота вы- Шей Д°Л5кна ОпРеДеляться по самой высокочастотной составляющей, присутствую- ИСХОдном сигнале. Все частоты, превышающие половину частоты Найквиста, Ы бЫТь Удалены из сигнала до дискретизации, в противном случае они появятся еВДОЧастоты в выхоДном сигнале. Этот принцип иногда толкуют так: интересую - это НаС частоты должны быть ниже, чем половина частоты Найквиста. Очевидно, что к^Рно, И^° ВСе частоты’ превышающие половину частоты Найквиста, приводят ЕСЛ(1 Лению псевдочастот, независимо от того, представляют они интерес или нет. Toft ВЬ1Сок°частотный шум налагается на низкочастотный сигнал, то выборка с часто- Деленной только по низкочастотному сигналу, даст искаженные значения из- Доце °Жения посторонних компонентов на полезный сигнал. Высокочастотные ком- (цр0 ы можно подавить либо удалить аналоговым фильтром низких частот ^^Де~псевдочастотным фильтром), как это описано в разделах 5.3.1 и 5.3.2. 11ли частотой Котельникова. — Примеч. ред.
187 186 Глава 5. Обработка сигн^ Пример 5.16 Дискретизация аналогового сигнала При дискретизации синусоидального сигнала 5/4 раз за период (При мер 5.1 а) псевдочастота//4 и истинная частота/лежат симметрично относц тельно половины частоты Найквиста с шагом Д/= 3//8, т. е. fN V V f — -bj = ~-— = — 2 8 8 4 Zv л/ 5/ 3/ / 2 8 8ы (псевдочастота) (истинная частота) После дискретизации оцифрованные данные уже невозможно исправить поэтому истинную частоту /нельзя выделить из псевдочастот/ + п- f Таким образом, любая из псевдочастот А+/- 2А-/, 2/5+/, - (5.2) может появиться в выходном сигнале, если частота/исходного сигнала выше половины частоты Найквиста/д/2 = fs/2. Пример 5.2 Искажения, вызванные псевдочастотами Рассмотрим пример искажения, вызванного псевдочастотами. Белый диск с черной отметкой на краю вращается с разной скоростью. Этот диск освещает- ся стробоскопической лампой, которая вспыхивает с заданной частотой, на- пример один раз в секунду. Таким образом, отметка видна только в определен- ные моменты времени. Если диск вращается по часовой стрелке со скоростью 10° в секунду, то черная отметка будет видна в положении 0°, 10°, 20°,... и т. д. Аналогично, если диск вра- щается против часовой стрелки, то отметка будет видна в положении 0°, 350 340°,... и т. д. Если скорость вращения увеличивать, то отметки будут наблюдать ся все дальше друг от друга. Если диск делает пол-оборота в секунду, то отметка видна в положении 0° и 180° и определить направление вращения уже невозмож но. Если диск вращается по часовой стрелке с еще большей скоростью, например 215° в секунду, то после положения 0° отметка появится в том же положении, как при вращении против часовой стрелки со скоростью 145° в секунду. Угловая скорость 180° в секунду соответствует половине частоты Найквис та. Частоты, симметричные относительно частоты Найквиста (/д/2 ± Д/’ проявляются одинаково (ср. рис. 5.7). Кажущаяся частота является ближай- шей к частотам, кратным частоте выборки (// 2/s, 3/s.,... и т. д.). Таким образок частоты 10°, 350° и 370° в секунду при дискретизации проявляют себя как одй и та же частота (10°). Дискретизация синусоидальных сигналов в примере 5.1 а аналогично при меру с вращающимся диском. Синусоида — это проекция точки на вертикаль ную ось, а вращение по и против часовой стрелки соответствует разным фаза** синусоидального сигнала. хпртизэция аналоговых сигналов 5 jjjkfCKpe™------------------------------------------ В старых вестернах часто кажется, что колеса у повозок медленно вращают- ся против направления движения. Скорость киносъемки (частота выборки) — 24 кадра в секунду. Если колесо имеет N спиц, то оно кажется неподвижным при условии, что поворачивается точно на 1/А(или на кратное 1/ДГ) оборота за 1/24 секунды. Если колесо вращается немного быстрее, то кажется, будто оно медленно вращается вперед; соответственно, колесо кажется медленно враща- ющимся назад, если скорость вращения немного меньше, чем 1/А. Аналогич- но, мерцание экранов компьютеров (или появление на них медленно движу- щихся полос) при демонстрации их по телевидению появляется из-за несоответствия между частотой обновления изображения на экране и частотой “выборки" телевизионной камеры. Пример 5.3 Определение частоты выборки для измерения концентрации взвеси в устройстве осаждения Этот пример иллюстрирует, как некоторые факторы влияют на частоту выбор- ки. В процессе осаждения активированного отстоя (раздел 2.4.2) твердые компо- ненты выделяются из жидкого раствора в устройстве осаждения, в котором сгуща- ющаяся взвесь оседает на дне. Поскольку большая часть жидкости будет повторно использоваться, необходимо знать концентрацию взвешенных частиц. Ее значе- ние обычно изменяется очень медленно — для значительного изменения концент- рации необходимо время от нескольких минут до нескольких часов. Поэтому ин- тервал выборки порядка 30 минут представляется адекватным. Некоторые экспериментальные данные, полученные для отстойника, показаны нарис. 5.8. » 1.0 § к § * § § g & °-5 * § g о 0 10 20 30 40 50 60 70 время*мин Ис- 5.8. Результаты измерения концентрации осажденных частиц в отстойнике Пи *РИвая конЦентрации имеет ярко выраженные пики каждые 12 минут. Эти В, .. Не объясняются какими-либо особенностями физического процесса. СТо^СТВИтельности они вызваны вращением скрепера (скребка) на дне от- Сост Ика> который удаляет осадок через клапан. Период вращения скрепера До авляет 12 минут. Каждый раз, когда скрепер минует донный клапан, оса- ЙЗв ^Датчика сжимается, что затем отражается как повышенная концентрация РядеЩеННЬ1Х частиЫ- Поэтому адекватный интервал выборки должен быть по- а нескольких минут, а правильную концентрацию осадка можно рассчи- '^-Л/^Кщреднее значение за 30-минутный интервал.
189 Глава 5. Обработка r, -------------- 188 Пример 5.4 Появление псевдочастот из-за наводрк от силовых кабелей переменного тока Помехи на частоте 50 Гц (или 60 Гц в некоторых странах) могут наводиться о силовых кабелей на информационные и перекрывать исходный измерительна сигнал (раздел 4.5.3). Если измерительный сигнал с шумом 50 Гц квантуетсясЧа стотойД = 60 Гц, то появятся псевдочастоты, потому что половина частоты Найк виста меньше, чем 50 Гц. В этом случае псевдочастота составляет 60 - 50 = щ Аналогичная ситуация иллюстрируется примером на рис. 5.9. ^налоговых и цифровых сигналов____________ 5 2 Преобразование аналоговых и цифровых сигналов 5 2 1 ЦифР°‘анаЛОГОВОе преобразование Важным этапом во многих процессах управления является цифро-аналоговое /НА. 'Analog — Г)А) преобразование — генерация аналогового сигнала с уров- нем напряжения, соответствующим цифровому значению на входе. Эта процедура используется для передачи от компьютера управляющего сигнала исполнительному механизму или опорного значения для регулятора. ЦА-преобразование - также не- обходимый шаг в выполнении обратного аналого-цифрового (АЦ) преобразования Идеальный цифро-аналоговый преобразователь (ЦАП, Digital-analog Converter D/А converter —DAC) вырабатывает выходной аналоговый сигнал, линейно завися- щий от n-битного цифрового входного сигнала. В наиболее распространенных схе- мах каждый бит входного слова управляет некоторой составляющей выходного на- пряжения, которое генерируется каскадом сопротивлений (рис. 5.10). Величины резисторов выбираются так, чтобы получать напряжения, равные 1/2 1/4 1/2" опорного значения, которые соответствуют позиции соответствующего бита в слове Эти значения складываются под управлением входных бит и затем усиливаются’ ЦАП можно также сконструировать и для получения токового выхода. • 5.10. Цифро-аналоговый преобразователь с каскадом сопротивлений ПоДП* Жение ключей 5р..., соответствует либоО, либо 1 во входном цифровом слове. °е НадРяжение составляется из последовательно убывающих членов / "i s2 sn \ °re/'I 2I 22 2п] в 8-битном ЦАП байт 01011001 приводит к следующему выходному Ни1о(прип?.е/=-10В)
Глава 5. Обработка сигио ------:——CW 190 /1 1 1 1 U O/OD и = vr„r -1--1---1--—3.48 В 0 ге] \4 16 32 256/ Очевидно, что ЦАП выдает только дискретные выходные напряжения с разре1и нием vrej- 2п. Необходимо отметить, что если при изменении значения входного слова С00т ветствующие ключи ЦАП не изменяют своего состояния все одновременно, то в пе реходном режиме может появиться нежелательный всплеск (glitch) напряжения н аналоговом выходе. Для устранения этой проблемы последовательно с ЦАП вад® чают схему выборки и хранения (стабилизатор), которая поддерживает выхода значение постоянным, пока ключи не установятся. Самые важные характеристики ЦАП, которые нужно учитывать при его выборе или разработке, перечислены ниже. • Линейность (linearity): в какой степени связь между цифровым входом и выход- ным напряжением линейна, или, иначе, величина отклонения реального выходно- го напряжения от расчетного из-за нелинейности. • Нулевое смещение (offset error): значение выходного сигнала при нулевом значе- нии на цифровом входе. Всегда должна быть возможность подстроить этозначе ние, например с помощью потенциометра или программного управления. • Время установления (settling time): время, необходимое для установления выход- ного напряжения на новое постоянное значение. • Быстродействие (slew rate): максимальная скорость изменения выходного напря- жения (выражается в В/мкс). Быстродействие зависит от времени установлен® 5 .2.2. Аналого-цифровое преобразование Для компьютерной обработки дискретные аналоговые значения измерительной сигнала необходимо представить в цифровой форме, т. е. выполнить аналого-циф- ровое (АЦ, Analog-Digital — А/D) преобразование. Соответствующее устройствоЯ'1' зывается аналого-цифровым преобразователем (АЦП, Analog-Digital Converter,Af converter — ADC). АЦП генерирует двоичное слово — цифровой выход — на осно®' аналогового сигнала. Существуют АЦП, выполненные, например, в виде платы P3t ширения компьютера. АЦП может работать в соответствии с различными принципами; два широко Ра‘ пространенных метода — параллельное сравнение и пошаговое приближение (а11£ роксимация). В АЦП, работающем по принципу сравнения (comparation), входное значеЯ’ сравнивается с различными уровнями напряжения, выработанными на основе из®^. 'того опорного напряжения и каскада сопротивлений (рис. 5.11). На выходе Ka5i^f схемы сравнения — компаратора — появляется 0 либо 1 в зависимости от соотн ния входного и опорного напряжений. Выход каждого компаратора затем преобр ются в двоичный код. Такие АЦП обладают хорошим быстродействием, но дов°- дороги из-за применения компараторов. , АЦП, работающий по принципу пошагового приближения (incre^6. approximation), построен на основе ЦАП (рис. 5.12 а). Диапазон входного си0113’,, разделен на 2п 1 интервалов, где п — число бит в выходном слове. Счетчик бь1^ генерирует последовательные числа, которые сразу преобразуются в аналог011' 191 5 2 ^рробраз°вание аналоговых и цифровых сигналов значения- Счетчик продолжает наращивать выход до тех пор, пока разница напря- жений между выходом АЦП и входным аналоговым значением не станет меньше раз- решающей способности АЦП (рис. 5.12 б). Преобразование на основе пошагового приближения требует определенного времени, которое зависит от времени ЦА-пое образования и от входного значения. Вообще говоря, время ЦА-преобразования на- ходится в наносекундном диапазоне, а АЦ-преобразования - в микросекундном- для типового АЦП это время составляет от 0.5 до 400 мкс. Разрешение преобразова- ния обычно составляет 10-12 бит, т. е. 1023 либо 4095 интервалов по напряжению- следовательно, входной сигнал квантуется в соответствующих долях от полной входной величины. Часть характеристик АЦП определены так же, как для ЦАП — разрешение, нулевое смещение, линейность и время преобразования. При работе АЦП важно, чтобы его разрешающая способность (conversion емьу ЮП^ ИСПОльзовалась полностью. На практике редко бывает так, что преобразу- на- гХ°ДН0Й сигнал (выход датчика) изменяется от 0 до 100 % всего своего диапазо- сигНаЬ1ЧН° н°Рмальным является изменение в пределах 10-20 %. Если, например, бИтнь /^меняется в пределах 5 % от его теоретического диапазона и поступает на 10- от IQ23 АЦП, тогда действительный входной диапазон сигнала будет составлять 5 % будет Или около 50 интервалов напряжения. Таким образом, цифровое разрешение ймест°Пределяться только 1/50 частью всего диапазона, т. е. 2 % (рис. 5.13 а). Если та, то ЭТ°Г° АЦП можно настроить на 0 при 20 % и на 1023 при 25 % входного сигна- д^а''!решеиие становится намного выше — 1/1023 или 0.1 % диапазона датчика. ФициенТ0Г° чтобы использовать весь диапазон АЦП, нужно подстраивать как коэф- усиления, так и смещение напряжения входного аналогового сигнала. Это ^НИя СДелать с помощью операционного усилителя (рис. 5.13 б). Смещение напря- ЧОГоНастраивается переменным резистором Щ так, чтобы выход усилителя посто- U с Т°Ка соответствовал минимуму входного сигнала АЦП, который в свою оче- Тве‘Тствует минимальному значению измерительного сигнала. Переменный
Глава 5. Обработка резистор J?2 используется для настройки усиления так, чтобы выходной уровеньус лителя для максимума входного измерительного сигнала соответствовал максим, ному входному значению АЦП. Рис. 5.12. АЦП, работающий по принципу пошагового приближения: а схем3 б — принцип работы Если для передачи сигналов используется диапазон 4-20 мА, то разрЫ1’ можно обнаружить как сигнал 0 мА (раздел 4.5.5). АЦП можно использовать1 для индикации нерабочего состояния датчика. Если АЦП откалиброван так, 411 симальный входной сигнал (например, 20 мА) соответствует значению 4000 в- 4095 в 12-битовом АЦП, то большие значения выходного слова можно исполь3 для индикации исключительных и ошибочных ситуаций. Это, однако, требу61 “вьийамшадиительных электронных схем и средств обработки. Рис. 5.13. Использование всего диапазона АЦП — 0-100 % (а); настройка смещения нуля резистором и коэффициента усиления резистором /?2 (б) Простой способ выявить отсоединенный датчик основан на схеме с переключате- лем и источником постоянного напряжения. Напряжение должно быть немного выше, чем максимальное выходное напряжение датчика, или, в случае замкнутой то- ковой петли, выше, чем уровень напряжения, соответствующий значению тока в 20 мА. Переключатель помещается перед мультиплексором (рис. 5.14). переключатель Рис. 5.14. Индикация отключенного Датчика _ подключеН; включатель канала 1 в положении „ в „ _ датчик отключен Г1еРеключатель канала п в положении выклю П включателя вход мультиплексора соединяется !РИ включенном положении перек ън0> ВХОдной сигнал соответствует и оконечным резистором,сл юченном положении переключателя Чению измеряемой величины. I р источником напряжения. Когда дат- U мультиплексора соединяется с внешни 1021
Глава 5. Обработка сцГн чик не работает, например во время обслуживания или калибровки, переклюЧа переводится в положение “выключен” и значение на выходе АЦП превысит мальный диапазон. Управляющий компьютер, соответственно, определит, ЧТоКо-" чик не работает. 194 з ^оговаяфильграция 195 g примере e изменится ,.силениЯдкак ляет1Л'2) 3.4 было показано, что выходная амплитуда при синусоидальном вхо- в 1 д/1 + (со • Д С)2 = 1Д/1 + (со-Г)2 раз. Статический коэффициент и ожидалось, равен 1. Частота среза (при которой затухание состав- 5.3. Аналоговая фильтрация Фильтрация используется для уменьшения амплитуды определенных частотн составляющих сигнала. Фильтрация может быть как аналоговой — с помощью элек тронных цепей, так и цифровой, изменяющей дискретные значения сигнала, пос- АЦ-преобразования. Для эффективной фильтрации необходимо, чтобы частотны- диапазоны разделяемых сигналов не пересекались. Наиболее часто фильтрация при' меняется для устранения шума и помех и для усиления сигнала, насколько это в03. можно, до первоначального уровня. На практике фильтрация имеет смысл толькг тогда, когда исходный сигнал с самого начала был защищен от влияния внешних по- мех, например с помощью одного из методов, упомянутых в разделе 4.5. Двумя основными параметрами аналоговой фильтрации являются ширина поло сы пропускания и граничная частота. Полоса пропускания (bandwidth, passband)- это диапазон частот, проходящих фильтр без изменений. Граничная частота (сота frequency), или частота среза (cutoff frequency), — это частота, на которой амплитуда сигнала ослабляется в f~2 раз, что соответствует уменьшению мощности в 2 разам сравнению с пропускаемыми частотами. Фильтр низкой частоты (ФНЧ, low pass filter) пропускает частоты ниже гранич- ной частоты и ослабляет компоненты с частотами выше этого значения. Этот фильтр используется для устранения или уменьшения тех частотных составляющих, кото- рые могут способствовать появлению псевдочастот, и поэтому он также называете! противопсевдочастотным фильтром (anti-alias filter). Фильтр высокой частоты (ФВЧ, high pass filter) пропускает высокие частоты и ослабляет низкие. Полосовые фильтры (bandpass filter) пропускают частотные компоненты, лежащие между У мя граничными отсекающими частотами. -----= _ [рад/с] R-С Т или 1 _ 1 2лД-С 2лГ [Гй] (5-5) Подставляя частоту fc в уравнение (5.4), получим коэффициент зда^йЮНия филь- тра 1 1 + у со • R- С Во временной области скачок входного сигнала приведет к экспоненциальному росту выходной амплитуды напряжения ФНЧ, скорость которого определяется постоянной времени Т(пример 3.4). Для синусоидальных входных сигналов затухание при частотах выше частоты среза происходит пропорционально увеличению частоты (рис. 5.15). 5.3.1. Фильтры низкой частоты первого порядка Простейшим примером аналогового фильтра низкой частоты (analog 1о®1 filter) является пассивная ЛС-цепь (пример 3.4, раздел 3.2.2). Фильтр описыва дифференциальным уравнением первого порядка „ dvo х (-’ где Т = R- С, v0 — выходное напряжение на конденсаторе, а г,- — входное напря^ (рис. 3.4). Фильтр имеет единичный статический коэффициент усиления, т. когда производная равна нулю. С помощью преобразования Лапласа из УР ния (5.3) можно получить передаточную функцию фильтра = W = 1 = 1 (5 G(~S) Vi(s) i + s-R-C i+s-T Рис. 5 15 „ • астотная характеристика фильтра низкой частоты первого порядка К °Г1еРациоЫй ФИЛЬТР низкой частоты получается при подключении ДС-фильтра В обще НН°Му Усилителю в качестве контура обратной связи (рис. 5.16). Г° 0Г[еРациМ СЛучае част°тно-зависимый коэффициент усиления G(ju>) для идеально- °ТНоШени °НН0Г0 Усилителя с отрицательной обратной связью можно выразить как ;(а"с ЧешЛ ^Мпеданса обратной связи к входному импедансу. Для ДС-фильтра импе- обратной связи
196 Глава 5. ОбрИбукасиц 2 А||3потовая фильтрация______________ Цо второму закону Кирхгофа имеем 197 1 + j(i) J?2 ’ С о,- ~ vL - v0 = О Тогда коэффициент усиления по напряжению где напряжение на катушке |G(/co)| = У0О) Г,О) «2 1 JCD • R2 • С di VL = L~ dt Зависимость частоты та же, что и для пассивного фильтра, но амплитудный кОэ^ фициент усиления можно выбрать с помощью R j и R2. На практике активный филь-д на базе операционного усилителя не является идеальным фильтром первого поряд. ка. Причина — в ограниченной скорости изменения выходного напряжения усилите- ля при скачке входного напряжения. Это означает, что очень быстрые сигналы могу “проскочить” через фильтр, потому что операционный усилитель не успевает нанщ реагировать. Более практичным решением будет сначала пропустить сигнал черте пассивный фильтр (см. рис. 3.4), а уже затем усилить его. а ток . и г = — R Заменяя v0 и i, получим уравнение (5.3) для ФНЧ Рис. 5.16, Операционный усилитель с АС-фильтром в качестве контура обратной связи. В идеальных условиях эта схема работает как фильтр низкой частоты первого порядка Пример 5.5 __„ Пассивный RL-фильтр низкой частоты Резистивно-индуктивная (RL) схема работает как фильтр низкой частот^1 (рис. 5.17). Рис. 5.17. Пассивный ЯЛ-фильтр низкой частоты первого порядка где L Т = — R Передаточная функция аналогична уравнению (5.4) а частота среза [Гц] Частотная зависимость такая же, как и у КС-фильтра. жинаЮТСя ин- нала с частотами, заметно превышающими частоту среза, сгла ячитель- Ауктивностъю и присутствуют в выходном напряжении фильтра но уменьшенной амплитудой. 5.з g ф Фильтры низкой частоты высоких порядков Ин "Ую к0Гда ХаРактеРистика КС-фильтра в области высоких частот имеет недостаточ- У ИЗнУ> т. е. высокочастотные составляющие подавляются неэффективно. вАвОе бТОр0Г0 П0РяДка имеет крутизну характеристики в области высоких частот ''Чин;,,0''11411710, чем фильтр первого порядка (рис. 5.15); коэффициент затухания 1110 ИОнален квадрату увеличения частоты входного сигнала. Это означает, что гв ,ратном увеличении частоты входного сигнала коэффициент затухания бу- Ч'Льг Ра3 ВЬ1Ше- Поэтому такие фильтры более эффективны для удаления неже- 1Ь1х частотных составляющих.
199 j Глава 5. Обработка сигнал- ---.---—-----------------------------------— Пример 5.6 Фильтр низкой частоты второго порядка ФНЧ второго порядка (рис. 5.18) имеет две независимые частоты среза/ иЛ-2- Рис. 5.18. Фильтр низкой частоты второго порядка Частотно-зависимый коэффициент усиления №)1 = V0(ja) ViGco) где f = VR2 /cl 2n-(Rr +R2)-(f лотовая фильтрация ——~~ яЮщий псевдочастоты. Фильтр Баттерворта можно считать частным случаем ааВЛ тпа Саллен-Ки (Sallen-Key filter). Вариант этого фильтра второго порядка пока- а пис 5.19. Параметры элементов фильтра Баттерворта должны удовлетворять зан " соотношениям ' R (f- — \/2 и V2 2л • R • С2 -/о = -у фильтры более высокого порядка (4, 6,...) представляют собой.каскадное соеди- нение фильтров второго порядка. Рис. 5.19. Фильтр низкой частоты второго порядка с единичным коэффициентом уси- ления — фильтр Саллен-Ки 5.3.3. Фильтры высокой частоты Очевидно, что, поменяв местами конденсатор и резистор в схеме рис. 3.4 ил ДУктивность и резистор в схеме рис. 5.17, в результате получим фильтры высокой частоты (ФВЧ, high pass filter) (рис. 5.20). и [Гн] f - 1 с2 2n-R3-C2 Если частоты среза совпадают (f. == fci = fc2), то R3 |Gh----— *l+*2 1____ I f\2 При частоте входного сигнала fc его амплитуда уменьшается в два разу^ Фильтр Баттерворта {Butterworth filter) имеет постоянную частотную зависиМ°сТ для частот, ниже характеристической частоты/q. Благодаря тому что этот фильтр но воспроизводит амплитуды сигналов, он получил распространение как фильтр-1,0 Рис. 5.20. Пассивный ЛС-фильтр высокой частоты (а) и пассивный /^/.-фильтр высо- кой частоты (б) . выполняя те же преобразования, что и в примере 3.4, получим следующее р tH»e для выходного напряжения v0 высокочастотного ЯС-фильтра dv,, dv • dt dt (5.6)
201 200 Глава 5. ОбраЙШа сиг^ „дппговая фильтрация —------------------- где Т = R С. Передаточная функция имеет вид V0(s) s-RC s-T G(s) = --------------------- V,(s) 1 + s-RC 1 + s-T Частотно-зависимый коэффициент усиления фильтра (5ф рис. 5.22. Активный фильтр высокой частоты первого порядка coJ?C I2 т/1 + (со - Т)2 jw-R-C 1 + jco R • С I ^ + (ft>-R-C) Такая схема будет задерживать низкочастотные и пропускать высокочастотные сигналы, как показано на частотной характеристике (рис. 5.21). |GO)I = V0(j^ = I ^(/co) Поскольку все операционные усилители имеют ограниченную полосу пропускания, коэффициент усиления уменьшается по мере повышения частоты. Строго говоря, все ак- тивные высокочастотные фильтры на самом деле являются полосовыми фильтрами, поскольку обеспечивают усиление сигналов в определенном частотном диапазоне, ослаб- ляя сигналы, лежащие соответственно выше и ниже граничных частот. Пример 5.7 Пассивный RL-фильтр высокой частоты Пассивный фильтр высокой частоты, показанный на рис. 5.20, б определя- ется дифференциальным уравнением, полученным на основе второго закона Кирхгофа подавляемые частоты пропускаемые частоты Рис. 5.21. Частотная характеристика фильтра высокой частоты первого порядка Частота среза fc, при которой ослабление амплитуды составляет уТ, определяй- ся выражением dvn t--^-v0+t--~ dt dt которое идентично уравнению (5.6), если положить Т = L/R. Его передаточная функция 1 2n-R-С 1 2л-Т [Гц] Коэффициент усиления по напряжению (5.Я 1____ W Так же как и низкочастотный фильтр, активный высокочастотный фильтр М построить на основе операционного усилителя с обратной связью (рис. 5.22)- Частотно-зависимый коэффициент усиления по напряжению активного ФИ'П высокой частоты есть отношение импеданса обратной связи к входному импед -7(0 • R'> |С0'(й)| = —--------1 = -7========-, 1 +/Ю-7?! • С I У1 + (со-Яг0- V.,(s) s-L s-T G(s\ = -------- V/s) R + s - L 1 + s И Частотно-зависимый коэффициент усиления L со — R IGI = 7' со • С 7 !с(щ>)| = E„0co) 7'co-Z W) (R +;co • I) Частота среза R 1 2л-1 2л-Т i + CO-L со- Г 4- /гл. тл2 [Гц] Но з- лЬзУя это выражение для fc, коэффициент усиления по напряжению мож- \^ать аналогично уравнению (5.8).
202 Глава 5. Обработка сигнал 5.4. Цифровая фильтрация После аналоговой фильтрации, АЦ-преобразования и ввода данных в компью выполняется цифровая фильтрация. Цифровая фильтрация обладает большой^ костью, поскольку характеристики фильтра можно изменить, просто задав новые раметры соответствующей ему программы. В отличие от аналоговых, Цифр0Вв фильтры хорошо работают с длительными постоянными сигналами. 5.4.1. Общая структура цифровых фильтров В общем виде цифровой фильтр (digitalfilter) можно представить как y(kh) = -ах y[(k - 1 )h] - а2 y[(k - 2)h\ - ... - ап y[(k - n)h] + + b0 y(kh) + ... + bm y\fk - m)h\ где h — это интервал выборки, y~ — отфильтрованный выход, ay — вход. Заметим, что аргумент kh, по смыслу представляющий из себя время, можно рассматривать и про- сто как номер (k) в последовательности входных значений. Если все коэффициенты а равны нулю, то такой фильтр называется фильтром скользящего среднего (Moving Average — МА) с конечной импульсной характеристикой. Это означает, что если в те- чение некоторого времени все последовательные значения у? кроме одного, равны нулю, то на выходе фильтра сигнал будет отличен от нуля только на т временных интервалах. Если некоторые либо все коэффициенты лг не равны нулю, то такой фильтр называется авторегрессивным (AutoRegressive — AR) и имеет бесконечную импульсную характеристику. Другими словами, входной сигнал, отличающийся о: нуля только на одном временном интервале, вызовет появление на выходе сигнала отличного от нуля в течение бесконечно долгого времени. Обобщенный фильтр, опи- сываемый уравнением (5.9), называется авторегрессивным фильтром скользящего среднего (AutoRegressive Moving Average -- ARMA). Фильтры могут быть “причинными” и “непричинными”. Причинный (causf фильтр вычисляет выходное значение на основании ранее введенных данных (в люо»1 момент t0 учитываются входные значения только для t < tf). Поэтому все фильтр- реального времени (on-line) являются причинными. Последовательность отфиль рованных значений на выходе будет отставать на некоторое время по сравнению с п‘ следовательностью на входе. Если данные обрабатываются в автономном режю (off-line), например при анализе серии значений уже собранных измерений, можт- использовать непричинный (non-causal) фильтр. В этом случае расчет для моМе^'.. времени Го можно производить на основе как предыдущих (t<tf), так и следующих (t > tf) значений. 5.4.2. Цифровые фильтры низкой частоты Для того чтобы исследовать медленно изменяющийся входной сигнал, необхоД^ мо удалить из измерительных данных случайные пики и высокочастотные наво которые не содержат какой-либо полезной информации. Это можно сделать с щью цифрового фильтра низкойчастоты (digital low pass filter). Структура ИйФР° ()( го фильтра, который эффективно удаляет резкие колебания сигнала и в то же ВР ')Г не влияет на медленные изменения, всегда компромиссна, потому что частотны6 апазоны исходного и постороннего сигналов обычно пересекаются. Как и у ана-/гС’
203 54 цифроваяф^Рация „ьтров, динамика фильтра высокого порядка более эффективна для удаления рь1Х дательных высоких частот. [1еЖ4’' найболее важных типа ФНЧ — скользящего среднего и экспоненциального ясивания (exponentialsmoothing). ФНЧ, используемые в промышленности, почти ^егда базируются на одном из этих простых фильтров. Пример 5.8 _________________________________________________ фильтр скользящего среднего — простейший ФНЧ Простой фильтр скользящего среднего получается, если принять все пара- метры а, в уравнении (5.9) равными нулю. Если необходимо простое усредне- ние то все весовые коэффициенты й- равны и дают в сумме единицу. Например, фильтр скользящего среднего с пятью входными отсчетами имеет вид y(kh) = | • (y(kh) + ... + y[(k - 4)А]) Если операция фильтрации производится не в режиме реального времени, то величину скользящего среднего можно подсчитать, используя измерения как до, таки после заданного момента времени kh. В этом случае отфильтрованное значе- ние не отстает по времени относительно входных значений. Непричинный про- стой фильтр скользящего среднего по пяти значениям имеет вид y(kh) = | (y[(k - 2)h\ + ... + y[(k + 2)h]} Если величина на выходе представляет собой усреднение по последним п выборкам, то она смещается на 1 + п/2 циклов. При больших значениях п вы- ходной сигнал становится более гладким, но при этом все больше отстает по времени. Импульсная характеристика фильтра скользящего среднего конечна. Для входного импульса в момент t = 0 выходной сигнал после момента t = п становится нулевым. Скользящее среднее — это простой метод, но он имеет определенные ограни- Чения. При использовании одинаковых коэффициентов фильтр может быть из- лишне инертным и недостаточно быстро реагировать на реальные изменения во дХ°^0М сигнале- С другой стороны, если коэффициенты различны и убывают Д— ольших значений индекса п, то это затрудняет анализ свойств фильтра. Эк скоЧь^П°Нени'иальнь1и фильтр (exponential filter) — это авторегрессионный фильтр Чего среднего первого порядка, определяемый следующим уравнением (> y(kh)~a-y[(k- i)h] + (t - а)y(kh) (5.10) Чия отТР°ВаННОе значение y(kh) вычисляется суммированием предыдущего значе- 1,0Ч> си ИЛЬТР°ВаНН0Г0 сигнала#[(^ ~ 1)Д] и последнего значения y(kh) измеритель- •1у о и /ДД1"' с весовыми коэффициентами. Коэффициент а лежит в интервале меж- • ^Равнение (5.10) можно переписать в виде y(kh) - y\(k 1)Л] + (1 - а) (y(kh) -y[(k - I)/?])
204 Глава 5. Обработка сигна. т. е. экспоненциальный фильтр уточняет отфильтрованное значение на выходе ср^, как только на вход поступает новое значение. Это уточнение невелико и становится меньше для значений а, близких к 1; в этом случае появляется эффект инерционное^ Уменьшение шумовых компонентов выходного сигнала происходит за счет слабого Со ответствия с реальными изменениями на входе. При а, близком к нулю, величина^ правки растет. Соответственно, фильтрация шума уменьшится, однако изменения г- ходного сигнала будут отслеживаться более точно. При а = 0 сигнал на выходР идентичен сигналу на входе. Влияние величины а на реакцию фильтра при скачке шумленного входного сигнала проиллюстрировано на рис. 5.23. Пример 5.9 Интерпретация экспоненциального фильтра как фильтра скользящего среднего Экспоненциальный фильтр можно интерпретировать как фильтр скользящего среднего, у которого в уравнении (5.9) бесконечное число членов с коэффициента- ми bj и отсутствием членов с коэффициентами аг Коэффициенты bj быстро умень- шаются для более старых значений во входной последовательности. Этот резуль- тат можно получить, переписав уравнение (5.10) как y(kh) = а • y\(k - 1)/г] + (1 - а) -y(kh) == = (1 - а) y(kh) + а • (1 - а) y\(k- 1 )/г] + а2 -y\(k - 2)h] = = (1 - a) -y(kh~) + а • (1 - а) -y\(k - 1)/г] + а2 • y[(k - 2)/г] + а3 * * -y\(k - 3)/г] = = (1 - а) • y(kh) + а • (1 - а) • г/[(& - 1)/г] + ... + а” -y\(k - n)h] + ... где = 1 - а, = а (1 - а), Z>2 = а2 ’ (1 ~ а) и т- Д- Так как 0 < а < 1, то коэф- фициенты для более старых значений убывают по экспоненциальному закону. Например, при а = 0.5 коэффициенты bj равны 0.5, 0.25, 0.125, 0.0625,..., а при а = 0.9 — 0.1, 0.09, 0.081, 0,072, ... Другими словами, если а стремится к 1, то фильтр имеет более долгую “память” и более эффективно сглаживает входной сигнал. Из-за экспоненциального убывания значений коэффициентов фильтр и получил свое название. __ Экспоненциальный фильтр в действительности представляет собой дискретны^ риант аналогового ФНЧ первого порядка с единичным статическим коэффици6^ усиления (см. раздел 5.3.1) и передаточной функцией, аналогичной уравнению ( Д ?(s) 1 Постоянная времени Г равна R С либо L/R в зависимости от вида фильтра. Д' ференциальное уравнение цифрового фильтра
Кп с „ экспоненциального фильтра первого порядка. «С- 5.23. Влияние сглаживающего экс_ q значениях а фильтр ДО; араметр а имеет значение 0, 0.5, О.у, « м сигнале? однако сохраняется высокий лЬно точно отслеживает изменения фиЛьтр вносит значительное запаздывание, РОВедь шума. При больших значени о„иой сигнал фильтра идентичен входному 4 Ц)Ум заметно подавляется. При а = 0 вых д
206 ^^°бработ При аппроксимации производной обратными разностями полуЧИм h т т что является достаточно хорошим приближением для малых значений h. Уравне можно упростить следующим образом «о —4 1 + т ~ А 1 •w-/!>+ — •"—Г-Ж Т л « 1 + 7 что Идентично уравнению (5.10) при 1 а =- 1Д т или а h Т=---- 1-а Поскольку было принято, что h/T мало, то аппроксимация верна, только ес. стремится к 1. В этом случае а можно определить следующим приближенным bi жением а = 1- — => т~------ i Т 1-а В действительности точное решение дифференциального уравнения (5.11) уравнение (5.10) а = е Л/Т =* Т ~ 1п(а) для которого выражение (5.12) является хорошим приближением при малы*' ниях h/T. с< Реакция фильтра на скачок входного сигнала (рис. 5.23) иллюстрир между а и Г. В течение интервала, равного одной постоянной времени выходе достигает 63 % от величины окончательного значения: при а - 0- -р ная времени Травна примерно 20 интервалам выборки, а при а = 0.98 — ок тервалов. Пример 5.10 Программа, реализующая экспоненциальный фильтр ч Цифровой экспоненциальный фильтр [уравнение (5.10)] легко , вать программными средствами. Ниже приведен примерный вариант мы. Функции AD_input и DA_output используются для ввода и вь
207 54 11«ф№вая фильтрация ___ них соответственно. Переменная delta f ’----------- используется для синхронная ~ есть интег>вЯп функция wait_until объясняется в разде^Л^1 nporpfMMbI а 1и-О.0). аЫС,Оркой program exponential__filter var in^signal, alpha: yjiltered, y~old: next_time, delta^time- real; real; real; begin nextiime0, while true do (* бесконечный цикл *) begin wait_until(next_time); in_signal := ADJnput (ch#l); y_filtered := alpha*y_old + (l-alpha)*in_signal; y_old := y_filtered; DA_output (ch#2, y_filtered); next_time := next_time + delta_time; end; (* бесконечного цикла *) end; (* exponential filter *) 5.4.3. Цифровые фильтры низкой частоты высоких ПОрЯ^ния П1)1СОК(У Аналоговый фильтр второго порядка более эффективе $ 3.2). Цифровой частотных компонентов, чем фильтр первого порядка = = 2 соответствует фильтр со структурой, определяемой уравнением ( . ), пр экспоненци- аналоговому фильтру второго порядка. Соединив последо с двумя Одина- альных фильтра первого порядка, получим фильтр второг Р новыми частотами среза 1НойНаЧеНИе Вх°дного ™ои сигнал гь в y^(kh) = a-y^k- 1)/г] + (1 - а) • y(kh) fhikh) = а p2[(fe ~ + (1 - а) • y^kh) . —J сигнала, — выходной сигнал первого фильтра, а г/2 — псклющ^1 ВТоРого фильтра. Свойства фильтра определяются параметром а. J caenv пеРеменнУю у ^kh), то цифровой фильтр второго порядка можно за- ДуЮщем виде ’.v.-ibTaf = 2а' ~ ~ “2 ' ~ 2)л] + (1 ~ а)2 • y(kh) ’ 3, Показ^14611®111151 Фильтра второго порядка к сигналу, изображенному на ЧастоТц нарис. 5.24. Фильтр второго порядка эффективнее подавляет вы- Ра т°чнее °МУ можно выбрать меньшее значение а. Выходной сигнал этого «Ка. СОответствует изменениям входного сигнала, чем у фильтра первого
209 Рис. 5.24. Влияние экспоненциального фильтра второго порядка при разных значени ях параметра а Применение фильтров более высоких порядков [уравнение (5.9)] позволяет больше улучшить качество выходного сигнала. Платой за это является увелйче^£, сложности фильтра, однако стоимость обработки данных невелика. Следует 0 д. тить, что если в аналоговых фильтрах добавление пассивных электронных KoNi ^^фроваяфильтр^ к цепи фильтра означает дополнительные энергетические потери в сигнале, НейТ°и прОграмМНОЙ РеализаЦии этой проблемы не существует. 544 Цифровые фильтры высокой частоты В некоторых случаях необходимо выделить высокочастотные компоненты сигна- не плавные изменения. Поэтому сигнал должен быть обработан фильтром высо- ла’„ частоты. Разностная схема — это простой пример цифрового фильтра высокой частоты (digital high pass filter) y(kh) = &y(kh} = y(kh) - y[(k - l)/i] Выходной сигнал отличен от нуля только тогда, когда есть изменения во входном сигнале. Цифровой ФВЧ можно также получить разностной аппроксимацией аналогового ФВЧ (раздел 5.3.3). Соответствующее дифференциальное уравнение аналогично уравнению (5.6) dy(V) dy(t) т------= ~y(t) +------ dt dt где у — это входной сигнал, а у — выходной. Применив к этому уравнению аппроксимацию разностями “вперед”, получим цифровой ФВЧ (5.14) y(t + h) = 11 - — I • y(t) + y(t + h)- y(t) = a • y(f) + y(t + h) - y(t) (5.15) где a определяется уравнением (5.12). Дискретное уравнение фильтра можно также вывести аналитически из уравнения (5.14); в результате получим а, выраженное Уравнением (5.13), значение которого должно лежать между 0 и 1. При а = 0 фильтр Реализует чисто разностную схему. Следует еще раз подчеркнуть, что для примене- разностной аппроксимации и уравнения (5.12) отношение h/Tдолжно быть дос- таточно мало. a МУВСТВительность фильтра на высоких частотах определяется выбором значения „ значение а приводит к большей чувствительности, которая соответствует °^шеи частоте среза для ФВЧ. лен Тц°ИЛЛЮСТРиРУем Раб°ту ФВЧ на нескольких примерах. На рис. 5.25 представ- ТиагпаТЖе самый скачкообразный зашумленный входной сигнал рис. 5.23. Средняя С(Нержита ПОказывает выходной сигнал чистого разностного фильтра (а = 0). Она СИгнала 7ТПИК ПРИ ° 50’так как ФИЛЬТР распознает мгновенное изменение входного Ра.мМе ЛЯ a ~ 0’95 пик при t = 50 становится шире, что показано на нижней диаг- Ва рис 5 , с°к°Часто ° На ВХОд ФильтРа поступает синусоидальный сигнал с наложенным вы- нИя, а б0 °ТНЬ1М шумом. Выходной сигнал ФВЧ сохраняет высокочастотные измене- ЕСли 6 медленные синусоидальные колебания либо уменьшены, либо удалены. йьЧоде На зашУмленный синусоидальный сигнал наложить скачкообразный, то на СигНа Ысокочастотного фильтра появится пик, отражающий скачок во входном е (Рис. 5.27).

дсновь1 обработки измерительной информации 2 У “ 2.0 - 1.5- 1.0 - 0.5- 0? 200 150 100 50 50 100 150 200 Рис. 5.27. Влияние фильтра высокой частоты на зашумленный синусоидальный сиг- нал со скачком при t = 50 (а = 0). Выходной сигнал фильтра имеет пик при t = 50, но при этом не содержит никаких низкочастотных колебаний 5.5. Основы обработки измерительной информации Преобразованные в цифровую форму измерительные данные должны быть под; вергнуты проверке. После АЦ-преобразования необходимо выполнить следующи операции — первичную обработку: - компенсировать дрейф; - сохранить исходные данные; ~ проверить соответствие исходных данных параметрам датчика диапазону до пустимых выходных значений и диапазону скоростей изменения выходной сигнала; если значение выходит из этих диапазонов, то должны генерировать^ аварийные сообщения или другие указания для оператора; вычислить среднее значение исходных данных (“посторонние” значения, кото Рые заметно отличаются от других, возможно, должны быть отброшены); применить цифровую фильтрацию; сохранить отфильтрованные данные. После цифровой фильтрации выполняются: пересчет единиц измерения — масштабирование (при необходимости), линеаризация; ~ «Ругне типы обработки данных, например статистический анализ; в автоматических системах — анализ входных данных для принятия решения ° Дальнейших действиях, например генерации управляющих или опорных сиг Валов. 1ее^МмеРческие 11 °перацИИ программные пакеты сбора данных обычно позволяют выполнять
*54 измерительной информации 213 212 Глава 5. Обра|вО»ка 0сНОвь1обработки О’-ЦУ-— 5.5.1. Достоверность исходных данных и аварийная сигнализация Существует много методов проверки достоверности исходных данных. ДЛя томатизированных систем достоверность играет особую роль, так как ошибки входных данных могут привести к некорректным управляющим действиям. В п " вую очередь, необходимо убедиться, что величина входного сигнала лежит в преде лах рабочего диапазона датчика. Как указывалось ранее, выход за его границы мо жет указывать на исключительную ситуацию, например, что датчик отключен Эта проверка не должна представлять собой простое сравнение с предварительно уста новленным пороговым значением, потому что в этом случае даже небольшие коле- бания около этого значения могут вызывать множество аварийных сигналов. Во из- бежание таких ситуаций обычно определяют полосу гистерезиса вокруг порогового значения (рис. 5.28). Аварийный сигнал генерируется только тогда, когда входная величина превысит второе пороговое значение. Для того чтобы сбросить аварий- ный сигнал, входная величина должна снова пересечь первое пороговое значение Новый аварийный сигнал может быть выработан после того, как второй порог бу- дет достигнут снова. Проверка скорости изменения сигнала позволяет обнаружить ошибки датчика. Если изменения выходного сигнала датчика в течение нескольких последних интер- валов выборки превышают заранее определенное значение, то вырабатывается ава- рийный сигнал. Контроль скорости изменения должен проводиться перед цифровой фильтрацией, в противном случае изменения сигнала могут быть утрачены и провер- ка становится бессмысленной. Рис. 5.28. Полоса гистерезиса около пороговых значений р Аварийная индикация устанавливается, когда значение сигнала достигает точк и удерживается до тех пор, пока оно не станет меньше нижней границы полосы гй резиса; новый аварийный сигнал будет выработан в точке 2 проверка данных зонда, измеряющего астворенного кислорода ПриМ^Р 5.11___________________________________________________ концентрацию Концентрация в аэраторе станции биологической очистки сточных вод из- меряется с помощью зонда, который имеет время установления меньше мину- ты Если зонд вынут из воды для калибровки и очистки, то выходной сигнал датчика увеличится в течение минуты от нормального значения 2-5 мг/л до значения насыщения - около 10 мг/л. Реальное увеличение концентрации ра- створенного кислорода в резервуаре не может произойти быстрее, чем за 10- 20 минут. Поэтому такое значительное изменение сигнала в течение минуты должно считаться посторонним. Управляющая система может использовать эту ситуацию как признак того, что произведена калибровка, и переустановить внутренние переменные. 5.5.2. Масштабирование и линеаризация Собранные значения входного измерительного сигнала во избежание недоразу- мений и ошибок должны быть пересчитаны в соответствующие инженерные едини- цы измерения. Преобразование от внутреннего представления у к инженерным еди- ницам 2 обычно можно произвести с помощью простой линейной зависимости z = k]_- у + k2 rae&j и k2 — константы. „ Для нелинейных датчиков эта зависимость выражается более сложной функци- ей или таблицей преобразования. Зависимость становится более сложной, если ха- рактеристики датчика имеют зону нечувствительности или гистерезис; в после- днем случае должно быть известно направление изменения сигнала — возрастание или убывание. ния^ Разделе 5 обсуждалось, как использовать весь диапазон АЦП для сохране- То ПР.иемлем0® точности. Если измерительный сигнал превышает диапазон АЦП, снова° ХОДИмо пРоверить, что выход преобразователя не “провернулся” и не начал если °ТСчет с нУля — величина 10.1 В может, например, быть представлена как 0.1 В, ствес ДеЛ диапазона АЦП равен 10 В. Эта возможность уже предусмотрена в каче- лвойноТДЭРТН0Л процедУРы во многих системах и устройствах сбора данных; однако и контроль помогает защититься от неожиданностей. 5.5 з л Другие операции обработки данных СреДНеНИе измеРеН1™ можно уменьшить с помощью простого усреднения. Чем не б может быть запрограммирован для выборки сигнала в 10 раз быст- ТеРваЛов е° ходимо, и тогда грубое значение можно получить как среднее за 10 ин- Чц1ИХсяЫ °рки' Дополнительно можно отбросить одно-два значения, не уклады- я в общую тенденцию изменения данных за период усреднения, т. е.
214 Глава 5. Обработка сиги — слишком больших или слишком маленьких. Это полезно в тех случаях, когда нои сигнал остается постоянным в течение периода усреднения, а его колебания ваны шумом с нулевым средним значением. Вь'3' Калибровка и компенсация дрейфа Значения входного измерительного сигнала часто нуждаются в компенсащ дрейфа или погрешностей калибровки датчиков или электронных устройств д, этой цели входные усилители и АЦП должны тестироваться и, при необходимое- проходить калибровку с помощью известного и точного эталона напряжения. Внег торых случаях вся процедура калибровки может проводиться автоматически поду равлением программного обеспечения. Построение графиков Построение графика изменения сигнала во времени или как функции другой сигнала позволяют выявить некоторые интересные детали: исключительные или необычные возмущения; потерю значений; - периодические колебания. Поэтому средства построения графиков являются важной частью любых компью- терных систем управления. Программное обеспечение для анализа данных Коммерческих программ для анализа и фильтрации данных очень много. Одиш: из наиболее широко используемых в академической и научной среде пакетов являет- ся MATLAB. MATLAB — это инженерный пакет для обработки и визуального пред- ставления, который объединяет в общую среду процедуры численного анализа, мат- ричных вычислений, обработки сигналов и графического представления даннь' MATLAB можно расширить дополнительными инструментальными средствами., конкретных приложений, например для фильтрации. Средства обработки сигна. включают в себя цифровую обработку, анализ временных рядов и функции для к струирования и анализа цифровых фильтров. Средства системной идентификаь обеспечивают возможность параметрического моделирования и описания си<п Среди многих стандартных структур, представленных в MATLAB, есть и моД- авторегрессионного фильтра скользящего среднего. 5.5.4. Структура данных для обработки измерений Каждый входной измерительный сигнал связан с определенным набором п метров; эти параметры используются программами ввода и обработки измере Структура хранения этих параметров должна быть организована таким образом, бы различные процедуры (подпрограммы или отдельные модули) могли легко к обращаться. Наиболее важные параметры, используемые в обработке измереН включают в себя: - указатели на данные измерений; 215 входного порта измерительной информации; _ адрес х _ интервал выборки; коэффициенты пересчета сигнала; I параметры датчика; пороговые значения для физического процесса (полоса гистерезиса с первым и " вторым сигнальными пределами); допустимая скорость изменения; параметры фильтра ait bj, a; результат измерений до и после обработки; топические переменные, управляющие подключением тех или иных процедур, например линеаризации, пересчета входных данных, фильтрации, обработки нештатных ситуаций. Вышеперечисленные параметры имеют разные форматы: одним соответствуют петые числа, другим — вещественные, третьим — логические переменные или сим- вольные строки. Конкретное представление зависит от используемой вычислитель- ной платформы и языка программирования. Некоторые принципы организации баз данных для хранения и обработки измерительной информации изложены в разде- ле 12.4. 5.6. Заключение Частота выборки аналоговых сигналов является фундаментальным параметром обработки измерений в цифровой системе управления. В идеале эта частота должна оыть по крайней мере вдвое больше самой высокой частотной составляющей исход- ного сигнала; на практике она должна быть еще выше для правильного восстановле- ния сигнала за конечное время. К тому же если частота выборки мала и на исходный сигнал наложен высокочастотный шум, то в дискретном сигнале появляются псевдо- частотные искажения — ложные частоты. После дискретизации уже невозможно от- делить ложную информацию от исходной, “правильной”. Для преобразования аналогового сигнала в цифровой необходимо убедиться том, что преобразователи обладают достаточным быстродействием, их точность со- Тветствует приложению и диапазон преобразования используется полностью, ^сокочастотные компоненты сигнала, обычно появляющиеся из-за шумов и на- сеста ' ДОлжны быть устранены либо подавлены до выборки.Чтобы исключить все 1о ЛЯ1°Щие с частотами, превышающими половину частоты выборки, применя- Ана1аЛ°Г0ВЫе ФИЛЬТРЫ низкой частоты (противопсевдочастотные). вЫсо Л°Г0ВЫЙ ФИЛЬТР можно сконструировать для подавления либо низких, либо 1ИтеКИ-Х частот- Очень часто эти фильтры реализуются на основе операционных уси- Телц и ’ ПОЭтомУ их наДо применять с осторожностью, так как операционные усили- Гт°ты еЮТ огРаниченнь1й частотный диапазон и не реагируют на очень высокие ча- ^Ифровая фильтрация — хороший метод извлечения полезной информации из >в В эт°й главе было рассмотрено, как реализовать ФНЧ и ФВЧ низких поряд- |фр0Э пРактике широко используются простые фильтры скользящего среднего и °вые экспоненциальные фильтры низкой частоты первого порядка. Фильтры
216 Глава 5. Обработка более высокого порядка можно легко реализовать программным способом. Накоце сигнал должен пройти несколько проверок перед тем, как он поступит на вход^ ритма управления. Наиболее важные из них обсуждены в этой главе. 0 Структуры управления Рекомендации по дальнейшему чтению Аналоговые фильтры детально рассмотрены в [Glasford, 1986], [Irvine, 1994] и []0Пй 1986]. [Derenzo, 1990] описывает многие практические аспекты мультиплексирова. ния, аналого-цифрового преобразования и фильтрации. Более подробно АЦП иЦдц рассмотрены в [Sheingold, 1986]. Теорема дискретизации объяснена в [Astrom/Wittenmark, 1990]. Эта книга также детально описывает дискретные динамические системы, для которых цифровые фильтры являются частным случаем. Углубленное рассмотрение цифровой фильт- рации приведено в [Stearns/David, 1988]. Аналитическое описание шума и наведен- ных помех рассмотрено в двух работах [Bendat/Piersol, 1986, 1993], а также [Ljunj, 1987] и [Soderstrom/Stoica, 1989]. Основные структуры аналоговых и цифровых регуляторов. Про- граммная реализации регуляторов Обзор В этой главе рассматриваются регуляторы, основанные как на непрерывной (ана- логовой), так и на дискретной модели (далее — аналоговые и дискретные регуляторы). Изложение построено таким образом, чтобы в результате читатель получил, во-первых, целостное представление о предмете главы, а во-вторых, был в состоянии оценить свойства, производительность тех или иных структур управления, а также ре- зультаты, которые можно получить с их помощью. Детали анализа и проектирования регуляторов, а также различные методы их настройки выходят за рамки настоящей книги. Читатель должен быть знаком с основами теории управления и понимать, как регуляторы влияют на те или иные свойства системы, например на ее устойчивость. Классические учебники по теории управления детально рассматривают математические методы анализа схем управления, однако, как правило, они уделяют меньше внимания практическим задачам разработки и реализации регуляторов. В этой главе рассмотре- на не только теория, но и практика проектирования структуры регуляторов и их ком- пьютерная реализация, обеспечивающая решение поставленных задач управления. Регуляторы создаются на базе либо непрерывной, либо дискретной модели про- цесса. Принципы проектирования регуляторов описаны в разделе 6.1. Двухпозици- онные — релейные, бинарные — регуляторы, часто применяющиеся в промышленно- кратко обсуждаются в разделе 6.2. В разделе 6.3 рассматриваются аналоговые Регуляторы с упреждением и обратной связью и примеры их применения. ропорционально-интегрально-дифференциальный (ПИД) регулятор относит- пол На?б°лее распространенным в промышленности регуляторам. Поэтому он будет свой Н° РассматРиваться в нескольких разделах настоящей главы. Его основные ству Ва Осуждаются в разделе 6.4. Дискретной модели ПИД-регулятора и соответ- Управ ИМ пР°гРаммным алгоритмам посвящен раздел 6.5. Различные структуры ^Ую ^ения на базе ПИД-регулятора описываются в разделе 6.6. Несмотря на боль- ^римПУЛЯРН0СТЬ’ ПИД-регуляторы годятся не для всех типов задач управления, °НИ ПЛохо подходят для процессов, имеющих время запаздывания. Огра- Обоб НЭ пРИменение ПИД-регуляторов обсуждаются в разделе 6.7. ;'Ие этОГоЩеННЫЙ дискРетный линейный регулятор обсуждается в разделе 6.8. Значе- ^'•изо регулятора определяется, во-первых, тем, что его можно непосредственно 'ТочВаТЬ пР°гРаммными средствами, а во-вторых, многие типы регуляторов — т°Ра0« тнЫе случаи, например ПИД-регулятор. Реализация обобщенного регуля- лйцУ?дается в разделе 6.9. Модель в пространстве состояний полезна для описа- Иных систем, имеющих несколько входов и выходов. Для таких моделей Г1ользовать структуру регулятора на основе обратной связи по переменным я- Эта структура кратко рассмотрена в разделе 6.10.
218 Глава 6. Структуры улравл6К1^ 6.1. Аналоговые (непрерывные) и дискретные регуляторы Регуляторы можно строить на основе как аналоговой, так и цифровой техники. Q ответственно, для анализа и проектирования аналогового и цифрового регулятора требуются разные математические методы. Хотя цифровая технология позволяет рошо моделировать работу аналоговой системы управления, т. е. реализовать ана.ц0 говые понятия цифровыми средствами, ее возможности гораздо шире. Например можно построить нелинейные и самонастраивающиеся регуляторы, которые нельзя создать на основе только аналоговых средств. Главная проблема цифрового управу, ния — найти соответствующую структуру регулятора и его параметры. После опр(? деления этих параметров реализация алгоритмов управления обычно представляет собой простую задачу. Помимо этого, каждый регулятор должен включать средства защиты, предотвращающие опасное развитие процесса под действием регулятора в нештатных ситуациях. Многие производственные процессы характеризуются несколькими входными и выходными параметрами (раздел 2.2.7). В большинстве случаев внутренние связи и взаимодействие соответствующих сигналов не имеют принципиального значения, и процессом можно управлять с помощью набора простых регуляторов, при этом каж- дый контур управления обрабатывает одну пару вход/выход. Такой подход использу- ется в системах прямого цифрового управления. 6.1.1. Квантование сигналов При цифровом управлении сигнал аналогового датчика должен быть представлен в цифровом виде с помощью процедуры квантования и АЦ-преобразования -- этот процесс называется оцифровкой. На основании входных данных цифровой регуля- тор вырабатывает соответствующее управляющее значение, поступающее на вход ЦАП, выходной сигнал которого, т. е. управляющий сигнал u(t), посылается испол- нительному механизму (эта процедура подробно описывается в главах 4 и 5). Управ- ляющий сигнал u(t) обычно сохраняет постоянное значение в течение интервала вы- борки (разделы 5.1 и 5.2). В некоторых случаях выход цифрового регулятор- представляет собой не аналоговый сигнал, а последовательность импульсов, пр°1 назначенных для конкретного исполнительного механизма, например для шагов014 двигателя (разделы 4.7.2 и 4.7.3). Моменты активизации алгоритма управления обычно задаются с помощью таи-'10 ра, т. е. регулятор включается периодически. Такая схема отличается от асинхронной исполнения при последовательностном управлении, описанном в главе 7. Еслй сколько управляющих алгоритмов (регуляторов) исполняются на одной ЭВМ, 0111 могут работать абсолютно одновременно, поскольку программы получают управл поочередно. Этот факт важно учитывать, если выход одного регулятора является дом для других. В распределенных системах с несколькими процессорами синхР зировать различные задачи управления обычно не требуется. 6.1.2. Проектирование аналоговых и дискретных регуляторов Регулятор в составе цифровой системы управления по определению ябЛя' дискретным. Однако традиционно большинство динамических систем опись)1’'1'' 6 2 рс^йное управление 219 быкновенными дифференциальными уравнениями, которые выводятся из фи- СЯ ° ских законов, например сохранения массы и энергии (глава 3). Аналоговый ре- 3114 on можно спроектировать на основе описания непрерывной системы с помо- ‘А': передаточн°й функции или в пространстве состояний; соответствующие ШЬ1° тт хлпошо известны из теории управления. Для того чтобы аналоговый регу- методы -"т г .7 реализовать компьютерными средствами, его модель необходимо подверг- Л ть процедуре квантования. При цифровом управлении можно идти другим пу- а именно: использовать в качестве исходной дискретную динамическую модель процесса (раздел 3.4), а затем спроектировать регулятор непосредственно на основе этой модели. В общем случае если регулятор сначала проектируется как аналоговый, а затем пре- образуется в дискретную форму, то интервал выборки обычно меньше, чем в случае, если регулятор спроектирован на основе дискретной модели; это означает более высокую за- грузку процессора. Поэтому квантование аналоговых регуляторов обычно не рекомен- дуется, однако, поскольку большинство ПИД-регуляторов проектируется таким спосо- бом, он также будет рассмотрен в этой главе. Уравнения цифровых регуляторов, спроектированных непосредственно на осно- ве дискретной модели процесса, похожи на уравнения аналоговых регуляторов после процедуры квантования, хотя и имеют другие значения коэффициентов. Это означа- ет, что соответствующие программы мало отличаются друг от друга. Более того, мож- но создать программу обобщенного регулятора с последующей параметрической на- стройкой характеристик. Этот подход рассмотрен в разделах 6.8 и 6.9. Анализ непрерывных и дискретных линейных систем выполняется сходным об- разом. Многие принципы являются общими как для непрерывного, так и для диск- ретного подхода. Простые структуры регуляторов рассмотрены ниже вначале с ана- логовых, а затем — с дискретных позиций. В этой главе предполагается, что все линейные регуляторы с одним входом и од- ним выходом можно представить в обобщенном виде u(kh) = - u[(k - l)/z] - ... - rn u[(k - ri)h] + + i0 • uc(kh) + uc[(k - 1 )Zz] + ... + tn u^(k - n)h] - - 50 • y(kh)-sx y[(k - l)h]~ ... - sn y[(k - n)h] проц ЭТ° выход регулятора (управляющая переменная физического/технического Равля а^’Uc ~ опоРное значение, а у — выходной сигнал физического процесса (уп- ный Пи'Т ПеРеменная)- Параметр п представляет собой порядок регулятора. Обыч- РетНого РегУЛЯТ0Р может рассматриваться как частный случай обобщенного диск- 8ыбОре РегУЛят0Ра при п = 2. В этой главе мы не будем подробно останавливаться на о регудКОЭФФИциентов ri’ и si' Основное внимание будет уделено применению это- 7вигельЯТ°Ра И еГ° пРогРаммн°й реализации. Хотя большинство процессов в дей- г,в м0Жно°СТИ нелйнейны (раздел 3.3), тем не менее с помощью линейных регулято- успешно управлять значительной частью таких систем. шейное управление еле-эт Т° пРостые и дешевые регуляторы с обратной связью, применяемые в не- пРиложениях, например в термостатах отопительных систем и бытовых
220 Глава 6. Структур холодильников. Эти регуляторы используются также в простых произ процессах, например в системах управления уровнем или простейщ °ДСТВе Релейное управление иногда называют двухпозиционным {two-n Д°ЗВ1 bang-bang control). Osition Cl Выход идеального реле (рис. 6.1 а) имеет лишь два возможных значен и = “max’ если е > О w = wmin> если е < 0 где е — это ошибка выходной величины {output error) e{t) = uc(t)-y{t) т. е. разность между опорным значением uc{t) и выходным сигналом процесса^- Рис. 6.1. Применение релейного регулятора (а); выход релейного регулятора с мерт- вой зоной {б) Реле резко реагируют на возмущения выходного сигнала процесса. В частг если сигнал колеблется с небольшой амплитудой относительно некоторого пос ного уровня. Чувствительность реле к такому типу возмущений можно умень если для входного сигнала ввести мертвую зону (рис. 6.1 б) и = wmav, если е > еп llldA’ V U = “min> если е < ~ е0 где е0 — ширина мертвой зоны. Если е находится в пределах между -«о и сигнал и не изменяется. начен||! Реле вызывает колебания относительно постоянного опоРнОГ°. 3кс!1роВ‘ скольку управляемая переменная изменяется скачком между двумя ф С1К- ми значениями. Это может вызвать чрезмерный износ конечного эле\ т управления, механический клапан может быстро выйти из строя, для|(Од0бн<л исполнительных механизмов, например соленоидных выключателей, блемы не возникает. гателс11^ Более сложный тип релейного управления используется для дви ,ер ц| лы 4.7.1 и 4.7.2). Здесь применяются различные типы модуляции, наП^цег0 d1 но-импульсная модуляция, для преобразования релейного управляю в величину мощности питания двигателя.
221 . 3 Аналоговые pen 6-J’ смотрены различные модели, описывающие динамические системы, — В главе 3 раС непрерывные и дискретные и т. д. Были описаны разные подхо- 5НлтреиИ1,е И ВН намических моделей физических процессов, представляющих собой дь1к создан1110 Д)^т ованИЯ регуляторов. В этом разделе функциональные свойства основу Для влеИия будут проиллюстрированы на основе линейных систем, залогового у фуНКЦИя G(s) линейной динамической системы была определена Передо ° такое описание системы удобно для проектирования некоторых ти- в разделе • например ПИД-регулятора, если процесс имеет только один вход нов регул соответственно, описывается одной простой передаточной функци- “Ниже мы будем рассматривать только такие системы. В других случаях систему ' бнее описывать в пространстве состояний (раздел 3.3.2) и строить регулятор на ювеэтой модели. Эта процедура обсуждается в разделе 6.10. И физический процесс, и регулятор представляют собой динамические системы, которые можно описать дифференциальными уравнениями или передаточными функциями. Математически сам процесс и его регулятор описываются одинаково. Однако, с практической точки зрения, между ними есть существенная разница. Пере- даточная функция G(s) физического процесса или его уравнения состояния считают- ся неизменными, т. е. коэффициенты уравнений (3.1) и (3.3) не могут изменяться, так как они определяются физической природой процесса. С другой стороны, пере- даточная функция или уравнения состояния для регулятора включают коэффициен- ты, которые можно выбрать в известной степени произвольно. Важной задачей про- ектирования регулятора является именно определение этих параметров. Необходимо также иметь в виду, что в общем случае определение передаточной фун- кции (s) технического процесса представляет собой сложную задачу. К счастью, мно- " СтРатегии управления можно применять и без детальной и точной модели процесса. 6’3,1, Простые регуляторы 11 сам физи°ВЬ1Й РегУЛятоР можно описать передаточной функцией того же типа, что ошибка вых К™ пР°цесс- В простейшем случае входной сигнал регулятора — это СПеРедаточнь^01^ВелИЧИНЫ Физического процесса [уравнение (6.1)]. Для работы °6разоваНие п Ш ФУнкпиями используется преобразование Лапласа. Применяя пре- пласа для ошибки [уравнение (6.1)], получим Сдаточная = ~ <6'2> Величины Прг?УНКция РегУлятора Сд£С(х) определяется как отношение выход- гулятора U(s) и входной ошибки £(s) ’Т0 "^тейший^ = GREG(S) ' £<5) = GREG{S) ’[ВД “ У(5)] 1^1Л1°СтРирует^яСхУча^ Убавления с обратной связью (Jeedback control), кото- ^^две входны Л°К'схемой> изображенной на рис. 6.2. В общем случае регуля- ТехН11ческоГо 6 Величины ~ измеренное (текущее) значение У (т. е. выходной !l3aB^Htou1Hl”POliecca) и опорное значение Uc, а также одну выходную вели- ЛДУ ДвуМя Сигнал и- Однако простейший регулятор использует лишь раз- Ходными величинами.
223 72г Глава 6. Структуры уппаг, ------------------- Рис. 6.2. Структура простейшего регулятора С математической точки зрения передаточная функция Greg(s) рассматривает, точно так же, как любая передаточная функция процесса G(s). Как уже упоминаю их принципиальное различие в том, что коэффициенты передаточной функции per лятора Greg(s) можно изменять (настраивать). Проектировщик системы управле- ния должен подобрать эти параметры так, чтобы замкнутая система — физические процесс и регулятор — работала в соответствии с установленными требованиями Замкнутая система, изображенная на рис. 6.2, имеет передаточную функцию G (х) =------------------------ (6.3 Uc(s) 1 + Greg(s) G(s) Очевидно, что чем больше параметров содержит Greg(s), тем больше степеней свободы имеет регулятор. Настраивая эти параметры, поведение передаточной фун- кции замкнутой системы можно при желании изменять в достаточно широких преде- лах. В дальнейшем обсуждается уровень сложности регулятора, необходимый для достижения заданных характеристик. 6.3.2. Упреждающее управление по опорному значению Простейшая система управления, показанная на рис. 6.2, реагирует только ошибку e(t) и не использует по отдельности два входных сигнала — опорное значе и выходной параметр процесса. f Однако ошибка может возникнуть по двум причинам, одна из которых — и3* ние опорного или задающего сигнала uc(t), а вторая — изменение нагрузки кое-либо другое возмущение в системе, вызывающее изменение выходного си y(t). Изменение опорного значения — это известное возмущение. Если регулятор жет использовать соответствующую информацию, то это, вообще говоря, п03В дт<>р- улучшить характеристики замкнутой системы — физический процесс и РегУл В этом смысл упреждающего управления (Jeedf orward control). Рассмотрим регулятор [уравнение (6.4)], состоящий из двух частей. Контур ной связи GPB(s) представляет собой исходный регулятор, отрабатывающий Так называемый контур упреждения GFF(s) контролирует изменения опорного ния и прибавляет к управляющему сигналу поправочный член, с тем чтобы вся ей реагировала более оперативно на изменения опорного сигнала (рис. 6.3). То ест равляющий процессом сигнал U(s) представляет собой сумму двух сигналов Рис 6.3. Регулятор, содержащий контур упреждающего управления по опорному зна- чению и контур обратной связи по выходу процесса U(s) = GFF(s) Uc(s) + GFB(S) • [ед - У(х)] Это выражение можно переписать в виде U(s) = [СдХТ) + Сга(х)] • Uc(s) - Gfb(s) У(^)= = GFi(s) Uc(s) - Gr(s) Y(s) = UFi(s) - UFB(s) где UFl — упреждающий сигнал по опорному значению (задающему воздействию), a UFB - сигнал обратной связи. Регулятор имеет два входных сигнала Uc(s) и У(.г) и, следовательно, может быть описан двумя передаточными функциями GF^(s) и GR(s) (рис. 6.4). (6-4) связью^" СТРУКТУРЭ линейного РегУлятора с упреждающим управлением и обратной РегУЛЯТ0Р> соответствующий уравнению (6.4), имеет больше настраи- п°ложИт °ЭСр(рициентов> чем простейший регулятор уравнения (6.3), разумно пред- Функщно’ ЧТ° замкнУтая система имеет лучшие характеристики. Передаточную полного контура управления можно получить из рис. 6.4 Bbip [Gfi (П • Uc(s) - Gr(s) • У(х)]. G(S) - Y(s) ение можно преобразовать следующим образом „ , ч у(П GFi(s) G(s) G,.(s) =------------------- Uc(s) i + G(S)-GR(s) ^тора сНИе полюсов системы с обратной связью можно изменить с помощью ре- r(s), а упреждающий регулятор GFl(s) добавляет системе новые нули. От- Тго (6.5)
224 Глава 6. Структуры ynDat, сюда следует, что вся система может быстро реагировать на изменения опорног нала, если Gp^(s) выбрана должным образом. °С11г- 6.3.3. Обобщенный регулятор Благодаря тому что в упреждающем регуляторе опорное значение неппеп отслеживается, возможно создание высокоточных (серво) систем управления ч роприводами, роботами или станками. Для этих приложений важно, чтобы рея ' на выходную величину процесса была быстрой и точной при любых изменени * опорного значения. Ях Описание регулятора можно обобщить еще больше. Если числитель и знамена тель передаточных функций GR(s) и Gfl(s) уравнения (6.4) выразить полиномами от х, то описание регулятора можно представить в следующем виде TVs) 5Vs) [/(s) = Gn(s) • C7c(s) - G^s) K(s) - • Gc(s) - • У(5) Rt(s) R2(s) Две части управляющего сигнала показаны на рис. 6.4. Приведя передаточные функции к общему знаменателю, получим T(s) 5'(х) U(s) = у<5> = ~ ufb(s) (6-6) R{s) R(s) где R(s) = R^s) R2(s), T(s) = 7\(s) R2(s), S(s) = S^s) R^s). Последнее можно переписать как tn • sn + ti s”’1 + ... +t„ .$'() sn + .у. • s”-1 + ... +s =A—A----------------- +~n—---------------- y(5) sn + ri sn 1 + ... + rn sn + • s" 1 + ... +rn где r;-, .у и ti — параметры передаточных функций, as - комплексная переменная пре- образования Лапласа. Таким образом, регулятор, соответствующий уравнению (6.6), можно предста вить в виде обобщенного регулятора {general controller) R(s) U(s) = T(s) Uc(s) - S(s) Y(s) Передаточную функцию физического процесса можно явно выразить через числитель и знаменатель b0-sn + b1-sn~1 + ... + bn B(s) (6.S1 s” + al- sn‘ + ... +an A(s) Замкнутая система, приведенная на рис. 6.5, соответствует рис. 6.4. [1Г Используя выражения (6.6) для регулятора и (6.8) для физического процесса. редаточную функцию замкнутой системы можно записать в следующем виде T(s) B(s) = Y(s) = R(s) A(s) = T(s) B(s) ((ф' Gt'(S) t/e(s) B(s) S(s) A(s) R(s) + B(s) • 5(s) 1 ‘ A(s) R(s) Рис 6.5. Регулятор, содержащий контур упреждающего управления и контур обрат- ной связи (этот регулятор соответствует рис. 6.4) Передаточная функция замкнутой системы имеет много степеней свободы. Коэф- фициенты полиномов A(s) nB(s) зависят от процесса и поэтому не могут изменяться. Некоторые из этих коэффициентов бывают неизвестны, а их оценка достаточно сложна. Получение точной модели системы является нетривиальной задачей! С дру- гой стороны, все параметры полиномов R(s), S(s) и T(s) можно подбирать. Коэффи- циенты T(s) и R(s) относятся к части регулятора, осуществляющей упреждающее уп- равление. Настройка этих параметров определяет реакцию замкнутой системы на изменения опорного значения. Аналогично, коэффициенты полиномов S(s) и R(s) определяют характеристики контура обратной связи. Настраивая S(s) и R(s), можно влиять на реакцию регулятора при изменении нагрузки или любом другом возмуще- нии, вызвавшем изменение выходного сигнала y(t). Для вычисления параметров регулятора передаточная функция [уравнение (6.8)] обычно сравнивается с некоторой целевой передаточной функцией с г > У(5) ЧП Am(s) Параметры полиномов R(s), S(s) и T(s) можно выбрать при этом таким образом, что Bm(s) = T(s) B(s) Am(s) = A(s) R(s) + B(s) S(s) И имеют достаточно высокий порядок, т. е. достаточное коли- чие (с, q РУчек настройки”, передаточную функцию замкнутой системы [уравне- ТаКим М0ЖН° изменять в широких пределах. Порядок регулятора п должен быть >,оЖн*е’ КЭК И У ИСХ°ДНОГО физического процесса. В частности, подбирая R(s) и S(s), ТеоретаР°ИЗВольно менять знаменатель передаточной функции замкнутой системы. Мест0 чески это означает, что полюса замкнутой системы можно сдвинуть в любое х,еНенцдМПЛеКС110^ плоскости. На практике максимальные амплитуда и скорость из- Вра3де Управляющего сигнала ограничивают свободу перемещения полюсов. Кисцс Ле 3-3 А было показано, как полюса влияют на тип переходной характеристи- Byi0 фиеМЬ1 и позволяют произвольно выбрать ее динамику. В частности, неустойчи- 1',°5|<но ЗИческУ10 систему, имеющую полюс с положительной вещественной частью, Стабилизировать с помощью системы управления.
g?6 Глава 6. Структуры уПОяв Пример 6.1 Управление положением вертикального стержня Стержень, установленный вертикально на опоре, в реальных условиях может находиться в таком положении сам по себе и упадет, если не предцрИн мать некоторые меры для его поддержки; такой стержень представляет собой неустойчивую систему. Если нижний конец стержня непрерывно перемещат в горизонтальной плоскости так, что стержень сохраняет вертикальное поло жение, то система становится устойчивой. На языке теории управления это оз начает, что стержень имеет полюс с положительной вещественной частью. Ре. гулятор (человек или автомат) имеет динамику г < >- Gs(s) ад такую, что все полюса полной системы (стержень и регулятор) имеют отрица- тельные вещественные части. В разделе 3.3.4 также описано влияние нулей на относительную величину отдель- ных членов переходной характеристики. Хотя изменить расположение нулей нельзя их можно сокращать, вставляя полюс в то же самое место, а также вводить новые нули Нули числителя в уравнении (6.9) совпадают с нулями полиномов T(s) и B(s). Но- вые нули можно добавить с помощью полинома T(s). Однако нули B(s) фиксирован; и переместить их нельзя. Лишь в случае размещения полюса на том же месте ноль сокращается. Однако такие действия требуют осторожности. Например, если нол полинома B(s) размещен в правой полуплоскости — такая система называется неми- нимально-фазовой (non-minimum phase system), — то и сокращающий его полюс до. жен быть помещен также в правую полуплоскость. Это приводит к неустойчивое - системы, но точный выбор нуля исключает неустойчивую составляющую движет- Однако если сокращение производится неточно, как это обычно бывает, то замя- тая система окажется неустойчивой, т. е. не каждая математически корректная о - рация приводит на практике к желаемому результату. Иными словами, если Ф1 ческая система имеет ноль в правой полуплоскости, то это отражает сво; системы, которое нельзя устранить с помощью регулятора. Однако влияние свойства можно уменьшить соответствующим выбором структуры управления Неминимально-фазовые системы характеризуются поведением, которое в тором смысле противоречит ожидаемому, обычно из-за определенного запазды® ответа. Пример неминимально-фазовой системы можно заимствовать из эКоН°* На рис. 6.6 показана кривая прибыли от продукта в течение его жизненного На ранней стадии, до начала продаж, капитальные вложения и стоимость прое вания приводят к отрицательной прибыли (издержкам). По прошествии н^к времени - будем надеяться - продукт начинает приносить прибыль. Это лежит в природе вещей и не может быть изменено. Однако руководитель, е * будет действовать как очень простой регулятор, оценив текущее значение пРИоТрЛ' может принять решение об остановке работ в самом начале, поскольку прибыль цательна. Из этого примера видно, насколько важно предвидеть будущий Успе дукта для продолжения работы. Регулятору, управляющему неминимально-Фа — Й требуется такое же свойство, поскольку он должен каким-либо о с11сте- ’ будущее поведение системы и действовать соответственно, „редсказыва Рис 6 6 Прибыль в течение жизненного цикла продукта. Вначале затраты на пр< тирование и капитальные вложения приводят к издержкам. Любое управляющее действие, предпринятое на основе оценки мгновенных значений без учета хода i кривой, будет ошибочным Полиномы R(s), S(s) и Т(з) нельзя выбрать произвольно. Все передаточные ции регулятора (рис. 6.5) должны быть реализуемы физически. Это означает, ч пень знаменателя должна быть выше степени числителя, т. е. порядок R(s) долж< восходить порядок как 5(.s), так и T(s), в противном случае реальный регулятор с невозможно. Сам физический процесс должен быть управляемым (раздел 3.5.1, означает, что .4(.s) и B(s) не могут иметь общих множителей. Существуют также другие ограничения, связанные с тем, насколько можно чить параметры регулятора. Если “ручки настройки” крутить слишком интен< например многократно уменьшая время реакции процесса, то управляющие си могут войти в зону насыщения и система перестанет быть линейной. Иными < -Ми> из-за ограниченности амплитуды сигналов реакцию замкнутой системы г вменить произвольным образом. б'3-4. Упреждающее управление по изменению нагрузки и возмущению в ^Сли возмущения, действующие на процесс, известны и их можно измери' вых0Н11Ипе’ можно провести коррекцию управления до того, как они повлия Управой паРаметР процесса. Этот подход, который называется упрежда» Г|°вь Лением по возмущению (feedforward from process disturbances), может за! 1сить качество управления. Ниже его иллюстрируют несколько примеров. 6.2 енули ров ка температуры в помещении Из Системы управления температурой в зданиях включают в себя датчик д ^МеРения наружной температуры. Когда наружная температура изменяет Рассматривается как “возмущение”), управляющий сигнал на клапан, [
229 3 Глава 6. Структуры ynpaBfl гулирующий подачу горячей воды в здании, подается прежде, чем нару^ температура повлияет на температуру в помещении, — упреждающий кон-п* управления по возмущению. Для окончательного и более точного регулирОв₽ ния температуры в каждом помещении она также непрерывно контролируй с помощью местных датчиков (термостатов) — обратная связь. Пример 6.3 Управление химическим процессом При управлении химическими процессами чаще всего измеряются расходи концентрация реагентов. Это позволяет осуществить корректирующие дей- ствия до изменений в конечном продукте. Пример 6.4 Управление автомобилем Опытный водитель часто использует своего рода упреждающее управле- ние. Если он хочет сохранить скорость постоянной при въезде на возвышен- ность, то немного прибавляет “газ” перед подъемом, чтобы скорость не умень- шалась, несмотря на изменение уклона дороги. Все типы упреждающих воздействий базируются на некоторых предположениях относительно будущего поведения системы, и следовательно, они должны обладать так называемой способностью предвидения. Иными словами, упреждающий регуля- тор должен включать в себя модель динамики технической системы. Ниже будет®- казано, как это можно сделать. Механизм упреждения требует, чтобы изменения нагрузки и/или возмущен® измерялись. Если возмущение нельзя измерить непосредственно, его значение не ходимо либо оценить, либо измерить каким-либо образом косвенно. Пример 6.5 _____________. Удаление фосфора методом химического осаждения При обработке сточных вод фосфор обычно удаляют методом химического осаждения. Для определения правильной дозировки реагентов необходимо знать содержание фосфора в сточных вода?:. Такие измерения сложно и дор°г производить непрерывно. Поэтому содержание фосфора в подводимой вод оценивается на базе расхода и предыстории нормальных часовых и суточнй колебаний его концентрации. Даже такой грубый способ упреждающей оценк позволяет улучшить характеристики системы.________________ Типичный вид сложной структуры управления с упреждением по возмуШ6^ и опорному значению и обратной связью показан на рис. 6.7. В принципе, упре#^ гций регулятор должен вырабатывать управляющий сигнал, который действу61 ^логовыерегул^ трпьный механизм таким образом, чтобы возмущение не оказывало влияния „гцолНИ1С' Рис. 6.7. Блок-схема обобщенного регулятора с контурами упреждающего управле- ния по опорному значению и возмущению и контуром обратной связи Возмущение 1У(х) влияет на процесс в соответствии с передаточной функцией ^nXs)>т- е. существует динамическая связь между возмущением и выходом Y(s) = G^s) W(s) должна быть известна. Она зависит от свойств процесса, и изме- ее нельзя. Идея упреждения состоит в корректировке управляющего сигнала на Чения ПОКазаний Датчика G((s) и упреждающего регулятора G^(s). Влияние возму- vnn НЭ Технический пР0Цесс нейтрализуется в выходном параметре Y с помощью ЩенИяДф)ЩеГС) РегУЛЯТ0Ра’ который генерирует сигнал как функцию самого возму- • Нормально это соотношение выражается следующим образом - G^s) Gv(s) Gp(s) 1У(х) + G^s) W(s) = 0 Гретая тносительно получим уравнение идеального упреждающего регулятора GK(S)------- ед-едед») Ка.\1и ПеРедаточные функции в правой части уравнения определяются характеристи- 1!чТь И °йесса’ и следовательно, они не содержат параметров, которые можно изме- ЕСдй м НЬШи словами> упреждающий сигнал полностью определен моделью системы. Вать п °дель неточна, то и упреждающий сигнал не сможет полностью скомпенсиро- Затьс Лияние возмущения. На практике, однако, упреждающий регулятор может ока- я полезным, даже если полностью компенсировать возмущения не удается.
230 Глава 6. Структуры ynDa^ ---------—----- Степень числителя передаточной функции реальной физической системы ше, чем степень знаменателя. Однако для 6^(5) в уравнении (6.10) числитель но имеет более высокий порядок, чем знаменатель. Это означает, что сигнал к щения должен подвергнуться одно- или многократному дифференцированию Дифференцирование возмущения дает возможность качественно определит тенденцию, т. е. скорость и направление изменения, по которым экстраполируй будущее значение. Таким образом, влияние возмущения на технический ппо СЯ можно предварительно вычислить с некоторой точностью, как было показано в п С веденных примерах. Так как на практике нельзя выполнить точное дифференты ванне непрерывного сигнала, для упреждающего управления требуется некотор^ аппроксимация. При численном моделировании производные аппроксимируй конечными разностями, и поэтому управляющий сигнал, требуемый для компенса ции возмущения, представляет собой функцию как текущего, так и предыдущее значений возмущения. Упреждающую часть управляющего сигнала можно записать в виде Пя(5) = -GF2(s') Gt(s) W(s) = 17(5) где 7,(5) и Т?з(5) — полиномы числителя и знаменателя упреждающей передаточной функции от возмущения к управляющему сигналу. Следует заметить, что в этом слу- чае динамика датчика учитывается в его передаточной функции. 6.3.5. Основные принципы разработки структур управления Качество упреждающего управления в значительной степени зависит от качества измерения возмущений и точности модели процесса. Любой реальный регулятор должен сочетать в себе упреждающее управление по опорному значению и возмуше нию с контуром обратной связи. Упреждающее воздействие обеспечивает быструю коррекцию ошибок выходного параметра процесса, обусловленных изменением опорного значения или возмущениями, а обратная связь — более медленную ре31'" цию на изменение выхода процесса. Главное преимущество обратной связи в том, что она компенсирует неточности модели процесса, погрешности измерений и ошио выходной величины, связанные с неучтенными возмущениями. Ниже перечислен^ основные положения, которые необходимо учитывать при создании систем с обрат ной связью и упреждающим управлением. Ограничения управления с обратной связью, которые можно компенсировать упреждающим управлением • Механизм обратной связи не вносит коррективы до тех пор, пока не будет обна жено отклонение в величине выходного параметра. Поэтому “идеальное УПР ление, при котором управляемая величина точно повторяет измерения опор^ значения или на которое не влияет изменение характеристик процесса, теоре чески невозможно. • Даже если возмущения известны, обратная связь не может их компенсир00 предсказуемым образом. • В системах с большими постоянными времени или с большими задержкам# ратная связь работает неудовлетворительно. При наличии больших и частых 0 231 Ац2ппговые регуляторы дений процесс может быть прекращен из-за того, что он постоянно носит пере- ходный характер и никогда не достигает предусмотренного установившегося со- стоянии- Если точное значение выходной переменной нельзя измерить, управление с об- * ратной связью невозможно. тоинство упреждающего управления £сЛИ возмущение удается измерить, то можно быстро предпринять упреждающие действия. Причины, затрудняющие упреждающее управление . Для многих приложений невозможно постоянно в оперативном режиме измерять возмущения. • Необходимо иметь модель физического процесса — качество упреждающего уп- равления зависит от точности модели процесса. • Во многих случаях упреждающий регулятор должен выполнять точное диффе- ренцирование, которое на практике невозможно; к счастью, применяемые аппрок- симации идеальных регуляторов часто работают вполне удовлетворительно. Управление на основе обратной связи — необходимое дополнение упреждающего управления • Контур обратной связи инициирует корректирующее воздействие, как только уп- равляемая переменная отклоняется от опорного значения, независимо от причи- ны отклонения. • Для управления на основе обратной связи достаточно минимальных знаний дина- мики управляемого процесса, т. е. не требуется детальная модель процесса. Структура регулятора должна включать в себя как упреждающее управление по опорному значению и возмущениям процесса, так и обратную связь по выходной ве- личине процесса. Поскольку все части системы можно рассматривать как линейные, их сигналы просто суммируются (раздел 3.3.3). Так, на рис. 6.7 управляющий физи- им процессом сигнал U состоит из трех слагаемых — упреждающего сигнала по и РНОмУ значению Up^, упреждающего сигнала по измеренному возмущению Up^ оигнала обратной связи по выходной величине Upp UFi(s) - UpB(s) - Up^s) = = GFi(s) Uc(s) - Gr(s) Gm(s) Y(s) - Gn(s) Gt(s) W(s) = Uc(s) - My,rt.w T?2(5) «3(5) 17(5) знаменателю еРедат очные функции можно привести к общему T(s) S(s) V(s) —.y(s)^.W (6.Н) Мд ° Кз(^’ T(s) = Г1(Х) ’7?2(5)' Кз(л), 5(S) = 5,(5) • 7?,(5) T?3(5) 88цЛе~ ч(5) T?,(5) /?2(5)- П° аналогии с Уравнением (6.7) это можно представить
232 Глава 6. Структуры управЛ| 6 4диалоговый ПИД-регулятор 233 Т?(5) • U(s) = T(s) Uc(s) - S(s) Y(s) - V(s) W(s) где V(s) определяется динамикой процесса. Передаточная функция системы обрат ной связи на рис. 6.7 определяется просто. Опуская аргумент s, получим [Gf1 • Uc-Gm-GR-Y-Gn Gt W]- Gv-GP+Gw- 17= Y или после перегруппировки членов Gv-GP-Uc + [-Gn Gt-Gv-GP + G^] • W= [1 + Gv-GP-Gm-GR} Y Из уравнения (6.10) видно, что в случае идеального упреждения, полностью ком- пенсирующего возмущения, второй член равен нулю и система обратной связи имеет следующую передаточную функцию , ^(5) GF1' Gv' GP G,.(s) =--=----------------- ОД \+Gv-GP-Gm-GR Сигнал Ж/0 сокращается и больше не входит в передаточную функцию. Поэтому возмущение w(t) не будет оказывать никакого влияния на выходную величину про- цесса y(t). Последнее выражение похоже на уравнение (6.5). Динамика исполнитель- ного механизма Gv моделировалась отдельными составляющими, так что G^-GpCOOT- ветствует G в уравнении (6.5). Аналогично, динамика датчика Gm представлена здесь таким образом, что Gm GR соответствует GR в уравнении (6.5). 6.4. Аналоговый ПИД-регулятор 6.4.1. Основное уравнение ПИД-регулятора Пропорционально-интегрально-дифференциальный (ПИД, Proportional-Integral- Derivative — PID) регулятор — наиболее распространенная структура регулятора® управлении процессами и сервомеханизмами. Поэтому он будет подробно рассмот рен в нескольких следующих разделах. ПИД-регулятор вырабатывает выходной сигнал, являющийся суммой трех ставляющих пропорционального регулирования {proportional control), регулиро0^ ния по интегралу (integral control) и регулирования по производной (denva control) *. Первая часть up(t) пропорциональна ошибке выходной величины, т. е. Р ности между выходной величиной и опорным значением [уравнение (6.1)]. в^т6 часть ufa) — интегралу по времени ошибки выходной величины, а третья izo(i) — производной ошибки. Уравнение классического ПИД-регулятора имеет вид Г 1 * с , de(t)~\ d dt и(1) = иц + К- e(t) + (6. = Uq + uP(t) + и/t) + uD(t) 1 В дальнейшем для простоты изложения используются термины пропорциональна51 тегральная и дифференциальная составляющая (части). — Примеч. ред. [[араметР К ~ Усиление регулятора (controllergain), 7} — постоянная времени ин- теГрирования (j-^graltime constant), а 7’б/ — постоянная времени дифференцирова- ния (derivative time constant). Коэффициент есть поправочное значение (correction а1ие)иЛИ смеш'ение (bias), настраивающее средний уровень выходного сигнала ре- п'лятора. Параметры К, 7) и Т(1 можно настроить — чаще всего с помощью ручек на панели управления регулятора. Усиление регулятора К может быть безразмерным, однако во многих приложениях оно выражается в технических единицах. Например, если измеряемое значение представляет собой расход [л/3 с-1], а управляющий сиг- нал выражается в вольтах, то усиление регулятора имеет размерность [В с лС3|. Некоторые регуляторы, особенно старые модели, вместо усиления имеют на- стройку полосы пропорциональности (proportional band — РВ), которая определяет- ся как РВ = 100/К и обычно выражается в процентах. Это определение справедливо лишь в том случае, если К безразмерно. Классический регулятор — это теоретическая конструкция, которую нельзя точно воспроизвести на практике. Например, с математической точки зрения, выходной сигнал такого регулятора не ограничен. Выход реального регулятора, напротив, бу- дет ограничен некоторыми пределами umin или итах, т. е. имеет вид, изображенный на рис. 6.8. Если пропорциональный регулятор имеет очень большое усиление, он ведет себя как двухпозиционный регулятор (раздел 6.2). Рис. 6.8. Пропорциональное регулирование , ^Втегральная часть регулятора используется для устранения стационарных я l-l~sla,-e) ошибок. Ее смысл интуитивно понятен. Если замкнутая система, состо- я из физического процесса и регулятора, достигла стационарного состояния, все В частности е(О и М(О, постоянны. Стационарное состояние может сохра- чае лишь при условии, что интегральная часть u(t) постоянна, в противном слу- ной будет изменяться. Соответственно, интегральная часть остается постоян- ^лищь если e(t) равно нулю. (6,)2°СТ°ЯННая времени интегрирования Г- присутствует в знаменателе уравнения Таким образом, значения отдельных слагаемых уравнения регулятора ока- Phctj, Ся Соизмеримы. Подтверждение этому хорошо видно из переходной характе- т°Ра р1 пР°поРЦИонально-интегрирующего (ПИ, Proportional-Integral — PI) регуля- Фою еЛ1еЛленно после скачка ошибки e(t) на выходе регулятора им(еем К е. По (рцс gCqBtIH времени 7} выходная величина регулятора становится вдвое больше 1>Ист ПИ-регулятор часто символически изображается его переходной характе- рной.
234 Глава 6. Структуры Упра^ 235 Д||?поговый ПИД-регулятор ------- ~ a e tQ время Рис. 6.9. Переходная характеристика ПИ-регулятора: а — скачок ошибки происходит в момент t0; б — выход интегральной части регулятора возрастает с течением времени до тех пор, пока ошибка постоянна; в — обозначение ПИ-регулятора на блок-схеме Регулятор можно также описать с помощью преобразования Лапласа. Применяя его к уравнению (6.12), получим U(s) - t/0(s) = 6C(x) = UP(s) + Ufa) + UD(s) - 1 1 + ——— + T./ s TfS d (6.13) 1 + Гг-5 + ГГ^-52 где E(s) задано уравнением (6.2), a Up(s), Ufa) и UD(s) — изображения Лапласа для компонент сигнала Wp(t)> и fa) и и fat) соответственно. Степень числителя превосходит степень знаменателя, поэтому усиление регулятора стремится к бесконечности при высоких частотах — это следствие дифференциальной составляющей. На практике дифференцирование нельзя выполнить точно, поэтому используется аппроксимация первого порядка с постоянной времени Ту- и уравнение ПИД-регулятора принимая вид R(sfas2+ г г j(aK уже указывалось, регулятор, описываемый уравнением (6.7), может сдви- нуть все полюса и тем самым изменить динамические свойства замкнутой системы. Благодаря тому что ПИД-регулятор представляет собой систему второго порядка, его можно успешно применять для управления процессами с динамикой второго порядка. В действительности большинство технических процессов имеют порядок выше, чем второй, однако ПИД-регуляторы часто можно успешно использовать и для уп- равления такими процессами. Это связано с тем, что многие процессы, имеющие в действительности динамику более высокого порядка, приближенно ведут себя по- добно системам второго порядка. В системах, которые нельзя аппроксимировать уравнениями второго порядка, применение ПИД-регуляторов не рекомендуется. В частности, это относится к механическим системам, имеющим несколько колеба- тельных составляющих движения {oscillation modi). 6.4.2. Дифференцирование измерительного сигнала В некоторых системах управления процессами опорное значение время от времени резко изменяется, а между скачками остается постоянным. Скачок опорного значения обычно приводит к резкому изменению выходного сигнала регулятора; этот эффект иногда называют “всплеском производной” {derivative kick). На рис. 6.10 приведена пе- реходная характеристика ПИД-регулятора, которая часто используется как его симво- лическое изображение в блок-схемах управления процессами. &U(s) = Ufas) + Ufa) + Ufas) = К _Zkl£_ 1 + Tj-s E(s) Часто постоянная времени фильтра нормализуется относительно (6.14) постоянной Ке времени дифференцирования т Тг=— (6-15’ ' N где N — число порядка 5-10. Усиление дифференциальной части регулятора [УР нение (6.14)] на высоких частотах при этом ограничено значением К N. ПИД-регулятор представляет собой частный случай обобщенного РеГУл.гр) [уравнение (6.7)] и может быть выражен через полиномы R, S и Т. Уравнение ( можно переписать в виде Г- х • (1 + Тг s) 6£/(s) = К-[7]. 5 • (1 + Tf- s) + 1 + Тг • 5 + 7} Td-s2] -E(fa Если это выражение разделить на 7] • Ту, то в результате получим ПИД-реГУл в формате уравнения (6.7), для которого tg время ₽Ис- 6.10. Переходная характеристика ПИД-регулятора. а °™ ескаРв веЛи- В момент t0; б - дифференциальная часть регулятора Чи«в выходного сигнала; в - обозначение ПИД-регулятора на блок-схеме Дпя „ дифференциальный член вычисляют на основе '^рен РеД°ТВРаЩеНИЯ ВСП Личины У(О- Производная ошибки записывается ./Рения только выходной величины уч / виде to время dt dt dt
236 Глава 6. Структуры упраВЛр, . диалоговый ПИД-регулятор g.4.---- Если изменения опорного значения не учитываются дифференциальной часТь регулятора, то в результате идеальный ПИД-регулятор принимает вид й бм(Г) = К 1 du + ~\e(t)dx - Td-—~ lj о а Для производной вновь применяется аппроксимация первого порадка с постоян ной времени Ту- рис. 6.11. Логарифмическая частотная характеристика {Bode plot) ПИД-регулятора в последовательном представлении ‘ 1 517(5) = К- 1 Тг* Td' 5 E(s)-K- d -У(5) 1 + Ту 5 (6.17) Этот метод исключения всплеска производной является стандартным для боль- шинства выпускаемых регуляторов. 6.4.3. ПИД-регулятор как каскад регуляторов Поскольку передаточные функции ПИД-регулятора [уравнения (6.14) и (6.17)] состоят из суммы трех членов, их можно рассматривать как параллельное соедине- ние пропорционального, интегрального и дифференциального регуляторов. Однако его можно представить как последовательное (каскадное) соединение ПИ-регулято- ра с пропорционально-дифференциальным (ПД, Proportional-Derivative — PD) регу- лятором. ПИ-регулятор [уравнение (6.14)] описывается выражением Gpjis) &U(s) — Ki • Д(5) 1 E-s а ПД-регулятор 5(7(5) GPd(s) = . = К2 ' £(5) Td'* 1 + 77-5 -к2- 5 6,4.4. ПИ2-регулятор Если фильтр низких частот соединить последовательно с ПИ-регулятором или если два ПИ-регулятора соединить каскадно, то получится структура, известная под названием ПИ2-регулятор (PIPI controller). ПИ2-регуляторы иногда используются в системах электропривода. Фильтр низких частот ослабляет уровень высокочастот- ных сигналов. В системах механического привода могут возникать резонансные ко- лебания, которые хорошо гасятся таким фильтром. Передаточная функция ПИ2-ре- гулятора описывается выражением 1 + Т: 5 1 + 77-5 = К ----— -----— 7]- • 5 1 + т2 5 гДе f — постоянная времени интегрирования, а 7) > Т2 > Т3. Значение D обычно принимается равным резонансному периоду (т. е. величине, обратной резонансной частоте) управляемого физического процесса. Зависимость усиления от частоты по- казана на рис. 6.12. В результате последовательная форма ПИД-регулятора имеет вид l+(Tf+Td) -5 1 1+77-5 5(7(5) GP/o(5) “ г, ~ К\ К2 E(s) Преобразование из параллельного представления в последовательное возм°- лишь при условии */ " ' а " ‘ Усиление регулятора как функция частоты показано на рис. 6.11- При вЬ1С частотах усиление стремится к значению Kx-K2-{Tf+Td) Tf 7 СР^' Из графика рис. 6.11 следует, что ПИД-регулятор можно рассматривать каК э- тание фильтров низкой и высокой частоты, включенных последовательно ч ,, дел 5.3). Эта конфигурация называется опережающе-запаздывающим ФйЛЬ {lead-lag filter). и) ДрХгие виды параметризации ПИД-регулятора Ч'”гХХ7У’аЯХ ПИД-регулятор параметризуется в соответствии со следую г Qu{t) = Кр e{t) + КС\ e{x)dx + кп.~ о dt (6.18)
238 Глава 6. Структуры Управу Эта параметризация эквивалентна уравнению (6.12). Однако существует вя- практическое ограничение, из-за которого уравнение (6.18) нельзя применять версально. Усиление всего “классического” ПИД-регулятора [уравнение (6 г? можно изменять с помощью единственного параметра Д', что очень удобно, в час/ сти, при пуске или настройке технического процесса. Этот эффект очевиден ц и ° гарифмической частотной характеристики, изображенной на рис. 6.11. У классу ° кого регулятора при изменении К вся характеристика смещается вертикально форма остается неизменной. Иными словами, усиление изменяется одинаково * всех частот. В параметрической форме (6.18) при любой модификации параметров изменяется не только усиление, но и точки излома отдельных отрезков логарифм ческой частотной характеристики. У идеального регулятора три параметра — К, 7} и Т(1 — можно настроить индивиду, ально, однако на практике, если регулятор изготавливается по аналоговой технологии, отдельные режимы управления обычно влияют друг на друга. Это влияние может ока- заться настолько значительным, что действительные и номинальные значения парамет- ров будут отличаться на 30 %. В цифровых системах управления параметры регулятора можно настроить с необходимой точностью, а их взаимное влияние отсутствует. 6.5. Реализация ПИД-регулятора При реализации регулятора необходимо принять во внимание много различных факторов. Прежде всего следует разработать дискретную модель регулятора и опреде- лить соответствующую частоту выборки. Амплитуда выходной величины регулятора должна быть “реалистичной”, т. е. находиться между минимальным и максимальным допустимыми значениями. Это ограничение вызывает дополнительные проблемы прг реализации и эксплуатации. Во многих приложениях должен быть ограничен не толь ко выходной сигнал, но и скорость его изменения из-за физических возможностей ис- полнительных механизмов и предотвращения их чрезмерного износа. Изменение ни строек параметров и переключение с автоматического режима работы на ручной и.ь другие изменения условий эксплуатации не должны приводить к возмущениям р« лируемого процесса. Все эти проблемы рассмотрены в этом разделе. Регуляторы можно создать по аналоговой технологии на базе операционных }с лителей или, что становится все более распространенным, как цифровые устроист на основе микропроцессоров. При этом они имеют практически одинаковый шний вид — регулятор заключен в небольшой прочный корпус, который допу установку в промышленной среде. Несмотря на то что цифровая технология имеет много преимуществ, аналогов^ подход по-прежнему сохраняет свои позиции, так как он является основой для ровых решений. К очевидным преимуществам цифровых регуляторов относится^ можность с помощью каналов связи соединять их друге другом, что позволяет изводить обмен данными и применять удаленное управление. В этом Р приведен пример программы для цифрового ПИД-регулятора. 6.5.1. Дискретная модель ПИД-регулятора ad Для того чтобы аналоговый регулятор реализовать программно, необходй' t дискретная модель. Для этого применяются те же методы, которые описаны в Р с . реализаци^ПИД-регулятора___________ ------- " ’ — —__________________________________________________ 5.4 для низкочастотных и высокочастотных аналоговых фильтров и их преобразо ваНИЯ в цифровые. Если регулятор первоначально проектируется на базе аналогового описания а за- тем строится его дискретная модель, при достаточно малых интервалах выборки про- изводные по времени заменяются конечными разностями, а интегрирование - сум- мированием (раздел 3.4). Этот подход будет использован и в данном случае Ошибка выходной величины процесса [уравнение (6.1)] вычисляется для каждой выборки e(kh) = uc(kh) - y(kh) (6.19) Предполагается, что интервал выборки h является постоянным. Любые изменения сигнала, которые могли подойти в течение интервала выборки, не учитываются (раз- делы 5.1.3 и 5.1.4). Существует два типа алгоритма регулятора — позиционный и приращений. Позиционный алгоритм В позиционном алгоритме (position form) выходной сигнал представляет собой абсолютное значение управляющей переменной исполнительного механизма. Диск- ретный ПИД-регулятор имеет вид u(kh) = u(j + uP(khf + ufkh) + uD(kh) (6.20) Даже при нулевой ошибке управления выходной сигнал отличен от нуля и опре- деляется смещением mq. В соответствии с уравнением (6.14) пропорциональная часть регулятора имеет вид u p(kh") = К e(kh) (6.21) Интеграл аппроксимируется конечными разностями h ufkh) = ufck - 1)Л] + К • - e(kh) = ur[(k - 1 )А] + К а e(kh) (6.22) ПОСТОЯННОЙ h (6.23) в 1 z ^ньК0ЙЧИНа ВтоРого слагаемого при малых h и больших 7] может стать очень ма- ;|'тть ег’ ОЭТОМУ нужно позаботиться о том, чтобы обеспечить необходимую точ- Диффе ашинного представления. ;':рааи-|щ////^ЛЬ11ая ЧаСТЬ ПИД‘регУлятора полУчается из (6.17) подстановкой UD(s) = -K- 7>- s Л----- Г(5) А бцдТВетствУюЩие дифференциальные уравнения, связывающие uD(t) ny(t), име- (6.24)
Глава 6. Структурыуправд^^ 241 240 dxD N ~~~ “ у ' [~*d(O + (6.25) Ид(О = ^-Лг-[-У(О + ^(О] (6.26; где xD(t) вводится как переменная состояния (это можно проверить, применив цре образование Лапласа к уравнениям (6.25) и (6.26) и исключив xD(t)). Производная в уравнении (6.25) аппроксимируется разностью назад xD(kh) = |3 xD[(k - 1)А] + (1 - |3) y(kh) (6.27) где Следует обратить внимание, что аппроксимация разностью назад является чис- ленно устойчивой при любых Td. Используя уравнение (6.27) совместно с (6.26), дифференциальную часть ПИД-регулятора можно представить как uD(kh) = |3 uD[(k - 1)/?] - кП . (1 _ р) . [y(kh) _ y[(k _ 1)А]] (6.29) п В дальнейшем считается, что 0 < Р < 1. Если постоянная времени Tj диффе- ренциального члена [уравнение (6.15)] становится равной нулю (т. е. А"*00), то Р = 0 и дифференцирование описывается простой разностной аппроксимацией выходного сигнала dy/dt [ср. уравнение (6.17)]. Аналогично, условие Тг/ = 0 ведет к Р = 0, что приводит к Upfkh) = 0, т. е. дифференциальная составляющая в регу- ляторе отсутствует. Алгоритм приращений Альтернативным подходом является алгоритм ПИД-регулятора, в котором А числяется лишь изменение его выходного сигнала. Алгоритм прираше (incremental form) ПИД-регулятора удобно применять, если исполнительный меха низм представляет собой разновидность интегратора, например шаговый двига^т))е Другой пример такого исполнительного механизма — клапан, открытие и закр^ которого управляется импульсами и который сохраняет свое положение при о ствии входных сигналов. вь1- В алгоритме приращений рассматриваются только изменения УпРавляюШ^ятОра ходного сигнала от момента времени (k - 1)/? до момента kh. Алгоритм регу записывается в виде /бЯ A.u(kh) = u(kh) - u[(k - l)h] = &up(kh) + iXufkh) + &uD(kh) Пропорциональная часть алгоритма приращений вычисляется из уравнения ( ' ts.uP(kh) = uP(kh) - up[(k - 1)Л] = К [e(k!i) - e[(k - 1)/г]] = К &e(kh) ( интегральная часть — из уравнения (6.22) ,,.ц (6-^ Aufkhj = ufkh) - ii[[(k - 1)A] = К • ct • e(kh) r реализация ПИД-регулятора —------ - — - дифференциальная часть ~ из уравнения (6.29) ^uD(kh) = р AuD[(k - 1 )h] - К • (1 - р) \j±y(kh) - - 1 )Л]] (6.33) гДе = ~У№~ С вычислительной точки зрения алгоритм чрезвычайно прост. Для его примене- ны, как правило, достаточно операций с плавающей точкой ординарной точности. В этом алгоритме не возникает проблем из-за насыщения (раздел 6.5.4). При пере- ключении с ручного режима на автоматический регулятор, вычисляющий прираще- ния, не требует присвоения начального значения управляющему сигналу (w0 в пози- ционном алгоритме, уравнение (6.20). Исполнительный механизм можно привести в необходимое положение во время пуска как при ручном, так и при автоматическом управлении. Небольшим недостатком алгоритма приращений является необходимость учиты- вать интегральную составляющую. Опорное значение сокращается как в пропорцио- нальной, так и дифференциальной частях, начиная со второй выборки после его из- менения. Поэтому, если используется регулятор на базе алгоритма приращений без интегральной составляющей, возможен дрейф управляемого процесса от опорного значения. 6.5.2. Определение частоты выборки в системах управления Оцифровка аналоговых сигналов и определение необходимой частоты выборки обсуждались в разделах 5.1.3 и 5.1.4. Определение адекватной частоты вы орки для процесса управления представляет собой нетривиальную задачу и скорее может рас сматриваться как искусство, чем наука. Слишком малая частота выборки может сни пить эффективность управления, в особенности способность системы компенсиро "ать возмущения. Однако если интервал выборки превосходит время реакции процесса, возмущение может повлиять на процесс и исчезнуть прежде, чем регулятор инициирует корректирующее действие. Поэтому при определении частоты выборки Важно учитывать как динамику процесса, так и характеристики возмущения. ДРУГОЙ стороны, частота выборки не должна быть слишком высокой, так как это ^Риведет к повышенной загрузке компьютера и износу исполнительного механизма. ким образом, определение частоты выборки представляет собой компромисс меж и требованиями динамики процесса и доступной производительностью компьютера Ющ ’1ИХ техн°логических механизмов. Стандартные цифровые регуляторы, работа с «ебольшим числом контуров управления (от 8 до 16), используют фиксиро частоту выборки порядка долей секунды. чх Эт Част°ту выборки также влияет соотношение сигнал/шум. При малых значени- ':ыб0Е,Г° ^отношения, т. е. при больших шумах, следует избегать высокой частоты п°тому что отклонения в измерительном сигнале скорее связаны с высоко- шумом, а не с реальными изменениями в физическом процессе. 'A>)g задача первичной обработки сигнала заключается в его оцифровке и Ч ?Ую«1ем восстановлении по набору дискретных значений. Теорема дискретиза- 5.1.3) не учитывает продолжительность вычислений для восстановле- на, и в теории это время может быть бесконечным. Более того, сигнал, ана-
Глава 6. Структуры УПра^ 243 242 лизируемый этой теоремой, считается периодическим, а в реальных системах ления это обычно не так. Эти факторы также влияют на частоту выборки. Упр-, Принято считать, что адекватная частота выборки связана с полосой пропуСКа или временем установления замкнутой системы. Некоторые эмпирические правид комендуют, чтобы частота выборки была в 6-10 раз выше, чем полоса пропускания чтобы время установления соответствовало по крайней мере пяти интервалам выбо Предыдущее обсуждение базировалось на непрерывном (аналоговом) описан системы. Один из способов определить подходящую частоту выборки замкнутой с темы — считать, что аналоговая система подключена к цепи выборки и хранения но- вого порядка (раздел 5.1). Такую цепь можно аппроксимировать временной задера кой, равной половине интервала выборки, что соответствует отставанию по фазе н 0.5 h • a>t. радиан, где <о; — ширина полосы пропускания (по уровню 3 дБ) и h — интер вал выборки. В случае если допустимо дополнительное отставание по фазе на 5-15 (0.09-0.26 рад), связанное с цепью задержки, справедливо следующее утверждена h • (ос ~ 0.15 - 0.5 Это правило обычно приводит к достаточно высокой частоте выборки, и в резуль- тате частота Найквиста оказывается значительно выше, чем ширина полосы пропус- кания системы. Оно используется во многих коммерческих цифровых одно- и много- контурных ПИД-регуляторах. Другие правила для определения частоты выборкг описываются в специальной литературе. 6.5.3. Ограничение управляющего сигнала Выходной сигнал регулятора должен иметь ограниченную амплитуду по крайн мере по двум причинам. Во-первых, амплитуда выходного сигнала не может прев шать диапазон ЦАП на выходе компьютера; во-вторых, рабочий диапазон исполн тельного механизма всегда ограничен. Клапан нельзя открыть больше, чем на 100 %, двигатель нельзя подавать неограниченный ток и напряжение. Поэтому алгоритм у равления должен включать какую-либо функцию, ограничивающую выходной сипл В некоторых случаях должна быть определена зона нечувствительности, и. мертвая зона (deadband). Если используется регулятор с алгоритмом прираше®1 то изменения управляющего сигнала могут быть настолько малы, что исполните-1 ный механизм не сможет их обработать. Если управляющий сигнал достаточен Д- того, чтобы воздействовать на исполнительный механизм, целесообразно избег3 малых, но частых срабатываний, которые могут ускорить его износ. Простым реВ1 нием является суммирование малых изменений управляющей переменной и выДа управляющего сигнала исполнительному механизму лишь после того, как будет пр одолено некоторое пороговое значение. Разумеется, зона нечувствительности и> смысл, только если она превосходит разрешение ЦАП на выходе компьютера- 6.5.4. Предотвращение интегрального насыщения Интегральное насыщение (integral windup) представляет собой эффект, кото?'” наблюдается, когда ПИ- или ПИД-регулятор в течение длительного времени Д0^ компенсировать ошибку, лежащую за пределами диапазона управляемой nepeMf ной. Поскольку выход регулятора ограничен, ошибку сложно свести к нулю. с3^зация ПИД-регулятора ошибка управления длительное время сохраняет знак, величина интеграль- ЕслИ авЛяющей ПИД-регулятора становится очень большой. Это, в частности, цои сходИТ, если управляющий сигнал ограничен настолько, что расчетый выход ре- йр°и отличается от реального выхода исполнительного механизма. Так как ин- г',;1ЯТ ьная часть становится равной нулю лишь некоторое время спустя после того, 'е<Р ^ачение ошибки изменило знак, интегральное насыщение может привести ка,< ному перерегулированию (overshoot). Интегральное насыщение является ре- К &ьтатом нелинейностей в системе, связанных с ограничением выходного управля- 3’V о сигнала, и может никогда не наблюдаться в действительно линейной системе. 10 рассмотрим сказанное на примере. ПИ-регулятор, основанный на позиционном 1ГОрИтме, используется для управления сервомотором. Опорное значение для угла поворота оси двигателя изменяется настолько, что происходит насыщение выходно- го управляющего сигнала — напряжения, подаваемого на двигатель. В действитель- ности ускорение двигателя ограничено. Переходная характеристика угла поворота оси двигателя показана на рис. 6.13. Величина интегральной составляющей ПИ-регулятора пропорциональна площа- ди, ограниченной переходной характеристикой у и опорным значением ис. Если ошибка uc(t) - y(f) положительна, интегральный член будет возрастать; в противном случае он уменьшается. Пока управляющий сигнал неограничен, насыщение отсут- ствует. Если управляющий сигнал ограничен (рис. 6.13 б), реакция становится более медленной и интегральная часть увеличивается до тех пор, пока ошибка не изменит знак при t = Ц. Однако даже после изменения знака ошибки управляющий сигнал и остается большим и положительным в течение длительного времени, что приводит к значительному перерегулированию по y(t). Одним из способов ограничить влияние интегральной части заключается в услов- ном интегрировании. Пока ошибка достаточно велика, ее интегральная часть не требу- ется для формирования управляющего сигнала, а для управления достаточно пропор- циональной части. Интегральная часть, используемая для устранения стационарных ок, необходима только в тех случаях, когда ошибка относительно невелика. При ровном интегрировании эта составляющая учитывается в окончательном сигнале, °Щибк 6СЛИ °Ши^ка не пРевосходит определенного порогового значения. При больших Г|) Ках ПИ-регулятор работает как пропорциональный регулятор. Выбор порогово- В анал еНИЯ ДЛЯ активизаПии интегрального члена — далеко не тривиальная задача. 4цОда пГОвЬ1х РегУляторах условное интегрирование можно выполнить с помощью ьЧепи ^НеРа (ограничителя), который подключается параллельно с конденсатором Икая с РЭТН0Й связи опеРаЦионного усилителя в интегрирующем блоке регулятора. В огРаничивает вклад интегрального сигнала. -10®НЫм °ВЬ1Х ИИД-регуляторах избежать интегрального насыщения можно более \-рКй такСП0С^°М’ Интегральную часть можно настроить на каждом интервале вы- 'Равляю ЧТ“ Ы ВЫХ0ДН0Й сигнал регулятора не превышал определенного предела. сигнал ud сначала вычисляется с помощью алгоритма ПИ-регулято- следует проверять, превышает ли он установленные пределы и = итт, если и = ud если и = итах, если ud < umin итгп < Ud < Umax udитах (6.34)
244 Глава 6. Стружимы управл, реализация ПИД-регулятора 245 Рис. 6.13. Иллюстрация проблемы интегрального насыщения для привода позицио- нирования с ПИ-регулятором Случай а соответствует переходной характеристике без ограничения управляющего сигнала, поэтому насыщения нет; значения параметров управления -К~ Л • K/Ti = 0.04. В случае б управляющий сигнал ограничен величиной 0.1; параметры К и такие же, как в первом случае; механизм предотвращения интегрального насы- щения отсутствует. В случае в показано действие механизма предотвращения интег рального насыщения в соответствии с уравнением (6.35); дополнительный параметр ~ 5. На рисунке отчетливо видна разница между непрерывными сигналами измерении И дискретными управляющими сигналами регулятора После ограничения выходного сигнала интегральная часть регулятора сбрас^ ется. Ниже приведен пример программы ПИ-регулятора с защитой от насышеНйЯ j до тех пор пока управляющий сигнал остается в установленных пределах, послеДй>! оператор в тексте программы не влияет на интегральную часть регулятора. (* инициализация * ) И := K*h/Ti; (*регулятор*) е •= ис - у; Ipart := Ipart + cl*e; ud := К*е + Ipart; (* вычисление сигнала управления *) if (ud < umin) then u := umin (* функция ограничения *) else if (ud < umax) then u := ud else ud := umax; Ipart •= u - K*e; (* “антинасыщающая” поправка *) (* интегральной части *) Для предотвращения насыщения у ПИД-регулятора описанный метод следует несколько видоизменить. Интегральная часть обновляется с помощью значения е = и - ud, которое представляет собой разность между реальным текущим выходом исполнительного механизма и и расчетным выходом регулятора ud. Выход исполни- тельного механизма либо измеряется непосредственно, если это возможно, либо вы- числяется с помощью модели. Погрешность е, равна нулю, если исполнительный ме- ханизм обеспечивает требуемый управляющий сигнал и насыщения нет. Для сброса интегральной части сигнал es. умножается на множитель 1 /Tt, где Tt представляет со- оой коэффициент, который называется постоянной времени слежения (tracking time constant). В алгоритме ПИ-регулятора, приведенном выше, эта постоянная времени Равна h, т. е. обновление выходной величины регулятора происходит уже к моменту бедующей выборки. Если алгоритм регулятора содержит дифференциальную часть, Целесообразно обновлять интеграл гораздо реже. Соответствующее значение для по- шлиной времени слежения Tt равно времени интегрирования Т\. При этом выход- Вая величина ПИ регулятора равна 1 1 1 г г№ц - ud(t) = uP+К е(0 + |И^ r „ /о uz\l Если управляющий сигнал на- ле ц _ ограниченное значение ud [уравнение (о.о )]• nopj пока насы- сЫщен, то разность и - ud будет изменять интегральную час соответствует 'Цение не исчезнет, т. е. насыщение предотвращается, то Рис- 6.13 в. Дифференцируя интегральную часть, получим duj К dt Ли в Дискретном виде К 1 — e + у (и - ud) К А м/[(£ + t)h\ = u}(kh) + h-~' e(kh>> + lu(kh) - ud(kh)] (6.35)
246 247 реализация ПИД-регулятора 6.5ДД----------------------— В результате алгоритм ПИ-регулятора принимает вид uffkh) = К e(kh) + ufkh) где ufkh) определяется из уравнения (6.35). В данном случае интегрирование апг. ' симировано разностями вперед вместо разностей назад. Такая замена необходима скольку uf^kh) должно быть известно до вычисления интегральной части. Этам'П° фицированная и улучшенная процедура предотвращения интегрального насыщу [уравнения (6.35) и (6.36)] включена в алгоритм ПИД-регулятора в разделе 6.5 8 6.5.5. Плавный переход при изменении режима работы регулятора При переключении с ручного на автоматический режим выход регулятора мо«е- измениться скачком, даже если ошибка управления равна нулю. Причина в том ял интегральный член в алгоритме регулятора не всегда обязательно равен нулю. Perv. лятор является динамической системой, и интегральная часть представляет собор один из элементов внутреннего состояния, который должен быть известен при изме- нении режима управления. Скачок выходной величины регулятора можно предотв- ратить, а смена режима в этом случае называется плавным переходом (humpies transfer). В этой связи рассмотрим две ситуации: - переход с ручного на автоматический режим или наоборот; - изменение параметров регулятора. Плавный переход с ручного на автоматический режим для аналогового регулятора достигается за счет того, что процесс вручную приводится к состоянию, в котором из- меренное значение выходной величины равно опорному. Процесс поддерживает», в этом состоянии до тех пор, пока выходной сигнал регулятора равен нулю. В этом слу- чае интегральная часть также равна нулю, и поскольку ошибка равна нулю, то достига- ется плавный переход. Та же процедура подходит и для цифровых регуляторов. Другой метод состоит в медленном доведении опорного значения до необходимо!: конечной величины. Вначале опорное значение устанавливается равным текущем) измерению, а затем постепенно вручную доводится до желаемого. Если эта пронеДУ' ра выполняется достаточно медленно, интегральная часть сигнала регулятора оста ется настолько малой, что обеспечивается плавность перехода. Очевидным недостат ком этого способа является то, что он требует достаточно большого времени, котор°е зависит от характера процесса. ПИД-регулятор, основанный на алгоритме приращения [уравнение (6.30)], н требует вышеописанной процедуры инициализации при изменении режима УпРа ления. Оператор устанавливает исполнительный механизм в положение, соо ствующее опорному значению, перед переключением с ручного режима на автом ческий. В этом случае регулятор не вырабатывает никакого выходного сигнала исполнительного механизма до тех пор, пока не возникнет несоответствие ме* • опорным значением и выходом процесса. Часто при использовании алгоритма ращения важно сохранить и абсолютную величину управляющего сигнала, посКО- ку оно может потребоваться позже для проверки. Для цифровых ПИД-регуляторов существует еще одна возможность плави перехода. Алгоритм управления выполняется даже в режиме ручного управле Измеренное значение выходной величины у считывается регулятором, и вычисли ся ошибка управления, однако регулятор не вырабатывает выходной сигнал, влИя ппоцесс. В этом случае интегральная часть регулятора постоянно обновляет- г пи затем переключить регулятор в автоматический режим при условии, что с*' пе значение равно текущему значению выходной величины процесса, смена управления будет плавной. Р Основная идея всех процедур плавного перехода заключается в обновлении ин- альной части регулятора до такого уровня, что управляющий сигнал остается не- ^енным непосредственно перед и сразу после переключения режима. 113МЕще одна проблема возникает при изменении параметров ПИД-регулятора. Не- посредственн0 пеРед этим выходной сигнал регулятора можно представить в следу- ющем виде [ср. уравнение (6.20)] u(t~) = и0 + up(t-) + uff-) + uD(t-) а сразу после изменения параметров U(t+) = Uq + Up(t+) + Uj(t+) + uD(t+) Изменение одного или нескольких параметров повлияет на все части регулятора. Плавный переход от одного набора параметров к другому произойдет лишь в случае, если выход регулятора не изменится, т. е. u(t~) = u(t+), где t — момент изменения пара- метров. Значение интегральной или дифференциальной части должно быть откорректи- ровано так, чтобы в момент переключения не произошло скачка выходного сигнала регу- лятора. Например, изменение интегральной части выражается следующим образом М/О+) = Ujft-) + uft-) + uD(t—) - up(t+) - uD(t+) Плавный переход достигается, если разность u(t+) - u(t~) равна нулю. 6.5.6. Ограничение скорости изменения управляющего сигнала Во многих системах необходимо ограничивать амплитуду ил« Ния управляющего сигнала. Для этого используются специ передающие подключаемые после канала ручного ввода опорного значе вдействительности Регулятору отфильтрованный сигнал uL(t), в результате р способ обычно “видит” этот управляющий сигнал вместо введенного вручну^^ скорости измене- применяется при регулировании электроприводов. Р Соис 6 14). "ИЯ сигнала можно получить с помощью простой цепи обратной связи (рис. 6. ) На рисунке показана также реакция на скачок опорного сигндда‘ тве опорно- Сигнал ручного управления uc(t), который должен высту Сначала щ разность °’ сравнивается с допустимым управляющим сигналом uL( )• «„тетипуется «Итчпваетея пределами к »д,„- Затем полученное значе«е тегрпрустоя. РНчем интеграл аппроксимируется конечной суммой. Алгор изменения можно записать следующим образом ue = ис - uL; if (ие < uemin) then uelim uemin (’функция ограничения*) else if (ue < uemax) then uelim := ue ' else uelim := uemax; uL = uL_old + h*uelim;
Рис. 6.14. Цепь ограничения скорости изменения сигнала (а); типичная реакция на скачок опорного сигнала (б) Глава 6. СЭД|ЕЭД)Ь1 упра^ 6.5.7. Вычислительные особенности алгоритма ПИД-регулятора В реальности цифровая реализация ПИД-регулятора из-за последовательного характера вычислений приводит к задержкам, которые отсутствуют при применении аналоговой технологии. Помимо этого, некоторые практические ограничения, такие как защита от насыщения и алгоритмы плавного перехода, требуют, чтобы выход ре- гулятора и срабатывание исполнительного механизма происходили одновременно. Поэтому вычислительные задержки необходимо свести к минимуму. Например, не- которые элементы цифрового регулятора можно вычислить до момента выборки. Для регулятора с защитой от насыщения [уравнение (6.35)] интегральную часть можно записать следующим образом U[[(k + 1)А] = U[(kh) + С| e(kh) + с2 • [u(kh) - u^kh)] (6.37) где С, = Д с2 = - Г, Т, Интегральную часть можно вычислить заранее с помощью разностей вперед. ДИФ ференциальную часть [уравнение (6.29)] можно записать как uD(kh) = ₽ • uD[(k - 1 )А] - К • (1 - |3) - [y(kh)-y[(k - 1)А]] = п = -К — (1 - Р) y(kh) + р uD[(k - 1 )А] + К-Ц (1 - Р) • y[(k ' h h (6.39’ uD(kh) = -c3 -y(kh) +x[(k - l)/z] или где ^дпизаиия ПИД-регулятора 249 н J, X[(k - 1)Л] = р • uD[(k - 1 )h] + К (1 - р) у[(& - 1)Л] = = р-дЫ(*-ОМ + с3-<*-1)М Состояние х можно обновить сразу после момента времени kh x(kh) = Р uD(kh) + с3 • y(kh)= = Р • [~с3 y(kh) + х[(& - 1 )/г]] + с3 y(kti) = (6.41) = |3 • Х[(& — 1)А] + с3 (1 - Р) y(kh) Таким образом, uD[(k + 1)/г] удается вычислить из уравнения (6.39), как только получен результат измерения y[(k + 1 )Л]. Учитывая вычислительные возможности современных компьютеров, может по казаться странным, что приходится затрачивать столько усилий на оптимизацик вычислений. Однако необходимо иметь в виду, что цифровой регулятор иногда дол- жен выполнять несколько тысяч управляющих операций в секунду. В этих условиях имеет значение, будут ли некоторые коэффициенты доступны сразу или их придется вычислять каждый раз заново. Кроме того, промышленные регуляторы, используе- мые в заводских условиях, не всегда изготавливаются на основе самых быстрых из имеющихся на рынке процессоров. Поэтому порядок и тип вычислений существенно влияют на скорость операций управления. Промежуточные переменные q, с2 и с3 не имеют очевидной физической интер- претации. Вместо них оператор должен видеть значения основных параметров ПИД-регулятора К, Д, Td и Гу. Кроме уже сказанного, необходимо учитывать точность вычислений. В ПИД-ре- Чляторе на основе алгоритма приращения вычисляются только малые величины, -Р-енил которых достаточно короткого машинного слова. В то же время неточ- враз °КР^™ения в интегральной части могут вызвать проблемы, как упомянуто 6,5 о . Алгоритм ПИД-регулятора '!11е коТкж РИвеДен пРимеР программы ПИД-регулятора на языке Pascal. Вычисле- ^Тр0ГИЦИеНТ0В с1’ с2 и сз необходимо производить лишь в случае изменения па- -ой Выб РегуЛятоРа 7г-> Ту и Ту. Алгоритм регулятора выполняется в момент каж- '°стакт, РКИ' Программа также содержит защиту от насыщения интегральный •ляющей. ( Предварительное вычисление коэффициентов *) el := K*h/Ti; (* уравнение 6.38 *) с2 := h/Tt; (* уравнение 6.38 *) beta := Td/(Td + h*N)- (* уравнение 6.28 *) сЗ := K*Td*(l - beta)/h; (* уравнение 6.40 *) с4 := сЗ*(1 - beta); (* локальная константа *) 'Part := 0; х:= 0;
Глава 6. Структуры ynpaR, 251 250 (* Алгоритм управления *) uc := AD_input(chl); (* ввод опорного значения, *) (* аналоговый вход *) у := AD_input(ch2); (* ввод измерения, аналоговый вход *\ е := uc - у; (* вычисление ошибки управления *) ppart := К*е; (* пропорциональная часть *) dpart := х - (сЗ*у); (* дифференциальная часть, *) (* уравнение (6.39) *) ud := u0 + ppart + ipart + dpart; (* выход регулятора до ограничения *) (* сигнала *) if (ud < umin) then u := umin (* функция ограничения *) else if (ud < umax) then u := ud else u := Umax; DA_output (chi, u); (*вывод аналогового сигнала *) (*управления и, канал вывода #1*) ipart := ipart + cl*e + c2*(u - ud); (* интегральная часть с *) (* “антинасыщением”, уравнение (6.35) *) х := beta*x + с4*у; (*обновление состояния, *) (*уравнение (6.41); с4 вычислено *) (* предв зрительно *) Серийный ПИД-регулятор изображен на рис. 6.15. На передней панели регулято- ра отображаются опорные и текущие значения выходных величин процесса. Пере- ключение с ручного режима на автоматический осуществляется кнопками. Прочие клавиши используются для изменения опорных значений и настройки других пара- метров регулятора. Рис. 6.15. Серийный ПИД-регулятор (с разрешения компании Alfa Laval Automatic11 Швеция) реализация ПИД-регулятора -------- 6 5.9. Применение проблемно-ориентированного блочного языка Ддя алгоритмов регулятора можно использовать любой последовательный язык про- граммирования. Однако на практике обычно используются проблемно-ориентирован- нуе языки высокого уровня, так называемые блочные языки (block languages). Как и для программируемых логических контроллеров (раздел 7.3), функции управления принято обычно изображать в виде блоков, на которых помечены лишь входные и выходные сиг- налы, а сам алгоритм не отображается. Естественно, что параметры управления могут изменяться управляющим компьютером. На рис. 6.16 показано типичное описание ПИД-Ре1Улят°Ра на блочном языке. Разработчик с помощью специальных программных средств должен лишь пометить входы и выходы каждого блока регулятора соответству- ющими именами переменных и затем соединить блоки между собой и с другими элемен- тами схемы. Все это выполняется непосредственно на экране компьютера. ON AUTO UEXT REF PID | | 20 R.21 ----> R.22 ----► R.23 ----> R.24 ----► R.25> 0.212.0 10.3 R.29 U FB HI LO К Ti Td PID R.41 ON AUTO R.42 UEXT R.43 REF R.44 FB R.45 HI LO К Ti Td 40 U R.49 0.1 3.0 0.4 ₽«c. 6.16. Функциональная блок-схема из двух ПИД-регуляторов, подключенных к выходному аналоговому устройству через селектор НарИСунке поедставлены два ПИД-регулятора, присоединенных к переключате- 4 Вьаод одного из двух регуляторов выбирается с помощью двоичного сигнала, Чш • Д одного из д у Р У м выбранное значение поступает на аналоговый ‘ltM0ro на переключатель, авляет собой двоичную переменную для пере- Vh„ блок. Вход АШО пр й режим управления. Опорное значение пода- Очения с ручного на автоматиче
252 Глава 6. Структуры упрае ется на вход REF, а измеренное значение выходной величины процесса — нал обратной связи FB. Предельные значения управляющего сигнала помечены парам °4 рами HI(gh) и LO(w). Значения параметров настройки регулятора К, Т), и 7^(К(Л фициент усиления, постоянные времени интегрирования и дифференцирован показаны ниже его символа. Аналоговая выходная схема описывается ее номером нала и рабочим диапазоном. В дополнение к функциям последовательного управления многие программные пакеты для промышленных приложений включают в себя блоки регуляторов. Закон ченные блоки для решения стандартных задач включаются в библиотеки программ либо в виде готовых к исполнению (возможно, после редактирования связей) под программ, либо в виде включаемого исходного кода, который пользователь может при необходимости модифицировать. Пользователь, кроме того, может разработать собственные блоки, реализующие специальные алгоритмы. Некоторые из подобных программных пакетов обеспечивают большую гибкость, чем непосредственно ПИД-регуляторы. Это позволяет создавать достаточно сложные программные структуры при относительно малых затратах. 6.6. Управляющие структуры, основанные на ПИД-регуляторах 6.6.1. Каскадное управление Ограниченность обычного регулирования на базе обратной связи заключается в том, что коррекция возмущений начинается только тогда, когда выходная величи- на регулируемого процесса отклоняется от опорного значения. Как обсуждалось в разделе 6.3, упреждающее управление существенно улучшает регулирование про- цессов с большими постоянными времени или временными задержками. Однако упреждающее управление требует, чтобы возмущения измерялись явным образом. а для расчета их влияния использовалась точная модель процесса. В предыдущем анализе опорное значение ис всегда указывалось явно. Это значе ние может быть либо введено оператором с клавиатуры, либо считано из внутренне11 памяти компьютера, либо введено в систему иным способом. Например, выход одн° го из регуляторов может являться опорным значением для другого; такая схема зывается каскадным регулированием {cascade control). Используя две точки измерений одной и той же величины и дополнительный ре1А тор с обратной связью, можно существенно улучшить динамику реакции процесса^^ изменении нагрузки. Второй датчик размещается таким образом, чтобы он фиксир воздействие на процесс прежде, чем оно скажется на выходной величине; при э необходимости измерять сами возмущения. Это и составляет суть каскадного? рования. Оно особенно полезно, если возмущенное состояние относится к опорно менной или если исполнительный механизм является нелинейным, например или двигатель с нелинейными электродинамическими характеристиками. Пример 6.6 Управление электроприводом Система управления положением и скоростью электропривода рассмаТР^ валась в разделе 4.7.2. Каскадная структура (рис. 4.32) в этом случае преДсТ
253 vпоавляющие структуры, основанные на ПИД-регуляторах ------------------------------------------------- ляет собой стандартное решение. В принципе, скоростью можно управлять помощью одного регулятора в стандартной конфигурации с обратной свя- зью Такое устройство должно измерять скорость, вычислять ее отклонение от опорного значения и затем вырабатывать необходимое напряжение для кор- ектировки скорости двигателя. Однако в этом случае регулятор должен учи- тывать большое количество факторов, и поэтому он окажется сложным и не- удобным в эксплуатации. Каскадная структура для решения этой задачи управления приведена на рис. 6.17. Регулятор скорости 6’R1 вычисляет соответствующий моменту выход- ной сигнал, который требуется для разгона двигателя до заданной скорости. Ток / л необходимый для создания этого момента, вычисляется из математической модели двигателя. Эта модель представлена здесь просто коэффициентом уси- ления Кт, что достаточно для двигателей постоянного тока. опорное значение скорости рис. 6.17. пРивода Блок-схема каскадного управления угловой скоростью в системе электро- Внутренний контур регулирования управляет током, !-^ия момента. Выход регулятора GR2 представляет собоиУ”Р*™ на. Для элементов силовой электроники, обеспечивающих необходимое на ’Ряжение питания двигателя. г vTPKvme- Вычислим пепедаточную функцию от опорного значения тока /гв/к текуще ’У ток, передаточну jy и электрическая схема двигателя пред- у току ротора А Силовая электроника к /„м„г.ня«систе- н „ ттрпрттяточными функциями GA и GMi (реальная систе ’« »«И№йш™ода™ ти более простые фу.топ цостаточпь. 1» качественной “Грации нришнпа). Передаточная Функция внутреннего контура
a®* Глава 6. Структуры управпе,^ 255 /(з) GR2 • GA ' GM{ 1 + GR2 GA ' GM1 Если усиление GR2 велико, то передаточная функция G} стремится к едИни. це и практически не зависит от изменений передаточных функций силовой электроники и электрической части двигателя. Нелинейное поведение двига- теля или элементов силовой электроники можно моделировать, например, Пе. редаточными функциями с переменными коэффициентами. К выходу регулятора скорости подключены последовательно три достаточ- но простые подсистемы — линейный усилитель с коэффициентом усиления KR, контур управления током Gj {Gj близко к единице) и механическая часть двигателя GM2. Каскадная структура устраняет многие сложности, присущие силовой электронике и динамике двигателя. Помимо этого, обратная связь, уп- равляющая током ротора, обеспечивает еще одну функцию: поскольку ток ро- тора должен быть ограниченным, внутренний контур решает и эту задачу. Каскадная структура удобна и для первоначального пуска системы управлеш Сначала настраивается внутренний контур. Поскольку этот контур упрощает динами- ку работы внешнего контура, то настройку последнего произвести легче. При настрой- ке внешнего контура не требуется изменять параметры внутреннего контура. В неко- торых случаях, например при управлении положением оси двигателя, добавляйте® один контур, внешний по отношению к контуру управления скоростью (рис. 4.32). На- стройка этого контура позиционирования производится таким же образом. Отметим две особенности каскадной структуры. • Выходной сигнал первичного (главного) регулятора используется в качеств; опорного для вторичного (вспомогательного) регулятора. • Два контура обратной связи вложены друг в друга; вторичный контур распо.т жен внутри первичного. Динамика вторичного контура должна быть значите-®1* выше, чем динамика первичного. В каскадных системах управления особого внимания требует эффект насыш^ Чтобы предотвратить насыщение во вторичном контуре, можно использовать ритм, показанный в разделе 6.5.4. Однако, для предотвращения насыщения в п . ном контуре необходимо определить момент насыщения вторичного регулятор^ которых системах при насыщении вторичного регулятора первичный перев,, в ручной режим. Поскольку оба контура имеют различные скорости, они м . пользовать разную частоту выборки, причем для вторичного регулятора °на быть значительно выше, чем для первичного. Программа для первичного Р^ррг будет обновлять опорное значение для вторичного регулятора. Первичный ко лирования может получать опорное значение от оператора или от другой ПР 6.6.2. Селективное управление л- Во многих задачах управления процессами число измеряемых или ьь,Х1 личин превосходит число управляющих переменных. Это не позволяет оЛ([ но исключить ошибки во всех управляемых величинах при произвольны*11 чу ппопных значений или возмущениях, используя лишь простейшие Ре‘ ГраНИць1 применения ПИД-регуляторов входом и одним выходом. При селективном управлении {selective control) с о^^дьшее число регуляторов управляют общим исполнительным механизмом дваи* *и измерительной информации, которая формируется по результатам изме- на ° “ переменной процесса несколькими датчиками. Селектор {selector) выбирает РеН£алее подходящее из нескольких измерений. Селекторы представляют собой не- НаИейные элементы, расширяющие функции контуров регулирования, которые про- 111 авизовать в цифровых системах. Применение селекторов не только улучшает стО боту системы, но и защищает ее от опасных режимов. Р 0дИН из типов селекторных устройств использует в качестве выхода наибольший и1и наименьший из двух или более входных сигналов (на схемах оборудования се- яектор максимального значения обозначается HS, а селектор минимального значе- ния - LS). Такой тип селектора, например, можно использовать для выбора макси- чального из нескольких измеренных значений температуры в качестве входа регулятора или порога срабатывания в системе аварийной сигнализации. Другой тип селектора определяет среднее нескольких входных сигналов. Это позволяет изме- рять температуру на основе показаний не одного, а группы датчиков, что повышает качество и надежность измерений. Примером селективного управления может служить система централизованного теплоснабжения. Задача управления — регулировать скорость питательных насосов таким образом, чтобы давление в тепловой сети всегда находилось выше определен- ного минимального значения. В качестве выходной величины для управления в про- извольный момент времени выбирается точка с наименьшим значением давления. Поскольку положение этой точки меняется со временем и зависит от режима работы, соответствующие сигналы собираются от различных точек сети. Селектор выбирает Датчик давления таким образом, чтобы управление скоростью насоса осуществля- лось исходя из минимального давления. Использование верхних или нижних пределов для переменных процесса представля- 0 °и другой тип селективного управления, называемый блокированием {override). сигнал достигает одного из этих пределов, нормальная работа регулятора прекра- ,,р. и включаются аварийные процедуры. Механизм “антинасыщения” регуляторов вставляет собой в определенном смысле частный случай блокирования. Границы применения ПИД-регуляторов 1Мыщл^еГУЛЯТ0Ры Успешно применяются для решения многих задач управления |.зацас енными процессами. Основная причина их широкого распространения - Довл ТеМ’ЧТ0 динамические свойства большинства технических процессов мож- Вт0 ^В°Рительно аппроксимировать динамическими моделями второго поряд- зцач БРеМя ПИД-регулятор не подходит для управления процессами, в кото- - Вп ельную роль играют следующие факторы: Меннйе Задержки; 1'ОЛебат u туха,, ельный характер динамики системы (комплексные полюса с малым за- . '^анием')- нес НИя параметров, как предсказуемые, так и непредсказуемые; л льк0 входов и выходов. И°гРан пчения будут рассмотрены в настоящем разделе.
применения ПИД-регуляторов 257 256 Глава 6. Структуры управ^ 6.7.1. Временные задержки Временные задержки (time delays}, или запаздывания (deadtimes}, довольц0 то наблюдаются в промышленных процессах. Они являются следствием протя^ас ных систем, различных контуров обратной связи или могут быть связаны со вп нем, требуемым для выполнения анализа продукта и выдачи соответствую результатов в качестве данных измерений. Во всех этих случаях информация о п цессе поступает к регулятору позже, чем это требуется. Вообще говоря, любая запаз' дывающая информация вызывает проблемы (“опоздавшие правильные данные ошибочны”). Задержки ограничивают работу систем управления и могут привесы к неустойчивости технического процесса. Для того чтобы снизить риск неустойчивости, усиление при ПИД-управленир процессами с временными задержками должно поддерживаться на возможно более низком уровне. Поэтому применение ПИД-регуляторов к процессам с задержкой обычно сопровождается замедленной реакцией процесса на управляющее воздей- ствие. Сказанное иллюстрируется следующим примером. K(s) GR-GP-e~sT Uc(s}~ 1+ GR- Gp- e~sT где Gr ~ передаточная функция регулятора, Gp- передаточная функция про- цесса, а множитель e~s — передаточная функция задержки измерений. Обеспечить управление этой системой с помощью простого регулятора сложно. В приведенном примере в момент времени t = 0 концентрация являет- ся слишком низкой, и регулятор увеличил дозировку для ее повышения. Лю- бые изменения, связанные с действием регулятора при t = 0, не проявляются до момента t = 3. Так как при t < 3 регулятор не обнаруживает никаких изме- нений концентрации, он продолжает увеличивать дозировку. Результат изме- нения, произведенного при t = 0, впервые обнаруживается при t = 3. Если уси- ление регулятора велико, то изменение концентрации за рассматриваемый промежуток времени будет значительным. Соответственно, регулятор снизит дозировку, однако результат этого действия будет обнаружен лишь при t = 6, а действия регулятора между t = 3 и t = 6 приведут к дальнейшему ухудшению. Пример 6.7 Управление системой с временными задержками Система состоит из двух химических смесителей, соединенных последова- тельно (см. также пример 3.7 и рис. 3.10). Концентрация с вытекающего хими- ческого продукта измеряется (переменная у), но процедура измерения требует времени Т. Влияние времени задержки иллюстрируется ПИ-управлением кон- центрацией (рис. 6.18). Рис. 6.18. Управление химическим процессом с помощью ПИ-регулятора при наЛ чии и при отсутствии временного запаздывания (3 единицы времени). Параметры Р гулятора одинаковы в обоих случаях ПИ-регулятор был настроен на оптимальное управление при отсутст®111 временной задержки. Передаточная функция замкнутой системы Трудности в системе с задержками возникают из-за того, что необходимая ин- формация, поступившая слишком поздно, ведет к нарушению устойчивости. Про- блемы управления системами с временными задержками были решены в 1957 году проф. Отто Смитом из Беркли. Он предложил регулятор, включающий модель сис- темы, который получил название экстраполятора Смита (Smithpredictor} (рис. 6.19). ^Ис, 6 1 Q г; •*». Ьлок-схема регулятора Смита ки ггТ°Т РегУлятор включает в себя как модель процесса, так и учет временной задерж Ко" еРеДаточная функция экстраполятора GpM представляет собой модель техничес си Системы и необязательно должна совпадать с передаточной функцией процесса точная модель технического процесса, совпадающая с Gp, то непосред- BeH«bie вычисления показывают, что передаточная функция замкнутой системы Y(s) Gp GP e~sT Vc(s) 1 + ' GP 1021
258 Глава 6. Структуры упр ^ациЦЬ1 применения ПИД-регуляторов 259 где Gn — передаточная функция обычного ПИД-регулятора, GP — модели пр0 а е ' — временной задержки. У экстраполятора Смита знаменатель передат функции замкнутой системы такой же, как и у системы без задержки. Иными с ми, переходная характеристика замкнутой системы с экстраполятором выгляди °Е же, как и у системы без временной задержки, но с отставанием на время Т. 1 У равнение регулятора можно записать в явной форме. Без экстраполятора vn ляющий сигнал U(s) = GR(s) E(s) а с экстраполятором U = GR-[Е + GPM-e~sT U- GPM-U] Первое слагаемое — обычный выходной сигнал регулятора, вычисляемый на основа т.мт0Ра Для управления электроприводом ошибки управления, второе — поправочный множитель, относящийся к предыду ° ’ щему управляющему сигналу u(t - Г), умноженный на передаточную функции модели процесса GPM, а последнее — учитывает текущий управляющий сигщ’ Из приведенной структуры следует, что старые управляющие значения должны со- храняться. Реализовать экстраполятор в то время, когда Смит предложил его идеи было сложно, так как тогда была доступна лишь аналоговая технология, котораян- позволяет хранить аналоговые величины в течение достаточно длительного врем: ни. Для цифровой техники хранение информации представляет собой тривиал? пую задачу. едьно лучше, чем под управлением обычного ПИД-регулятора с такими же ^йками. Переходная характеристика системы обратной связи имеет тот же 'как и при отсутствии временной задержки, но со смещением на время Т " 6 20). Экстраполятор Смита можно также включить в более общий дискрет- реГулятор (раздел 6.8). g/2 Системы со сложной динамикой В силу ограниченного числа параметров ПИД-регулятор не может произвольно ять на процесс с динамикой высокого порядка. Регулятор высокого порядка осо- *1ЙНО необходим в системах, поведение которых носит колебательный характер, качестве примера такой системы в разделе 6.4.4 рассмотрено применение ПИ2-ре- фильтром низкой частоты. Обобщенный аналоговый регулятор [уравнение (6.7)] обеспечивает необходимую свободу для управления сложной динамикой; его диск- ретная модель — предмет раздела 6.8. 6.7.3. Предсказуемые изменения параметров — табличное управление усилением Во многих ситуациях параметры технического процесса изменяются в зависимос- ти от условий эксплуатации. Типичный пример — установка очистки сточных вод. Рис. 6.20. Управление дозировкой реактивов с помощью экстраполятора Смита (па раметры регулятора такие же, как на рис. 6.18) Если модель экстраполятора точно воспроизводит реальный технический пройе<т его выход такой же, как и для процесса без задержки, но со сдвигом по времени, практике модель экстраполятора является всегда более или менее приближенной ’ следовательно, выходная величина может не соответствовать кривой для систем без задержки Необходимость хранить старые управляющие сигналы интуитивно П°1’яТ'|; Обратимся вновь к примеру рис. 6.18. Если регулятор запоминает управляю сигнал при t = 0 и “знает”, что результат проявится только при t = 3, тогда пре- подобно предположить, что и(3) будет также и функцией zz(O). При примеНе регулятора Смита процесс, подобный показанному на рис. 6.18, будет проте1< Пример 6.8 Управление концентрацией растворенного кислорода Динамика растворенного кислорода в аэраторе является нелинейной (раз- Дел 3.2.3, пример 3.8). Скорость перехода кислорода из газообразного состоя- ния в растворенное моделировалась в примере 3.8 как kR • а = а и при посто- янном а и расходе воздуха и. Однако член kR а является нелинейной Функцией расхода воздуха (рис. 6.21) и может считаться линейным только при Х1алых изменениях расхода. скорость растворения кислорода Pj C' 6.21. Типичное изменение скорости растворения кислорода в зависимости от х°Да воздуха
Обобщенный линейный дискретный регулятор 261 260 Глава 6. Структуры уПрав — - Как видно из рис. 6.21, скорость изменения^ • а уменьшается с ростомра хода. Соответственно, усиление регулятора должно быть увеличено при боЛь ших расходах. Помимо этого, дополнительную нелинейность создает насыще ние кислородом. Поскольку и расход воздуха, и концентрацию растворенцОГо кислорода можно измерить, усиление процесса при различных технологичес ких условиях можно смоделировать и запомнить в виде таблицы. В результате для каждого режима работы можно быстро определить необходимое усиление Если значения коэффициента усиления процесса для разных рабочих режимов ранее известны, параметры регулятора можно рассчитать предварительно и сохранп- в виде таблицы. Этот метод носит называние табличное управление коэффициентом усиления (gam scheduling). Он часто используется во многих приложениях, наприм при управлении паровыми котлами (параметры управления изменяются при разлг-.. ных уровнях мощности) или самолетами (поведение самолета зависит от высоты). 6.7.4. Неизвестные изменения параметров — самонастраивающееся управление Динамика многих процессов такова, что их параметры неизвестны, хотя и пост,' янны во времени. В других случаях параметры изменяются во времени очень ме ленно. Трубопроводные системы постепенно засоряются, и это влияет на расхо.. теплоотдачу. При управлении воздушно-топливной смесью в двигателе внутрень сгорания чувствительность датчика меняется со временем непредсказуемым об: зом. В биологических ферментаторах или установках очистки сточных вод могут явиться новые организмы, изменяющие характер потребления кислорода. Простые системы с динамикой низкого порядка легко управляются, если их па;, метры известны и постоянны. В большинстве подобных случаев достаточно испс зовать ПИД-регуляторы. Однако если параметры системы медленно изменяют^ времени, качество управления при фиксированной настройке регулятора будт степенно снижаться. Одно из решений этой проблемы — автоматическая настрои,- параметров ПИД-регулятора с помощью так называемого автонастройщика {auto-tuner). Первоначальная настройка осуществляется оператором. Затем автонас тройщик вносит небольшие возмущения в процесс для определения его дина Далее регулятор вычисляет параметры ПИД-управления по реакции системы, рые запоминаются и используются до тех пор, пока оператор не инициирует пр новой настройки. Следующий логический шаг — это непрерывное обновление параметров ре тора. Процедура непрерывной автоматической настройки параметров регуля^. назвается адаптивным управлением {adaptive control). Адаптивные регуля включают в себя две различные подсистемы, одну для оценки {estimation) и вт Р для управления {control), как показано на рис. 6.22. Оценивающая часть РеГУлЯ непрерывно измеряет входной и выходной сигналы процесса. По этим данным ритм настройки вычисляет и обновляет параметры регулятора. В сущности, ада ный регулятор состоит из двух контуров управления - быстрого контура для « средственного управления и более медленного, осуществляющего настройку п метров. Рис. 6.22. Основные элементы адаптивного регулятора Существует несколько вариантов этой общей схемы, например выход процедуры оценки может непосредственно поступать на вход регулятора, минуя процедуру пе- ресчета его параметров. Даже если основные алгоритмы достаточно просты с точки зрения программирования, адаптивное управление должно быть ограничено целым набором правил безопасности, позволяющих предотвратить его неправильное при- менение. Распространено совершенно необоснованное убеждение, что адаптивное управление является панацеей при решения сложных задач. Однако если адаптивное управление применять с осторожностью и пониманием, оно открывает широкие воз- можности. Управляющей частью адаптивного регулятора может быть обобщенный дискретный регулятор, рассмотренный в следующем разделе. Несколько типов адап- тивных регуляторов выпускаются серийно. Описанные методы носят название самонастраивающееся управление {self- ^rnngcontrol). 67.5, Системы с несколькими входами и выходами т е^екотоРЬ1е системы имеют много входов и выходов, при этом число их сочетаний, УправаРИаНТ°В взаимного влияния, может быть очень велико. Очевидно, что задачу дЛя каеНИ“ НелЬЗЯ Решить> используя простой регулятор с одним входом и выходом Юлже^011 ПЭРЫ ВХ°Д‘ВЫХ°Д процесса. Вместо этого каждый сигнал управления койСис Зависеть от Результатов измерений нескольких величин. Регулятор для та- Стояйи темы можно создать, например, на основе обратной связи по переменным Со- фиям (раздел 6.10). 5 g бобщенный линейный дискретный регулятор ’-о алгопЩеННЫЙ ЛИНевнь1й Дискретный регулятор {general linear discrete controller) — ’’НЫе . итм> позволяющий в зависимости от набора параметров получать те или РУКТУРЫ и-иФРового управления. Этот раздел посвящен изучению его ^об^НЬ ЧаСТ° технический процесс, имеющий один вход и один выход, наиболее представлять в виде явной зависимости между входной переменной и и вы-
264 Глава 6. Структуры упр^! 6обШеННЫЙ линейный дискретный регулятор 265 ТВ AR y(kh) =----------• u,.(kh) н--------w(kh) A-R + BS tV AR + BS (6,4. нать те иденцию его изменения и характер воздействия на выходную переменную ipouecca- В этом уравнении первый член определяет передаточный оператор от оно значения к выходу процесса у через контуры упреждения и обратной связи 1 о и> а Вт. рои — передаточный оператор от возмущения w к выходу у через контур обраТ!)... связи [ср. с аналоговым регулятором, уравнение (6.9)]. г Параметры полиномов Л и В зависят от вида процесса и поэтому считаются п0Ст явными, а параметры полиномов R, S и Т можно настраивать, как и у аналлгг;вг.' регулятора. Изменяя параметры полиномов R и 5, можно произвольно сдвинуть л. люса замкнутой системы при условии, что процесс является управляемым,?, е. по? номы А и В не имеют общих множителей. Это в том числе означает, что неустойч? вую, но управляемую систему можно стабилизировать регулятором. Как было показано выше, и в непрерывной, и в дискретной модели полюсаможн произвольно изменить, однако при условии, что амплитуда управляющего сигни не ограничена. Между тем в реальной системе всегда есть ограничения на перемет ние полюсов. Полюса определяют составляющие динамики реакции системы (т.е постоянные времени), а нули — относительный вес этих составляющих. Из уравне- ния (6.48) видно, что полином В по-прежнему остается в числителе, поэтому нулин изменяются. Однако, благодаря полиному Т, в замкнутом контуре управления мои но добавить новые нули. Дискретный регулятор легко расширить для компенсации любого возмуш ния, которое можно измерить. Структура, представленная на рис. 6.7, годик и для дискретного случая (рис. 6.24). Однако, в отличие от аналоговой системь переменные здесь — функции времени, а не изображения Лапласа. Передаточнь оператор H(q) соответствует дискретной версии передаточной функции G(s): рис. 6.7. Для компенсации влияния возмущения w на выход у дискретный регулятор с реждающим управлением по возмущению должен иметь вид ЗД) Яи(?) H^qYH^-Hptq) который аналогичен уравнению (6.10). Компенсирующий сигнал упреждают равления по возмущению un(kh) = НП<Я) Ht(q) w(kh) или явно с числителем и знаменателем оедато41'.' Динамическая реакция H((q) датчика возмущений включена в пер функцию регулятора. Как и для аналоговых регуляторов степень пол о[[3и выше, чем полинома R(q). Аналоговый упреждающий регулятор включает ные по времени измеряемого возмущения; в дискретном случае это coo д операции дифференцирования измерительного сигнала. Таким образом, ^i.1 того чтобы с самого начала исключить влияние возмущения, необходим Рис. 6.24. Блок-схема обобщенного дискретного регулятора. Структура аналогична структуре обобщенного аналогового регулятора (рис. 6.7) Каки аналоговый [уравнение (6.11)], обобщенный дискретный регулятор можно РВДставить тремя составляющими — контур упреждения по опорному значению, нтУров обратной связи по выходу процесса и контур упреждения по измеренному ^Учению (рис. 6.25) zz(^/z) - Пдд(^Л) — Upj^kli) — UpQ^kh^) ~ T(q) S(q) _ V(q) ^uc{kh)--—-y{kh)-----w{kh) (6.49) 0 R(q) ai04ero v°P °братной связи S/R включает динамику датчика Hm, а оператор упреж- 'ка// Равления V/R, компенсирующий возмущение, включает динамику дат- f Равнение (6.49) в развернутом виде u(kh-) = - . U[(k - 1 )h] - ... - rn w[(£ - n)h\ + + ’ uc(kh) + • uc[(k - l)/z] + ... + tn Uc[(k - n)h} - - s0 y(kh) - S1 • y[(k - 1 )h] - ... - Sn • y[(k - n)h] - (6-50) ~ °0 ' w(kh) - V1 • w[(k - 1)/z] - ... - Vjn . да[(& - rn)h\ ^ИиЦИенТаК°е Же Уравнение’ как и <6'42)> но с Дополнительными слагаемыми ФсНнЬ1х тами ®г), отражающими работу контура упреждающего подавления л возмущений.
266 Глава 6. Структуры Рис. 6.25. Обобщенный дискретный регулятор с упреждением по опорному значению и возмущению 6.8.3. Частные случаи обобщенного дискретного регулятора Если регулятор [уравнение (6.46)] учитывает только ошибку выходной перемен- ной e(kh) (ср. рис. 6.2), то полиномы T(q) и S(q) равны R(q) u(kh) = T(q) [uc(kh) - y(kh\] = T(q) e(kh) (6 ^) Если сравнить полученное выражение с описанием ПИД-регулятора, то очевид но, что дискретный ПИД-регулятор фактически есть частный случай обобщенного дискретного регулятора. Другим важным случаем является компенсация запаздыва ний; регулятор Смита (раздел 6.7.1) также можно представить в виде обобщенного дискретного регулятора. Дискретный ПИД-регулятор Пропорциональный регулятор [уравнение (6.21)] — это простой частный сДУ4 обобщенного регулятора. Его уравнение можно записать так u(kh) = К e(kh) = К uc(kh) - К y(kh) г. е. R(q) = 1, sQ = K,t0 = К. Уравнение ПИД-регулятора можно переписать в следующем виде u(kh) = -rr- u[(k - 1)А] - г2 u[(k - 2)Л] + + Го • uc(kh) + tx uc[(k- 1)Л] + t2 • uc[(k - 2)Л] - - 50 • y(kh) - • y[(k - 1 )h] - s2 y[(k - 2)Л] 267 0бобШенный линейный дискретный регулятор вЫражение получается из уравнения (6.42) при п = 2. Эквивалентность между Эт° неНИем (6.52) и дискретным ПИД-регулятором можно показать, если послед- ^записать в сжатой форме с оператором q. Интегральная часть [уравнение (6.22)] Снимает вид uj{kh) = q~^ uj(kh') + К - a - e(kh) а определяется выражением (6.23). Разрешая относительно Ujfkh), получим Ка - q Uj(kh) =----— • e(kh) q-1 Аналогично, дифференциальную часть [уравнение (6.29)] можно записать в виде Ur)(kh) = Р • q^ uD(kh)-К-~ (1~Р) • ('I-'?1) • y(kh) h где Р определяется выражением (6.28). Разрешая относительно uD(kh), получим ГАМ г Td uD(kh) = -К- — ------------- y(kh) h tf-P Так как 0 < Р < 1, система всегда устойчива. Таким образом, для ПИД-регулятора имеем u(kh) = К а q 1 +---- q- 1 z,,x „ Td (1-Р)-(<7-0 • e(kh) -К—---------------• y(kh) h tf-p Исключая знаменатель, получим (# ~ 1) • (# - Р) • u(kh) = К- (q - Р) • (q - 1 + а • q) e(kh) - -K-^-(l-p) (q-tf ytkh) rKe(kh) = Uc(kh)-y(kh). Простая перестановка членов приводит к [<?2~(l + PW + p]-M)Wz) = = [Я• (1 + а) q1 - К-(1 + р + а • р) • q + К• р] • uc(kh) - (6.53) ~ [K-(l +a + q)-q2-K-(l + р + а • Р + 2у) <7 + К • (Р + у)]-y(kh) Тг! 7 = -Д.(1-Р) п иЛомы R, $ и твычисляются следующим образом rpid^ ~ 72 - (1 + Р) <7 + Р Wtf) = K(l + a)V--K(1 + ₽ + a₽)<? + /C.p SPID{q) == (1 + а + у) • <у2 - + Р + а • ₽ + 2у) • 7 + /с. (р + (6.54)
268 269 Глава 6. Структуры уПг.= --------- — Подставляя q, получим u[(k + 2)Л] - (1 + Р) -u[(k + 1)Л] + р • u(kh) = = К - (1 + а) • uc\(k + 2)Л] - К'(1 + Р + а-р)- ue[(k + 1)Л] + К- fi-uc(kh) - - К • (1 + а + у) • z/[(& + 2)Л] + К (1 + [3 + а • |3 + 2у) • z/[(& + 1 )Л] - К • (р + у). Применив операцию сдвига на два интервала выборки назад, выражение ПИД-регулятора можно переписать в следующем виде u(kh) - (1 + Р) • u[(k- 1)Л] - р • u[(k - 2)Л] = = К- (1 + а) • uc(kh) -К- (1 + р + а - р) • uc[(k- l)/z] +К - р- uc[(k - 2)/z] - -K-(l + a + y)-z/(^/z) + K-(l + р + а- P + 2y)-z/[(^- 1)Л]-К-(р + у)-г/[(^-2)/г] Таким образом, регулятор должен помнить управляющие сигналы, опорныеииз- меренные значения, соответствующие двум предыдущим выборкам. ПИ-регулятор получается, если положить Ту = 0, что соответствует Р = 0 иу = о u(kh) = u[(k - 1)Л] + К- (1 + а) uc(kh) - К- uc[(k - l)/z] - - К-(1 + а) • y(kh) +К-y[(k - 1)Л] = (6.56) (1 + а) e(kh) - К e[(k - l)h] Если дифференциальная часть вычислена по ошибке управления, то полином Л не меняется, а полином Т становится идентичным полиному S (ср. раздел 6.4.1). От- носительно уравнения (6.48) можно отметить, что различные варианты ПИД-ре- гулятора добавляют больше или меньше нулей в передаточную функцию контура упреждения, что влияет на поведение всей замкнутой системы. Связь между параметрами полиномов R, S и Т и собственно параметрами ПИД-регулятора является достаточно сложной. Параметры этих полиномов не име- ют явного физического смысла, но оператор и не должен их знать. Настройка управ- ления выполняется с помощью параметров ПИД-регулятора, которые преобразуют ся программой в параметры полиномов R, S и 7'в соответствии с уравнением (о.э / = u[(k - 1)Л] + К Компенсация временных запаздываний Экстраполятор Смита (раздел 6.7.1) можно рассматривать как частный СЛУ4^ обобщенного дискретного регулятора. Его управляющий сигнал зависит не т0ЛЬК°1Г. текущих измерений и опорного значения, но также и от изменений управляющего^ нала в течение времени, соответствующего запаздыванию в регулируемом про Из выражения (6.45) ясно, что полином R должен иметь достаточный П°Р чтобы учесть временной сдвиг, равный по крайней мере времени запаздывания Другими словами, время, эквивалентное nR интервалам выборки (nR — степень нома R), должно быть больше, чем время запаздывания процесса ТМау. Дискр значения измеряемой величины и дискретные значения управляющего си должны быть доступны по крайней мере в течение интервала Tdelay. та);. Обычно в промышленных приложениях интервал выборки устанавливается^ чтобы время запаздывания ТМау превосходило его не более чем в пять раз, т. е- пень полинома R меньше или равна пяти. ояния обобщенного дискретного регулятора реализэц_------------------------------- яние запаздывания, связанного с выполнением вычислений, у дискретного $Л1 а такое же, как и у ПИД-регулятора (раздел 6.5.7). Это запаздывание дол- рСУл значительно меньше интервала выборки. #НО°Ь!ТЬ g 4 Критерии качества дискретного регулятора В обобщенном виде дискретный регулятор можно настроить так, чтобы он удов- оял различным качественным и количественным критериям. Если рабочие ха- ^ктеристики замкнутой системы известны заранее, их можно использовать как ба- нный критерий для оценки регулятора. В то же время этот критерий не учитывает явной форме влияние возмущений. “Классический” критерий для управления — измеренные значения выходных величин должны как можно меньше отличаться от опорных. Этот критерий математически формулируется следующим образом 1 N = Y\Uc(kh') ~ y(-kh^ N k = l приУ~* °°. Такой подход известен как критерий минимальной дисперсии (minimum variance criterion). Показатель, вычисленный по той же формуле, но без деления на N, называется суммарным квадратичным отклонением (quadratic control area). В обоих случаях параметры регулятора [уравнение (6.45)] настраиваются, чтобы минимизи- ровать соответствующий показатель. Критерий минимальной дисперсии или другой интегральный критерий может привести к неограниченным (математически) управляющим сигналам. Во всех ре- альных приложениях управляющий сигнал должен быть ограничен, чтобы, напри- мер. изоежать износа исполнительных устройств. Ограничения на поведение регуля- тора можно учесть введением весового коэффициента р 1 N Л? = Тс + Р • u\kh)} N k = { кРитеРий называется квадратичной функцией стоимости Ji (quadratic cost 1ени$1 И быстР° возрастает при увеличении управляющего сигнала. Закон управ- нимиз КОТОРЫ1Л минимизирует Jiq, называется линейным законом управления, ми- :'-ТОий ИРУк,и1ИМ квадратичное отклонение (linear quadratic control law); соответству- g Регулятор можно описать в терминах обобщенного регулятора. нуе РИНципе> все регуляторы, которые были упомянуты выше, включая адаптив- тура цпЖН° пРедставить в форме уравнения обобщенного регулятора (6.45). Струк- пРавде ГРаммы обобщенного регулятора не зависит от его сложности и стратегии Рий Кач НИЯ ®начале выбираются стратегия управления и соответствующий крите- етва, а уже на их основе определяются параметры обобщенного регулятора. 6.9 рр • еадизация обобщенного дискретного регулятора '!1!х п₽р°и Лемы Реализачии ПИД-регулятора рассматривались в разделе 6.5. Часть из Ьец1ать СУЩа только ПИД-регуляторам, а другие имеют общий характер и должны ВыбСЯ ЛЛЯ люб°г0 регулятора. Общие проблемы включают определение интерва- °РКи, ограничение управляющего сигнала и скорости его изменения, инте-
г/U лава 6. Структуры уПОяв. --------- ------ тральное насыщение и плавный переход от ручного управления к автоматике Все они рассмотрены здесь еще раз применительно к обобщенному регулятору В этом разделе приведен также пример программы обобщенного регулятора реждающим управлением по опорному значению и измеряемым возмущения^?1' программа предназначена для того, чтобы проиллюстрировать различные ко Та ции, и поэтому далеко не оптимальна. Принято, что параметры полиномов R $ известны. Из текста программы ясно, что оператор сдвига q — это просто сохране предыдущего значения сигнала. Из-за того что параметры полиномов R, Sи Тн ЙИе комы большинству инженеров, объяснено преобразование параметров ПИД-ре1?Йа тора в коэффициенты этих полиномов. 6.9.1. Пересчет параметров Преобразование параметров ПИД-регулятора в коэффициенты полиномов R $ и Тсуммировано ниже. Полиномы для ПИД-регулятора задаются выражениями RpiDtQ) = Q2 - С1 + 3) • q + 3 трп№ = -К’(1 + а)-'72-К-(1 + р + а- 3)<7 + .К-3 [повтор (6.54)] SP1D(q) = /б (1 + а + у) • <у2 - X (1 + 3 + а 3 + 2у) 7 + /С (р + у) где h а = —, Т -11 h-N] 1 Td соответственно, параметры обобщенного дискретного регулятора И = -(1+3) Хд = /С-(1 + и + у) /о = К-(1 +а) --Jf 7 = 7--(1-3) [повтор (6.23), (6.28), (6.53)] Td+h-N п г2= 3 х^-К-О + р + а-Р + гу) х2 = К-(3 + у) t{ = -К (1 + Р + а • р) t2 = K-3 6.9.2. Предотвращение интегрального насыщения обобщенного дискретного регулятора Как уже указывалось, из-за ограниченности управляющего сигнала может воз никнуть интегральное насыщение (раздел 6.5.4). Следовательно, в вычислительной процедуре должна быть предусмотрена такая возможность. Первое общее решение для предотвращения интегрального насыщения было пр ведено в [Astrom/Wittenmark, 1990]. Выходной сигнал до ограничения вычисляет по следующему выражению, которое соответствует несколько преобразованно . уравнению (6.46) ud(kh) = T\q-^ uc(kh) - S\q~l) y(kh) + [1 - R\q^)] u(kh) (6'5?) В результате ud ограничено в соответствии с выражением (6.34). В уравнении амплитуда управляющего сигнала сразу корректируется так, чтобы она оставалась заданных пределах. Для частного случая ПИ-регулятора эта процедура ограничен такая же, как была приведена раньше. Однако для ПИ-регулятора в уравнении (о- 1 лизания обобщенного дискретного регулятора g^pea__ поКазано, что коррекция насыщения требует более чем одного интервала вы- был° чт0 заставляет регулятор работать более плавно. То же относится и к обоб- б0рРнномуРегУлятору- 'уравнение (6.46) преобразуется следующим образом л^'1) •= т* (у-1>' uc(kh>> - y(kh)+ ко(<Г1) - R*(q~l)] • «(^) ,*/ -1) _ полином, который называется наблюдателем (observer), определяет, гДскочько быстро корректируется режим насыщения. Тогда обобщенный регулятор Нкомпенсацией насыщения записывается в следующем виде До(^-1) • ud(kh) = T*(q~{) uc(kh) - S*(q~{) y(kh) + + [AgC^-1) - RXq~{)] u(kh) (6.58) или u^kh) = -a0l-q 1 • u/kh) - ,..-aOn-q n- ud(kh) + + tQ uc(kh) + Zj • ql uc(kh) + ... + tn q~n uc(kh) - - x0 • y(kh) - st • q] y(kh) - ... - sn qn y(kh) + + koi - ri1 • q~{ + - + Laon ~ • <rn ’ “(^) (6.59) Таким образом, сигнал ud(kh) ограничен в соответствии с выражением (6.34). 6.9.3. Плавный переход от ручного управления к автоматическому Проблема плавного перехода от ручного управления к автоматическому была рассмотрена в разделе 6.5.5. В принципе, когда происходит переключение режи- мов работы, величина управляющего сигнала должна устанавливаться вручную. Общее решение этой проблемы — при каждом переключении имитировать ввод вы- ходного сигнала регулятора, равного текущему выходному значению, установлен- ному вручную. 6-9.4. Вычислительные особенности алгоритма обобщенного регулятора Сч Рассмотрим в деталях, как вычисляется u(kh). В момент времени kh компьютер (615щ.1Вает значения сигналов uc(kh\ y(kh) и w(kh)-, остальные члены уравнения Шен ’ 3ПИСЫвающего дискретный регулятор, к этому моменту уже известны. Обоб- йый регулятор можно записать в следующем виде u(kh) = t0 uc(kh) - х0 • y(kh) - vQ w(kh) + x\(k - 1 )Л] (6.60) 'Де x[(k - 1)Л] = - rx • u[(k - 1)A] - - - rn u[(k - n)h] + + tY uc[(k - 1)A] + ... + tn uc[(k - n)h] - - Sj • y[(k - 1)^] _ ~ sn ' y[(k - n)h] - - Щ w[(k - 1)^1 - ••• ~ vm • w[(k - m)h]
272 Глава 6. Структуры управП[ч ----------—------- Значение х[(£-1 )h] к моменту времени kh уже вычислено, так что задер;К1,и занные с компьютерной обработкой, минимальны. Как только вычислен сигнал^ равления u(kh), можно получить новое значение х, которое будет использовано вычисления сигнала управления на следующем шаге выборки (рис. 6.26). ввод измерительной информации обновление y[(k-l)h] лг[(£-1>&] ввод измерительной информации обновление y(kh) x(kh) вычисление u(kh) вычисление u[(k-V)h] I (k-V)h “Г kh ввод измерительной информации обновление y[(k+ l)/i] х[(£+1)/г] I---(I----(I-----1 вычисление и[(й+1)й] , ' " еры (k+l)h Рис. 6.26. Последовательность вычислений для обобщенного регулятора 6.9.5. Алгоритм обобщенного регулятора Приведенный алгоритм базируется на уравнении (6.60) и включает код для пре- дотвращения интегрального насыщения. Параметры регулятора уже преобразована из стандартной формы во внутреннее представление. В этой программе на язык Pascal учтены требования работы в режиме реального времени — защита ресурсов, синхронизация задач. program general_controller const n = 5; m = 5; (* пример обобщенного регулятора *) (* степень управляющего полинома *) (* степень упреждающего полинома *) (* по возмущению; m > и *) var vectprotect: semaphore; next_time, delta_time: time (real); i, j: integer; out_ signal, x: real; u, uc, y, w: array[0..n] of real; R, S, T, V: array[0..n] of real; begin x := 0; vect__protect := 1; (* инициализация векторов состояния *) for i = 0 to n do begin u[i] := 0; uc[i] := 0; y[i] :=°: w[i] := 0; end
реализация обобщенного дискретного регулятора б ---——————— ————— 273 while true do (* основной бесконечный цикл *) begin (* ввод текущих значений *) wait_until(next_time); uc[0] := AD jnput (ch# 1); y[0] := AD_input (ch#2); w[0] := ADinput (ch#3); (* ввод опорного значения-*) (* ввод измерений *) (* ввод возмущения *) (* вычисление управляющего сигнала *) wait(vect_protect); (* защита доступа *) (* к управляющему полиному *) out_signal := Т[0] * uc[0] - S[0] * у[0] - VO * w[0] + х; signal(vect_protect); (* снятие защиты *) (* управляющего полинома *) DA_output (out_signal, ch#10);(* вывод сигналов управления *) (* обновление векторов состояния *) н[0] •= out_signal; for i = n downto 1 do begin j := i - 1; u[i] := u[j]; uc[i] := uc[j]; y[i] := У□]; end; for i = щ downto 1 do w[i] := w[i - 1]; (* расчет значения x *) x := 0; for i = 1 to n do begin x := x - R[i] * u[i]; x := x + T[i] * uc[i]; x := x - S[i] * y[i]; end; for i = 1 to m do x := x - V[i] * w[i]; next time := next__time + delta__time; end; (* основной цикл *) end; (* обобщенный регулятор *) Функции wait и signal защищают вектора R, S, Тп V, которые являются общим курсом (раздел 10 4 1) Как правило, катим переменным имеет доступ только под- 1Х)гРамма регулятора так что серьезных задержек обработки возникать не должно. «Ругая программа получает доступ к коэффициентам регулятора, например для
275 274 Глава 6. Структуры ynDag О обратная связь по переменным состояния 6 ------------------ их обновления, тогда процедура регулятора должна ждать во избежание коцфЛи В многозадачном режиме программа регулятора имеет более высокий приор^ чем программа, изменяющая коэффициенты. Переменная nextjime используй для того, чтобы избежать ошибок синхронизации (раздел 10.6.5). Как уже неоднократно отмечалось, коэффициенты полиномов обобщенного ре1 лятора не имеют прямой связи с физическими свойствами контура управдеН) Только в самых простых регуляторах соотношения между коэффициентами и фи- ческими свойствами контура управления имеют очевидный смысл. (* вычисление новых коэффициентов *) C_alfa := sample_h / Ti; C_beta := Td / (Td + sample_h * N); C_gamma := Td * (1 - C_beta)/sample_h; (* уравнение (6.23) *) (* уравнение (6.28) *) (* уравнение (6.53) *) В П-регуляторе все коэффициенты, кроме s0 и t0, равны нулю. Количество коз фициентов 5^ и Гг-, отличных от нуля, задает порядок дискретного управнещ ПИД-регулятор имеет второй порядок, поэтому первые три коэффициента в пол® мах R, S и Т ненулевые, а все остальные равны нулю [уравнение (6.52)]. В конт\ упреждающего управления по возмущениям процесса некоторые из коэффициент полинома V ненулевые, и то же самое справедливо в отношении контура упреждай щего управления по опорному значению и полинома Т. В случае регулятора Смита для компенсации задержек в техническом процесс коэффициенты полинома R отличны от нуля, так что предыдущие управляющие сиг- налы сохраняются в течение такого количества интервалов выборки, которое соот- ветствует времени задержки плюс порядок системы п — если равно 4 ин- тервалам выборки, а порядок системы равен 2, то старые значения хранятся в теченш (* вычисление новых коэффициентов полиномов*) (* защита доступа (* к управляющему полиному wait(vect_protect); R[0] R[i] R[2] T[0] T[l] T[2] := К * C_beta; S[0] := T[0] + К * C_gamma; S[l]:=T[l]-2*K*C_gamma; S[2] := T[2] + К * C_gamma; signal(vect_protect); ( = 0; = -1 - C_beta; = C_beta; = К * (1 + C_alfa); = -K * (1 + C_beta + C_alfa * C_beta); * * 6 интервалов. Если изменяется интервал выборки, то необходимо изменить и размерность поли- номов R, S, Ти V для того, чтобы дискретные значения переменных с течением време ни сдвигались назад и были доступны для вычисления нового управляющего сигне end; (* бесконечного цикла *) (* снятие защиты *) (* управляющего полинома *) ла. Ниже приведена программа ввода новых параметров ПИД-регулятора, их пре»1 разования в коэффициенты полиномов R, S и Т и оперативного обновления этих к эффициентов, т. е. без прерывания работы регулятора. procedure parameter_input (* оперативный ввод параметров ПИД-регулятора *) (* и их преобразование в коэффициенты полиномов R, S и Т *) const и = 5; (* степень управляющего полинома *) var К, Ti, Td, N, sample__h: real; C_alfa, C_beta, C_gamma: real; R, S, T: array[0..n] of real; begin while true do (* бесконечный цикл *) begin writein (“Введите следующие параметры”); input “Коэффициент усиления К ?”, К; input “Постоянная времени интегрирования Ti ?”, Ti; input “Постоянная времени дифференцирования Td ?”, Td; input “Нормирующий коэффициент N ?”, N; (* уравнение (6-15/ input “Интервал выборки h”, sample_h; end; (* parameterjnput *) Процедура parameterjnput является универсальной, поскольку с ее помощью оьЛТВОДИТЬ нетолько коэффициенты полиномов R, S, Ти V, но и прочие парамет- сы То °ЛЬЗуЯ Для этого как стандартный ввод (клавиатуру), так и другие интерфей- му зя J™ св°иства системы управления можно изменять, не переписывая програм- ЭДаптий п° РивеДенную программу можно также использовать как часть ’ять но Н Г° Регулятора' В этом случае другая процедура должна постоянно вычис- u(kk) и ,ЛАМПараМеТрЬ1 ДЛЯ “омов R, S и Т на основании последовательностей 7 и соответственно корректировать их. g о Обратная связь по переменным состояния РЬ1внЫМи Р В ЭТ0Й ГЛЭ1ве Динамические системы описывались своими непре- Чи- Это означартТ°ЧНЫМИ ФуНКЦИЯМИ или дискретными передаточными оператора- ПеРеменш tmJ ЧТ° выявлялись только соотношения между входными и выходны- ВнУтрецние связиа регулят°Ры описывались только в виде отношения вход/выход. В° многих слччя^ЦеССа 6bIJIf Скрыты и в явном виде не формулировались. ^«Ний. Это внутприи ОДНако’ олее Удобно описывать процесс в пространстве со- аЯ «азывается oZZZ™0™6 приводит к ДРУГОЙ управляющей структуре, кото- Л«нейное ли ₽ СВЯЗЬЮ "° переме11НЫм состояния (state feedback) “Разделе347rvn РеТН°е ™ание системы в пространстве состояний было дано И кодами [УРавнение (3.9)]; с его помощью можно описать систему с нескольки- п0скол™ДаМИ' ПарамеТрЫ СИСТеМ“ °бычно имеют физическую интерпре- ВЫВ°ДЯ1СЯ “И0Ва™" Ура,Ие"“’ ™
276 Глава 6. Структуры уп^ ---------- Модель в пространстве состояний представляет основу для проектирова1, ратной связи по переменным состояния системы с произвольным количество^ Я Ог' ных и выходных переменных u(i) = М • uc(i) - L • х(Г) где М и L — матрицы, а ис — опорное значение сигнала (рис. 6.27). (6.61 (6.62) Рис. 6.27. Структура регулятора с обратной связью по переменным состояния В случае одной выходной переменной закон управления приобретает следующий bi ы(£) = т ыс(£) - Ц • Xj(r) - /2 ' хг(0 _ _ In ’ хп(0 где т, IitI — постоянные. В принципе, обратная связь по переменным состоят- есть сумма выходных сигналов пропорциональных регуляторов — по одному сиги лу на каждую переменную состояния. Если переменная состояния неизвестна или ее нельзя непосредственно измерит то для нее применяется процедура либо косвенного вычисления, либо оценки (ра дел 3.5.2), результат которой включается в уравнение регулятора. Считая, что все переменные состояния измеряемы и известны, замкнутая сип® с обратной связью по переменным состояния описывается следующим уравнении х[(£ + 1 )А] = Ф • x(kh) + Г • [М • uc(kh) - L • x(kh)] = = (Ф - Г L) x(kh) + Г М uc(kh) Матрицы Ф и Г зависят от вида процесса и не могут изменяться, а матрицы можно настраивать. Выход регулятора остается постоянным между моментами борки и рассчитывается с помощью матричных операций над данными измер известными в момент kh. и L Динамика замкнутой системы [уравнение (6.62)] описывается матрицей Собственные числа этой матрицы определяют динамические свойства системь ратной связью. Если система является управляемой, эти собственные числа произвольно изменить, настраивая параметры регулятора с помощью матр Точно так же, как и для регулятора, описанного отношением вход/выход, Ди q ческие свойства замкнутой системы можно произвольно изменить, при условй^ управляющие сигналы не ограничены. Однако и в этом случае имеются опреД ' ные практические ограничения. ( Собственные числа (полюса) управляемой технической системы можно изм на основе обратной связи по переменным состояния точно так же, как и у perv ®!Т описанного отношением вход/выход. Разница заключается в том, что внутРеИ 277 Закл^1^ г,„ системы иногда позволяет более глубоко понять ее свойства и на их основе соответствующую структуру регулятора. ;озДаТЬ е1< заключение б.1 0братнаЯ связь имеет фундаментальное значение в любых системах управления, цессами. Основные выводы, касающиеся обратной связи, одинаковы и для анало- и для дискретных систем. Аналоговый и дискретный линейные регуляторы {,\<еют одинаковую структуру, но разные значения параметров. С точки зрения про- ’ммирования разные типы линейных регуляторов легко получаются как частные с1учаи алгоритма обобщенного регулятора. Есть два способа проектирования цифровых регуляторов. • Сначала разрабатывается аналоговый регулятор, а затем строится его дискретная модель. • Вначале разрабатывается дискретная модель технического процесса, а затем на базе этой модели создается дискретный регулятор. В этой главе применялся в основном первый способ. Недостаток такого подхода включается в том, что требуемый интервал выборки получается меньше, чем при непосредственном проектировании дискретного регулятора. Важнейшей концепцией является упреждающее управление. Эта структура по- могает расширить и улучшить свойства регулятора. Например, в высокоточных сер- воприводах применение этого подхода позволяет более строго придерживаться опорного значения. В управлении процессами очень важно обеспечить как можно оолее раннюю компенсацию измеряемых возмущений и изменений нагрузки. 6 принципе, передаточная функция от опорного значения к выходной величине дол- жна иметь значительный коэффициент усиления во всем диапазоне рабочих частот, передаточная функция от возмущения к выходной величине — минимальное уси- лие. ПИД-регулятор — это наиболее распространенная структура управления в про- мо- Ленных системах. Причина его популярности в том, что большинство процессов Ля*Но аппроксимировать динамической моделью невысокого порядка. ПИД-регу- гоеп ’ пРедСтавляк)Щий собой систему второго порядка, дает практичное и недоро- 1иРов1иеНИе’ °беспечивая большую гибкость при работе в замкнутых системах регу- пРеимаНИЯ ДискРетный ваРиант ПИД-регулятора обладает дополнительными Ся Функ1еСТВаМИ Например, в дискретный регулятор значительно проще включают- Вия. Ко ЧИИ плавн0г0 пеРехода и предотвращения режима интегрального насыще- 6«цИ11 цМе Т0Г0, ои °оеспечивает необходимое качество фильтрации при регулиро- вания Р°ИЗВ0дн°й. При необходимости цифровой регулятор позволяет легко ',0)кНо Г КаК величинУ управляющего сигнала, так и скорость его изменения. Воз- vActBv аСКадное соединение ПИД-регуляторов, если несколько переменных взамо- 0д уют между собой сложным образом. и.мц Св К° ПИД-регулятор не подходит для системы с более сложными динамичес- Пств °ИСТвами- Наиболее очевидные проблемы возникают в системах с зонами не- 1ц с ИТельности и запаздываниями, с ярко выраженной колебательной динамикой Эв0 аРаметрами, меняющимися во времени. Обобщенный дискретный регулятор Дяет не только справляться со всеми этими проблемами, но и отвечает еще бо-
278_______________________________________Глава 6. Структуры Упр^ лее высоким требованиям. Программирование обобщенного дискретного регуЛя,, не вызывает затруднений. Основная сложность заключается в подборе необход^ параметров. Обобщенный дискретный регулятор может включать как обраТ(], связь по выходной переменной, так и контур упреждающего управления по onopj му значению и измеренным возмущениям. Если изменение параметров процесса известно заранее, то применяется табдИЧн управление коэффициентом усиления. Для процессов с неопределенным изменени параметров во многих случаях подходят адаптивные регуляторы. Если динамика ц темы имеет невысокий порядок, можно использовать самонастраивающийся ПИД-р гулятор. Комбинационное и последовательностное управление Управление на основе переключательных схем. Аппаратные и про- граммные средства. Программируемые логические контроллеры Рекомендации по дальнейшему чтению Полное введение в теорию управления, отличающееся особым вниманием к оп санию систем в пространстве состояний и цифровым моделям, дано в fKuo, 199' Управление химическими процессами и применение различных структур упр; ления в деталях обсуждаются в [Seborg/Edgar/Mellichamp, 1989] и [Stephar poulos, 1984]. [Shinskey, 1996] рассматривает проблемы управления процесса.’, с практической точки зрения. Дискретные системы управления подробно описаны в [Astrom/Wittenmark, 199 и в [Franklin/Powell/Workman, 1990]. Эти книги можно использовать как справ; ники при определении интервала выборки для ПИД-регуляторов. Регулятор с ко пенсацией запаздывания был впервые описан в [Smith, 1957]. Системы адаптивного управления были предметом интенсивных исследовано в течение последних десятилетий. [Astrom/Wittenmark, 1995] подробно опись® теорию и применение адаптивных регуляторов. [Astrom/Hagglund, 1988] представ ляет собой практичное и понятное описание работы самонастраивающихся систем Обзор Эта глава посвящена бинарному комбинационному и последовательностному (т е. управление порядком) управлению. В промышленности существует большое количество приложений, использующих переключательные схемы для комбинаци- онного и последовательностного управления. Этот тип управления уже упоминался в других разделах книги. Например, простые последовательностные сети были рас- смотрены в главе 2 и в разделе 3.7, где обсуждались некоторые принципы моделиро- вания с помощью последовательностного управления. Теория переключательных схем, составляющая основу бинарного управления, используется не только в техно- логии автоматизации, но и во многих других областях. Именно эта теория лежит в основе работы цифровых ЭВМ. В общем случае бинарное комбинационное и по- следовательностное управление проще, чем традиционное аналоговое или цифровое управление с обратной связью, потому что использует как для измеряемых величин, таки для управляющих сигналов бинарные значения. Однако бинарное управление имеет свои особенности, которые будут рассмотрены более подробно. Логические схемы традиционно реализовывались на основе разных технологий — ® середины 1970-х годов большинство схем строилось на базе электромехани- ческих реле или пневматических элементов, в 1970-е годы получили широкое Распространение программируемые логические контроллеры, и сегодня последова- чельностное управление реализуется почти исключительно программными сред- ами. Несмотря на изменения в технологии, символическое изображение операций «ой КлЮчения с помощью принципиальных схем, которое восходит к ранней релей- поСп^еХнике’ Д° СИХ П°Р ИСП0льзУется Для описания и документирования операций Д?Вательностного управления, в том числе и реализуемого программно. Другой инстЬ1И ТИП языка’ который можно использовать не только для описания, но и как РУМент документирования, — это функциональные карты. Рива^Н°Вы теоРии переключательных схем и основные логические вентили рассмат- ЧоЛ* В Разделе 7.1. Принципиальные схемы как средство описания комбинаци- ей ° И послеД°вательностного управления обсуждаются в разделе 7.2. Раздел 7.3 h к°м посвящен программируемым логическим контроллерам. В разделе 7.4 аВЛеНЫ ФУнкПиональнЫе языки и. Функциональные карты как средство для Н анИя бинарных последовательностей. Кроме того, функциональные карты мож- Пользовать Для описания параллельных процессов. Глава заканчивается приме- . Применения функциональных карт для решения задачи промышленного управ-
278_______________________________________Глава 6. Структуры Упр^ лее высоким требованиям. Программирование обобщенного дискретного регуЛя,, не вызывает затруднений. Основная сложность заключается в подборе необход^ параметров. Обобщенный дискретный регулятор может включать как обраТ(], связь по выходной переменной, так и контур упреждающего управления по onopj му значению и измеренным возмущениям. Если изменение параметров процесса известно заранее, то применяется табдИЧн управление коэффициентом усиления. Для процессов с неопределенным изменени параметров во многих случаях подходят адаптивные регуляторы. Если динамика ц темы имеет невысокий порядок, можно использовать самонастраивающийся ПИД-р гулятор. Комбинационное и последовательностное управление Управление на основе переключательных схем. Аппаратные и про- граммные средства. Программируемые логические контроллеры Рекомендации по дальнейшему чтению Полное введение в теорию управления, отличающееся особым вниманием к оп санию систем в пространстве состояний и цифровым моделям, дано в fKuo, 199' Управление химическими процессами и применение различных структур упр; ления в деталях обсуждаются в [Seborg/Edgar/Mellichamp, 1989] и [Stephar poulos, 1984]. [Shinskey, 1996] рассматривает проблемы управления процесса.’, с практической точки зрения. Дискретные системы управления подробно описаны в [Astrom/Wittenmark, 199 и в [Franklin/Powell/Workman, 1990]. Эти книги можно использовать как справ; ники при определении интервала выборки для ПИД-регуляторов. Регулятор с ко пенсацией запаздывания был впервые описан в [Smith, 1957]. Системы адаптивного управления были предметом интенсивных исследовано в течение последних десятилетий. [Astrom/Wittenmark, 1995] подробно опись® теорию и применение адаптивных регуляторов. [Astrom/Hagglund, 1988] представ ляет собой практичное и понятное описание работы самонастраивающихся систем Обзор Эта глава посвящена бинарному комбинационному и последовательностному (т е. управление порядком) управлению. В промышленности существует большое количество приложений, использующих переключательные схемы для комбинаци- онного и последовательностного управления. Этот тип управления уже упоминался в других разделах книги. Например, простые последовательностные сети были рас- смотрены в главе 2 и в разделе 3.7, где обсуждались некоторые принципы моделиро- вания с помощью последовательностного управления. Теория переключательных схем, составляющая основу бинарного управления, используется не только в техно- логии автоматизации, но и во многих других областях. Именно эта теория лежит в основе работы цифровых ЭВМ. В общем случае бинарное комбинационное и по- следовательностное управление проще, чем традиционное аналоговое или цифровое управление с обратной связью, потому что использует как для измеряемых величин, таки для управляющих сигналов бинарные значения. Однако бинарное управление имеет свои особенности, которые будут рассмотрены более подробно. Логические схемы традиционно реализовывались на основе разных технологий — ® середины 1970-х годов большинство схем строилось на базе электромехани- ческих реле или пневматических элементов, в 1970-е годы получили широкое Распространение программируемые логические контроллеры, и сегодня последова- чельностное управление реализуется почти исключительно программными сред- ами. Несмотря на изменения в технологии, символическое изображение операций «ой КлЮчения с помощью принципиальных схем, которое восходит к ранней релей- поСп^еХнике’ Д° СИХ П°Р ИСП0льзУется Для описания и документирования операций Д?Вательностного управления, в том числе и реализуемого программно. Другой инстЬ1И ТИП языка’ который можно использовать не только для описания, но и как РУМент документирования, — это функциональные карты. Рива^Н°Вы теоРии переключательных схем и основные логические вентили рассмат- ЧоЛ* В Разделе 7.1. Принципиальные схемы как средство описания комбинаци- ей ° И послеД°вательностного управления обсуждаются в разделе 7.2. Раздел 7.3 h к°м посвящен программируемым логическим контроллерам. В разделе 7.4 аВЛеНЫ ФУнкПиональнЫе языки и. Функциональные карты как средство для Н анИя бинарных последовательностей. Кроме того, функциональные карты мож- Пользовать Для описания параллельных процессов. Глава заканчивается приме- . Применения функциональных карт для решения задачи промышленного управ-
теории переключательных схем 281 280 Глава 7. Комбинационное и последовательностное 7.1. Основы теории переключательных схем 7.1.1. Обозначения В этом разделе описываются основы теории переключательных схем в объ достаточном для приложений управления процессами. Будут рассмотрены каК|., бинационные (без памяти), так и последовательностные (с памятью) схемы. Теория переключательных схем позволяет создавать модели работы бинарн устройств, т. е. таких, которые могут быть только в одном из двух возможных сосц ний. Устройства, используемые в логических цепях, — выключатели, реле и двух] зиционные клапаны — работают только в двух состояниях. Любой транзистор - , нейный элемент, т. е. не бинарный, но он может работать и как бинарный эдеме - если рассматривать только состояния “открыт” и “заперт”. Бинарные датчики и г полнительные механизмы уже были рассмотрены в главе 4. Состояние бинарного элемента отражается двоичной переменной, которая, со ветственно, может принимать только два значения, традиционно обозначаемые либо “1”. Для выключателя, реле или транзистора (в дальнейшем обозначаемых б- вой X) состояние X = 0 означает, что элемент разомкнут (не проводит ток) и X = ' рамкнут (проводит ток). Для кнопочных контактов и концевых выключателей X означает, что контакт не приведен в действие, а X = 1 означает срабатывание. Двоичная переменная может также соответствовать какому-нибудь уровню : пряжения в реальной цепи. В схемах так называемой “положительной логики” бо. шее напряжение соответствует логической “1”, а меньшее — логическому “0”. Вс мах ТТЛ двоичный “0” обычно определяется уровнем напряжения от 0 до 0.S а двоичная “1” — уровнем напряжения выше 2 В. Аналогично в пневмосистех X = 0 может означать, что магистраль находится под атмосферным давлени а X = 1 — под более высоким. Для изображения логических — комбинационных и/или последовательностные цепей используются стандартные символы, которые не зависят от их фактической р лизации на электрических или пневматических компонентах. Этот тип представлю называется функциональным блоком. В этой главе изображение логических симво. выполнено в соответствии с международными стандартами IEC 113-7 и IEC 617, гие национальные стандарты разработаны именно на их основе. 7.1.2. Основные логические элементы В этом разделе описаны основные логические элементы (gate) — вентили ответствующие им логические — булевы — операции. . Простейшей логической операцией является отрицание, или инверсия, ко , выполняет элемент NOT (“НЕ”). Этот вентиль имеет только один вход и оД , ход - если входное значение I = 0, то выходное 0=1. Отрицание X обознача ' Схематическое обозначение и таблица истинности элемента NOT показаны на р При соединении с другими логическими элементами инверсия показывается маленькой окружностью на их входе либо выходе. z а3ук’: Два нормально разомкнутых ключа А и В, соединенных параллельно, о0р элемент OR (“ИЛИ”). Выполняемая ими операция называется булевым ело* и обозначается Х = А+ В рис. 7.1- Схематическое обозначение и таблица истинности элемента NOT (“НЕ”, ин- версия, отрицание) Результат на выходе X = 0 получается, если оба А и В равны 0, в противном случае результат X = 1 (рис. 7.2). Элемент OR может иметь более двух входов, так как любое число ключей можно соединить параллельно. Расширение до трех ключей приводит к X = А + В + С. Символы “> 1 ” на схематическом обозначении элемента OR указыва- ла что на его выходе будет единица при условии, что она есть хотя бы на одном входе. Рис. 7.2. Соединение ключей, схематическое обозначение и таблица истинности эле- мента OR (“ИЛИ”) Типичный пример применения операции OR - - маскирование — установка разря- Д0В исходного байта (слова) на основе значений соответствующих разрядов управля- вшего байта (слова) — маски. Операция OR обеспечивает принудительную установ- У разрядов в ‘1” независимо от исходного значения (рис. 7.3). входной байт маска 11011000 01101101 выход 11111101 Ис' 7-3. Маскирование с помощью операции OR (“ИЛИ”) ЮТэшементЛдщЬН0>?а?,ОМКНуТЬ1Х Кл1оча Аи в> соединенных последовательно, образу- а выполняемая операция называется булевым умножением. ^°зцачаеУЛае ВЫХ°Д = только если А и В оба равны 1, иначе X = 0. Эта операция Х = АВ ^ебре УМножения в булевых выражениях часто опускается, также как в обычной Налогично ЭЛеМеНТу °R’ элемент AND может «меть больше двух входов, S, По 10б°е ЧИСЛ° ключей можно соединить последовательно. Добавляя третий >:|!та А\Х’ИМ Х = А • В ' с- Схематическое обозначение и таблица истинности эле- lNL) показаны на рис. 7.4.
283 282 Глава 7. Комбинационное и последовательностноеуПр ------------------------------— ' „и, теории переключательных схем ------------~----------------- "Р II ф 12 !•---О О------О О- Рис. 7.4. Соединение ключей, схематическое обозначение и таблица истинности эле- мента AND (“И”) Маскирование с помощью операции AND обеспечивает выбор только определ ных, т. е. представляющих интерес, разрядов — остальные сбрасываются в 0 (рис. 7.‘ входной байт маска 11011000 01101101 выход 01001000 Рис. 7.5. Маскирование с помощью операции AND (“И”) Для булевых операций над одной двоичной переменной справедливы следуют утверждения Х + Х=Х Х + Х= 1 X-х = о Аналогично, для двух переменных легко проверить 7.1.3- Wo,,w.. Два нормально замкнутых ключа образуют элемент NOR (“НЕ ИЛИ”) т. е ттепк Заякина и проводит ток, если ни первый, ни второй ключ не приведены в действие ^гласно теореме де Моргана н д С1ВИе- X = А • В = (А + В) То есть элемент NOR можно представить как комбинацию элементов OR и NOT что и отражено в его схематическом обозначении (рис. 7.6). 12 Рис. 7.6. Соединение ключей, схематическое обозначение и таблица истинности эле- мента NOR (“НЕ ИЛИ”) И 12 О 0 0 1 1 0 1 0 1 1 0 0 0 И Д---Q Элемент NOR можно легко реализовать на электронных либо пневматических компонентах. Поскольку любое булево выражение можно записать с помощью толь- ко операции NOR, то этот элемент является универсальным. Например, элемент NOT — это элемент NOR с одним входом, элемент OR можно получить соединением мементаИОТ последовательно с выходом элементаИОН, аэлемент AND можно по- кроить, используя два элемента NOT и один элемент NOR (рис. 7.7) X = А + В = А • В = А • В Х(Х +Y) = X (X + Y)Y = XY полезны теоремы де Моргана (1-я теорема де Мор (2-я теорема де Мор При манипуляциях с булевыми выражениями (X-YZ •...) = Х + У +Z. + ... fX + Y + Z + ...) = X • Y • Z •... Приведенные выше теоремы можно использовать для упрощения сложных ческих выражений, а значит, и для уменьшения числа элементов в соответств)'*' им схемах, что, в свою очередь, снижает вероятность отказов (раздел 12.3.1). II О 12 О О ^Ис. 7 7 сг> Pi>IX г> ' ^УНКЦия AND, реализованная на основе трех элементов NOR, два из кото- Раоотают как элементы NOT ЭлеМеНт NAND (“НЕ И”) определяется так х=(А7В) = А + В
284 Глава 7. Комбинационное и последовательностное vnn= ----------------------—---------------- Соответствующая цепь не проводит ток, если оба ключа А и В разомкнуТЬг разомкнут только один ключ, то цепь остается замкнутой через другой (ри^ е?111 Так же как и элемент NOR, элемент NAND является универсальным. Рис. 7,8. Соединение ключей, схематическое обозначение и таблица истинности эле- мента NAND (“НЕ И”) Операции NAND и NOR называют полными, поскольку любые логические функ- ции можно выразить только через какую-нибудь одну из них. Ни один другой э мент или функция не имеют такого свойства. На рис. 7.9 показана цепь из двух ключей: каждый ключ состоит из двух конт, тов, один из которых нормально разомкнут, а другой нормально замкнут. Соотв ствующая операция называется XOR (“исключающее ИЛИ”), а ее результат опре. ляется выражением Х = АВ + А-В Рис. 7.9. Соединение ключей, схематическое обозначение и таблица истинности эле мента XOR (“исключающее ИЛИ") Эта цепь проводит ток в случае, только если либо А = 1, либо В = 1; если имеют одно и то же значение, то на выходе X = 0. Например, такую логическую, могут использовать для управления светом в помещении с помощью двух вы телей А и В, расположенных в разных местах. В цифровых ЭВМ XOR-цепи пр ются для двоичного сложения. ма, Операция XOR позволяет определить соответствие входных разрядов (рис. 7.10): если значения совпадают, то соответствующий разряд на выходе че - 1. Так как применение XOR к идентичным операндам дает результат О, Д операцию можно использовать для проверки операндов на совпадение. Логическая цепь, выходной сигнал которой X зависит только от текуШе четания входных сигналов U = (А, В,...), называется комбинационной (combinatorial network) X(D =/[U(t)]
7 ,/)сновь1 теории переключательных схем 285 входной байт маска 11011000 01101101 выход 10110101 рис. 7.10- Маскирование с помощью операции XOR Таблица, содержащая всевозможные комбинации входных сигналов и соответ- пВуЮщие им выходные сигналы, называется таблицей истинности (truth table). В принципе, любую переключательную сеть можно проверить с помощью таблицы истинности. К сожалению, размер этой таблицы быстро растет с числом переменных и поскольку число комбинаций равно 2П. Существуют различные методы упрощения булевых функций, в результате ко- торых число связей между переменными уменьшается. Подробное обсуждение этих методов выходит за рамки настоящей книги. При числе переменных п < 6 можно ис- пользовать метод “карта Карно” (Karnaugh тар). Для более сложных выражений су- ществуют другие методы, например метод Квайна-Маккласки (Quine-McCluskey). Пример 7.1 Простая комбинационная цепь Пример простой комбинационной цепи показан на рис. 7.11. Рис- 7.11. Простая комбинационная цепь Соответствующие ей логические выражения имеют вид 03 = 11® 04 = 12 • 02 Q2j- 04 + 11. 0 вСем мире стандарта для изображения логи- с«х пор не существует принятого е. JSQ }ЕС * распространены в Ев- ,11(; л и коммутирующих элементов, с, тсЯ по крайней мере три других стандар- < Р=а' НапРИМер, в США широко испо еских элементов показаны на рйс.-ИМ*. Личные стандарты представления
286 Глава 7. Комбинационное и последовательностное упраВГ|| Операция DIN/IEC 113-7, DIN/IEC 617-12 США Булево выражение NOT _I 1 >-0 I 0 o=T OR II 12 >1 0 11 —) ) o 12 L— 0 = 11 + 12 AND II 12 & 0 II ~I2~ 0 0 = Il • 12 NOR II 12 > 1 3 0 11 X— 1 P— 12 Z— 0 = 11 + 12 NAND II 12 & >0- II ~I2" b— 0 = 11 12 XOR II 12 = 1 0 I1VT—"x П ) ° 0 = 11 12+ П 02 LOCK (блокировка) I -O & о I ~~S° ] 0 0 = И 12 "S Рис. 7.12. Распространенные схематические обозначения логических элементе®
287 „ы теории переключательных схем ------------------------------------------------------------ л элементы с двумя устойчивыми состояниями (триггеры) у,1 сих пор описывались комбинационные сети, в которых выход X зависит толь- текущего сочетания входных сигналов. Такие сети не имеют памяти. В после- °Т льностных сетях (sequential network) можно хранить значения сигналов и со- <й и использовать их позже в других операциях. Память реализуется на СТ ментах с двумя устойчивыми состояниями (bistable), которые в русской термино- 3,1 ‘ называют триггерами (flip-flop-, слово trigger в английском языке имеет не- сколько иное значение — запускающий элемент, спусковой крючок). Выход триггера С иСИт не только от текущего состояния на входе, но и от предыдущего на выходе. 3 Простейшим элементом такого типа является SR-триггер (Set-Reset — установ- а-сброс). Два входа S и R могут иметь логическое значение “0” либо “1”, однако им обоим нельзя принимать одно и то же значение одновременно. Выход обозначается у\ обычно на интегральных схемах существует и инвертированный выход у. Если S = 1, то выход изменяется на у =1 (у = 0) и триггер переходит в состояние “установка”. Если затем вход S принимает значение “0”, то триггер “помнит", что до этого он имел значение “1” и удерживает выходное значение у = 1. Если теперь вход R примет зна- чение'Т’.тосучетом S = 0 триггер сбрасывается и на выходе у = 0 (г/ = 1). Аналогич- но, как и ранее, R может вернуться к “0” и состояние у = 0 останется до тех пор, пока не появится новый сигнал S = 1. Если состояния в последовательные промежутки времени обозначить уп и уп+\, то эту операцию можно записать так Уп+\ = R • (S + Уп) На рис. 7.13 приведены три варианта реализации SR-триггера на двух логичес- oix элементах. и его обозначение » ..... ение в стандарте IEC
288 289 Глава 7. Комбинационное и последовательностное уппао. -------------------------------------------- Защелка {latch) или D-триггер (D — delay) имеет два входа: один для данных щ data) и один для тактовых импульсов (СР — clock pulses). Для каждого тактового пульса выход у принимает значение, которое имел вход D до него, т. е. выход о^ от входа на один такт. Новое состояние уп+\ никогда не зависит от старого. ? Тактируемый триггер с одним входом Т, выход которого инвертируется ка®дь такт, называется Т-триггером (T-toggle, переключатель состояния). Он примени ' в счетчиках и в схемах синхронизации как делитель частоты. Функции всех трех вышеперечисленных элементов объединены в двухступен том {master-slave) JK-триггере, который имеет три входа — J (установки), К (сброс и вход для тактовых импульсов. Это универсальный триггер, который в зависимое» от входных сигналов работает как SR-, D- или Т-триггер и представляет собойущ версальную двухпозиционную схему. 7.1.5. Реализация переключательных схем Электронные логические элементы типа AND или OR можно непосредствен» выполнить на диодах. Каскадное соединение нескольких диодных элементов с оз» некоторые проблемы, в том числе значительное ослабление сигнала на каждой ступе ни (диоды являются пассивными элементами), поэтому на практике такое решен» не применяется. Типичный способ реализации логических цепей, позволяющий и бежать эту проблему, — применение транзисторной логики, поскольку выходив сигнал на каждой ступени усиливается до своего первоначального значения. Сегодня логические элементы реализуются в основном на интегральных схемах (И( integrated circuit — IC); другие названия — полупроводниковые кристаллы или микро- схемы {chips). Существуют несколько типов интегральных схем, каждый из которых» растеризуется потребляемой мощностью и скоростью. В течение долгого времени испои зовались обычные схемы транзисторно-транзисторной логики (ТТЛ, transistor-transit logic — TTL), но сейчас их вытесняют интегральные схемы других типов. Элементы LS-TTL (маломощные ТТЛ-схемы с диодами Шотки, low-power Schott TTL) включают в себя так называемые диоды Шотки, которые являются более быстр1 действующими по сравнению с обычными диодами и вдобавок потребляют меньше мощность, чем ТТЛ-элементы более старых типов. Широко используются так^ КМОП (комплиментарная структура металл-оксид-полупроводник, complem^11 metal-oxide semiconductor — CMOS) интегральные схемы, которые выполняют на, оСр ве полевых {field-effect transistors — FET), а не на биполярных транзисторов ( *Р transistors). Потребление мощности КМОП-схем на три порядка меньше, чем У ветствующих ТТЛ-элементов. Вдобавок КМОП-схемы менее чувствительны к элеК ческим наводкам и изменениям питающего напряжения. С другой стороны, К схемы более чувствительны к статическому электричеству, а кроме того, Pa&°el)f медленнее, чем соответствующие ТТЛ-схемы. Будущее, вероятно, за новым поко^. ем КМОП-схем — высокоскоростной КМОП-логикой {high-speed CMOS logic" Сложные схемы могут быть выполнены в виде средних (СИС, Medium Integration — MSI) и больших (БИС, Large Scale Integration — LSI) интеГра7111^ схем. Однако это экономически оправдано только при количестве компонент0^, рядка нескольких тысяч. Альтернативой является использование так называ6' программируемых логических устройств {programmable logic device — PLD), K°T%- позволяют недорого производить универсальные ИС. Большинство PLD част1* 0СНовЫ теории переключательных схем ежат к семейству LS-TTL. Они содержат большое количество элементов, сея- на1''1 х плавкими вставками (fuses). Используя специальное программируемое обо- ’аН'вание, эти вставки можно избирательно выжечь, получив в результате ИС с тре- логическими свойствами. ceMe®CTBe PLO существует несколько типов ИС — программируемая логичес- маТрица (ПЛМ, programmable array logic — PAL), логическая матрица, програм- г'аЯ маЯ в процессе эксплуатации (field-programmable logic array — FPLA), програм- veMoe постоянное запоминающее устройство (ППЗУ, programmable read-only ^anoiy ~ PROM). Схемы ПЛМ построены на программируемой матрице ^[D-элементов, соединенной с матрицей OR-элементов. FPLA-схемы имеют похо- структуру с той лишь разницей, что матрица OR-элементов также программи- руема. Существуют и специальные PAL- и FPLA-схемы с элементами NOR, XOR ^-триггерами. Таким образом, систему последовательностного управления можно выполнить на основе одной или нескольких микросхем (рис. 7.14). входной буфер с инверсией матрица OR матрица AND Ф--- уо, Т1 ^Ис- 7.14. Функциональная структура схем PAL, FPLA и PROM чг.Вателем Функции Программируемого логического устройства определяются польз ^овая структура PLD состоит из матриц AND и OR, программирование которых их элементами. выжиганием с™ „гпаммируема, а связи между элементами AND И ORТ PAL (ПЛМ) матРица ANDoAND не меняется, а матрица OR про- бам ФИксиРОваны. В PROM (ППЗ ) дая комбинация входных бит (т. е. “адрес”) ак МиРУема. В этом случае, например, ца обеспечивает выборку значения из ад- «вирует Один AND-элемент, a OR‘M связей в обеих матрицах AND и OR , WcHoit ячейки FPLA допускает изменение с
290 схемы 291 Глава?. Комбинационное и последовательностное vnn^ ----------------------_---------------- Программирование PLD упрощается при использовании специального граммного обеспечения, доступного и для персональных компьютеров. Эти прОгП₽°' мы транслируют описание управляющей последовательности из булевых вы ний в данные для программируемого устройства, а также позволяют тестиров запрограммированные микросхемы. Вать 7.2. Принципиальные схемы 7.2.1. Основные элементы На сегодняшний день большинство логических схем построено на полупроводни ковых элементах. Хотя электромеханические реле продолжают применяться их доля постоянно уменьшается, так как они заменяются электронной логикой. Это од- нако, не означает, что электромеханические реле теряют свое значение, поскольку фактически они остаются незаменимым интерфейсом между управляющей электро- никой и исполнительными механизмами. Релейные цепи обычно изображаются в виде монтажных схем (wiring diagrams), на которых показываются источник питания и физическое размещение различных компонентов схемы (выключатели, реле, двигатели и т. д.), а также их соединения. Эти схемы используются техниками при монтаже панелей управления. Широко распространено изображение логических цепей в виде принципиальных схем (рис. 7.15). Принципиальная схема (ladder diagram) — это упрощенный вариант обычной монтажной схемы без явного указания всех электрических связей. На принци- пиальной схеме каждая ветвь управляющей цепи показана отдельным горизонтальным рядом, “ступенькой лестницы” (английское название происходит от ladder — лестница), и отражает одну конкретную функцию и соответствующую ей последовательность опе- раций. В принятой системе обозначений косвенно подразумевается, что одна вертикаль- ная линия присоединяется к источнику питания, а другая заземлена. питание заземление Рис. 7.15. Структура принципиальной схемы Принципиальные схемы очень популярны при описании комбинационных и п ледовательностных сетей. Они также применяются при программировании и« прИнципиальнь1е 1*'— американские символы стандарт DIN 19239 рИс 7.16. Символы, используемые на принципиальных схемах: а — нормально разом- кнутого контакта, б — нормально замкнутого контакта и в — катушки реле Пример 7.2 Комбинационная цепь Комбинационную цепь из рис. 7.11 можно представить в виде принципи- альной схемы (рис. 7.17). Последовательное включение ключей представляет логическое AND, а параллельное — логическое OR. II, 12 обозначают входные контакты, а 02, 03 и 04 — обмотки выходных реле. Все входные условия, т. е. срабатывание этих ключей, должны выполняться одновременно. нормально нормально разомкнутый замкнутый контакт контакт Комбинационная цепь из рис. 7.11 в виде принципиальной схемы Рис-7.17 вых регуляторов. На принципиальной схеме показываются контакты реле, которые могут оьн мально замкнуты или нормально разомкнуты (нормальным состоянием c4llT£iqaTb то, при котором в катушке не течет ток). Выходное реле (катушка) может обозна более сложную цепь или триггер. Символы для контактов и исполнительного - ройства (реле) показаны на рис. 7.16. ^НЬ1е К0Нтакты ключей обычно имеют пренебрежимо малое сопротивление и, ^Вле МеР’ МОГУТ быть кнопочными или концевыми выключателями либо датчиками Ц5Гр Ния или температуры. Выходным элементом может быть любая резистивная ^ой ЗКа’ например катушка реле, лампочка, электродвигатель или любое другое ус- Ство, которое приводится в действие электричеством. Каждая горизонталь
293 292 Глава 7. Комбинационное и последовательностное принципиальной схемы должна содержать по крайней мере один выходной эл в противном случае источник напряжения будет накоротко замкнут на землю Пример 7.3 Триггер Триггер (рис. 7.13) также можно описать с помощью принципиальной схе мы (рис. 7.18). Когда подан установочный сигнал, ключ S проводит ток, кото- рый поступает в катушку реле Y; сигнал на вход R пока не подается. При пода. че питания на катушку контакт Y во второй линии замыкается. Даже если ключ S сброшен, то ток продолжает течь по катушке Y через контакт Y и триг- гер остается в состоянии S. Контакт Y действует как “память” триггера. При нажатии на ключ сброса R цепь катушки Y разрывается и триггер возвращает- ся в состояние “сброс”. В промышленности такие реле называются двухпози- ционными, самоудерживающимися либо защелкой. Рис. 7.18. Триггер типа SR в виде принципиальной схемы (самоудерживающееся реле) 7.2.2. Последовательностные цепи Последовательностные системы (sequencing system), т. е. системы управления порядком операций, уже были описаны в разделе 3.7. В таких системах выход зав^ сит не только от текущих значений на входе (как в комбинационных сетях), но и предыдущих входных сигналов и состояний системы. Соответствующее графичес- кое представление должно, следовательно, включать операции записи и обоз ние состояний в различные моменты времени. Многие последовательности опе ций можно описать, например, с помощью принципиальных схем и 0ПРед^1Ь,у некоторым числом состояний, где каждое состояние будет связано с конкрет управляющим воздействием. На принципиальной схеме можно представить различные состояния или ша в каждый момент времени схема находится только в одном из них. Следовате необходим некоторый исполнительный управляющий сигнал для перехода от ОД^ состояния к другому. Этот управляющий сигнал подается при удовлетворении с ветствующего условия (естественно, это условие может быть сложной комбинат управляющих сигналов). Он действует как сигнал сброса для одного шага и как нал установки для следующего (ср. рис. 7.18). То есть процесс последовательное го управления можно описать как каскад элементов типа SR, где каждый шаг с° , ветствует горизонтали принципиальной схемы (рис. 7.19). Каждый управляю1 ррИНЫиПиаЛЬНЬ|е схемь| переводит следующий триггер в состояние S. Выполнение происходит шаг за С11ГЙ и после последнего возвращается на начало последовательности (Шаг 1). практике Шаг 1 инициируется с помощью кнопки старта или, в случае зам- ft исполнительной последовательности, автоматически после выполнения по- кН-' г0 щага. Когда последний шаг выполнен и условие перехода к первому шагу cJI четворено, подается питание на катушку Шага 1, и самоудерживающееся реле '^аняет ее включенной даже после исчезновения первого условия. Выходной сиг- С первого шага также подает питание на входные контакты “шаг 1”, соединенные К1\едовательно с контактами условия для второго шага. При выполнении этого ус- човия реле Шаг 2 замыкает цепь для устройств Шаг 2, и в то же время размыкает цепь дчя устройств Шаг 1. Последующие шаги выполняются таким же образом. Очевид- но что для повторяющейся последовательности необходимо последний шаг соеди- нить снова с устройством Шаг 1. с- 7.19. Последовательные операции в нотации принципиальной схемы т Черех поРяДок смены состояний называется асинхронным (asynchronous). Если К ОчеРедномУ шагу происходит по сигналам таймера, то это называется син- ^nchr^us) управлением. Таким образом, асинхронная система опреде- Ма-].ц Как Управляемая событием, а синхронная временем. В промышленной авто- бол,Ке синхронный контроль встречается намного чаще, поскольку операции ХШйНСтва станков и оборудования и, соответственно, изменение их состояния, Цц ее зависят от выполнения набора условий, чем от расписания. При проектиро- и Управляющих последовательностей необходимо иметь ввиду, что входные
294 Глава?. Комбинационное и последовательностное ------------------------ ----------------- сигналы должны сохранять свое логическое состояние в течение всего пре\1е|( полнения соответствующих операций. Если это не так, то необходимо позабо ИвЬ1' об их буферизации. ТйТьСя 7.3. Программируемые логические контроллеры 7.3.1. Назначение и функции Программируемые логические контроллеры (ПЛК, programmable logic controller PLC) — это специальные микрокомпьютеры, предназначенные для выполнения он ций переключения в промышленных условиях. Это название в действительности не верно, так как ПЛК сегодня могут гораздо больше, чем просто выполнять логически операции. Однако эта аббревиатура сохранена, чтобы избежать путаницы с более об щими терминами “программируемые контроллеры” и “персональные компьютеры" (оба по-английски “PC”). ПЛК генерирует выходные сигналы “включить/выключить" для управления исполнительными механизмами — электродвигателями, клапанами лампочками и т. п., которые являются неотъемлемой частью систем автоматизации во всех отраслях промышленности. Основные операции ПЛК соответствуют комбинационному управлению логичес- кими схемами. Кроме того, современные ПЛК могут выполнять другие операции, например функции счетчика и интервального таймера, обрабатывать задержку сиг- налов и т. д. Основное преимущество ПЛК заключается в том, что одиночная ком- пактная схема может заменить сотни реле. Другое преимущество — функции ПЛК реализуются программно, а не аппаратно, поэтому его поведение можно изменить с минимальными усилиями. С другой стороны, ПЛК могут быть медленнее, чем ре- лейная аппаратная логика. Оптимальное решение для каждого конкретного прило- жения можно получить, применяя обе технологии в одной системе так, чтобы ис- пользовать преимущества каждой из них. Первый ПЛК был разработан в 1968 году группой инженеров компании General Motors. В соответствии с первоначальной спецификацией устройство должно быть несложным в программировании, модификация программы не должна требовать изменения аппаратной части, размеры должны быть меньше, чем у релейных и пол) проводниковых аналогов, и, наконец, обслуживание и ремонт должны быть макси мально просты. Дополнительно новое устройство должно было быть конкурентоспо собным по издержкам эксплуатации. Эти требования следует рассматривать в све« того, что в конце 1960-х - начале 1970-х годов еще не было малогабаритных прогр^ мируемых устройств (микропроцессор был изобретен в 1971 году.). Исходные ТР вания вызвали значительный интерес у инженеров с точки зрения применения в промышленном управлении. ПЛК на основе микропроцессора был впервые соз в США в 1977 году компанией Allan-Bradley Corporation. Он содержал микро Р цессор Intel 8080 и дополнительные схемы, позволяющие с высокой скоростью пр изводить логические битовые операции. Первые ПЛК были сконструированы только для простых последовательност _ операций с двоичными сигналами. Сегодня на рынке существуют сотни различных делей ПЛК, которые различаются не только размером памяти и числом каналов ви°Д ' вывода (от нескольких десятков до нескольких сотен), но и выполняемыми функД15 ми. Небольшие ПЛК предназначены в основном для замены реле и имеют некоторь* 295 ограммируемые логические контроллеры нительные функции счетчиков и таймеров. Более сложные ПЛК обрабатывают Д°п° r0Bbie сигналы, производят математические операции и даже содержат контуры Явления обратной связи, как ПИД-регуляторы, описанные в главе 6. ''ПРконСТРУКТИВНО ПЛК обычно приспособлены для работы в типовых промышлен- усдовиях, с учетом уровней сигналов, термо- и влагостойкости, ненадежности НЬ'Х Яников питания, механических ударов и вибраций. ПЛК также содержат специ- интерфейсы для согласования и предварительной обработки различных ти- пов и уровней сигналов. Функции ПЛК все чаще применяются в устройствах ввода/ вывода, входящих в состав больших интегрированных систем управления (раз- дел 9 6). Типичный серийный ПЛК показан на рис. 7.20. IIIHhP.nilihm ипнпннп ........... ...... A Alfa Laval SatiCon05-Si rn.ine IIIIIIIIIIIHIHIIIIIIH Рис. 7.20. Пример компактного ПЛК для промышленного применения. Кабели ввода/ вывода присоединяются непосредственно к устройству (с разрешения Alfa Laval ™Jtomation, Швеция) Роц^^а М0ЖН° пРогРаммиРовать различными способами — с помощью ассембле- ра Д° НЫХ КОманд’ пР°блемно-ориентированных языков высокого уровня или Кци ™ описанием операций последовательностного управления с помощью фун- Рио аЛЬНЫХ каРт (РазДел 7.4). В Европе наиболее популярно использование фун- д0 с Нальных блоков с графическими символами логических элементов, а в США Ра цХ П°Р достаточно шиРОко распространены принципиальные схемы. Однако ы,, Оследних метода постепенно заменяются BASIC-подобными языками про- Мммирования. Фод4 РИС' 7’21 показана основная структура программируемого логического кон- фу ЛеРа- Сначала входные сигналы считываются в регистр буферной памяти. Эта Кция всегда включается в системное программное обеспечение ПЛК и не требу- емого программирования пользователем. Входной регистр может состоять и из
296 Глава 7. Комбинационное и последовательностное ynpaBj]( 297 одного бита, и из целого байта. В последнем случае один оператор считывал^ дет выдавать одновременно значения восьми входных бит. &у- фаза 1: ввод данных фаза 3: вывод сигналов фаза 2: обработка 00 01 02 03 04 05 06 07 10 И 12 13 14 15 16 17 входной регистр выходной регистр 20 21 22 23 24 25 26 27 30 31 32 33 34 35 36 37 программируемые логические контроллеры для малых ПЛК составляет примерно 15-30 мс, и это время приблизительно ’^опционально размеру программы. п Скорость Реакции ПЛК, очевидно, зависит от продолжительности цикла, по- v в0 время исполнения программы процессор ПЛК не может считывать или сК° on какие-либо новые сигналы. Обычно это не очень серьезная проблема, так большинство сигналов в промышленной автоматике изменяются сравнительно Тленно либо имеют относительно большую продолжительность. Небольшого набора базовых машинных команд, как правило, достаточно для боль- шинства задач последовательностного управления. Программа, состоящая из этих ко- чанд называется списком команд (instruction list). Некоторые основные команды пере- числены ниже; обычно они могут оперировать как битами, так и байтами. Id, Idi and, ani загрузка значения из входного порта в сумматор, непосредственно (Id) либо с инверсией (Idi); операция AND или NAND между значениями в сумматоре и на входном порту; результат сохраняется в сумматоре; or, ori операция OR или NOR между значениями в сумматоре и на входном порту; результат сохраняется в сумматоре; out содержимое сумматора копируется в конкретный выходной порт и уп- равляет выходными сигналами; значение в сумматоре не изменяется, по- этому его можно подвергнуть дальнейшей обработке или переслать на другой выходной порт. входные сигналы выходные сигналы Рис. 7.21. Основная структура программируемого логического контроллера (цифра- ми обозначены различные входные и выходные каналы) Программа может выбрать входное значение из этого регистра и затем обработать отдельно или вместе с другими данными. Выработанный результат можно либо со хранить для дальнейшей обработки, либо направить на выход. Пример 7.4 Программирование ПЛК с помощью Принципиальной схемы и списка команд Логические операторы управления для ПЛК можно описать как с помощью принципиальной схемы, так и списка команд (рис. 7.22). 7.3.2. Основные команды В системах промышленной автоматики ПЛК должны работать в режиме РеалЬ^ го времени, т. е. быстро реагировать на внешние события. Ввод и обработка вне сигналов осуществляется в ПЛК двумя способами — по опросу или по пРеРы11ц[Нце (раздел 10.6.4). Основной недостаток опроса — можно потерять некоторые ®не^хОд события, если ПЛК не обладает достаточным быстродействием, хотя такой п проще для программирования. Управление по прерываниям сложнее для пр мирования, но риск пропустить какое-либо внешнее событие намного мензШ^((е цс равления по опросу обычно вполне достаточно для простых систем, а управл прерыванию используется в сложных случаях. Программирование ПЛК в основном представляет собой описание управля последовательностей. Функции ввсда/вывода уже реализованы в базовой ^1Г граммном обеспечении ПЛК. Программные инструкции, задаваемые одним я3 г санных выше способов (раздел 7.3.1), транслируются в машинный код ПЛК- ^^рсг пение программы происходит в бесконечном цикле. Каждый полный цикл сКа Управляющие операторы ПЛК в виде принципиальной схемы и списка ко- LD Ill OR Oil AND 112 AND 113 OUT Oil OUT 012 LDI 112 OUT 013 еНньИЧеСКая последовательность или принципиальная схема часто бывают развет- и> что вынуждает сохранять промежуточные данные для позднейшей обра-
298 Глава 7. Комбинационное и последовательностное -------------------------—------------------ ботки. В релейных схемах это можно сделать с помощью специального реле (с удержанием); в ПЛК для этих целей существуют операторы orb (OR Block) ил^0 (AND Block), которые помещают свой результат в стековую память ПЛК. Пример 7.5 Программа 1. Использование внутренней стековой памяти ПЛК — принципиальная схема и список команд На рис. 7.23 показана принципиальная схема. Рис. 7.23. Пример использования стековой памяти в принципиальной схеме Соответствующий ей список команд: Id И значение из канала 1 считывается в сумматор (А); and 12 результат операции AND сохраняется в А; Id 13 содержимое А помещается в стек, а значение из канала 3 считывается в А; and 14 операция AND со значениями из каналов 3 и 4; результат сохраняется в А; orb операция OR между значениями сумматора А и последним сохранен- ным в стеке значением; при этом результат остается в сумматоре А, а временный элемент удаляется из стека; out О1 вывод значения А в канал 1. Пример 7.6 ___________ Программа 2. Использование внутренней стековой памяти ПЛК — функциональные блоки и список команд На рис. 7.24 показана логическая цепь в виде функциональных блоков. Соответствующий список команд: Id И значение из канала 1 считывается в сумматор; and 12 результат операции AND помещается в А; Id 13 содержимое А записывается в стек, а значение из канала 3 считывается в А, and 14 операция AND со значениями из каналов 3 и 4; результат сохраняется в А. Id 15 содержимое А записывается в стек, а значение из канала 5 считывается в А, and 16 операция AND со значениями из каналов 5 и 6; результат сохраняется в А, orb операция OR между сумматором А и последним сохраненным в стеке значением; результат остается в А, а временный элемент удаляется ИЗ стека;
няммируемые логические контроллеры Протру.—------------------------------ 299 оперирует с последним элементом стека — т. е. результат операции AND между данными из каналов 1 и 2 — и содержимым сумматора А; out 01 результат помещается в А, а последний элемент стека удаляется; вывод значения А в канал 1. Рис. 7.24. Пример логической цепи в виде функциональных блоков 73.3. Дополнительные команды ПЛК Базовый набор команд программируемого логического контроллера может включать логические операции XOR, NAND, NOR и др. Кроме того, современные ПЛК имеют операторы для обработки буквенно-цифровых данных и для связи с внешними устрой- ствами, а также дополнительные функции в виде счетчиков, таймеров и генераторов импульсов. Импульсные сигналы можно, например, использовать для сброса (обнуле- ния) внешнего счетчика. С помощью модулей задержки входные и выходные сигналы (г°*Н° СдвинУть по времени. Более сложные ПЛК могут генерировать прямоугольные с angular pulses) и пилообразные импульсы (ramp functions), а также содержать алго- итмы фильтрации сигналов и управления с обратной связью. 7 7 3 д •4- Программирование ПЛК рОйП]?К обычно программируются с помощью внешних устройств — программато- рам ЭК пРавило>эти устройства не нужны для непосредственной работы ПЛК. Про- 'аТИй аГ°Рьг ~ это либо ручные специализированные устройства, либо обычные пор- р Ные персональные компьютеры. МмУЧН0Й пРогРаммат°Р ПЛК выглядит как большой карманный калькулятор с про- 1нЫй^ИСГ1ЛееМ Каждый логический элемент принципиальной схемы или програм- g оператор вводится специальными клавишами или их комбинацией. cOfi °Лее м°Щный и набирающий популярность вид программатора ПЛК — это пер- А Ьный компьютер с графическим дисплеем. Обычно дисплей показывает не- Ьк° горизонталей принципиальной схемы одновременно. Для облегчения отлад-
300 Глава 7. Комбинационное и последовательностное ^Рав- ки и тестирования на экране иногда показывают ток, протекающий по кажд0 “ при выполнении операции, чтобы сразу был виден эффект влияния входа ЙЛ1#111^ В некоторых случаях можно программировать, рисуя на дисплее схемы из ВЬ1!!0' нальных блоков, каждый из которых вводится комбинацией клавиш и/илц KI”Ifj' ется мышью из заранее сформированной таблицы. ВЬ1^и₽а- В последнее время все чаще применяются языки высокого уровня ц0 сложные функции, например обработку аналоговых сигналов или специальн ритмы регулирования, нельзя удовлетворительно описать с помощью огранич61"7 числа заранее определенных символов. Поддержка программирования ПЛК 6НН°Г’ ке высокого уровня становится обязательным условием по мере возрастания ности операций. CJIOil:’ Новый стандарт IEC 1131-3, ранее называвшийся IEC 65A(SEC)67, опредедяе пять типов языковых средств для программирования ПЛК: - список команд (instruction list — IL); - функциональная блок-схема, т. е. схема на основе функциональных блоков (function block diagram — FBD); - принципиальная схема (ladder diagram — LD); - функциональная карта (sequentialfunction chart — SFC); - язык типа “структурированный текст” (structured text) с синтаксисом, подоб- ным языку программирования Pascal. Структурированный текст и список команд представляют собой формулировку ал- горитма в виде текста. Функциональная блок-схема, принципиальная схема и функни ональная карта являются, наоборот, графическим представлением функций и струк- туры логических цепей. Таким образом, международный стандарт IEC113F гарантирует широкий спектр возможностей для программирования ПЛК. 7.4. Функциональные карты 7.4.1. Синтаксис функциональных карт Необходимость структурирования процесса последовательностного управлени’ для небольших задач не сразу очевидна, но по мере того, как увеличивается ность управляющих действий, хорошее функциональное описание становится тельным. Принципиальные схемы и функциональные блок-схемы не являютсяг статочно мощным средством структурированного описания логических выраЖ Для анализа задач управления методом “сверху вниз” (“top-down”) и °'п,саИ^ н3 равляющих последовательностей был разработан инструмент, который звание функциональные карты (sequentialfunction chart). Сегодня функцион ( карты как средство программирования предлагаются несколькими произвол ми ПЛК — Grafcet (Telemecanique), GRAPH-5 (Siemens), HI-FLOW (Hitac^^ Основные идеи, заложенные в эти языки, одинаковы, а различия имеют второ ный характер. й Функциональную карту можно рассматривать как специализированн .. для описания управляющих последовательностей в виде графической схемы- цу 1970-х годов первый язык функциональных карт — Grafcet (GRAphe de СоГП „ft' Etape-Transition, фр. “Функциональная карта — пошаговый переход”) — был р 301 (Позиции и позже стал основой для разработки международного стандарта гаН в° /«Подготовка функциональных карт для управляющих систем"). [ЕС ° ,зональные карты описывают управляющие последовательности с помо- Ф^раиее определенных правил для: ЙЬ1° правляющих действий, которые необходимо произвести в определенной по- следовательности; деталей исполнения каждого шага. функциональная карта, соответственно, разделена на две части (рис. 7.25). По- ковая часть (sequence part) описывает последовательность главных управляю- ллх шагов (левая сторона рис. 7.25 из пяти блоков), но не содержит исполняемых действий, которые описываются предметной (object), или управляющей (control), ча- -тЬю, состоящей из блоков справа от “шагов”. Каждое действие должно быть связано -каким-либо шагом и может быть описано принципиальной схемой, логической це- «ью либо булевым выражением. Комментарий это выражение принимает значение “истина”, если датчик уровня показывает “пустой” = 1 и выдана команда “старт” начать заполнение уровень достиг верхнего ограничивающего клапана конец операции заполнения и начало нагрева достигнута заданная температура время ожидания равняется “time out” время ожидания истекло резервуар пуст Ч 7,- °- Функциональная карта управления дозатором
•зиг I лава l. Комбинационное и последовательностное vnn^ -----------------------_------------------ Порядковая часть функциональной карты в соответствии с IEC 848 соСТо столбца пронумерованных блоков, изображающих одиночные шаги. Вертик^ линия, соединяющая каждый блок с последующим, изображает активные со ния (прямые связи). Каждый переход от шага к шагу связан с логическим услов*"1* называемым условием перехода (transition condition) или преемственн (receptivity). Булево выражение для условия перехода записано рядом с малень*110 горизонтальной чертой, пересекающей связь между блоками. Если условие vtta ворено, т. е. соответствующее булево выражение истинно, происходит переход и тема выполняет следующий шаг. Cltc’ На рис. 7.25 приведен пример функциональной карты управления дозатором ре зервуар необходимо заполнить жидкостью, после чего его содержимое должно бь i нагрето до определенной температуры. Через установленный промежуток времени резервуар опорожняется и процесс начинается заново. Сигнал “пустой" указывает на то, что резервуар пуст и его можно наполнить сно- ва. Этот сигнал связан с сигналом “старт" для того, чтобы можно было начать вы- полнение последовательности операций. На Шаге 2 донный клапан закрывается» запускается насос. Сигнал “полный" вырабатывается, когда достигнут предельный уровень жидкости. Программа переходит к Шагу 3; насос отключается и включается нагреватель. Нагреватель работает, пока не будет достигнута заданная температура (сигнал “температура"). В этот момент происходит переход к Шагу 4, нагреватель отключается и запускается таймер. При истечении времени ожидания (“time_ouf) происходит переход к Шагу 5, где подается команда на открытие выпускного клапа- на. Затем вся последовательность повторяется с самого начала. Синтаксис функциональных карт подразумевает, что в любой момент времени каж- дый шаг может быть либо активным, либо неактивным. “Активный” означает, что шаг исполняется. Начальный шаг выделяется на функциональной карте двойной рамкой. “Действие” — это описание команд, которые необходимо выполнить на каждом шаге. С шагом может быть связано логическое условие, шаг становится активным, и соотве ствующие команды будут выполняться только тогда, когда логическое условие уд° летворено. Условное выполнение обеспечивает безопасность управления. С одним шагом можно связать несколько команд. Это могут быть как простые ко манды управления, так и более сложные функции — таймер, счетчики, регулятора процедуры фильтрации или команды для внешнего обмена. Как уже было показан0 в функциональной карте присутствует функция перехода, т. е. своего рода гран между двумя шагами, которую можно перейти только после завершения шествующего ей активного шага. После перехода новый шаг становится актив а предыдущий — неактивным. Переход управляется логическим условием и Р ходит только при его выполнении. торЯ- Синтаксис функциональных карт позволяет гораздо больше, чем просто1100 ющееся исполнение одних и тех же управляющих операторов. Все три функций ных элемента — начальный, шаг(и) и переходы — могут быть связаны различ способами, что позволяет описывать большое количество сложных процессов- можны три типа комбинаций: - простые последовательности; - ветвление (альтернативная параллельная последовательность); - расщепление (синхронная параллельная последовательность). зиз фуНКЦИ2^ЛЬНЫеКаР^- остой последовательности (simple sequence) существует только один переход $ "юбого шага и только один шаг после любого перехода. В альтернативной парал- [ЮсЛеЛо последовательности (alternative parallel sequence) существуют два или более 1ельн°и ^сле одного шага (рИС. 7.26). В этом случае исполнение может пойти по пеРеХ „ртвям в зависимости от внешних условий. Обычно это условия типа “если- PaJ „ которые полезны при описании, например, аварийных ситуации. т0-ина > п_ ' ’26- Альтернативные параллельные ветви — выполняются только действия, р НаДлежащие одной ветви g ся, Чт^ПьтеРНативной параллельной последовательности очень важно удостоверить- ‘1РУгимиСЛ0ВИе выб°Ра оДной из ветвей программы непротиворечиво и однозначно; 6етвь а словами, альтернативные ветви нельзя запускать одновременно. Каждая л°Гйче теРнативной параллельной последовательности должна всегда начинаться g СКим условием перехода. Г|°сле хРонной параллельной последовательности (simultaneous parallel sequence) 11Ь1Мц Перехола предусматриваются два или более шагов, которые могут быть актив- йатеЛьлДНОвРеменно (рис. 7.27). Таким образом, синхронная параллельная последо- °сть представляет собой одновременное исполнение нескольких действий.
3 4 305 I лава I. комбинационное и последовательностное уппаь. ------------------------------------------— Рис. 7.27. Синхронные параллельные ветви Двойные горизонтальные линии указывают на параллельное исполнение. При выполнении условия перехода обе ветви становятся активными одновременно и вы полняются независимо и параллельно. Переход к шагу, расположенному после ни* ней двойной горизонтальной линии, может произойти только после завершения одновременно выполнявшихся ветвей. Это соответствует нотации cobegin-coeB языков программирования реального времени (раздел 10.1.3). 0. Все три типа конструкций можно использовать вместе, но с известной остор стью, чтобы избежать потенциальных конфликтов. Например, если ветви альт тивной последовательности оканчиваются графическим символом конца парал ного исполнения — две горизонтальные черты, — то дальнейшее развитие невозможно, так как компьютер будет ждать завершения работы обеих ветвей, из-за альтернативного условия была запущена только одна из них. Возможна обратная ошибка: если параллельные ветви, которые должны закончиться оДн менно, соединены знаком завершения альтернативы — одна горизонтальная чер то множество разных шагов могут остаться активными, а дальнейшее развитие цесса может принять неуправляемый характер. фуНКциональные карты •/А—— ^ойечно, компилятор обычно распознает такие несоответствия начала и конца пуКции и выдает предупреждение пользователю до запуска программы. Но к° е при использовании лучших компиляторов многие ошибки остаются скрытыми „^распознаваемыми. Структурный и методичный подход к программирова- " до всегда является важным требованием. 4 2. Реализация функциональных карт Программы, написанные с помощью функциональных карт, работают в режиме еального времени, и аналогичными свойствами должен обладать порождаемый ими ^шинный код (соответствующие детали обсуждаются в главе 10). Обычно реализа- ция систем реального времени требует больших усилий и значительных затрат вре- мени и труда. Однако в этом конкретном случае большая часть бремени ложится на разработчика компилятора языка функциональных карт, а пользователь может пи- сать сложные управляющие последовательности сравнительно простым способом. Все проблемы программирования в реальном времени, обсуждаемые в главе 10, име- ют значение и при разработке программируемых логических контроллеров, однако конечного пользователя они касаются опосредованно и в достаточно малой степени. Компиляторы функциональных карт существуют для многих платформ промыш- ленного управления. Широко применяется метод кросс-компиляции — программа разрабатывается и компилируется на одной платформе, обычно на ПК, а затем гото- вый исполняемый код загружается в ПЛК. Некоторые компиляторы включают сред- ства эмуляции, которые показывают процесс исполнения программы на экране ком- пьютера без подключения к ПЛК. Кроме того, существуют ПЛК со встроенными компиляторами. Очевидное преимущество абстрактного описания в виде функциональных карт — это независимость от конкретной аппаратной части и ориентация на выполняемую задачу, а не на компьютер. К сожалению, языки высокого уровня типа функциональ- ных карт пока не имеют той популярности, которую заслуживают. Странно, что так Много программистов все еще продолжают работать на ассемблере или на С даже тех СлУчаях, когда задачу можно намного проще решить на языках описания функ- циональных карт. ра в Л1°бом сложном описании системы, диаграмма или программа должны быть леНИцН° стРУктурированы. Реализация функциональных карт должна позволять де- гице пР°гРаммы на небольшие части. Например, каждый станок сложной техноло- ^ско^11 линии может иметь свой собственный граф (номограмму), а затем графы Ши ЛЬКИХ станков Должны объединяться. Такое иерархическое структурирование ьшайно важно при программировании больших и сложных систем (глава 12). Г10лезнНКЦИОНаЛЬНЬ1е каРты применяются не только для сложных операций, но очень н Ы И ДЛЯ ПРОСТЫХ заДач. Неспециалисту проще понять функциональные карты, 1яетс ^ПримеР> принципиальные схемы. Достоинством общепринятого стандарта яв- ПеРен°симость исходного кода между различными платформами вне зависи- Тп °Т аппаРатных особенностей среды- 'То НСЛяция функциональных карт в машинный код зависит от специфики ПЛК и %йСТРументаРия (системного программного обеспечения), так как не все устрой- “Нук,Ме,От КОмпилятоРЬ1- Тем не менее, даже если Функциональные карты не преоб- Тся в программный код, сами диаграммы исключительно полезны, поскольку
dUO I лава /. омоинационное и последовательностное --------------------------------------------- они предоставляют пользователю инструмент для анализа и структурирования чи. Некоторые компании используют функциональные карты для описания в ностей и методики применения своего оборудования. Конечно, было бы н проще, если бы функциональные возможности карты применялись на всех эт Н°' технического задания до непосредственного программирования. а*с 7.4.3. Применение функциональных карт в промышленном управлении В этом разделе рассмотрено применение функциональных карт для прогп мирования задачи управления порядком операций на участке гибкой произво ственной линии. Пусть участок состоит из трех станков с числовым программны управлением, например сверлильного, токарного и фрезерного, робота для псда материалов, а также промежуточного склада — буфера (рис. 7.28), Рис. 7.28. Структура производственного участка На уровне участка не рассматриваются конкретные контуры управления станка- ми или роботом — каждый из них имеет свою систему управления, — а цель заключа ется в координации их работы. Задача из управления порядком операций и ихсинх ронизации в режиме реального времени (глава 10). Ниже приведен пример описания алгоритма управления средствами функциональной карты. Исполняемый код и сиг налы управления зависят от аппаратной платформы и компилятора. Деталь должна быть обработана в заданном порядке каждым из трех станков, дача робота — перемещение деталей между станками. Синхронизация станков производится с помощью графа “Диспетчер , СТРУ ра которого показана на рис. 7.29. Диспетчер взаимодействует с каждым стаН^еН с роботом и определяет, когда станок может начинать работу и когда робот Д° переместить деталь. Функции диспетчера похожи на функции планировщика стеме реального времени (глава 10), хотя в действительности это разные в Диспетчер производственного участка должен наиболее эффективно поДе между станками общий ресурс — в данном случае робота, — при этом он Д° гарантировать отсутствие блокировок, связанных с этим ресурсом. Если, н мер, робот взял обработанную деталь со станка и ему некуда ее положить, то ра участка остановится. Следовательно, диспетчер должен сравнивать запрось1> функйиональные каРТЬ| — ^дие от станков, с доступными ресурсами — занятостью робота и объемом рис 7.29. Коммуникационная структура производственного участка Граф “Диспетчер” производственного участка содержит несколько параллельных ветБей - по одной на каждый станок, для робота и для буфера. Поскольку все устрой- ства работают одновременно, диспетчер должен управлять ими параллельно, обме- ниваясь синхронизирующими сигналами типа “Начать” и “Готов”. Когда станок по- лучает от диспетчера команду начать работу, он должен выполнить задачу, описанную в функциональной карте. Когда станок заканчивает исполнение, он по- сылает диспетчеру сигнал “Готов”. На рис. 7.29 показано, что ни один станок не взаимодействует с роботом напря- мую. Вместо этого все коммуникационные сигналы передаются через диспетчера. Сигналы служат условиями перехода по каждой ветви функциональной карты. Та- кая структура графа позволяет добавить новый станок на участок, не меняя програм- му для других станков. Должен быть модифицирован только алгоритм управления роботом, в который добавляются операции для обслуживания нового станка. Хорошая реализация функциональных карт поддерживает иерархическое струк- турирование задачи управления. Работа производственного участка состоит из опе- рации по управлению отдельными станками. Эти операции, в свою очередь, можно Разделить на более мелкие части. Порядок управления каждым станком определяется отдельной функциональной Управляющая последовательность для сверлильного станка показана на нок^СЛ°ВИе “Начать свеРление” представляет собой сигнал от диспетчера. Если ста- туа Т ПОДТвеРдил этот сигнал в течение времени й?и_1, то возникает аварийная си- еСЛи Я и происходит переход к альтернативной параллельной ветви. Аналогично, РийнСВеРЛ0 Не достигло заготовки за определенное время, то возникает другая ава- Но СИТуация' Карта для сверлильного станка может показаться слишком длин- 1еРна °На содеРжит необходимые проверки допустимости очередного шага и аль- °®Раб ВНЫе ПУТИ как следствие аварийных ситуаций. После завершения станком ^На”0?11 детали переменная ‘'Сверлильный станок готов” принимает значение “ис- *3рте Та пеРеменная является логическим условием перехода в функциональной ДИспетчера. Диспетчер теперь может послать роботу сигнал взять деталь со рЛЛьного станка. Ч(, От выполняет операции, которые описываются в функциональной карте как Рнативные параллельные ветви, например: Взять деталь со станка;
j uidBd/, \имиинацио но и о овательностноеvnr>^ ----------------------------------- - поместить деталь в буфер; - взять деталь из буфера и поместить ее на станок. Рис. 7.30. Начало функциональной карты, описывающей последовательность опера- ций сверлильного станка Последовательность операций на производственном участке можно описать в ма шинном коде или как принципиальную схему. Однако длинные программы на язы ках низкого уровня неудобны для человека — в них трудно разбираться, их тру отлаживать и сопровождать. Для языков высокого уровня, таких как функционал ные карты, собственно программа является хорошей документацией. 7.5. Заключение Бинарное управление является основой многих автоматизированных сиСТе^е Оно основано на теории переключательных систем. Важное практическое следст этой теории - с помощью нескольких универсальных логических элементов (Is1 NAND) можно реализовать все типы комбинационных сетей.
309 .. Заклюй дествует два класса систем управления последовательностью — комбинацион- дОСледовательностные сети. Комбинационные сети не имеют памяти, и выход- ^значение является логической функцией текущих входных значений. Последо- Н°е цостные сети обладают памятью, поэтому есть возможность отложенного ваТеЛдНения шагов. Управление последовательностью исполнения может быть либо BbII1°DOnHbiM, либо асинхронным. В большинстве промышленных приложений систе- С правления действует асинхронно, т. е. порядок исполнения управляется внеш- 'имй событиями и условиями, а не периодическими сигналами таймера. Логические элементы можно реализовать с помощью различных технологий — елейных компонентов, интегральных схем, программируемых логических матриц и программного обеспечения управляющей ЭВМ или программируемых логических контроллеров. ПЛМ и ПЛК приобретают все большее значение при реализации ло- гических сетей либо управляющих последовательностей. Описать последовательностную сеть можно с помощью схем логических элемен- тов либо с помощью принципиальных схем. Однако эти методы не подходят для сложных схем управления, поэтому для их структурного описания необходимы бо- лее мощные инструменты. Хороший язык описания должен допускать иерархиче- ское структурирование программы. В этой главе для демонстрации некоторых прин- ципов последовательностного управления использовалось описание с помощью функциональных карт в соответствии со стандартом IEC 848. Рекомендации по дальнейшему чтению Теория переключательных схем описана в большом количестве специальных учебников. [Lee, 1978] и [Fletcher, 1980] подходят для первого знакомства с предме- том. [Pessen, 1989] содержит хороший обзор датчиков, исполнительных механизмов, переключательных элементов как для электрической, так и для пневматической тех- ники управления. [Warnock, 1988] приводит много практической информации по 1К, их конструкции и применению. Следует отметить, что инструкции по эксплуа- тации, выпускаемые производителями, являются хорошим источником информации 1К, их программировании и практическом применении. та 2атьи элементной базе, ПЛК и обзоры рынка регулярно появляются в журна- J ontrol Engineering, Instrument & Control Systems, Machine and Design, а также °duct Engineering.

Системные шины Открытая архитектура ЭВМ. Основные принципы работы сис- темных шин. Параметры и конфигурация шины для задач про- мышленного управления Обзор Системные шины широко используются в приложениях автоматизации — они позволяют выбрать оптимальный состав аппаратной части для конкретной задачи '•правления. Подход к изучению и применению шин существенно отличается от под- хода для обычных вычислительных систем — при проектировании и эксплуатации последних в центре внимания находится центральный процессор, а в системных ши- нах главным является механизм обмена данными. В промышленных установках применяется около десятка различных типов сис- темных шин. Прямое их сравнение затруднительно, поскольку каждый тип шины от- ражает уровень техники и ожиданий своего времени. Существуют как закрытые фирменные разработки, являющиеся запатентованной собственностью компаний, так и решения, поддерживаемые организациями по стандартизации и открытые для всеобщего применения. В компьютерной индустрии существует согласие, что целе- сообразно иметь несколько не связанных с какой-либо определенной моделью про- фессора шинных архитектур, развитие которых определяется не отдельным произво- дителем, а признанной организацией по стандартизации. Глава начинается с исторического вводного обзора общих принципов и функций щин (раздел 8.1). Более подробное описание работы шин дано в разделе 8.2, в кото- НаибКЛЮЧеНЬ1 некотоРые практические рекомендации по подготовке шин к работе. °Лее важные типы шин, применяемые в промышленной автоматизации, — это Фено1 MEbus и PCI. Более подробное описание шины VMEbus в разделе 8.3 приве- деле.И ДЛя свеДения, и как расширение общего описания, данного в предыдущем раз- ’Лин' ЭТ°Т МатеРиал в основном представляет интерес при практическом применении «ец Данного типа и может быть пропущен без потери связности изложения. Нако- EiSA ?>а^еЛе 8'4 пРедставлен краткий обзор нескольких важных системных шин — ’ 1 CI ц др Переход от централизованной к Распределенной архитектуре Роце^а10Щий прорыв в применении ВТ для систем управления промышленными )ЁС')СаМИ ^ЫЛ сделан в году, когда компания Digital Equipment Corporation ilex' Спустила ЭВМ PDP-8, за которой в 1970 году последовала PDP-11. Своим , Модельный ряд PDP обязан не только низкой цене (в то время они стоили ^0 000 долларов США за штуку, что было заметно дешевле других ЭВМ), но и
312 Глава 8. Системные^ тем, что он основывался на “открытой” шинной архитектуре. Пользователи ,\frj. выбирать наиболее подходящий для своих нужд состав аппаратных средств и щ '1( батывать свои собственные интерфейсные платы на основе открытых — опубЛй' ванных — спецификаций шины. Мини-ЭВМ типа PDP были весьма поцуЛя °' в промышленности и дали толчок развитию OEM-компаний1, специализирую^ ’ на конкретных приложениях вычислительной техники. Другие производители последовали примеру компании DEC и разработали нов^ стандарты шин. Возможность выбрать аппаратную конфигурацию исходя из требов- ний конкретной задачи управления была решающей в успехе системных цц. Для того чтобы по достоинству оценить революционные изменения, к которцу привела открытая архитектура системной шины, следует начать с общего взглядаг структуру ЭВМ. Аппаратная часть обычно формируется вокруг центрального про- цессора, к которому присоединяются периферийные устройства, выполняющие раз- личные функции, — клавиатура, видеоадаптер, дисководы и платы ввода/вывода (рис. 8.1). При такой конфигурации периферийные устройства могут напрямую свя- зываться только с процессором, и в каждый момент времени только одно периферий ное устройство может обмениваться с ним данными. Рис. 8.1. Базовая структура компьютерных систем Ориентированная на процессор конфигурация принципиально неэффективен скольку вся информация должна проходить через процессор, даже если в этом . обходимости. Если процессор работает намного быстрее, чем присоединенные ^е#а рийные устройства, то дополнительная нагрузка по управлению и организации данными не создает больших проблем. Так было в первые тридцать лет истор тия ЭВМ, однако сегодня ситуация изменилась, поскольку периферийные стали значительно быстрее. Обмен информацией между дисковой и операт^ мятью — основной тип операции при обработке больших массивов данных с)(1 чтобы процессор копировал данные между устройствами байт за байтом. ______________ л с06<^ 1 Original Equipment Manufacturer - компания, выпускающая продукцию под ной торговой маркой на основе комплектующих, поставляемых другими компания* циальному соглашению. Как правило, конечный продукт включает и собственные Р‘ ОЕМ-компании. 313 ререход от централизованной к распределенной архитектуре ввОда/вывода периферийных устройств соизмерима со скоростью процессора, Р00 таком подходе процессор большую часть своего времени будет тратить на пере- ку данных между устройствами. Очевидно, что было бы гораздо удобнее, если бы flJ дферийные устройства могли непосредственно взаимодействовать друг с другом.1 ^[Циннал архитектура позволяет решить эту задачу. Периферийные устройства при- чиняются к общей2 шине, обеспечивающей обмен информацией между ними § 2). В каждый момент времени в такой системе может осуществляться только одна Грация обмена, и поэтому должны выполняться соответствующие правила координа- ции Теперь в центре внимания находится не ЦП, а протокол, т. е. способ, на основе кото- пого платы, присоединенные к шине, обмениваются данными.3 Конкретные детали об- работки информации устройствами, включая ЦП, уже не являются существенными. Щинная архитектура имеет много преимуществ по сравнению с централизованной. Конструкция вычислительныой системы, в которой периферийные устройства расши- ряют ее возможности и не зависят друг от друга, является в целом более эффективной. Рис. 8.2. Структура системы с общей шиной Шинную архитектуру можно рассматривать как частный случай распределенных ^стем, в которых независимые ЭВМ, соединенные каналами связи, совместно реша- Какую-либо задачу. Наиболее важной составляющей распределенной архитекту- авляется организация обмена между подсистемами. Принципиально важно, что ~ В 6ольПшИСаННаЯ СИТуаЦИЯ была характерна для первых ЭВМ, а затем для мини- и микро-ЭВМ. 8в°Да/вь1гГ унивеРсальнь1Х ЭВМ типа IBM/360 (начало выпуска — 1965 год) для операций ПеРи<ЬВ0Д “ ИСПОльзовались специализированные процессоры — каналы, которые управля- Чой памИИНЫМИ уСТР°йствами и обменом информацией как между ними, так и с опера- *дадЬ1^-ТЬЮ' Функция - выдать команду “начать исполнение программы канала”, ^ПрИсоеИШИе операции выполняются каналом и контроллерами устройств. К одному ка- СК°ЛьКимиИНЯЛИ“Ь несколько контроллеров, каждый из которых, в свою очередь, управлял '' Как наиб устроиствами- Основной недостаток такой архитектуры - высокая стоимость, '‘Нал Рабо ЛЬШИИ ВКЛЗД В №Ну ЭВМ вносят процессоры. Преимущество - реальная парал- 'РаЧий на Та нескольких Устройств ввода/вывода и ЦП, а также отсутствие арбитражных ^°бШая ШИНе’ снижающих производительность всей системы. При всех своих достоин- "гИ'Следо ШИНа’ Как станет ясно из Дальнейшего изложения, является разделяемым ресур- ТеРм Вательн0> узким местом вычислительной системы. — Примеч. ред. '1<ИйЫ "общая”’ “системная” и “магистральная” являются синонимами. Иногда для Йр0 ИСпользуется термин “магистраль”. — Примеч. ред. ''*ст8 ессор в такой архитектуре рассматривается просто как одно из “равноправных” ус- РИсоединенных к шине. — Примеч. ред.
315 314 Глава 8. Системны ------- обмен по шине производится машинными словами, т. е. одновременно переда все биты машинного слова. В распределенных сетевых системах обмен произв0 сообщениями высокого уровня, которые на физическом уровне представляют поток последовательно передаваемых бит. Для параллельных шин скорость це чи гораздо выше, однако их физическая длина ограничена несколькими деццм * ми. Последовательные линии передачи имеют меньшую пропускную способное^ могут перекрывать весь мир. Эта глава посвящена описанию работы шин, а в следуй щей рассмотрены сети последовательной передачи данных. Основные идеи, СВяз’ ные с программированием для многопроцессорных и распределенных систем, обст.. даются в главе 10. На развитие архитектуры системных шин влияли не только технические, но Р экономические причины. Основным техническим фактором является продолжу щийся прогресс в миниатюризации электронных схем — и те функции, которые вче- ра выполнялись несколькими интегральными схемами, смонтированными на плате сегодня реализуются одним или несколькими кристаллами. Экономические факто- ры в основном были связаны с рынком, созданным появлением персональных компь- ютеров и соответствующих интерфейсных устройств, который решающим образом повлиял на развитие системных шин. Доступность очень большой вычислительно!; мощности по приемлемой цене оказала положительное влияние и на рост приложе- ний для промышленной автоматики. Требования, предъявляемые типичной промышленной многопроцессорной сис- темой, значительно отличаются от требований домашнего или офисного ПК. В ти- пичной системе, используемой для управления процессом, имеется несколько плат каждая из которых связана с какой-либо частью технического процесса, при этом объем вырабатываемой информации приблизительно одинаков для всех устройств Наоборот, шины ПК, предназначенных для дома и офиса, в первую очередь наций’ ны на управление развитой графикой мультимедийных приложений и интерактив ных видеоигр с высококачественной графикой и звуком — в типичных режимах pafi0 ты ПК только некоторые платы генерируют очень большие объемы информации. Развитие системных шин для рынка ПК проходило скорее под влиянием прил° жений последнего рода, чем определялось требованиями управления процесса “Чистый” принцип главного арбитра или эффективный и управляемый приорите^ ми механизм прерываний не считались существенными для типичных задач Д°^ него или офисного ПК. На практике это означает, что технология ПК может с хом применяться и для задач промышленного управления, часто с зам экономическим выигрышем, однако необходимо иметь в виду, что эти технолог^^ предназначены и не оптимизированы для таких задач. Как это ни странно, сего ний рынок промышленных приложений вряд ли может конкурировать с рынко.^^ для дома и офиса — на видеоиграх и мультимедийных приложениях пока еше & заработать больше, чем на промышленном управлении. су Первые шины строились для определенных процессоров, и их линии были , ществу продолжениями контактов процессора, снабженными буферными ус ствами для увеличения выходной мощности. Процессор непосредственно упР обменом данными и синхронизацией. Более современные конструкции шин, ва тив, проектировались как независимые от процессора — форматы данных И аДР протоколы, т. е. наборы правил, регулирующих обмен информацией, не завис СТруктуРа и принципы работы шин етНой архитектуры процессора. Для модификации системы нет необходимости кровать ее заново, достаточно изменить или добавить элементы с требуемой Пг иоНальностью при условии, что они работают по тому же протоколу, что и ос- Ф- е Части системы. Интерфейс новой подсистемы не нужно согласовывать с су- вуюшими подсистемами, достаточно того, чтобы он удовлетворял механичес- я эЛектрическим параметрам, а также протоколу шины. Эта идеология ^ждается в этой и следующих главах. ° Пр11 разработке нового стандарта шины необходим компромисс в части физичес- цхРазмеР0В плат- Размер платы определяет количество размещаемых на ней логи- чеСких цепей. Благодаря тому что интегральные схемы позволяют реализовать все большее количество функций при меньшем числе компонентов, размеры функцио- нальных плат для промышленного применения последовательно уменьшались до ставших типовыми 15 X 30 см. Платы большего размера могут выполнять большее количество функций, но они, соответственно, дороже. Из небольших плат проще со- брать конфигурацию, соответствующую задаче и, как правило, по более низкой цене, но общее число плат при этом возрастает и они быстрее заполнят имеющиеся разъе- мы; в дополнение к этому они могут загрузить шину более частыми запросами на пе- редачу данных. Поскольку вычислительные возможности постоянно возрастают, экономически целесообразно строить “интеллектуальные” платы, каждую со своим специализированным процессором и локальной памятью. Таким образом, шинная архитектура представляет собой рациональную модульную основу для совместной работы различных процессоров и периферийных устройств. Шины поддерживают модульный принцип построения, который, в свою очередь, обеспечивает необходимую гибкость при появлении новых задач. Это является ре- шающим фактором, особенно если учесть, как часто требуется вносить частичные из- менения при выполнении новой разработки. Шины допускают разделение ресур- сов - несколько независимых процессоров могут использовать одну и ту же память, Зтакже другие устройства, например диски или принтеры. Таким образом, система ^пользуется более эффективно, а ее работа становится более экономичной. теории шин, передаче данных, операционных и распределенных систем есть не- э1о^ЬКО °бщих основных идей. Особенно важной является защита ресурсов — при ной Р6СУРС0М м-ожет быть шина, время процессора, канал связи, область оператив- лрак^,аМЯТи и т-д- Методы решения проблемы защиты ресурсов во всех этих случаях сМот И<1ески °Динаковы. С фундаментальной точки зрения они будут детально рас- 'твен Ь1 В Разделе Ю-3.1, а в этой главе приведены только соображения, непосред- ио касающиеся технологии и работы системных шин параллельного типа. Структура и принципы работы шин 1- Общие характеристики ’'“ИИяТеМНаЯ ШИНа еСТЬ и Физическое, и логическое понятие. С физической точки Шеипа пРеДСтавляет собой набор от 50 до 100 параллельных проводников, од- ,и,., нно передающих электрические сигналы между различными платами с элек- . ими устройствами. Проводники могут быть припаяны к платам, но наиболее Траненный способ - присоединять платы к шине с помощью разъемов (со- млей), которые смонтированы на шине.
Глава 8. Системные 317 316 Логическая сущность шины — это ее протокол, который определяет правцЛа мена и форматы данных, синхронизацию, квитирование и тактирование. Любую ° J ту, физически и логически совместимую с шиной, можно подключить к шине й плата будет работать вместе с другими платами. Информация передается по шине во всех направлениях, т. е. все платы подуЧа одни и те же данные одновременно и должны самостоятельно определять, какие них адресованы именно им. Типичная скорость обмена данными имеет порядок г скольких десятков Мбайт/с. Из-за запаздывания, обусловленного конечной скор0с тью распространения электрических сигналов по проводникам, протяженно^, шины ограничена несколькими дециметрами. Шина и присоединенные к ней плац обычно монтируются в металлической стойке, содержащей набор разъемов, установ ленных на объединительной плате, а также источник питания и охлаждающий вег- тилятор. Ниже перечислены наиболее важные параметры, определяющие архитектур щины. • Механические и электрические параметры (размеры плат, тип разъема, потреби ние мощности, требования к охлаждению). • Ориентирована ли шина на определенный тип процессора или является незав: симой. • Разрядность адреса — объем адресуемой памяти. • Разрядность данных. • Скорость передачи данных, стандартная и максимальная. • Синхронный или асинхронный режим передачи данных. • Тактовая частота (для синхронных шин). • Количество линий прерывания и процедура обработки прерываний. • Механизм назначения ведущего устройства, т. е. устройства, координирующего работу шины закреплены ли эти функции за одним устройством или могут пере- даваться. • Дополнительные характеристики, например автоконфигурация (так называемое свойство “plug and play” — “вставь и работай”). Нельзя сравнивать шины только на основе приведенных параметров. Выбор шины является системным решением, и его анализ имеет смысл, только если всеф торы рассматриваются в совокупности. ,, s Наиболее важными параметрами шины являются разрядность адреса (а width) и разрядность данных {data widthf, а также скорость передачи данных transfer rate). Последняя обычно измеряется в Мбайт/с и определяет максималь^ скорость, т. е. физический предел работы шины в специальных условиях. Это так ваемая техническая скорость передачи данных, в отличие от эффективной, котор' ответствует режиму штатной загрузки. Реальная скорость передачи или пропу f способность {throughput rate) системы может быть намного ниже, поскольку от многих факторов. Необходимо учитывать, при каких допущениях приводимы. . изводителем цифры являются достоверными. Высокая скорость может соотзе 0^^ 1 Употребляется также и калька с английского — ширина шины, т. е. вместо разряд ^pt- данных говорят о ширине шины данных, а вместо разрядности адреса — о ширине 1ИиН са. — Примеч. ред. уКтура и принципы работы шин — ,aii называемому пакетному режиму {burst rate), который достигается с помощью 8аТЬйадьных тестовых программ при определенных условиях, а в штатном режиме пе- а одной порции данных может выполняться гораздо медленнее. 1g тех случаях, когда скорость передачи данных указывается в словах, необходимо ть в виду, что для разных шин длина слова не одинакова, а равна ширине шины И ных, т. е. количеству бит, одновременно передаваемых по шине. Скорость переда- 3 {данНых иногда также называют полосой пропускания {bandwidth) шины данных. ЭТо определение не соответствует смыслу термина “полоса пропускания”, применяе- мого в измерительной технике и связи (разделы 4.1.3 и 9.3.1). В дальнейшем будет использоваться термин “скорость передачи данных”. 8.2.2. Механические характеристики Тенденция к стандартизации в архитектуре шин оказала влияние на параметры основного оборудования, например на размеры плат и типы разъемов. Наиболее рас- пространенным форматом являются 19-дюймовые стойки (раздел 12.2.2), в которых можно параллельно разместить до 21 платы (рис. 8.3). 8.3. Шина VMEbus с 21 разъемом, смонтированная в 19-дюймовой стойке (с раз- решения компании Schroff, Германия) ,оп ппяты известен как “Eurocard” или “euroboard’ । аиоолее популярный размер платы и ппе- >ание связано с тем что платы этого типа первоначально применялись пре т- / d оомрп платы на сегодняшний день включен в стан- Я’ Ев₽””е>- " Европе и в DIN 41494, часть 2 в Герман,,,.- Е 1101 в США, „ой высоты имеет размеры (высота х шири- Ч1йпЬШаЯ плата “Eurocard од т увеличиваться с шагом 133.35 мм, ашири- ’V х 160 мм. Высота платы мо ugurocard” двойной высоты имеет размеры с Шагом 60 мм. Например, плата
318 Глава 8. Системные^ 233.35 х 160 мм. Стойки стандарта 19 дюймов и формат Eurocard используюТСя различных шин, например VMEbus и Compact PCI. а Электрические проводники шины выполнены печатным способом на объеду тельной плате {backplane), на которой также смонтированы разъемы для устано плат с электронными схемами (рис. 8.4). В Рис. 8.4. Объединительная плата 19-дюймовой стойки VMEbus (с разрешения компа- нии Schroff, Германия) Для присоединения плат к шинам используются два типа разъемов — торцевс и штыревой. Торцевой разъем (edge connector) применялся в ранних стандартах пп и сегодня распространен, в частности в ПК, благодаря простоте и низкой стоимоо (рис. 8.5). Однако торцевые разъемы могут давать плохой электрический контаь что приводит к сбоям в работе. Рис. 8.5. Торцевой разъем Лучшими характеристиками обладает штыревой разъем (plug-in connect qC рый гарантирует более высокую механическую и электрическую надеЖн° торцевой. Распространенным типом штыревого разъема является разъем V о О СтрУктура и пРинйипы работы шин 319 -------- --------------------------------- ЙС. 8.6). Существуют варианты исполнения этого сое™* С различным числом контактных штырьков: модель А имеет 32 контакта мод “ 64 и С “ 96 контактов. Модель С позволяет передавать такое количество сигнП°МИМ° адреса’ данных и ‘яужебных сигналов, что можно дополнительно реал11ВаТЬ довольно сложные приложения. Разъемы обычно монтируются на краях эл<ННЫХ ПЛаТ’ ЧТ°бы обеспе~ чйть их присоединение к объединительной панели под г углом' Вь1сокоскорос- тНая шина VMEbus использует именно этот тип разъем™3 Compact PCI исполь- зует 2-миллиметровый штыревой разъем, описанный в ?арте ^С-1076’4’^. овленный на оконечной S (с разрешения компании Schroff, Герм; !"ГТРОННЫе СХеМЫ ШИННОГО интеРФей' ’'к“»«=РфХ"Я ПР”ЩИПОВ Р>6»™ шия ва„„ расс„0'еть электронные компо- :Г’’^"и”ст™ДН"К Ш“Н“ между собой 11а цеп“’ ™ ,!йеНия и по налов и характеристических . Для электрического со- ’ X С ШИН»Й пРименяютсаX™ “ „ “ Т"™’ ™. откры- "е**»» отра’Х’т б”ЛЬН“ Л0ГИКа- РазнЬ!е эле*”™ ” ^^P"™" 3™х S”“™X=cpa6ofiT 1 “ — дя лийс °И ТТЛ-схемы (рис 8 71 В 9т„й -сводящем состоянии на- S”XTeP“3"CT°P Q‘- ”6» Q2 Hot’S” “₽»~ либо СООЛ Пряжения питания минус 1.1 В Л напряжения naQl и ™ Из'3а пап СТСТВует напряжению “земли” плюс 04 р<[1адению напряжения на ,. C|ib" Bbixn еНИЯ напряжения на выходных транзистогЛ В схемах ТТЛ “низкий ДНого напряжения определяется величинптл'ЭТ 9 Д° В’ а “выс°кий пряжением, превышающим 2 В.
320 Глава 8. Системный,. -------о +V кпит 321 О- входы о- QI : D1 --------О выход Q2 Рис. 8.7. Внутренняя структура логического элемента NAND на базе ТТЛ — транзис- торы QI, Q2 и диод D1 образуют выходную цепь-“вешалки” Если нагрузка присоединена к выходу “вешалки”, ток будет проходить через транзисторы Q1 или Q2 в зависимости от логического состояния и от того, присоеди- нена ли нагрузка к источнику (+УПИТ ) или к “земле”. Если нагрузка присоединена между выходом и “землей”, Q1 должен быть в состоянии пропустить ток нагрузки, когда выходное напряжение соответствует логической “1” (высокое). Наоборот, если нагрузка включена между источником и выходом, то Q2 должен потребить ток на- грузки, когда выход “низкий”. В других состояниях не требуется ни питать нагрузку, ни потреблять ток. Рис. 8.7 также иллюстрирует типичную входную цепь ТТЛ. Чтобы ввести ло- гический “0”, входной контакт должен иметь напряжение 0-0.5 В относительно “земли”, но для этого требуется, чтобы какой-либо ток протекал между входным контактом и “землей”, т. е. вход ТТЛ эквивалентен нагрузке, присоединенной кис точнику питания; выходной транзистор Q2 должен быть в состоянии отвести э ток от каскадно соединенных входных цепей. Поэтому устройства ТТЛ также зывают логическими цепями с потреблением тока (current sinking logic). Типичн^ потребляемый ток составляет 1.6 мА при напряжении питания +5 В. ВыхоД^^^ цепи ТТЛ обычно рассчитаны на управление не менее чем десятью другими. ройствами ТТЛ, так что выходной транзистор Q2 должен пропускать ток по ней мере 16 мА. льку Две “вешалки” ни в коем случае не должны соединяться напрямую, пОС^очЯ11к если на одном выходе будет высокое напряжение, а на втором — низкое, то ист _ питания окажется закороченным (рис. 8.8). Транзисторы могут быть повре а броски мощности - послужить источником шума и привести к ошибочной р электронных устройств. . преД’ Другим типом выхода ТТЛ является открытый коллектор (open collector), ставляющий собой последовательное соединение выхода ТТЛ с транзистором, тер которого соединен с “землей”, а коллектор используется как новый ,. (рис. 8.9 а). Когда транзистор проводит ток, выход имеет потенциал “земли u гом состоянии уровень выхода теоретически бесконечен, поскольку выходной £ТруктуРа и принципы работы шин лзолирован от “земли” импедансом. Чтобы при открытом транзисторе задать на таКТ яр напряжение, соответствующее напряжению питания, предусмотрен нагру- дЬ1ХОД с» / С» ГЧ Х\ В чнЫЙ резистор, подключенный к выходу (рис. 8.9 6). Q2 Q2 Рис. 8.8. Соединение двух “вешалок”, приводящее к короткому замыканию, — левый выход имеет логический уровень “1” (Q1 и D1 проводят), а правый выход имеет логи- ческий уровень “О” (Q1 заперт, Q2 проводит) "О +^пит ТТЛ вход о о выход a 1 тении ' ' ?ХеМЭ ° ОТКРЫТЬ1М коллектором: а — Выходное напряжение либо равно по- зисто aJIV 3еМЛИ ’ либ° является неопределенным; б — применение согласующего ре- Ческора Г П0ЛуЧеНИЯ ФиксиРованного выходного напряжения и в состоянии логи- 0 0 , и в состоянии логической “1" Лд рис о иq 8 схеме п ° несколько выходов типа открытого коллектора соединены вместе т°Лько т аСПРеделенного ИЛИ (wired OR). Уровень напряжения на линии высокий ид Of?a’ когда все тРанзисторы заперты, т. е. ни один не проводит ток. Когда Vp0BeHbH более выходов имеют низкий уровень, общая линия также имеет низкий Чо Ха' Схема “распределенного ИЛИ” применяется для обмена информацией об- КажРаКТ6ра’ понятной всем устройствам, например, что все платы готовы к рабо- Чця ДйЯ из плат может задать на линии низкий потенциал, например, для опове- остальных, что она еще не готова. Все платы следят за состоянием линии -
322 Глава 8. Системна. достаточно одной плате “посадить” линию на низкий потенциал, как други,. г- м e сраз», наружат это. Благодаря своей простоте схемы открытого коллектора и “расппе " ного ИЛИ” широко применялись в ранних конструкциях шин. e’1fc; Рис. 8.10. Пример соединения типа “распределенного ИЛИ”. Если хотя бы один тран- зистор проводит, на общей линии “распределенного ИЛИ” устанавливается потенци- ал земли Схема “распределенного ИЛИ” при высоких скоростях работы чувствительна к паразитной емкости линии. Нагрузочный резистор R образует с распределенной емкостью линии С последовательный RC-контур. Из-за этого переход от низкого уровня к высокому замедляется и определяется величиной постоянной времени это- го контура, при этом R нельзя уменьшить произвольно для снижения этой постоян- ной, поскольку большие токи перегрузят транзисторы интерфейса, а распределенная емкость линии С — величина постоянная. В схеме открытого коллектора также возникают проблемы, если в конфигураш111 “распределенного ИЛИ” проводит более чем один транзистор. Когда отключает транзистор, по которому протекала большая часть тока, возникает волна перенапр - жения, распространяющаяся по линии до тех пор, пока не начнет проводить след?1 щий транзистор. Это явление называется “всплеском распределенного ИЛИ ( ®1ге OR glitch"). gll) Современные шины основаны на тристабильной логике {tristate logic) (рис- Два состояния схемы — это логические “высокий уровень” и “низкий уровень , Р состояние называется “плавающим” или “высокоимпедансным”. В этом тРеТхе'1е5- стоянии цепи интерфейса не влияют на линии шины, но состояние линий соо ся внутренним схемам на платах. й Тристабильные схемы применяются главным образом для обмена Данны“ |? ресации. Одна плата управляет шиной с помощью обычных сигналов высоко кого уровня, а остальные удерживают свои выходы в высокоимпедансном сОСТ°оедг одновременно получая сигналы с шины. Выходы тристабильных схем можно нять вместе без всякого риска. Основным состоянием является высокоимпеда вход, и только после явного подтверждения схема тристабильного интерфе1 рейдет к одному из выходных состояний. Такое подтверждение дается только когда плата получает право управлять шиной.
В современных шинах комбинируется интерфейс на основе тристабильной логи- м!для обмена данными и адресами и интерфейс “распределенного ИЛИ” для инди- ,ации готовности к приему и передаче данных, координации операций и посылки •апросов на прерывания. В высокоскоростных шинах тристабильные схемы исполь- ’?ются также вместо схем “распределенного ИЛИ”, чтобы преодолеть свойственный жледним недостаток, связанный с временем нарастания сигнала. При высоких частотах, на которых работают шины, каждый проводник ведет жбя как линия с распределенным импедансом. Как указывалось в описании мйств электрических проводников в разделе 4.5.2, характеристические импе- шсы всех присоединенных устройств и обоих концов каждой линии должны зыть согласованы, иначе будет происходить отражение сигналов. Если уровень Сраженных сигналов достаточно высок, они могут создать помехи нормальной работе. Во избежание отражения сигналов на обоих концах шины устанавливаются спе- 31альные оконечные цепи (termination network) с импедансом, равным волновому №Дансу линии (рис. 8.12). Оконечные цепи демпфируют паразитные колебания, данные быстрыми переходными процессами в линии. Эти цепи либо монтируют- ^посредственно на объединительной панели шины, либо устанавливаются на Ч которые вставляются в разъемы на концах шины (рис. 8.6).
324 Глава8. Системны», 325 8.2.4. Электрический интерфейс шины Проводники шины можно разделить на следующие группы: - линии адреса (адресная шина); - линии данных (шина данных); - линии управления — квитирование, прерывания, синхронизация; - линии питания; - резервные линии. По адресным линиям {address lines) передается адрес на шине источника или по лучателя данных. Стандартная разрядность адреса возросла с 16-20 бит в первое чальных разработках до 32-64 бит в современных системах. Каждая присоединенная плата оперирует в пределах определенного адресного диапазона — подмножества полного адресного пространства шины — и должна самостоятельно определять, ког- да адрес на шине принадлежит ее диапазону. По линиям данных {data lines') передается информация между адресуемыми объектами. Аналогично адресной шине, разрядность шины данных возросла от 8 до 32 или 64 бит. Линии управления {control lines) используются для передачи служебных сигна- лов, например типа операции (чтение/запись), индикации готовности посылать или принимать данные или запроса прерывания для специальной обработки одним из процессоров. Обычно одна из линий передает тактовые импульсы определенной час- тоты, используемые в качестве общего сигнала синхронизации. Большинство плат не имеют автономных источников питания и получают его от шины. Линии питания {power lines), как правило, находятся под напряжением ±5 Ви ±12 В. Полюс источника питания и “земля” обычно присоединяются к нескольким контактам для того, чтобы равномерно распределить ток нагрузки установленных плат между несколькими проводниками. Резервные линии {spare lines) ни к чему не присоединяются; они предназначены для дополнительных функций в случае пересмотра стандарта шины. Кроме того, они могут быть специально оставлены свободными для нужд пользователя. Не все типы линий обязательно присутствуют во всех стандартах шин. Разряд ность адреса и данных может изменяться, количество линий квитирования зависну от протокола, а способы поддержки прерываний отличаются для разных стандар шин. Некоторые линии шины работают при высоком уровне напряжения — выс логическом уровне {active high), а некоторые при потенциале “земли” — низком ческом уровне {active low). Чтобы избежать путаницы, говорят, что линия лиоо вирована {asserted), либо сброшена {negated), независимо от того, относится ли вированное состояние к высокому или низкому логическому уровню, и логический уровень линии указывается в справочной документации звездочкой следующей за названием линии, или надчеркиванием названия, например или NACK. Активные линии, работающие на низком логическом уровне, часто роены на схеме “распределенного ИЛИ”, которая применяется, когда все плать повременно должны быть готовы к выполнению какой-либо операции, — если не готова к работе, она просто задает общей линии низкий потенциал, и остаЛь платы могут распознать эту ситуацию. структура и принципы работы шин Принципы работы шин Протокол {protocol) — это набор правил для координации обмена данными и вм- енения других операций на шине. Эти правила так же важны, как и назначение П°" одников, поскольку обеспечивают совместимость и возможность обмена инфор- ^ией между соединенными платами. Любые операции шины должны быть точно ' оделены в части используемых линий и требуемой синхронизации. Для обеспече- Н совместимости с шиной и, соответственно, с другими присоединенными к шине устройствами плата должна подчиняться протоколу шины. рдата, которая в данный момент времени задает адрес на шине и операцию, которая будет выполняться, называется ведущим устройством {bus master). Ведомое устройство {bus slave) — это устройство, к которому обращается ведущее и которое должно реагировать на его команды. Например, в операции передачи данных между процессором и памятью процессор является ведущим, т. е. устанавливает адреса и указывает операцию — чтение или запись. Плата ОЗУ, являющаяся ведо- мой, опознает адреса и отвечает, считывая данные с шины или передавая их на шину. В некоторых системах ведущим может быть только одно устройство, в дру- гих - права ведущего устройства могут передаваться от одной платы к другой. Если ведущее устройство не выбрано однозначно, несколько плат могут пытаться одновременно получить доступ к шине, и тогда сочетание конфликтующих запро- сов может “запереть” шину — конкуренция за управление шиной {bus contention). Для решения этой проблемы применяются специальные арбитражные цепи. Шины могут быть синхронными и асинхронными. Синхронные шины {synchronous bus) работают в соответствии со специальным сигналом синхрониза- ции— последовательность прямоугольных импульсов с частотой 10-20 МГц, ко- торая генерируется одной из плат. Период задающего сигнала называется тактом шины {bus cycle). В шинах синхронного типа все операции должны выполняться 8 соответствии с точным количеством тактов. Протокол асинхронной шины Asynchronous bus) предполагает, что очередная операция может начаться только т°гда, когда завершена предыдущая. В шинах асинхронного типа отсутствует за- ^ющий генератор и для служебных протокольных сигналов и индикации готов- "°сти используется механизм квитирования {handshaking), для которого выделя- сь специальные линии шины. В шинах синхронного типа готовность Ределяется тактовыми сигналами — на определенном такте все платы должны готовы к операции. Сц ажДь™ из рассмотренных типов шин имеет свои преимущества и недостатки. °Пг)1ХР0ННЬ1е шины проще, но выполнены на базе технологии, характерной для Верщ еленного времени, и имеют сравнительно небольшие возможности для усо- Асинхронный режим обладает большей гибкостью благодаря гц ’ ЧТ° платы’ Работающие с разной скоростью, могут быть установлены на ТеХн И ТУ Же ШИНУ и успешно работать вместе. Платы, выполненные по новейшей °Логии и обладающие высоким быстродействием, легко интегрируются с ши- % асинхронного типа предыдущего поколения. Более сложная электроника, не- Upjj ДИмая для асинхронных шин, обычно не является препятствием, поскольку к‘йМеНение интегральных схем определяет достаточно низкие цены на интер- нЬ1е устройства.
326 Глава 8. Систе 327 8.2.6. Синхронная передача данных Наиболее частая операция шины — обмен данными между двумя устрой Эта операция наглядно демонстрирует разницу между синхронной и асин СТВа'11! передачей. При рбмене данными ведущая плата устанавливает адрес и акт Р°ННс'' одну или более управляющих линий для того, чтобы подтвердить правильц И₽' реса и указать тип операции — чтение или запись. °СТь а При синхронном выполнении операции чтения адресуемое (ведомое) устрой должно передать данные на шину за определенное число тактов (рис. 8.13) В Т~ денном примере все присоединенные платы “знают”, что адрес действителен ние пяти тактов после начала операции, а данные — только в течение тактов 6 7 Операция синхронной записи аналогична, с той лишь разницей, что ведущее усТр0, ство “ответственно” за поступление данных на шину. Ведомое устройство дол», считать данные с шины в течение нескольких тактов. .zn/pa и принципы работы шин струК(УВ----------------------- оПерация отложена. Когда медленная плата готова продолжать, она сбрасы- ^'^нал ЖДАТЬ и продолжает нормальную работу. Это действие называется 5^ СйИеМ тактов ожидания. - Асинхронная передача данных Vасинхронных шин линия синхронизации отсутствует. Вместо этого для под- \дения готовности источника и получателя к обмену, достоверности адреса ^анных и завершения приема получателем используются несколько линий кви- -арования. адрес (от ведущего) адрес (данные приняты, адрес больше не действителен) адрес (от ведущего) подтверждение адреса (от ведущего) запрос на чтение данных (от ведущего) данные (от ведомого) синхронизация (от ведущего) запрос на чтение данных (от ведущего) данные (от ведомого) подтверждение данных (от ведомого) (данные приняты) достоверные данные (данные больше не действительны) (данные больше не действительны) J-l I I I I .............I I I I I I I I I I I I I I I время Рис. 8.13. Синхронное чтение данных. При каждом импульсе синхронизации на шине должен быть выставлен определенный сигнал. В данном примере адрес должен удеР живаться на шине в промежутке между импульсами 2 и 7; подтверждение адреса в полняется отдельным сигналом. Запрос на чтение данных должен удерживаться шине между импульсами 4 и 7. Ведомое устройство отвечает передачей запро1пенНВ данных между 6 и 8 импульсами. Сигналы адреса и данных должны присутствовать линии уже в начале импульса синхронизации Моментом синхронизации всегда считается изменение полярности тактового^ пульса. Какие сигналы, когда и какой продолжительности должны присутств на шине — определяется ее потоком. Например, если частота синхронизации сС' а, ляет 10 МГц, то интервал между последовательными положительными (или °т тельными) импульсами составляет 100 нс. Схемы интерфейса на платах до- быть способны реагировать в рамках такого временного промежутка. Если адресуемая плата не в состоянии декодировать адрес и выдать запрос6 данные вовремя, то она активирует линию ЖДАТЬ, чтобы показать остальным ис- 8.14. Асинхронное чтение данных. Ведущее устройство задает адрес на шине и под- тверждает его правильность активацией линии ЧТЕНИЕ ДАННЫХ (в этом примере), едомая плата в ответ помещает данные на шину и подтверждает операцию с помощью ’инии ДАННЫЕ ГОТОВЫ. Ведущий сбрасывает линию ЧТЕНИЕ ДАННЫХ, чтобы твердить прием данных, а ведомый отвечает прекращением передачи и сбросом нии ДАННЫЕ ГОТОВЫ в качестве последнего подтверждения. -Дачи1 ВЬ1полнении операции чтения (рис. 8.14) ведущее устройство начинает с пе- 1И И На ШинУ адреса назначения и сразу после этого подтверждает адрес активаци-- ,в НИИ АДРЕС ДЕЙСТВИТЕЛЕН. Дополнительная линия указывает, что запра- ,Чв^1ая операция - ЧТЕНИЕ данных. Когда линия АДРЕС ДЕЙСТВИТЕЛЕН' ^Дан °ВаНа’ВСе платы РасшиФр°вывают адрес. Адресуемая плата передает требуе- в ные на шину и подтверждает операцию активацией линии ДАННЫЕ ГОТО- ЬКл"Щ6е устройство подтверждает прием данных по линии ДАННЫЕ ПОД- ^ЕНЫ’ ТепеРь ведомое устройство может сбросить линию ДАННЫЕ ГОТОВЫ .)[ q 0/1ИТЬ шину; в ответ ведущий сбрасывает линию ДАННЫЕ ПОДТВЕРЖДЕ- g иерация чтения данных завершена. . Некоторых типах асинхронных шин линии подтверждения адреса и управления Чиями организованы иначе. Например, активация линии ЗАПИСЬ В ПА-
328 329 Глава8. Систем^. МЯТЬ одновременно указывает, что адрес также действителен. При такой ор ции для каждой из возможных операций необходима только одна линия, Операция записи данных аналогична операции чтения. В этом случае » устройство передает на шину адрес назначения и данные. Для того чтобы операцию ЗАПИСЬ и подтвердить, что адрес и данные действительны, актив^33 ся соответствующие линии. В этот момент все платы читают и расшифровывав рес; адресуемая плата, кроме того, читает и данные, а и когда операция чтения * шена, она сообщает об этом, активируя линию ДАННЫЕ ПОДТВЕРЖд^ Ведущая плата затем может сбросить линию ДАННЫЕ ГОТОВЫ, чтобы показ- что данные и адрес больше не действительны. Ведомое устройство сбрасывает ли ДАННЫЕ ПОДТВЕРЖДЕНЫ, и операция записи завершается. 8.2.8. Блочная передача Пересылка данных между оперативной памятью и периферийными устройствам!' (дисковые накопители или видеоплаты) — это самая частая операция в вычислитель- ной системе. Такие обмены обычно происходят в виде блоков, состоящих из сотенц даже тысяч байт. Аналогичные операции встречаются при пересылке между областя- ми памяти данных, организованных в блоки, например, текстов, массивов и символь- ных строк. Характерной особенностью данных этого типа является то, что они разме- щены по последовательным адресам памяти. При блочной передаче (block transfer) вместе с адресом начала блока передается его длина. Затем данные последовательно записываются принимающим устр< ством в соответствии с тактовыми сигналами при синхронной передаче или пос каждого квитирования при асинхронной. При блочных операциях нет необходим сти передавать и подтверждать адрес каждого байта, поскольку адреса чтения и за: си автоматически увеличиваются источником и получателем. Технология блочной передачи требует дополнительных логических схем на пя- тах для автоматической генерации новых адресов. Благодаря тому что блочная пег дача существенно улучшает скорость передачи и пропускную способность систем в новых шинах она является стандартной возможностью. 8.2.9. Обработка прерываний Прерывание (intempt) — это сигнал, который периферийное устройство пось ет центральному процессору или другому устройству для того, чтобы запросить служивание. В ответ на прерывание процессор прекращает текущую работу и в^‘ няет служебную процедуру обработки прерывания, после завершения к° исполнение прерванной задачи может быть продолжено (раздел 10.6.4). |10 Прерывание показывает, что произошло событие, асинхронное по отно к текущей программе. Это может быть появление новых данных в канале свя ' жатие кнопки или завершение операции, в результате чего устройство, вЫД сигнал прерывания, запрашивает внимание процессора. По самой своей прир°#е рывания могут возникнуть в любой момент. Устройство генерирует прерывание активацией линии запроса преры8' в большинстве случаев прерывание адресуется устройству, являющемуся в Да(1 момент ведущим. Когда ведущее устройство шины готово обслужить прерь1В‘ ,^Tvpa и принципы работы шин , стрщ-м-------------------- дает сигнал на линию подтверждения прерывания, после этого запрашиваю- (9°Действо сбрасывает запрос на прерывание. zra несколько устройств запрашивают прерывание, необходимо организовать ^просЫ в соответствии с некоторым порядком очередности, поскольку в каждый ''ейт времени только одно устройство может получить обслуживание. Поэтому ? гиешины имеют несколько линий запроса прерывания, каждой из которых зара- Н назначен приоритет, т. е. прерывания обслуживаются в соответствии с приорите- е пинии, на которой выставлен запрос. Устройство, обслуживающее прерывание, )сь1вает его номер на шину, и запрашивающее устройство в состоянии распо- . когда ее запрос обслужен. Такая схема требует только одну линию для под- ^рждения запроса на прерывание, а линии данных используются для определения его источника. Другой подход использует разделяемые прерывания (shared interrupts), когда зждая линия прерывания доступна нескольким устройствам. Поскольку каждая линия прерывания может быть активирована более чем одним устройством, обслу- живающее устройство должно определить источник прерывания, опрашивая все уст- ройства, присоединенные к одной линии. Первое устройство, которое подтвердит запрос, будет обслужено. Следует отметить, что этот метод чреват потенциальными конфликтами, если несколько устройств одновременно генерируют одинаковый за- кроена прерывание. Другим методом разделения прерываний является шлейфовое подключение laisy-chain connection) (рис. 8.15). Общая линия прерывания проходит через все ус- эйства, которые могут быть источником сигнала прерывания. Каждое устройство жет приостановить распространение сигнала прерывания своим электронным юном. запрос прерывания от этой платы ^ущему < Тройству < другие линии шины к другим платам <------------------------------------------------ __ уменьшение приоритета I прерываний ?Ис- 8.15. Шлейфовое подключение Г Нормальном состоянии все устройства удерживают соединение замкнутым. Устройство требует обслуживания, его логическая цепь перестает пропус- Подтверждающий сигнал к следующим устройствам, если они запрашивают ^ания в тот же момент времени. Получив подтверждение от обработчика пре- мий, устройство передает на шину код идентификации. На шинном разъеме ^дой шлейфовой линии нужны два контакта. Если устройство в разъеме
330 331 Глава8. Системные, отсутствует, контакты, относящиеся к шлейфовой линии, должны быть зак ны перемычкой. Р°Че- При шлейфовом подключении платы, установленные ближе к ведущеМу ству, имеют преимущество, поскольку они могут не пропускать сигнал подтвер^ от плат, установленных после них. Недостатком шлейфовой схемы являете ДенИя передача сигнала подтверждения по шлейфу требует определенных затрат времен ° Обработка прерываний усложняется, когда в системе имеется несколько по И соров, и должен быть определен не только источник, но и приемник прерыва^ Из-за этого в наиболее современных конструкциях шин прерывания рассматриваю11 ся как сообщения и посылаются от источника к адресату как любые другие данные 8.2.10. Арбитраж шины В каждый момент времени только одно устройство на шине может играть роль ведущего. В ситуации, когда несколько устройств претендуют на роль ведущего, при- меняется некоторая процедура выбора, которая называется арбитражем шины (bus arbitration). Существуют два основных подхода к выбору ведущего устройства. В первом слу- чае одно из устройств назначается арбитром (arbiter). Устройство, желающее полу- чить управление шиной, сообщает об этом арбитру через прерывание по линии ЗАП- РОС ШИНЫ. Арбитр проверяет относительный приоритет текущего ведущего шины (т. е. собственный, но это может быть и другое устройство) и запрашивающего устройства и решает, кому должно быть передано управление шиной. При другом подходе арбитр как таковой отсутствует. Устройство, которое пре- тендует на права ведущего, делает запрос через линию распределения, которая явля- ется общей для всех устройств (могут использоваться несколько линий, чтобы раз- делить несколько уровней приоритетов). Ведущее устройство определяет запра- шивающее устройство и сравнивает его приоритет со своим. Если приоритет запрашивающего устройства выше, права ведущего передаются. Все устройства, спо- собные выполнять функции ведущего, имеют логику определения ведущего. При выборе ведущего устройства могут применяться два алгоритма — цикличе/ кий и распределение приоритетов. При циклическом алгоритме управление шиной в определенном порядке передается каждому из устройств — этот способ иначе назы вается принципом “справедливости”. Не делается никаких различий в отношен уровня приоритетов, и управление поочередно передается устройствам в соо ствии с предопределенным порядком. £. При распределении приоритетов управление передается устройству с наИ шим приоритетом. Приоритеты могут изменяться во времени, чтобы пРед0^В^>ьЦ10й постоянный контроль над шиной устройствами с высоким приоритетом и ол активностью. ди- В некоторых системах арбитраж шины выполняется с помощью специальнь^ ний одновременно с передачей данных, а в других системах передача данных и деление ведущего не могут выполняться одновременно. Если арбитраж заП^1[1у10 происходит интенсивно, то способ выбора ведущего устройства влияет на о эффективность работы системы. Захват шины является частным случаем более общей проблемы распреДеЛ * (защиты) ресурсов, которая постоянно встречается во многих ситуациях, связа Структура и принципы работы шин /£>--- -цмом мультипрограммирования, работой многопроцессорных систем, в распре- сРе* нЫх системах и системах связи, независимо от того, являются ли ресурсы аппа- Де-’е и иЛИ программными. В данном случае шина представляет собой общий ре- РаТН кОТОрый должен быть защищен от одновременного доступа нескольких ^ойств. Принципы решения проблем, связанных с защитой ресурсов, одинаковы, УсТР исИмо от того, к какому типу относится ресурс. Эти принципы более детально Усмотрены в разделах 9.5 и 10.3. g2 11- Подготовка шины к работе Подготовка системной шины к эксплуатации обычно не сложнее, чем просто уста- новка всех плат в разъемы в стойке. Однако требуются определенные усилия, чтобы система имела конфигурацию, обеспечивающую максимальную эффективность. Платы должны быть классифицированы по важности генерируемых ими преры- ваний, а в многопроцессорной системе — и в соответствии с их относительной важно- стью в качестве ведущего устройства шины. Выше было сказано, что при шлейфовом подключении платы ближайшие к процессору или арбитру шины первыми же и об- служиваются. При такой конфигурации платы должны располагаться на шине в по- рядке своих приоритетов. В ряде случаев доступ к линиям прерывания и установка приоритета выполняются на плате с помощью перемычек и встроенных переключа- телей (Dual-i.n-Line Package switch — DIP-switch). Кроме того, перемычки могут ис- пользоваться для установки других рабочих параметров, например используемого по умолчанию имени дисковода или типа сигналов ввода/вывода. Если один или более разъемов между платами со шлейфовым соединением свободны, они должны быть замкнуты накоротко с помощью перемычек. В зависимости от типа применяемой операционной системы установленные уст- ройства и некоторые рабочие параметры должны быть описаны программно в каком- либо системном файле или файле начальной загрузки. Настройка системы состоит 113 нескольких этапов, которые можно успешно выполнить только после того, как °пРеделены точные функциональные требования каждого устройства. Еще одним Ва«ным моментом является подключение оконечных цепей с обеих сторон шины иагрузочных резисторов со стороны открытого коллектора для линий “распреде- 1енного ИЛИ”. Наконец, перед тем как вставить все платы в кожух, необходимо проверить, что: мощность источника питания соответствует суммарной потребности всех плат; вентиляция обеспечивает отвод выделяемого тепла; экранирование и изоляция выполнены правильно. Эт 1ецн И РекомеВДаиии являются очень общими и не связаны с каким-либо опреде- Ым типом шины. За всеми техническими деталями необходимо обращаться от у!иентаЦии и следовать соответствующим указаниям. Необходимо помнить взаимодействии между аппаратной частью (шина) и программным обес- (операционная система и прикладные программы). Если функциональ- Залачи (что должна делать система) ясны, то привести в соответствие пара- н PbI Шины и операционной системы проще. С другой стороны, самые цй ^Репные процедуры самоконфигурации не могут компенсировать плохое пла- Р°вание.
332 Глава 8. Системна 8.3. Шина VMEbus (ANSI/VITA 1-1994) 8.3.1. Общие характеристики Аббревиатура VME означает VERSA Module Eurocard. Соответственно Vpp это название более ранней версии шины, разработанной компанией “Мотов » процессора серии 68000, а платы Eurocard — это стандарт формата плат3 дел 8.2.2). Шина VMEbus была разработана группой компаний во главе с “Мо^ лой”; в настоящее время эта разработка определена как стандарт ANSI/VITA (ранее этот тип шины нормировался как IEEE 1014). Шина VMEbus обладает свойств, которые позволяют характеризовать ее как мощное и гибкое средство^ промышленного применения. 1 ’ Основные параметры шины перечислены ниже. • Разрядность адреса — 16/24/32/40/64 бит. • Разрядность слова данных — 8/16/32/64 бит. • Скорость передачи данных: техническая — 80 Мбайт/с, эффективная - 60- 70 Мбайт/с. • Семь уровней прерывания, шлейфовое подключение. • Поддержка мультипроцессорных систем, четыре уровня приоритета доступа к шине. • Блочная передача данных, максимальная длина блока 2048 байт. устройство стандарта VMEbus адрес и данные прерывания арбитраж служебные сигналы Рис. 8.16. Структура шины VMEbus 0^-' Шина VMEbus поставляется с разъемами одинарной и двойной высоты динительной плате соответственно с одним или двумя разъемами типа Ш (в стандарте на VMEbus они называются J1 и J2). Одинарный формат поддерг ,, разрядность слова 32 бита и 40-битовую адресацию, т. е. байт = 1 Тбайт аДР , мого пространства. Формат двойной высоты поддерживает разрядность с- 64 бита и 64-битовую адресацию — 16 • 10° Тбайт адресуемого пространства, в 333 ja VMEbus (ANSI/VITA 1-1994) лей и двойной высоты могут применяться в одной и той же системе, а передача мОжет избирательно производиться словами разрядности 8, 16, 32 и 64 бита ^^цмости от того, к какой плате происходит обращение. VMEbus имеет максимальную длину 500 мм, что позволяет с учетом макси- о допустимого запаздывания при распространении сигнала по шине и ширины ^устанавливать до 21 платы. Для шины VMEbus принципиально важно, что Г°та уСтаНовленная в первом слоте, должна выполнять некоторые общесистемные ^цнИ, например арбитраж в мультипроцессорной среде. Шина VMEbus состоит етырех подсистем (шин) — для данных, арбитража, прерываний и служебных '.'.риалов (рис. 8.16). j3 2. Передача данных Операции чтение/записи выполняются асинхронно и без мультиплексирования. Определено пять диапазонов адресов — короткий (16 бит), стандартный (24 бит), засширенный (32 бит), А40 (40 бит) и А64 (64 бит). Шина поддерживает слова дан- ных длиной 8, 16, 24, 32 и 64 бит; длина слова является динамической, что означает, m она может произвольно изменяться. Передача данных в системе VMEbus ориентирована на поддержку многопроцес- сорной среды. Эта шина включает шесть линий модификации адреса (от АМО дс АМ5), которые выполнены параллельно адресной шине. Шина использует эти линии, чтобы указать, происходит ли передача данных в супервизорном (привилегирован- »ом)или непривилегированном режиме, относится ли адрес к данным или к програм- ме,атакже разрядность адреса. Эти указания могут быть использованы операционной «темой и прикладными программами как дополнительное средство защиты, напри- мер для предотвращения несанкционированного доступа к данным на шине. Некото- рое команды модификации адреса зарезервированы для пользователя. Шина VMEbus поддерживает режим передачи данных блоками размерностью до л Циклов (блочная или пакетная передача). При блочной передаче ведущее и ведо- ,Ое Устройства автоматически увеличивают адреса и передают новое слово данных; решенный на шину адрес не изменяется в течение всей операции. Блочная передача ^о®ет быть прервана. Любое устройство, претендующее на управление шиной, дол- *дагь окончания блочной операции. В одной из модификаций блочной передачи. Цие линии используются для увеличения разрядности слова данных до 64 бит. •й , Шине VMEbus определен цикл read-modify-write (чтение-модификация-за- tad-’ДЛЯ Т0Г0 что^ы предотвратить перезапись данных другим устройством. Цикл ^eHTdify-Write аналогичен инструкции test_and_set, которая предотвращает из- ’’(раз Данных’ использУюЩихся несколькими программами в многозадачной сре- ^вр^еЛ Ю’3-2)- В цикле read-modify-write операции чтения и записи, выполняе- мое У111им Устройством, производятся непосредственно друг за другом, и никакое Устройство не имеет доступа к данным до завершения обработки. 3'3- Приоритеты прерываний VMEbus поддерживает семь линий запроса прерывания. Каждая линия — Тр ,РаспРеДбленного ИЛИ” и, следовательно, может использоваться несколькими Яствами параллельно. Прерывания имеют разные уровни приоритета. Прото-
335 334 2!^£сИСТб, кол шины VMEbus не определяет, как должно обслуживаться прерЬ1в ством, которому оно предназначено. а||Че Прерывания могут обслуживаться обработчиком, который необязатель быть ведущим устройством в момент обращения. В последнем случае ^Од°-1у должен сначала получить права управления шиной и стать ведущим уСтп°^Рабор;. основе обычной процедуры арбитража. Иств(у. 8.3.4. Арбитраж шины Механизм арбитража шины очень похож на операции запроса и разрецх рывания. Любое устройство, имеющее право быть ведущим, может запрос^”1151 Пре' ление шиной через одну из четырех линий запроса с различными уровням л УП₽16' тета. Эти линии также являются линиями типа “распределенного ИЛИ” ПрИ°ри' несколько запросов могут появиться одновременно. ’ ПоэтомУ Принцип назначения следующего ведущего, в случае одновременного поступле ния нескольких запросов, оставлен на усмотрение арбитра. В описании VM: Ebus этот механизм явным образом не определен. Схема назначения ведущего устройства шины не свободна от недостатков — устройство, ближайшее к арбитру, может чаще и дольше владеть шиной. Если большое количество плат имеют шлейфовое подклю- чение, то на прохождение подтверждающего сигнала требуется определенное время, что может замедлить работу шины. Важно иметь в виду эти факторы при выборе рас- положения плат на шине и принципа назначения ведущего с учетом соответствую- щих параметров операционной системы. 8.3.5. Служебные сигналы На шине VMEbus предусмотрены несколько служебных линий для инликацои ошибочных и конфликтных ситуаций. Все служебные линии — это линий с ОТКРЫ‘ тым коллектором типа “распределенного ИЛИ” и могут активироваться лкэбымуст ройством. Если ведомое устройство обнаруживает ошибку в течение цикла пеРедаТ оно активирует линию BERR* (ОШИБКА*). Линия ACFAIL* (АВАРИЙ НИЯ*) активируется устройством, следящим за питанием от сети перемен11010 и выдающим сигнал при падении напряжения. Некоторые характерные с И сбои могут обозначаться сигналом SYSFAIL*; пользователь может onPe'^eJl^^вае. ации, в которых этот сигнал должен использоваться. Линия SYSRESET У что начинается или происходит перезагрузка системы. На стойках шины имеется специальная кнопка для ручной активации команды SYSRESET Плата в первом разъеме вырабатывает опорный сигнал частотой 16 ^и^сйн.<' CLK). Сигнал существует только для удобства и не имеет каких-либо фунК ронизации для шины. 8.3.6. Расширения шины VMEbus ;uini4' Несмотря на то что шина VMEbus имеет высокую скорость передач}* иногда требуется значительно большая пропускная способность. Чтобы и .иреН1! таких случаях задержек передачи, были разработаны различные типы рас 311Чесь1 работающих параллельно и независимо от основной шины VMEbus. К01 присоединение к шине остается прежним, расширения используют свобоД сТан^Р1^ ' j2 Расширения шины обеспечивают резервирование в случае в^^шины VMEbus. >ОСЧ°В^ (VME subsystem bus) использует 64 определяемых пользователем ‘ на Vs^Sj2 в модуле двойной высоты; она поддерживает такие свойства, как ьтара3 рпываний и многозадачность. 5ТкапреР /уМЕ extended instrumentation bus — расширенная шина VME для !!!а VXl Систем) является расширением шины VMEbus для применения с бы- ;,теЛьнЫХ^^^ измерИтелЬными платами, вырабатывающими значительные ИСТВУ1°Щ ации. Размеры плат VXIbus могут доходить до “тройной Eurocard” W ИН мами (включая основной разъем шины VMEbus). Описание шины Я РаЗЪ<чает не только электрический интерфейс шины, но и другие специаль- VXlbus вкл®нальные требования. Среди прочего плата по запросу должна иденти- еЬ1е^Нвэть себя и послать ответ, используя стандартные коды. 'ИШ(на VMEbus была разработана для эффективной поддержки мультизадачной многопроцессорной среды. В стандарте описаны такие характеристики, как распоз- нание различных типов данных, блочная передача, цикл read-modify-write и меха- низм определения ведущего устройства. Шина VMEbus обладает возможностями рас- ширения, которые представляют интерес для пользователей, желающих настроить шину в соответствии с собственными требованиями, добавляя специальные свойства. 8.4. Другие стандарты шин 8.4.1. Шина компьютеров семейства IBM PC Начало 1980-х годов может рассматриваться как приход эры персональных ком- пьютеров, когда все сообщество производителей вычислительной техники и пользо- вателей ориентировалось на решения, предлагаемые компанией IBM, независимо от и содержания. Компания выпустила свой персональный компьютер (IBM PC) s 1981 году. Хотя с технической точки зрения IBM PC был не лучше других компью- ^ров,уже представленнь1х на рынке, он немедленно завоевал ведущие позиции бла- * ВеЛИЧИНе и силе компании, которая его производила, и распространенному ПерваяеНИЮ’ ЧТ° ПРОДУКЦИЯ IBM говорит сама за себя. ‘BtelйО86/8п°й1еЛЬ IBM PC и последующая модель XT основывались на процессоре ’ к лине 8 И имели оперативную память до 640 Кбайт. Процессор присоединял- не доп НепосРедственно управлял ею (никакие другие ведущие устройства ^ье№вдЛЯвСКались); на материнской плате были установлены восемь торцевых Чаа ^равляПОдключения плат периферийных устройств. Шина IBM PC использо- йряДНость д’04116 сигналы процессора 8086. Она имела 62 параллельные линии, ЧресЯию памННЫХ£ ЫЛа 8 ^ит’ РазРяДность адреса — 20 бит, что допускало прямую ^МдЖках, м ЯТИ объемом 1 Мбайт. Интерфейсы к накопителям на гибких и жест- свобод НИтору и принтеру строились на платах, которые занимали разъемы, 1Ц№а IB Л1МИ для пользователя оставались около пяти разъемов. '1!атели г имела шесть линий прерывания, каждая со своим приоритетом. 4 Ь1СтР°УСВОили, что сигналы прерывания ТТЛ-схем нельзя использо- "РеРьцаЬКИх плат одновременно. Две платы, вырабатывающие один и тот же 1 тродл Ния’не могли одновременно работать на шине, а перепрограммирова- Рд прерываний было не всегда возможно. Многие платы покупались
336 337 Глава8. Систем,. и устанавливались без представления о прерываниях, аппаратно закреплен гими платами. Дру. Хотя в это трудно поверить, шина IBM PC не имела официального стандарт описана в техническом руководстве IBM PC, но нигде и никогда компания IBJyj ально не объявляла о том, что она будет обеспечивать поддержку этой разработки ** 8.4.2. Шина ISA В 1984 году был выпущен на рынок персональный компьютер IBM AT (Advon Technology). Этот тип компьютера базировался на процессоре Intel 80286 с разряд^ стью данных 16 бит и разрядностью адреса 24 бита (16 Мбайт адресуемой памяти Шина IBM АТ использовала тот же разъем, что и IBM PC, но с дополнительных 36-контактным разъемом. Были также добавлены еще линии прерывания и квитиро вания. Платы, спроектированные для IBM PC, в принципе, могли применяться к шине АТ, но они не поддерживали расширенную адресацию и все возможности пере- дачи данных. И для шины этого типа также не существует официально опубликованного стан- дарта. Шина IBM АТ также известна под названием ISA — Industry Standarc Architecture, — которое было введено группой компаний, не связанных с IBM, чтобы определить, что они подразумевали под “стандартом IBM”. Позднее, в новых поколениях персональных компьютеров, более мощные процес- соры Intel 80386 и 80486 заменили устаревшие 8086 и 80286. Когда упоминают компьютеры АТ-386 или АТ-486 без явного указания типа шины, то подразумевается шина ISA, т. е. IBM АТ. Из-за недостаточной гибкости и низкого быстродействия системы, ориентиро- ванные на IBM PC, едва ли представляют интерес для промышленных задач. Тем не менее ПК не следует полностью сбрасывать со счетов. Их главными достоинствам являются низкая стоимость как собственно компьютера, так и периферийных уст ройств, а также широкий выбор интерфейсных плат, не говоря уже об огромном личестве имеющегося программного обеспечения. Для задач сбора данных, если®1 особых требований к быстродействию, шина IBM PC может быть экономически тимальным решением. Производительность процессоров 80386 и 80486 позволяет применять их для, • или менее ответственных приложений. При наличии соответствующих интерф6^^ плат и программного обеспечения вычислительные системы на базе этих пронес можно использовать в реальных производственных условиях для решения так^ч^, дач, как управление станками, сбор и передача данных, по крайней мере в тех сл, когда нет необходимости в быстродействующих многопроцессорных системах. 8.4.3. Шина EISA Стандарт EISA (Extended Industry Standard Architecture) был разработан о нением компаний, которое включало Compaq, Intel, Hewlett-Packard, Olive Разработчики EISA поставили цель создать стандарт шины с точно определен высокими рабочими характеристиками для персональных компьютеров, к0Т°^3уМ; зависел бы только от одной компании (очевидно, что под этой компанией поДР валась IBM). д основана на существующей архитектуре ISA. Физически разъем EISA анало- Еазъему ISA с дополнительными контактами для обеспечения новых функций ц|ЧеН Р аС1Пирения разрядности адреса и данных. Дополнительные контакты помеще- Е15АйРас контактами разъема ISA. Таким образом, EISA совместима сверху вниз ць' мечт0 03Начает, что платы ISA могут работать на шине EISA (но не наоборот!). \ представляет собой синхронную шину с разрядностью 32 бита (поддержи- ' также и разрядности 8 и 16 бит более старых плат PC и АТ) и разрядностью ЮТСЯ32 бита (4 Гбайт адресуемого пространства). Максимальная скорость обмена ^ными составляет 33 Мбайт/с в режиме пакетной передачи. ' Аридная природа EISA явно проявляется в схеме обработки прерываний. EISA -пользует те же самые линии прерывания, что и ISA, но допускает их совместное -пользование — схема с открытым коллектором. Вследствие этого платы EISA мо- совместно использовать линии прерывания, а платы ISA, установленные на той Же самой шине, — нет, из-за своего ТТЛ-интерфейса. Шина EISA поддерживает та- кие функции, как произвольное число ведущих устройств, идентификация плат по х аппаратной информации и автоконфигурация шины. 8.4.4. Шина PCI PCI (Peripheral Component Interconnect — система соединения периферийных компонентов) — это стандарт для высокопроизводительных персональных компью- теров, разработанный несколькими производителями под руководством компании Intel. Шина PCI является синхронной и не зависит от типа процессора. Стандартная скорость передачи определена как 132 Мбайт/с при длине слова 32 бита и тактовой частоте 33 МГц. Шина может работать со словом 64 бита при 66 МГц, обеспечивая ириэтом скорость передачи 528 Мбайт/с. Подобно другим шинам из мира персональных компьютеров, шина PCI не опти- мизирована для применения в промышленных системах, поэтому необходимо зара- Нее проанализировать, подходит ли основанное на PCI решение для проектируемой технической системы, особенно с учетом того, что потребности пользователей всегда еРежают текущие технические возможности. Заключение ’,Иваю Т6МНые шины являются основой систем управления потому, что они обеспе- ДящИеТ ГИ^К°СТЬ и модульность. Для каждой задачи можно выбрать наиболее подхо- ФастУСТ₽°ЙСТВа И компонентЬ1- Эволюция в структуре шин происходит благодаря ки анию запросов пользователей и снижению стоимости вычислительной тех- С* ШИНа’ как пРавил0- вначале разрабатывается одним или несколькими со- |[Ояв1а1°Щими производителями. Если пользователи положительно воспринима- ла Ление продукта на рынке и увеличивается число производителей комплекту- - ’ поддерживающих предложенное решение, наступает момент, когда ЛНч ИЗнанная и независимая организация оценивает продукцию и разрабатывает ;1ЮчеННОе Описание- т- е- стандарт шины. Роль организаций по стандартизации Ча ЭеТСЯ Не в том’ чт°бы придумывать что-либо новое, а в том, чтобы системати- ь и однозначно определить существующие достижения в области шин.
338 Глава 8. Систем Создание на основе шины удовлетворительно работающего комплекса мо»ет заться как простой, так и чрезвычайно сложной задачей. На практике почти к 0Ка' плата должна настраиваться с помощью переключателей и перемычек и чаще телось бы, требуетсяприв одить в соответствие параметры программного обеспеч Х° Таким образом, наладка устройства обычно требует нескольких циклов проб и оцщ2Я' Новая тенденция в архитектуре шин — использовать для каждого устройств паратно “зашитую” идентификационную информацию. На стадии запуска операц"' онная система опрашивасет все присоединенные устройства и настраивает конфИгу рацию без участия прогр аммиста. Так, например, происходит в шинах PCI и EISA Цена этого — более сложные дополнительные управляющие логические схемы, кото рые должны быть устано влены на каждом устройстве; поэтому не удивительно что наиболее мощные системен стоят довольно дорого. Следует отметить, что узкоспеци- ализированные и относительно простые устройства в определенном смысле обеспе- чивают ббльшую гибкость, поскольку их легче подобрать для выполнения ковдрет- ной функции; при использовании сложных плат всегда существует вероятность, что часть функций останется: невостребованной. В этой главе были опгисаны наиболее важные для промышленного применения шины. Важно еще раз подчеркнуть, что не существует “наилучшей” системы - у каж- дого типа шины свои преимущества и недостатки. Настоящая проблема заключается в выборе подходящей системы для конкретной задачи с учетом как технических, так и экономических ограничений. В настоящее время обязательные требования для шины — разрядность адреса и данных по крайней ме=ре в 32 бита и применение плат стандартных размеров со стандартными разъемами (например, стандарты Eurocard для размеров и DIN 41612 для электрических присоединений). Важными стандартами для промышленных уст- ройств являются VMEbuis и Compact PCI. Рекомендации по дальнейшему чтению Книга [Lawrence/Mauich, 1987] является прекрасным введением в 0^)ЛаСгГ^[д5| темных шин и периферийного оборудования. Изложение основано на сис подходе и учете взаимо связей между программным и аппаратным ooecne g^ Структуре цифровых ус тройств от простейших логических схем до сложны посвящена книга [Tanen baum, 1990]. Собственно шинам в ней отведено Ma^gaHHbl>; но эта книга может дать более широкое представление о работе систем, осн на применении шин. Глубокое описание работы шины VMEbus, сочетающе с практическими примерами, приведено в [Peterson, 1989]. к0Мпа' Основная информация о системных шинах содержится в документации ний-изготовителей и организаций по стандартизации. Например, IEE ^разЛйчИь1е няет описания всехшин„ на которые выпущены нормативы и стандарты- изациа' типы шин IBM и стандарт EISA не поддерживаются общественными °Р оОтсГ ми и поэтому не публиксэвались для свободного использования, однако в ствующих официальных документов имеются многочисленные статьи в с п° изданиях, посвященные работе и характеристикам этих шин. Кроме т ’раСцр0' священо большое количество книг, а многие производители выпускают кОт0 страняют описательную» информацию, рекламирующую шины, констрУ рых основаны на соответствующих стандартах. Цифровые коммуникации в управлении процессами Основные понятия и принципы передачи информации. Модель взаимодействия открытых систем. Стандарты и протоколы пе- редачи информации. Промышленные решения Обзор Коммуникации1 — обмен информацией — основа функционирования любой орга- низованной системы. Управление производственными процессами — не исключение. Эта глава посвящена коммуникационным технологиям, в первую очередь, на основе электрических сигналов. Она не претендует на исчерпывающее изложение предмета. Круг тем и количество стандартов столь велико, а оборудование столь разнородно, что для более или менее подробного освещения потребовались бы сотни и сотни страниц. Поэтому вначале описываются основные понятия, а затем рассматриваются наиболее распространенные технологии и решения, представляющие интерес для систем управления производственными процессами. Коммуникации в приложениях промышленного управления могут опираться как на простую технологию и протоколы — системы со скоростью передачи данных 50 бит в секунду все еще находятся в эксплуатации, — так и на очень сложное современ- ное оборудование, способное работать при скоростях свыше 100 Мбит/с, что превос- ходит простейшие системы в 2 миллиона (!) раз. Поэтому весьма вероятно, что инже- нер по промышленной автоматике может столкнуться с более разнообразными 3ЭДзчами и устройствами, чем его коллеги, работающие в области “чистой” связи, на- пРимер с офисными сетями и распределенными вычислительными системами. Сле- ®Вательно, для промышленных приложений очень важно понимать фундаменталь- ' ^Физические принципы связи. сТвИяРаЗДеЛе9Л РассмотРена общая физическая модель связи. Модель взаимодей- енчых°ТКРЬ1ТЬ1Х систем’ пРеДставляющая собой основу для разработки коммуникаци- ей а СТандаРтов> обсуждается в разделе 9.2. Эта модель используется в качестве базы ческц^1136 ДРУГИХ стандартов на протяжении всей главы. Раздел 9.3 посвящен физи- '1еЭ.5 £Каналам>а Раздел 9.4 — протоколам. Локальные сети рассматриваются в разде- фейс El Г Разделах описываются распространенные стандарты, в частности, интер- пРоизв0 В разделе 9.6 рассматриваются потоки информации при управлении ДействиДСТВеННЬ1Ми пР°Цессами. Здесь, в частности, обсуждаются проблемы взаимо- т- е. открытости, в промышленных коммуникациях. Раздел 9.7 посвящен — 'Г'Мк,У°ни ГИНал,е “communication”. В русском языке этому понятию соответствуют термины Ньщ"Кации” и “связь”, причем первый носит обобщенный характер (например, транс- '6а °ба т °МмУникаЦИи), а второй обычно ассоциируется с передачей речи. Здесь для удоб- 9 ®РМина используются как синонимы в смысле перемещения любой информации ! -2). — Примеч. ред.
340 341 Глава 9. Цифровые коммуникации в управлении ппп -------------------------------------— шинам локального управления Fieldbus -- тип локальных сетей для промыщ условий. В эту главу включены также данные о сетях общего пользования (пяч 1б111!Ь1х поскольку знакомство с соответствующими понятиями полезно и с точки зг>Р «). „ прения пп„ мышленных приложении. и₽о- 9.1. Информация и коммуникации 9.1.1. Что такое информация? Информация — понятие, о котором мы имеем более или менее интуитивное ставление. Эту фундаментальную величину нельзя выразить через другие основнц величины аналогично тому, как, например, вводится понятие скорости в виде отно шения пути ко времени. Информация является внутренним свойством — любая сис тема содержит информацию о себе самой, и ее можно передавать при малых затратах энергии: чертежи дома содержат достаточно много структурной информации о са- мом доме, и в отличие от дома их можно передать куда угодно с очень небольшими усилиями. Замечательным и весьма важным свойством информации является то, что ее можно копировать без ухудшения качества. Математически информация определяется как мера упорядоченности множества, состоящего из различных объектов. Абстрактно состояние объекта можно обозна- чить некоторым символом. Например, цифры 0-9 представляют десять различных объектов. Если объект может принимать любое из определенного числа состояний, выявление его текущего состояния эквивалентно получению некоторой информа- ции о нем. Чем больше состояний может принимать объект, тем больше информации можно получить на основе его текущего состояния. Мера информации I, ассоциируемая с системой, которая может приниматьNвоз- можных состояний, есть логарифм N. Если логарифм вычисляется по основанию 2, то результирующая мера в битах (bit) есть J=log2N Если объект или переменная может принимать только одно из двух состояний, е™ информационное содержание равно / = log2(2) = 1 бит. Информационное содержа ние множества десятичных цифр {0,..., 9} равно I = Iog2(10) = 3.32 бит. Логариф можно также вычислять и по другому основанию. Для логарифмов по основанию^ единицей информации является нит (nit), а для логарифмов по основанию Ю (dit) или Hartley. Основания логарифмов, отличающиеся от 2, редко использую^^ практике и в теории информации. Уравнение (9.1) справедливо в предполо что различные состояния являются равновероятными. еГо Бит представляет собой удобную единицу для схем цифровой логики, в котор легко представить двумя различными уровнями энергии в электрической цеПИторое передачи или хранения информации, относящейся к переменной, требуется нек число элементарных цепей или ключей, равное или превосходящее соответству меру информации. В случае цифр {0,... ,9} с информационным содержанием требуются по крайней мере четыре ключа, которые позволяют представить 2 личных состояний; три ключа обеспечивают только 23 = 8 состояний. у- В соответствии с данным выше определением аналоговая переменная, т.е- (1, менная, которая в заданном диапазоне может иметь бесконечное число значе нфОрмаИия и коммуникации ^конечное информационное содержание. В цифровой технике используются «МееТ ДЙСКретные величины; допускается соответствующая потеря информацион- Содержания при дискретизации и цифровом преобразовании аналогового сиг- 1*°г° разделы 5.1. и 5.2). Например, при оцифровке напряжения, изменяющегося ^еделах от 0 до 10 В, аппроксимация в 0.1 В означает, что 7 бит достаточно для ВП«:ания 100 результирующих состояний (27=128). ^Применение логарифма для измерения информации удобно потому, что: _ он представляет собой возрастающую функцию числа возможных состояний; _ еСли возможно лишь одно состояние, значение логарифма равно нулю, т. е. ин- формационное содержание константы — ноль; - логарифмирование делает меру информации аддитивной; для сравнения: чис- ло комбинаций состояний независимых переменных есть произведение числа состояний, которое может принимать каждая переменная. Иначе говоря, если число возможных состояний для каждого символа равно v, то, соответственно, число комбинаций для п символов равно vn. Если информационное содержание каждого символа равно I, то п символов должны иметь общее информа- ционное содержание п I. Функция log п удовлетворяет этому условию. Важным следствием логарифмического характера меры информации является то, что она все- гда положительна. 9.1.2. Коммуникации Коммуникации — это процесс перемещения информации в пространстве. Связь играет фундаментальную роль во всех организованных системах. Например, внутри живых организмов перенос информации происходит с помощью химических и элек- грических сигналов. Внешние коммуникации живого организма, — информация, по- учаемая/передаваемая органами чувств/голосом — помогают выжить в окружаю- щем мире. В современном обществе существует развитая коммуникационная йнФраструктура, включающая телефонную сеть, прессу и телевидение. Теория коммуникаций (связи) играет важную роль во многих приложениях. Экс- ”ерт по маркетингу, стремящийся убедить множество людей купить определенный 'ОваР, использует понятия, похожие на применяемые инженером-связистом, проек- Poi ЩИМ системы радиосвязи. Коммуникации играют, естественно, центральную в системах управления — информация о состоянии системы непрерывно пере- |.ИсСя от Датчиков к центральному процессору, а управляющие сигналы — от него ^волнительным механизмам. 1ачие°РПЯ связи зародилась как инженерная дисциплина для решения проблем пере- ^еИнФ°Рмации. Впоследствии ее результаты стали применяться в других — нетех- ЧЬ1еКИХ ~ областях, например в психологии и лингвистике. Здесь были открыты Чхо 3акономеРности> в свою Очередь нашедшие применение в технике. Основные Ч g11’1 и РезУльтаты в разных областях одинаковы и приводят к обобщенным моде- ’Лщ« Течение долгого времени инженеры проявляли интерес к передаче информа- лИ1оа Нижнем уровне”, а лингвисты и психологи уделяли больше внимания назна- п₽оцесса коммуникации, т. е. тому, как достичь цели. В настоящее время НЬ1е ПОДХОДЬ1 постепенно сближаются, и в технической сфере теперь уделяют Ние семантическим (связанным со значением) и прагматическим (целевым)
342 343 Глава 9. Цифровые коммуникации в управлении ппп, ----------------------- ------------------ аспектам процесса коммуникации. Передача информации рассматривается не моцель, а как средство достижения определенных результатов. '< 9.1.3. Модель процесса коммуникации Общая модель процесса коммуникациии показана на рис. 9.1. Эта модель не ничена кругом инженерных приложений и может применяться в других обд при условии, что ее элементы идентифицированы соответствующим образом °гра астя. передатчик приемник Рис. 9.1. Общая модель процесса коммуникации Все процессы коммуникации включают в себя передатчик и приемник. Передат- чик (sender) передает сообщение (message), состоящее из последовательности симво- лов, приемнику (receiver) по каналу связи (channel) или носителю (medium), которыт является общим для передатчика и приемника. Сообщение относится к какому-либ| внешнему объекту. Общее количество передаваемой информации представляет со бой сумму информационного содержания каждого из символов, составляющихсооо щение. Поскольку информация сама по себе не имеет физических (материальных характеристик, для передачи сообщения должен применяться какой-либо код (code) в соответствии с которым передатчик изменяет некоторые физические свойства ка нала, а приемник восстанавливает сообщение по изменениям, которые он обнарУ^11 вает в канале. На канал обычно влияет шум (noise), искажающий сообщение и за трудняющий распознавание приемником изменений в канале и правильную терпретацию сообщения. ( В большинстве случаев сообщение касается чего-либо внешнего по отнош к процессу связи, однако иногда оно относится к одному из его объектов. -^3BeCcog0i примером является “алло” при телефонных разговорах, которое представляет , сообщение о состоянии самого канала, —• его целью является проверка работос ности канала и индикация приемнику, что разговор может начаться. Основной проблемой передачи данных является доставка за заданное вРемЯчеНце щения от пункта А в пункт Б при минимизации влияния шума, или иначе, полу и восстановление сообщения, искаженного шумом. Эту же проблему можно сф .] лировать по-другому, как обеспечить, чтобы приемник Б выполнил то, рад11 (ij передает сообщение (такая трактовка применяется при создании рекламы, имеет очевидное значение). В системах автоматического управления устроИ & либо просто передает информацию устройству Б, либо А имеет целью ВЫНУ# совершить какое-либо действие. 9-1______________________________________________________ ру^писная информация Автор (передатчик) передает информацию читателю (приемнику) на бума- е (среда передачи, носитель, канал). Сообщением является содержание, ко- Ге,< — язык, символами — буквы и слова. Читатель может декодировать (по- ДОМ \ сообщение, если он использует тот же язык, что и передатчик. Пример 9.2______________________________________________________ Передача данных Средой является электрический кабель, а передаваемая информация пред- ставляет собой цифровые данные. Кодирование осуществляется просто — “О” и “Г соответствуют разным уровням напряжения в кабеле. Пример 9.3 Электронная передача текста Текст кодируется (записывается) на каком-либо языке, символами являют- ся буквы и слова. Текст можно хранить на электронном носителе, где каждый символ кодируется, например, разным уровнем намагниченности. Для вторич- ного кодирования перед записью на электронный носитель часто используется КОД ASCII, в котором каждый символ (буква, цифра или иной символ) кодиру- ется с помощью 7 или 8 бит. При электронной передаче текста каждый бит вызывает изменения какого-либо 1,3 физических параметров канала, и текст представляется набором нулей и единиц, ^имеющих очевидного значения. На более высоком уровне абстракции их содержа- ний Тановится понятным, если используется один и тот же язык, например английс- Нее ИЛИ рУсский- С этой точки зрения не имеет значения, выполняется ли внутрен- ^СГпШИННОе кодиРование в ASCII, или используется другой код, например С’ битовая кодировка которого отличается от ASCII. ^Ример 9.4 ^Редача печатного текста рУетсИСТ бумаги (канал) может содержать 2000 букв; если каждая буква коди- лиСТеЯ В ^'битном коде ASCII, общее количество информации, хранящейся на ’ СОставляет 14000 бит. Если лист посылают по почте и он достигает адре- день’ то эквивалентная пропускная способность канала равна вает Ч24*36ОО) или около 0.16 бит/с. Книга объемом 200 страниц насчиты- в jcj/. Римерно 300 000 букв. При передаче ее с той же скоростью достигается большая пропускная способность или 24.3 бит/с.
.344 Глава 9. Цифровые коммуникации в управлении п -------------------- ----------------^2^ Заметим, что в примере 9.4 расстояние между передатчиком и прИемн имеет существенного значения — зто справедливо при условии, что почтовая^ ка требует одинакового времени независимо от места назначения. В действи Д°Ст': ти расстояние, на которое осуществляется передача данных, играет роль ли^110- случаях, когда задержка передачи имеет тот же порядок, что и постоянные Ьв' технического процесса. Реальной проблемой системы связи является не расст^''' а пропускная способность канала. Тем не менее, уже в локальных сетях длин °ЯЙ1:- ческого соединения оказывает косвенное влияние на пропускную способнее ла из-за координации доступа к коммуникационной среде различных устройс ‘ скольку в этом случае должны приниматься во внимание скорость распростру и затухание электрических сигналов в канале. eiI1!' 9.2. Модель взаимодействия открытых систем (ВОС) 9.2.1. Изменение требований к передаче данных При первых попытках передачи цифровых данных по существующим телефон- ным линиям основное внимание было сосредоточено на нижнем звене системы- физической линии. В то время, в 1950-е годы, программисты работали в машинное коде на битовом уровне, поэтому им не требовалось более абстрактного представле ния данных. Программисты были вынуждены заниматься техническими деталям канала связи. Современная технология располагает дешевыми средствами для пере- дачи большого объема данных, и поэтому основное внимание сосредоточено на при- кладных вопросах — базах данных, управлении процессами, автоматизированном производстве. Прикладному инженеру не нужно полностью концентрировать свое внимание на множестве деталей системы передачи данных, однако на всех уровнях должна быть обеспечена стыковка между системами, начиная с уровня бит до данных и функций, которые они представляют. Все более мощные средства связи и общепри- нятые стандарты являются определяющими для организации взаимодействия. Для того чтобы преодолеть трудности, возникающие из-за большого количеств* несовместимых стандартов, Международная организация по стандартизации {International Organization for Standardization — ISO) разработала эталонную моде*11 взаимодействия открытых систем1 (ВОС, Open System Interconnection — OSI)> к°т0 рая представляет собой не только еще один стандарт, но и базу для разработки но стандартов. Эталонная модель ВОС, подробно рассматриваемая в следующем ра^ ле, предлагает структуру для идентификации и разграничения различных сос ющих коммуникационного процесса. Дополнительно ВОС включает в себя стандартов, разработанных в строгом соответствии с базовой схемой. ^одеЛВци0и абсолютно не связана с конкретными реализациями и описывает коммуни ный процесс только в абстрактных понятиях. qi Эталонная модель ВОС не определяет уровни напряжений, скорость перу0С-, или протоколы, которые необходимо использовать для достижения совмесТИ‘пере между системами. Она просто декларирует, что уровни напряжений, скорости^f.. дачи и протоколы, а также большое количество других параметров должны вместимы. Практической целью модели ВОС является обеспечение совмести- ____________ 31) б 1 В русскоязычной литературе иногда используется термин “модель взаиМ°сВ крытых систем”. 345- ль взаимодействия открытых систем (ВОС) меняемости. Совместимость (interoperability) означает, что обмен данны- зза^^бует непропорциональных расходов на их преобразование. Взаимозаме- означает, что устройства, выпускаемые различными «е>,оСТЬителями для выполнения одной и той же функции, могут замещать друг дру- Р^аких-либо проблем при условии, что их работа основывается на одних и тех же ^ипах и правилах. Д|НЦ ептуальная простота модели ВОС не означает, что ее описание также является ^°ЯЦ - соответствующие документы насчитывают несколько тысяч (!) страниц. ;0СТЫМрОС была первоначально опубликована Международной организацией по ^^ртизации в 1984 году в документе под названием ISO 7498. Другая важная 411 ународная организация по стандартизации — Международный союз электро- пи (МСЭ, International Telecommunications Union — ITU), ранее называвшийся »ждународным консультативным комитетом по телеграфии и телефонии (МККТТ, Comite Consultatif International de Telegraphic etde Telephonic — CCITT), — опублико- вав том же году похожую рекомендацию под названием Х.200. Эта рекомендация была выпущена в новой редакции в 1988 году, и в дальшейшем ее предполагается -ересматривать каждые четыре года. 9.2.2. Основы взаимодействия открытых систем Модель ВОС — это концептуальная модель процесса коммуникации, основанная на разбиении этого процесса на несколько функциональных уровней, каждый из ко- торых взаимодействует только со своими непосредственными соседями, аналогично тому, как это делается при разработке операционных систем. Такой подход позволя- " предоставлять услуги, скрывая при этом механизм реализации, а значит, обеспе- чить определенную степень совместимости и взаимозаменяемости. В модели ВОС определены семь функциональных уровней (рис. 9.2). Каждый вровень напрямую взаимодействует только с непосредственными соседями, запра- шивая услуги у нижележащего и поставляя их вышележащему уровню. Запросы на ^вание в модели ВОС похожи на запросы операционной системы или прин- Клиент-сервер” в распределенных системах — запрашивающий уровень переда- Данные и параметры на нижний уровень и ждет ответа, игнорируя детали того, чух °°разом выполняется запрос. Объекты, расположенные на одном уровне в раз- Узлах коммуникационной сети, называются одноранговыми (peers). Эти объек- гвц“ИМ°ДействУют межДУ собой на основе протоколов, определяют форматы сооб- и Правила их передачи. ^°Дель ВОС определяет услуги, которые каждый уровень должен предоставлять ь- В3ЫС0К0МУ уровню- Услуги — что делать — четко отделены от протоколов — какде- 'Чхиаимоде®ствие базируется на том, что разные системы структурированы вокруг щ g 2ех же служб и протоколы на каждом уровне совпадают. В соответствии с прави- 11(ци С т°лько одноранговые объекты могут общаться друг с другом. Основные цЬ1 Ы ВОС можно кратко сформулировать следующим образом: “не смешивать В И Суц1НОсти” и “обеспечить взаимодействие одинаковых сущностей друг с другом". ; ф ели ВОС определены следующие уровни. Изический уровень (Physical Link Layer) — представляет собой физическую Рбду передачи — электрическую или оптическую — с соответствующими ин- Рфейсами к сопрягаемым объектам, которые называются станциями (station)
346 .я^пель взаимодействия открытых систем (ВОС) 347 Глава 9. Цифровые коммуникации в управлении проце — — или узлами (nodes). Все детали, касающиеся среды передачи, уровня си и частот, рассматриваются на этом уровне. Физический уровень являете НаЛ°в ственной материальной связью между двумя узлами. е’111|т 2. Канальный уровень или уровень звена данных {Data Link Layer) — обесп ет функции, связанные с формированием и передачей кадров (frames) отЧИВа го узла к другому, обнаружением и исправлением ошибок, возникающихнаЛ° зическом уровне. При появлении ошибки, например из-за помех на линии этом уровне запрашивается повторная передача поврежденного кадра В зультате канальный уровень обеспечивает верхние уровни услугами по безо шибочной передаче данных между узлами. Если несколько устройств исполь зуют общую среду передачи, то на этом уровне также осуществляется управление доступом к среде. 3. Сетевой уровень (Network Layer) — устанавливает маршрут и контролирует прохождение сообщений от источника к узлу назначения. Маршрут может со- стоять из нескольких физических сегментов, не все из которых связаны непос- редственно. 4. Транспортный уровень ( Transport Layer) — управляет доставкой сообщений “из конца в конец”, т. е. от источника к приемнику. Этот уровень представляет со- бой интерфейс между прикладным программным обеспечением, запрашиваю- щим передачу данных, и физической сетью, представленной первыми тремя уровнями. Одна из главных задач транспортного уровня — обеспечить незави- симость верхних уровней от физической структуры сети, в частности от марш- рута доставки сообщений. Транспортный уровень несет ответственность за проверку правильности передачи данных от источника к приемнику и доставку данных к прикладным программам. 5. Сеансовый уровень (Session Layer) — отвечает за установку, поддержку синхро- низации и управление соединением (сеансом связи, диалогом) между объекта- ми уровня представления данных. На этом уровне, в частности, происходит удаленная регистрация в сети. 6. Уровень представления данных (Presentation Layer) — обеспечивает синтакси ческую модель данных, т. е. кодирование и преобразование неструктурирован ного потока бит в формат, понятный приложению-получателю или, иначе го воря, восстановление исходного формата данных — сообщение, текст, рисунок и т. п. 7. Прикладной уровень (Application Layer) — самый верхний уровень, накоторо- решаются собственно прикладные задачи — передача файлов, операции с р пределенными базами данных и удаленное управление. Ос* Физический уровень — единственный, имеющий материальное воплощение, тальные уровни представляют собой наборы правил или описание вызовов фУ ций, реализованные программными средствами. Три нижних уровня называю сетевыми или коммуникационными уровнями, так как они отвечают за доставку общений. Три верхних уровня относятся к прикладному программному обеспе нию и связаны с содержательной стороной сообщений. Четвертый, транспортир’ уровень осуществляет связь между коммуникационно-ориентированными И пР блемно-ориентированными уровнями. Уровень Узел 1 Узел 2 Рис. 9.2. Модель взаимодействия открытых систем Основная идея модели ВОС довольно проста. Два одноранговых объекта соедине- Ны виртуальной (логической) связью. Для объектов виртуальная связь представляет- Ся Реальным каналом связи, хотя виртуальное и физическое соединения совпадают т°лько на первом уровне. Объекты обмениваются данными в соответствии с протоко- 10Ч определенным для их уровня. На самом деле объекты запрашивают услуги непо- Дственно у нижележащего уровня с помощью вызова процедур (рис. 9.3), при этом в - Ренние механизмы недоступны запрашивающему объекту и могут измениться V3n°^0^ Момент без его уведомления. Между объектами, принадлежащими одному п у и Удаленными друг от друга более чем на один уровень, т. е. не являющимися не- ЧИм ^ственнь1МИ соседями, так же как и между объектами, принадлежащими к раз- pg^ У3лам и расположенными на разных уровнях, нет непосредственной связи — ни сТвоЬНой’ Ни виРтуальной. Например, объект уровня 4 одного узла может взаимодей- р[ВЭТь ТОлько с объектами уровней 3 и 5 того же узла и уровня 4 другого узла. ИоКоР°ТОкол представляет собой набор правил, определяющих начало, проведение Ми Нчание процесса связи между одноранговыми объектами. Сообщения, которы- •1цб0 ениваются одноранговые объекты, содержат либо пользовательские данные, с^е Являются протокольными (управляющими) сообщениями. Перед передачей на MBjj ^Щий, нижележащий, уровень к сообщению добавляется управляющая инфор- я ~~ заголовок уровня — в соответствии с протоколом, принятым на данном
348 Глава 9. Цифровые коммуникации в управлении ппп ---------------------- ---------------- уровне. Результат напоминает русских матрешек, которые вкладываются друг га (рис. 9.4). Самая маленькая матрешка соответствует исходному сообщений прикладным данным, самая большая — тому, что в действительности передае ’ Т'е‘ физическому тракту. Протоколы и вызовы процедур описаны в документах м^*110 ВОС и соответствующих стандартах с указанием конкретного синтаксиса к функции и ее параметров. Узел 1 Узел 2 Рис. 9.3. Виртуальное соединение одноранговых объектов в модели ВОС Уровень исходные данные 7 - прикладной 6 - представления 5 - сеансовый 4 - транспортный 3 - сетевой 2 - канальный 1 - физический Заголовки (служебная информация уровня) | данные"] |~#7 [ | данные"] | #6 11 #7 11 данные"] Г#5~] Г#6~] Г#7ПГаакнъсе"] | #4 11 #5 11 #6 11 #7 || данные | #3 11 #4 11 #5 11 #6 11 #7 11 данные | #2 11 #3 11 #4~| | #5 11 #6 11 #7 11 данные |~СКС~| | #2 11 #3 11 #4~| | #5 | Р#6~| | #7 11 данные [7жГ| Рис. 9.4. Общая схема передачи информации между уровнями (CRC — циклически избыточный код или контрольная сумма) Одноранговые объекты могут обмениваться между собой различными слу#6 ми (протокольными) данными, например для начала или прекращения сеанса с Эта информация передается отдельно от прикладных сообщений. Рис. 9.4 илл»0 рует основной принцип, а коммерческие продукты обычно устроены проще. Р колы, требующие активного обмена данными, необходимы только для некоторый
349 пь взаимодействия открытых систем (ВОС) ------------------------------------- х объектов, а взаимодействие может осуществляться в обход некоторых цоРаН „ еСТественно, при условии, что все партнеры, участвующие в обмене, дей- •,р0ВйТОДинакОВ°' ст0. каждого УРОВНЯ модели ВОС имеются наборы стандартов, выпущенные ос- и органами по стандартизации (приложение “Стандарты и организации по H°SH птизации”). Некоторые ранние стандарты, относящиеся к физическому и ка- стаН mv уровням, включены в модель ВОС. Для других уровней разработаны но- и отоколы в соответствии с идеологией модели ВОС. 8Ы Полная совместимость между отдельными уровнями в смысле модели ВОС пред- ает что, в принципе, можно создавать работоспособные приложения на базе П' tvktob от различных производителей. Однако в действительности обычно все обстоит иначе. Промежуточные уровни не поставляются как отдельные программ- ные продукты, а производители программ предлагают вместо этого пакеты, реализу- ющие весь стек протоколов от 3-4 до 6-7 уровней. Внутренние интерфейсы необяза- тельно должны удовлетворять требованиям модели ВОС, и этому на практике не придается слишком большого значения. Вместо того чтобы поддерживать структуру протоколов модели ВОС, программное обеспечение разрабатывается исходя из сооб- ражений его наибольшей эффективности. Модель ВОС постоянно подвергается справедливой критике. Разделение уров- ней от 4 до 7 имеет несколько академический характер. Поскольку программа испол- няется на одной машине, ее внутренняя организация, скорее всего, представляет ин- терес только для разработчиков. Протоколы, определенные для верхних уровней, далеко не эффективны. Поэтому производители программного обеспечения и обору- дования обычно не используют целиком всю модель ВОС, а поставляют продукты, содержащие лишь необходимые уровни, и не включают в них уровни, не требующие- ся в конкретном приложении. Не случайно в настоящее время во всем мире как для Жальных, так и для глобальных сетей передачи данных наиболее широко использу- ется протокол TCP/IP, который проще, чем модель ВОС (раздел 9.4.9). Модель ВОС представляет интерес не только для передачи информации на боль- ше расстояния, но и для автоматизации. Эффективная автоматизация требует, что- Разные приложения, выполняющиеся'в распределенной среде, могли взаимодей- в Овать без дополнительных усилий; модель ВОС обеспечивает базу для такого хен „0Деиствия- Новейшие стандарты в области промышленных и офисных прило- rovn ~~ ПР°ТОКОЛЬ1 МАР и ТОР, описываемые в разделе 9.6.3, — базируются намно- ' -Ровневой модели ВОС. балЬнПерСГ1ективе локальные системы управления должны интегрироваться в гло- такиеУЮ теРРитоРиально распределенную систему. Модель ВОС гарантирует, что 8Мест’3аДаЧИ упРавления> как складирование, производство и статистика, будут со- Пп ИСполняться> обмениваясь данными в рамках общего подхода к автоматиза- 1ред ЗВ0„ДСТва’ ПОставок и планирования, независимо от места расположения рацИЯТИй и УчРеждений. Модель ВОС представляет собой базу для формирова- ° иональной структуры системы обмена данными. ^ац3л ТаЛвн°й части главы более детально рассматриваются 1-й (физический), 2-й ЧЬ1МНЬ1Й) И (пРикладной) уровни. Основное внимание будет уделено совре- те Реализациям и тенденциям развития связи в производственных условиях ложениях управления производственными процессами.
350 Глава 9. Цифровые коммуникации в управлении прОце 351 9.2.3. Виртуальные устройства Виртуальное устройство (virtual device) — понятие, часто применяемое в и ВОС, равно как и в других областях индустрии связи, операционных и распред^' ных вычислительных системах. Виртуальное устройство представляет собой оЛ' ние на специальном языке функций и параметров некоторого устройства, Кот Сс ведет себя, как реальное. Совокупность процедур, составляющих виртуальное?* ройство, скрывает механизм выполнения функций реальным устройством и восп? нимает и вырабатывает только “чистые” и структурированные команды и данные Например, виртуальный терминал представляет собой набор команд, котор^ позволяет перемещать курсор по экрану, выводить на экран строки символов и вьць лять их полужирным шрифтом или подчеркиванием, вводить символы с клавиатура и т. д. Без применения концепции виртуального устройства программист, разрабаты- вающий текстовый редактор, должен учитывать различия в управляющих команда для выполнения одних и тех же действий на разных типах терминального оборудова- ния. При использовании виртуального терминала этого кошмара удается избежать, достаточно записать управляющие команды на абстрактном языке. Драйвер конк- ретного устройства преобразует эти команды в управляющие последовательном для реального терминала (рис. 9.5). Рис. 9.5. Сравнение непосредственной привязки программы и механизма виртуа го устройства: а — непосредственная привязка прикладных программ к физи4 устройствам; б — привязка к физическому устройству через виртуальное „рские соединения — физический уровень модели ВОС --------------------------------------------- чецие многих лет для виртуальных терминалов широко использовался язык терминалами VT52 и VT100 компании Digital Equipment. Эти термина- ?авЛ пУПомные, 24 X 80 символов) имеют набор управляющих символов для про- ' ’ текста, позиционирования курсора, мерцания или инверсии символов и т. д. ' ^правления терминалами VT52 и VT100 поддерживается многими программа- Ь1 большинство терминалов, в том числе и выпущенные конкурирующими компа- 2 могут работать в режиме их эмуляции. Таким образом обеспечивается, по 911?И’й мере, минимальный уровень совместимости программ и терминалов. В бо- поздние годы в качестве своего рода виртуального терминала использовалась ^гооконная система X Window, являющаяся, в сущности, описанием протокола. 5олее подробно X Window рассматривается в разделе 11.6. Основное достоинство концепции виртуального устройства в том, что эксплуатируе- те прикладные программы не надо модифицировать для работы с новым реальным устройством. Достаточно снабдить каждое новое физическое устройство программным интерфейсом, сопрягающим его с виртуальным. Прикладная программа ничего не долж- вазнать о том, какое конкретное физическое устройство используется в системе. Важным виртуальным устройством, поддерживаемым моделью ВОС, является вир- тшьный накопитель файлов, работающий по протоколу FT AM (раздел 9.4.8). При- ложения FTAM применяются в распределенных системах при управлении производ- ственными процессами, финансовыми операциями, бронированием авиабилетов и т. п. Впротоколе FTAM свойства файлов — дата создания, управление доступом и многие другие - описываются на абстрактном языке, а операции поддерживаются в многоза- дачной среде с помощью функций типа “открыть/закрыть”, “читать/писать”, “блокиро- “гь’ит.д. Программный интерфейс между службами FTAM и конкретными устрой- ся файловой системы обычно реализуется в рамках операционной системы. Физические соединения — физический уровень модели ВОС Наиболее распространенная среда передачи цифровой информации — электричес- е?Ь ^Ростота’ низкая стоимость и отработанная техническая база делают ка- ’«Ия С)И °Л6е УД0бнЫМ носителем Для передачи информации на ограниченные рассто- <Х1Ьщ ПТСКИЙ ка<<)ель и Радиосвязь более экономически эффективны при передаче объемов информации на значительные расстояния. Оптический кабель пред- Интерес и в промышленных условиях, так как он не подвержен влиянию элек- помех и ПОЭТОМУ может надежно передавать показания датчиков. Если Ууда.1(,а КЭ ельного соединения с управляемым оборудованием невозможна из-за г?1 ИЛИ подвижности’ то в качестве среды передачи можно использовать ны. Перечисленные виды носителей рассматриваются в этом разделе. 3.3,1 Основные количественные характеристики "' ,Р°бНосЬ1М параметРОм> характеризующим канал связи, является его пропускная ц е Ть (channel capacity), т. е. количество информации, которое можно пере- вРемени- Пропускную способность обычно измеряют в бит/с. Пра- Tt ng Ранный канал связи имеет достаточную пропускную способность для пе- Фий °6ходимого количества информации за заданное время. Экономический ~~ передать больше информации при меньших затратах. Однако пропуск-
352 353 Глава 9. Цифровые коммуникации в управлении ппн -----------------------------------------------------------------------------------------------------_____моце^ ная способность канала, как правило, требует расходов — чем выше пропуСКн собность, тем дороже канал.----------------------------------аЯс;: Пропускная способность физического канала (электрического, оптическог радиоканала) тесно связана с полосой пропускания, мощностью сигнала и v шума. Полоса пропускания (bandwidth') определяется как диапазон частот к ВН' канал способен передавать с затуханием менее чем 3 дБ (что соответствует 50у* дения уровня мощности). Это понятие похоже, хотя и не тождественно ня/11 м ’ П« ПОЛ0! пропускания измерительной аппаратуры, описанную в разделе 4.1.3. Полоса пускания измеряется в герцах (Гц) или в кратных единицах. Например, обычная^ лефонная линия передает сигналы в частотном диапазоне от 300 до 3400 Гц а ? полоса пропускания равна 3,1 кГц. Типичная ширина полосы пропускания телевц- онного канала составляет 5,5 МГц. Соотношение между шириной полосы пропускания электрического канала [Гц] и максимальной скоростью передачи данных 7?тах [бит/с] было установле! американским исследователем шведского происхождения Гарри Найквистом (Наг Nyqvist) в 1924 году. В соотношении Найквиста важную роль играет метод кодир вания сигнала, определяющий его способность переносить информацию. При уровнях сигнала можно передать log2 Vбит, а полная пропускная способность кант 7?тах = 2ГЕ-!og2E (9... Это соотношение аналогично тому, которое применяется при дискретизации восстановлении сигнала (раздел 5.1). Достаточную информацию о сигнале с полосе пропускания ГЕможно получить при частоте выборки 2 ГЕ. Более высокая частотавг борки ничего не прибавляет к информации, необходимой для восстановления сигн.. ла. Здесь возникает проблема предельного значения; на практике, для того чтобыуп- ростить восстановление сигнала, частота выборки принимается несколько выше частоты Найквиста. В технической литературе иногда путают понятия пропускной способности и по лосы пропускания канала, поскольку один и тот же термин — bandwidth — использ} ется для двух разных вещей. Пропускная способность — общее понятие, примени к любому виду канала и типу связи и не ограниченное конкретным типом физич го носителя. С другой стороны, полоса пропускания канала относится только тотному диапазону, в котором электромагнитные сигналы передаются с onPe^^4C. ным максимальным затуханием. Само по себе понятие полосы пропускания не говорит о пропускной способности канала. выра*' При передаче двоичных данных V = 2 и логарифмический сомножитель ния (9.2) равен единице. Отсюда вытекает распространенное заблуждение,^ . пускная способность канала в бит/с равна удвоенной полосе пропускания в^чесТ- ответствии с выражением (9.1) не существует ограничения на к°сяДОг информации, которое способен передать канал, при условии, что используе точно большое число символов. чИ (цй'’ Важным фактором, отрицательно влияющим на связь, являются п°ме' й Помехи - это неизбежная реальность окружающего мира и неотъемлемое канала связи. В электромагнитном канале помехи связаны со случайным движением электронов, а их влияние пропорционально полосе пропускания •. Помехи могут возникать в электрическом проводнике и под воздействием о (|)),г щей среды, при этом проводник ведет себя как приемная антенна. Шумы ^зические соединения — физический уровень модели ВОС (атриваются относительно уровня мощности передаваемых сигналов. Шум мо- ; С цосйТЬ пРене^Режимо малые искажения, однако если его уровень мощности ? 8 оМ велик по отношению к уровню мощности исходного сигнала, то последний :1 быть искажен до такой степени, что сообщение потеряет первоначальный Цриемник может неправильно расшифровать сообщение и выполнить не то ^гвие, которое предусматривалось передатчиком. Если для кодирования симво- 1 используется много близких уровней напряжения, то символы становится труд- 3 уделить и однозначно идентифицировать. Небольшой всплеск напряжения на ,чии вызванный шумом, может быть ошибочно воспринят как сигнал другого -лвня, соответствующий другому символу. Поэтому защита от шума и восстановле- искаженных данных являются важными проблемами связи. При выборе пара- ..jpoB каналов связи шум является одним из факторов, определяющим большин- .з0 принимаемых компромиссов. В принципе, шум можно устранить, но ценой пьших затрат; на практике существуют способы борьбы с шумом, позволяющие -дай его до безопасного уровня. Проблемы связи в условиях шума изучались американским математиком Клодом Пиноном (Claude Shannon). В 1948 году, в работе, которая по сей день считается новой теории связи, Шеннон предложил соотношение, описывающее канал с поло- йпропускания W [Гц], находящийся под влиянием шума. Шеннон ввел характерн- ая канала — отношение сигнал/шум (signal-to-noise ratio — S/N). Она представля- собой отношение средних уровней мощности исходного сигнала и шума, гиошение 5/W обычно выражается в логарифмических единицах — децибелах [дБ]. Согласно Шеннону, максимальная пропускная способность канала /? [бит/с] толосой пропускания W [Гц] и отношением сигнал/шум S/N выражается следую- йм образом Rm,x=WAog2(l + S/N) (9.3) Соотношение Шеннона дает максимальную скорость передачи данных без иска- ац?я ПРИ определенном уровне шума. Ее следует рассматривать как фундаменталь- в2-1ентИЗИЧеСКИ^ пРедел> кот°Рый нельзя достигнуть на практике. Это понятие экви- sТе я° ТеРм°Динамическому пределу преобразования тепла в работу. Так же как и ,Динамике, соотношение Шеннона дает наглядное представление о качестве лн°го процесса связи. •ЭавнаяКТИКе0ЧеНЬ сложно даже приблизиться к пределу Шеннона. Скорость переда- -‘рите °ЛП°^ тРети от теоретического максимума, обычно считается более чем удов- ;1,Р°вацЛЬНОй' ДЛЯ пРевышения этого уровня требуется специальное многоуровневое Сигнала’что увеличивает время его обработки (не следует путать со сжати- пК°ТОРОе Уменьшает количество символов, подлежащих передаче). Выигрыш ;,Тчиком еред:ачи может обернуться потерями при кодировании и декодировании пе- преде приемником. Если данные передаются по каналу со скоростью, превыша- '^ИеМни енн°иа, то ошибки, вносимые шумом, исказят сигнал до такой степени, ^алИз уК Не сможет его правильно декодировать. ^МожГНеНИЯ Шеннона показывает, что максимальную скорость передачи нНа И си Ю Повысить за счет увеличения полосы пропускания, уровня мощности :'ИРеНи ИЖения УРОВНЯ шума. При фиксированном (неизменном) уровне шума сОо 6 П0Л0СЬ1 пропускания более эффективно, чем увеличение уровня мощно- ветственно, отношения S/N. В сущности, все современные разработки
354 355 Глава 9. Цифровые коммуникации в управлении ппо, ---------------------- — в технике связи нацелены на расширение полосы пропускания в большей с чем на повышение уровня мощности. еЧ Следует обратить внимание, что выражение (9.2) не является частным случа ражения (9.3) при отсутствии шума (т. е. для S/N-* °°). Соотношение Най BbI' представляет собой функцию числа кодирующих символов и приводит к теореТичИСГа бесконечной пропускной способности для любого канала. Утверждение Шен^ представляет собой функцию отношения S/N. В соответствии с выражением (9 2) отсутствии шума и любой полосе пропускания W > 0, можно передавать сколько уПРИ но информации при условии, что выбран подходящий способ кодирования. В случа' телефонной линии с полосой пропускания 3000 Гц и типичном отношении 5/Л1в 30 Б (мощность сигнала превышает шум в 1000 раз) предел Шеннона равен 30 кбит/с Со отношение Найквиста определяет, что для передачи этого количества информаци должна быть использована схема кодирования с 32 различными уровнями сигнала. Скорость передачи, определяемая соотношением Шеннона, может показаться очень маленькой по сравнению с теми скоростями, которые сейчас необходимы, на- пример, для графических рабочих станций, работающих с мультимедийными прило- жениями. Рабочая станция в офисной среде обычно постоянно соединена с сервером высокоскоростными каналами практически при отсутствии внешних помех. Напро- тив, во многих приложениях, связанных с управлением промышленными и техноло- гическими объектами, физический носитель имеет ограниченную пропускную спо- собность, а уровень шума гораздо выше. В заключение еще раз отметим, что основными ограничениями при создании ка- нала связи являются полоса пропускания и соотношение сигнал/шум. Доступная по- лоса пропускания должна соответствовать необходимой пропускной способности. Если это условие не выполняется, никакие совершенные средства связи не помогут решить проблему. 9.3.2. Электрические проводники Наиболее распространенные типы электрических проводников, используемые для связи, — это витая пара и коаксиальный кабель (раздел 4.5.2). Витая пара более чувствительна к электромагнитному шуму, особенно вблизи силовых кабелей и электрооборудования. Оболочка коаксиального кабеля обеспечивает лучшее экра нирование и, следовательно, большую устойчивость к помехам. Полоса пропускания витой пары ограничена несколькими мегагерцами. Это означает, что она не может обеспечить скорости передачи выше, чем несколько Мбит/с на расстояния поря километра. Однако благодаря своей простоте и низкой стоимости витая пара ча применяется в качестве среды передачи. Коаксиальный кабель имеет полосу пропускания до 500 МГц и обычно испол ется для передачи радио- и телевизионных сигналов. Благодаря широкой п0^[1е пропускания коаксиальный кабель позволяет обеспечить значительно более выс скорости передачи, чем витая пара. ( Существует функциональное различие между узкополосным и широкополое коаксиальным кабелем. Узкополосный (baseband) коаксиальный кабель исполь ется для цифровой связи на одной несущей частоте, обычно 5, 10 или 20 МГц- У3 jj£ полосный кабель является стандартным решением для большинства промышЛеН1 приложений. Широкополосный (broadband) кабель используется для переда411 физические соединения — физический уровень модели ВОС щие расстояния нескольких сигналов на разных частотах, так как его коэффици- б^^ухзния меньше. Этот кабель мало применяется в промышленных системах, еНТ одьку здесь редко возникает необходимость совмещать передачу телефонных Говоров, офисных данных, телевизионного сигнала и сигналов промышленной ав- ^латики по одному физическому проводу. Прокладка и обслуживание витой пары и сиаЛьного кабеля обычно не вызывает проблем. Сети промышленных объектов, ^рые будут описаны ниже, используют витую пару и коаксиальный или оптичес- h к кабель в качестве физической среды передачи. ° Одна из основных проблем при применении электрических проводников — это отраженные сигналы. Они вызваны несогласованностью сопротивлений, из-за чего часть сигнала передается нормально, а часть отражается (раздел 4.5.2). Рассогласо- зание сопротивлений обычно связано с изгибами кабеля или дефектными компонен- тами - соединителями, терминаторами или отводами. Отраженные сигналы нару- шают нормальную передачу, вызывают помехи и ухудшают качество связи. Для локализации источников рассогласования используются специальные при- боры, называемые кабельными анализаторами. Они выдают сигнал в кабель и при- нимают его отражение. Интервал между посылкой исходного и приходом отражен- ного импульса определяет расстояние от точки проведения испытаний до места рассогласования импедансов. 9.3.3. Кодирование бит Существуют два основных способа передачи битовой последовательности по фи- зическому каналу: - посылка бит в линию в непосредственном или закодированном виде при сохра- нении цифрового характера данных; ~ модуляция несущей по амплитуде/частоте/фазе и передача модулированного сигнала. Непосредственный способ передачи цифровых данных является наиболее про- стым. При непосредственном кодировании, например, уровень напряжения 0 В пред- ставляет логический “0”, а + 10 В — логическую “1” (рис. 9.6, а). Говорят, что ноль со- °тветствует покою (space), а единица — посылке или импульсу (mark). Часто ^пользуется обратная кодировка — при “0” (или покое) линия находится под высо- напряжением, а “1” (посылке) соответствует низкий уровень напряжения. ТПи- °Ко используется полярное кодирование — сигналы, соответствующие “0” и “1”, _ е®т противоположные знаки по отношению в общей базе. Прямое, обратное и по- (о ^Ное кодирования называются кодированием без возвращения к нулю (Non-Return ц er° ~ NRZ), так как в нем отсутствует обязательный переход к нулевому уровню. иЛиЛед'овательность единиц будет поддерживать линию при постоянном высоком низком потенциале в соответствии с принятой схемой кодирования. и и ет°Д К0ДиР0Вания без возвращения к нулю прост, но чувствителен к помехам скажениям. Для компенсации затухания и искажений в линии на стороне прием- ка любое напряжение менее чем + 2 В интерпретируется как логический “0”, ауров- цЬ1;ВЬ1ше +5 В воспринимаются как “1”. Триггер Шмитта (Schmitt trigger), настроен- , 4 на эти уровни, можно использовать для восстановления цифрового сигнала +Чс. 9 7)
356 р. Глава 9. Цифровые коммуникации в управлении процед^а^ 357 Рис. 9.6. Способы цифрового кодирования: а — прямое двоичное без возвращения к нулю (NRZ); б — прямое двоичное с возвращением к нулю (RZ); в - трехуровневое с возвращением к нулю; г-д — манчестерское (г) и дифференциальное манчестер- ское (д) кодирование. Знание опорного уровня (нуля) необходимо только при трехуровневом кодировании; в остальных случаях для распознавания соответствующих данных абсолютный уро- Рис. 9.7. Пороговые значения для триггера Шмитта Однако при непосредственном применении NRZ-кодирования возникает одна существенная проблема. Приемник не может различить, где начинается ^0, чается каждый отдельный бит. Кроме того, если передатчик использует РазН^ь1уИ рости, приемник не может сразу в начале передачи определить его скорость- словами, чистое NRZ-кодирование не позволяет отличить отсутствие сообше последовательности несущих информацию нулей. Должен ли приходящий и е. рассматриваться как одна длинная или как две короткие единицы? ВозмоЖй°е Рве- ние — предварять каждое сообщение преамбулой {preamble), т. е. последовав й тью чередующихся нулей и единиц, обеспечивающих синхронизацию переДа'гЧ 2 физические соединения — физический уровень модели ВОС емника. Однако при этом остается риск потери синхронизации в процессе пере- данных и, соответственно, неправильной их интерпретации. Наконец, если все J ьСы имеют одинаковую полярность, распределенная емкость линии ведет к на- " плению постоянного электрического потенциала. К° Все указанные проблемы решаются при кодировании с возвращением к нулю Mum to Zero — RZ) (рис. 9.6 б). В этом случае исходные данные комбинируются с игналом синхронизации. Как и при прямом кодировании, здесь также определены дса уровня потенциала, один из которых соответствует логическому нулю, а вто- « — логической единице. Каждый бит начинается с определенного для его значе- нйя уровня потенциала, а в середине каждого импульса осуществляется переход на нулевой уровень; фронт перехода используется для синхронизации приемника. При другом типе RZ-кодирования применяются сигналы разной полярности (рис. 9.6 в). RZ-кодирование требует в два раза более широкой полосы, чем NRZ-кодирование, а соответствующая электроника интерфейсных устройств гораздо сложнее, однако достоинства метода отодвигают эти недостатки на задний план. Другой широко применяемый способ — это манчестерское или двухфазное коди- рование (Bi-phase Level — ЕЙФ-Ь). При манчестерском кодировании каждый бит ко- дируется двумя уровнями напряжения с переходом в середине каждого импульса (бита). При прямом манчестерском кодировании бит “0” представляется переходом от уровня низкого напряжения к высокому, а бит “1” — переходом от высокого уров- ня к низкому (рис. 9.6 г). Похожая схема используется при дифференциальном ман- честерском кодировании, при котором бит “0” представляется переходом уровня вначале каждого нового периода, а бит “ 1” — отсутствием такого перехода (рис. 9.6 Э). При дифференциальном манчестерском кодировании код бита зависит от уровня на- пряжения второй половины предшествующего бита. Манчестерское и дифференциальное манчестерское кодирования являются са- 'юсинхронизирующимися кодами (т. е. позволяют приемнику настроиться на пере- ®чик без специальных синхросигналов) и имеют более высокую защиту от шума по равнению с RZ-кодированием. Как и для кодирования с возвращением к нулю ман- ’естерские схемы требуют в два раза более широкой полосы пропускания, чем кодирование. Преимущество манчестерского кодирования в том, что оно не- чем 3У£Т два УРОВНЯ напряжения вместо трех и соответствующая аппаратура проще, чал ПРИ ^-кодировании. Манчестерское кодирование широко применяется в ло- ьных сетях, например в Ethernet. ;а1ь^ествУют и ДРУгие схемы кодирования, но они применяются в основном для и и спутниковой связи, а не для управления производственными процессами Сь Рассматриваться не будут. ^•3.4 .. модуляция несущей ЧцпДУЛЯЦИЯ несУщей {carrier modulation) используется для согласования инфор- Нного сигнала с линией, по которой он передается. Модуляция представляет ЧНеИЗМениение некоторых параметров (амплитуды, частоты, фазы) высокочастот- но Суц1ей как функции исходного информационного сигнала; в качестве несущей !ньзуется высокочастотный синусоидальный или импульсный сигнал. При- ВЬ1деляет исходный сигнал из модулированного. Различные типы модуляции Тяготея типом несущей и процедурой модуляции. Частота несущей может
358 359 Глава 9. Цифровые коммуникации в управлении nr,,. ' ----_--ЕРЧесса, изменяться в широком диапазоне — стандартные модемы для передачи обычным телефонным линиям (раздел 9.8.1) работают, например, при частот'111''1*!lf- пазоне 800-2500 Гц, адля передачи по широкополосному кабелю несущаяча ЭХВаиа' жет достигать 500 МГц. °ТаМд Амплитудная модуляция (AM, Amplitude Modulation — AM) редко испо при передаче цифровых данных. Более распространены частотная (ЧМ Modulation — FM) и фазовая модуляция (ФМ, Phase Modulation — РМ). При^^ нении каждого из видов модуляции соответствующий параметр несущей измен^ как функция входного сигнала. При амплитудной модуляции каждый уровень^8 пряжения исходного сигнала соответствует определенной амплитуде несущей частотной модуляции — частоте в определенном диапазоне, а при фазовой - опре ленному фазовому сдвигу несущего сигнала. Когда несущая модулируется цифровым сигналом, модуляции называются амп- литудной манипуляцией (АМн, Amplitude Shift Keying — ASK), частотной манипуи- цией (ЧМн, Frequency Shift Keying — FSK) и фазовой манипуляцией (ФМн, Phase Shift Keying — PSK) соответственно. Из этих трех методов фазовая манипуляция наиболее устойчива к помехам, т. е. для одного и того же отношения сигнал/шум на фазно-манипулированный сигнал помехи оказывают меньшее влияние, чем наамп- литудно- или частотно-манипулированный сигнал. Модуляция несущей не должна точно следовать цифровому входному сигналу. Изменение некоторого параметра несущей частоты можно связать с последовательно- стью из нескольких бит, а не только с одним битом. Это позволяет передавать больше информации на той же несущей частоте. Например, при фазовой модуляции можно использовать непосредственное соответствие: “0” фазовый сдвиг — 0° и “1" - 180 В другом варианте битовые последовательности 00, 01, 10, И могут кодироваться фазовыми сдвигами в 0°, 90°, 180° и 270° соответственно. При этом тот же сигнал не- сет двойной объем данных. Более сложной является квадратурно-амплитудная мо- дуляция (Quadrature Amplitude Modulation, QAM), при которой амплитудная и фазо вая модуляции сочетаются для передачи нескольких бит в соответствии с каждь» изменением огибающей несущего сигнала. Число изменений в секунду одного из параметров несущей называется сигн ной скоростью или скоростью передачи в бодах {Baud rate). Понятия скорости дачи в битах и в бодах часто путают. Они совпадают лишь в случае, когда изме^оже1 модулируемого параметра соответствует одному биту, т. е. когда несущая иметь лишь два состояния, каждое из которых соответствует “0” или • QAM-модуляции, например, комбинированные изменения амплитуды и соответствовать четырем битам, и битовая скорость в четыре раза выше, чем п0. в бодах. Скорость в бодах неудобна как практическая мера скорости nePefBJjTepei‘ скольку она требует дополнительно указать метод кодирования; реальный представляет скорость в битах. «оЛ11' ПРОИЗВОЛЬНО увеЛИЧИТЬ ПрОПуСКНуЮ Способность С ПОМОЩЬЮ муЛЬТибИТН ^9) рования и квадратурно-амплитудной модуляции нельзя. Исходя из выра#е при использовании четырех значений фазового сдвига число символов V увели с 2 до 4. Для обработки соответствующих сигналов требуется более сложное о ние, а передаваемые сигналы становятся более чувствительны к шуму. Для ка нии при известной полосе пропускания, постоянном уровне шума и заданной частоте существует оптимальная скорость передачи данных. Попытка превЫ орские соединения — физический уровень модели ВОС физи^д—-------------------------------------—— не улучшит пропускную способность канала, так как при этом наряду с исход- ск‘’РосТЬннЫМи потребуется передача информации, необходимой для исправления оши- Дополнительная обработка сигнала как передатчиком, так и приемником. По мере веского прогресса и появления более сложных и дешевых средств обработки рас- еХ11И тся сфера применения комбинированной техники модуляции, позволяющей луч- ^спользовать доступные физические каналы. Однако теоретическая максимальная и,е сть передачи канала не зависит от технологии и определяется лишь шириной поло- С п опускания канала и отношением сигнал/шум [уравнение (9.3)]. 9 3.5. Синхронизация Для правильной обработки сообщений необходимо, чтобы передатчик и приемник использовали один и тот же источник времени, т. е. чтобы они были синхронизирова- иы Синхронизирующая посылка представляет собой импульсный сигнал определен- ной частоты, генерируемый либо передатчиком, либо приемником или каким-либо внешним устройством. Синхронизирующий сигнал передается либо по специальному проводу, либо вместе с передаваемой цифровой информацией, как, например, при RZ или манчестерском кодировании, в которых изменение в середине каждого импульса представляет собой синхронизирующий сигнал. В первом случае требуется дополни- тельный провод, во втором — дополнительная полоса пропускания. Передача данных может осуществляться и без определенного источника времени; такая передача называется асинхронной. При асинхронной передаче приемник дол- жен “знать” заранее все параметры связи — в первую очередь, скорость — для того, чтобы правильно идентифицировать поступающие сигналы. Более того, приемник должен различать границы между отдельными битами и соответственно настраивать свои отсчет времени. Если у передатчика и приемника некоторые параметры связи «еют различную настройку, то приемник либо не сможет синхронизироваться поступающим потоком данных, либо быстро потеряет синхронизацию (рис. 9.8). передача аси,афонная передача ₽Ис- 9.8. Синхронная и асинхронная передача данных Стандарты интерфейса EIA-232-D и RS ,^аидарт интерфейса EIA-232-D является, по-видимому, наиболее известным и Л^Раненным среди стандартов для последовательной передачи данных. Сам ебе механизм работы EIA-232-D и других коммуникационных интерфейсов 10»;ен. Настоящая проблема — следить за всеми документами, издаваемыми орга- ,,^иями по стандартизации, за их перекрестными ссылками и затем, что они рег- НтИруют, а что нет.
360 Глава 9. Цифровые коммуникации в управлении пп Стандарт EIA-232-D ранее назывался RS-232 (RS от Recommended Standard мендуемый стандарт). Он был введен в 1969 году. Ассоциацией электронной и ~~ '*Кг> ленности {Electronics Industries Alliance, EIА) для описания требований к инт Х'Ь1Ц1' между ЭВМ или терминалами и модемами. Его последняя редакция, при которой ^c-’ ние было изменено с RS на EIA, датируется декабрем 1987 году. Исходная спе ция RS-232 была использована международными организациями по стандарТИдИКа' МККТТ и ISO для разработки их собственного набора спецификаций с небольши^111111 менениями по отношению к оригиналу RS-232. Сейчас круг замкнулся, поскольку И3 дарт EIA-232-D, в свою очередь, ссылается на стандарты МККТТ и ISO. Тан’ Стандарт EIA-232-D был первоначально определен как интерфейс между об дованием обработки данных (ООД, Data Terminal Equipment — DTE) и аппарату ой окончания канала данных (АКД, Data Communication Equipment — DCE), т. e. комму никационным оборудованием, присоединенным к физической линии. Однако сейчас этот стандарт распространяется и на многие другие приложения, например соедине- ние с терминалами, принтерами и другим внешним оборудованием. В соответствии со стандартом физический разъем имеет 25 контактов и нормирует- ся как ISO-2110. Спецификация EIA-232-D определяет цепи для передачи по двум ка- налам и для тестирования АКД. Однако на практике используется только один канал. Электрический интерфейс EI A-232-D следует рекомендациям ITU V.28. Уровни сиг- налов между +3 В и +15 В используются для логического “0”, а между -3 В и -15 В - для логической “1” (обратное кодирование). Входные электронные устройства долж- ны выдерживать скачки напряжения до ±25 В. Максимальная скорость передачи дан- ных равна 19200 бит/с при длине кабеля до 15 м; при более низкой скорости передачи длина кабеля может быть больше. Распределение сигналов на контактах разъемов и протоколы передачи EIA-232-D соответствуют рекомендациям ITU V.24. Некоторые контакты используются для индикации готовности к передаче или приему данных. Сигналы в стандарте EI A-232-D определены исходя из интерфейса с модемом, под- ключенным к линии связи, и поэтому некоторые из них не используются в других при- ложениях. Для непосредственного соединения между собой двух ООД без использова- ния внешнего канала связи и, соответственно, АКД применяется так называемый “нуль-модемный” кабель. Существуют различные типы такого кабеля. В одном случае контакты, по которым происходит обмен управляющими сигналами между ООД,за мыкаются друг на друга. В другом — на эти контакты подается постоянное напряже- ние, и таким образом, они всегда находятся в возбужденном состоянии, т. е., напри передатчик будет считать, что приемник всегда готов получать данные. Стандарт EI A-232-D не регламентирует вид передачи, которая может быть как ас хронной, так и синхронной (определены две цепи для приема и передачи синхронй ющих сигналов). Цифровые данные могут использовать любой вид кодирования. Основным недостатком EIA-232-D является ограничение на максимальную скор на уровне менее 20 Кбит/с. Для преодоления этого ограничения был разработан стандарт EIA-449 (ранее RS-449), который расширяет функции EIA-232. СпедИ1^зВо- ция EIA-449 устанавливает более сложную схему сигнализации, чем EIA-232-D, ляющую использовать новые услуги сетей передачи данных общего пользой В стандарте EIA-449 определены два разъема — один 37-контактный разъем для о ных цепей и дополнительный 9-контактный разъем для вторичного канала. Описание EIA-449 не регламентирует непосредственно уровни электриче . сигналов. Это определяется другими документами — EIA-422 для сбалансирова 361 лцеские соединения — физический уровень модели ВОС -------------------- -------------------------- а 423 для несбалансированной передачи. Эти стандарты распространяются и спецификацию электрической части и не затрагивают остальные функцио- с требования к полному интерфейсу связи. Основной разъем EIA-449 предус- ^лвает Два дополнительных контакта для обратных цепей сбалансированной >,аТР ачИ в EIA-422 определена скорость передачи данных до 2 Мбит/с, а при исполь- я несбалансированных цепей и общей обратной линии обеспечивается макси- 3° мая скорость 20 Кбит/с. Максимальная скорость передачи данных в EIA-423 м мметричное соединение) составляет 20 Кбит/с, что совпадает с EIA-232. Предус- мотрена совместимость EIA-449 с EIA-232-D, достигаемая с помощью относительно ' стого оборудования. Пока лишь немногие устройства используют интерфейс сТнДарта EIA-449. 9 3.7. Многоточечный электрический интерфейс RS-485 Стандарты, описанные выше, ориентированы на передачу данных только между двумя устройствами. Однако во многих приложениях требуется соединение несколь- ких устройств с помощью общей линии. Соответствующий электрический интерфейс описан в стандарте RS-485. Этот стандарт относится только к электрическим парамет- рам интерфейса и не оговаривает качество сигнала, синхронизацию, протоколы, назна- чение контактов разъемов и другие подобные вопросы. Допустимая скорость передачи для двоичных данных достигает 10 Мбит/с. Функционально стандарт RS-485 во мно- гом похож на электрические решения, применяемые в системных шинах. В соответствии со стандартом RS-485 несколько устройств соединяются сбалан- сированной витой парой. Устройства могут быть приемными, передающими или комбинированными. На обоих концах кабеля должны устанавливаться терминаторы (оконечные резисторы) с сопротивлением не менее 60 Ом (рис. 9.9). сбалансированный ₽Ис- 9.9. Структура интерфейса RS-485 ^7 ИНТеРФеЙСа аналогична тристабильной логике шины (раздел 8.2.3). Гене- ^acc;1 (пеРедатчики) могут находиться в активном или пассивном состоянии. В +сг ИВном состоянии они являются для сети большой нагрузкой (сопротивлением). ОтмН0М состояпии они питают сеть дифференциальным напряжением в преде- лу Т Д0 5-0 в между двумя выходными контактами. Одна полярность соответ- ет Двоичному “0”, т. е. один контакт имеет положительный потенциал по отноше-
362 физические соединения — физический уровень модели ВОС 363 Глава 9. Цифровые коммуникации в управлении процег ---------------------- — нию ко второму, а двоичная “ 1 ’’ имеет обратную полярность по отношению к урОв “О”. Дифференциальный порог для приемников установлен на уровне 0.2 В при До^ стимом диапазоне входных напряжений от -7 до +12 В по отношению к “зеМ1]\ приемника. В этой конфигурации ни один из проводов не находится под потенци. лом “земли”. Перекоммутация контактов генератора или приемника эквивалента' инверсии значений бит. Входной импеданс приемника и выходной импеданс передатчика в пассивном со стоянии измеряется в единицах нагрузки, которые точно определены в стандарте Передатчик должен обеспечивать питание до 32 единиц нагрузки и двух оконечных резисторов при полной эквивалентной нагрузке линии 54 Ом. Передатчик также должен выдерживать мощность, выделяемую при активном состоянии двух или большего числа передатчиков, часть из которых работает в режиме источника, а часть — в режиме потребления питания. 9.3.8. Оптическая передача данных Передача сигналов световыми импульсами по оптоволоконному кабелю получи- ла широкое распространение в различных системах связи и измерений. Оптическая среда имеет ряд преимуществ перед электрической, но у нее есть свои проблемы. Ин- терфейсные устройства для оптического кабеля сложнее и, следовательно, дороже, чем устройства для электрического кабеля. Однако в целом преимущества настолько существенны, что для многих приложений оптическая передача может рассматри- ваться как наиболее выгодный способ. Оптоволоконная система есть не просто другой тип среды передачи, а является пол- ной системой связи, состоящей из собственно оптоволоконного кабеля, генератора сигналов, приемника, оборудования для обработки сигналов на обоих концах кабеля и вспомогательных элементов (рис. 9.10). Различные технические решения для кабеля, генератора и приемника позволяют получать системы с разными характеристиками- Ширина полосы пропускания канала и допустимая длина линии определяются затуха нием и спектральной дисперсией оптоволоконного кабеля, выходной мощностью те ратора и чувствительностью светового датчика на приемном конце. Оптический бель описывается параметром, характеризующим ширину полосы пропуская соответствующее ей максимальное расстояние, которые обратно пропорциош^^^ друг другу. Этот параметр измеряется в МГц • км и определяет предел ра отОСовИТСя ности кабеля. Для любого оптического канала чем больше длина, тем уже стан полоса пропускания. Поскольку оптоволоконные каналы не зависят от эле ое0Г нитных возмущений, шум практически не оказывает никакого влияния (выс ношение S/N), и полосу пропускания можно использовать в полном объеме. , , вывод данных ввод данных -> приемник передатчик оптоволоконный кабель свето- или фотодиод лазерный диод Рис. 9.10. Принцип работы оптоволоконной системы связи Оцтические проводники представляют из себя очень тонкие (диаметром в доли ллИметра) и легкие волокна, изготовленные из прозрачного вещества — кварца, 51,1 вленого кремния (стекла) или пластмассы. Волокно состоит из сердцевины (core) наружного слоя, называемого оболочкой (cladding), и защищено пластмассовым эк- '' ,ЛЛ (sheath). Показатель преломления сердцевины выше, чем показатель прелом- паичм \ , ^ения наружного слоя, поэтому световые лучи отражаются от оболочки и распрост- раняются по волокну. Существует три основных вида оптических волокон, различающихся по размеру, типу материала и показателю преломления сердцевины и оболочки. Простейший тип оптического волокна, называемый многомодовым со скачком показателя преломле- нияЦ^р index multimode), имеет резкую границу между сердцевиной и оболочкой. Это волокно изготавливается из дешевых пластических материалов и имеет большое зату- хание (порядка 2.5 дБ/км) и высокую спектральную дисперсию. Этот последний фак- тор важен в связи с тем, что свет источника состоит из волн различной длины, которые распространяются по волокну с разной скоростью. В результате передаваемый им- пульс ослабляется по мере распространения по волокну и “размывается”. Поэтому та- кой кабель нельзя использовать для передачи сигналов на большие расстояния. Одна- ко низкая стоимость делает его идеальными для применения в локальных сетях. Соотношение полоса пропускания-длина составляет менее 35 МГц-км. У многомодового волокна с плавным изменением показателя преломления (graded index multimode) граница между сердцевиной и оболочкой размыта для того, чтобы обеспечить различные значения показателя преломления в сердцевине. Такая конструкция снижает влияние спектральной дисперсии и поэтому более эффективна ия передачи на большие расстояния. Типичное значение коэффициента затухания [фи длине волны 1300 нм равно 0.8 дБ/км. Соотношение полоса пропускания — дли- !,асоставляет менее 500 МГц-км. Одномодовое волокно со скачком показателя преломления (step index single имеет очень тонкую сердцевину (диаметром ~10 микрон), а характерис- показателя преломления допускают распространение только одной длины вол- +щ°ЭТ°МУ ег° называют одномодовым. Для достижения высокой оптической чис- к°эфАТаК°е волокно изготавливается из кварца. Это обеспечивает низкий ^50нИЦИеНТ затУхания — 0.4 дБ/км при длине волны 1300 нм и 0.25 дБ/км при ~ И °чень ШИРОКУЮ полосу пропускания — порядка 10 ГГц-км. Очевидно, ое оптическое волокно дороже, чем остальные. ',Х|пуЛьсв^ИК0М Света’ пРе°бразУЮщим цифровые электрические сигналы в световые М ДИол^'г оптическ°й системе связи является либо светоизлучающий, либо лазер- 81>1ХоДную ветоизлУчаюш-ий диод (light-emitting diode — LED) имеет ограниченную УЧп-/с мощность до 0.1 мВт; максимальная скорость передачи равна примерно (0ДНую и Олее Дорогие лазерные диоды (laser diode) имеют в 100 раз большую вы- .^Дачи gUJH0C.T?’ лем свет°диоды, — до 10 мВт — и могут обеспечивать скорость 8аЖнт °Лее 10 Гбит/С- Светоизлучающие и лазерные диоды различаются еще од- 'Siibie 1М качеством- Светодиоды генерируют свет в более широкой полосе, чем ИМи Диоды’ - примерно 30-80 нм против 5 нм. Поэтому свет, излучаемый ла- ДИОдами> значительно меньше подвержен влиянию спектральной дисперсии При У лазеРные диоды используются при передаче на большие расстояния. :ЧиСтМНИК оптической системы связи представляет собой фотодиод или фото- Т°Р, преобразующий световые импульсы в электрические сигналы. Если не-
365 364 Глава 9. Цифровые коммуникации в управлении процйс. о физические соединения — физический уровень модели ВОС ------------------------—------------------------------ обходимо обеспечить высокую чувствительность, используются лавинные фОТо ды (photoavalanche diode). °' Для практического применения были установлены три рабочих диапазона о волоконной связи при длине волны 850-900, 1300 и 1550 нм исходя из сочетай ° 'нескольких физических факторов, связанных с распространением света и конст ИЯ цией оптоэлектронных устройств. Длина волны 1300 нм оптимальна с точки «>„ К минимизации спектральной дисперсии, а при длине волны 1550 нм минимальны оп тические потери. Баланс мощности оптоволоконной системы связи можно определить, рассматри- вая каскад из генератора, оптической линии и приемника. Полное затухание в линии -определяется произведением ее длины на коэффициент затухания. Дополнительно необходимо учесть спектральную дисперсию, которая особенно важна для длинных линий. К затуханию линии добавляется примерно по 1 дБ на каждую точку сварки или соединения. Необходимо предусмотреть также будущие ремонтные работы и еще добавить 3 дБ в качестве запаса прочности. Датчик приемника должен иметь чувствительность, по крайней мере равную мощности передатчика минус полное за- тухание в линии. Пример 9.5 Баланс мощности оптоволоконной системы связи Оптическая линия должна иметь длину 50 км. В качестве среды передачи выбрано многомодовое волокно с плавным изменением показателя преломле- ния и затуханием 0.8 дБ/км при длине волны 1300 нм. Полное затухание на всей длине равно 40 дБ. К этому следует добавить 3 дБ на возможные в будущем ре- монты и соединения и еще 3 дБ в качестве запаса прочности. Таким образом, полное затухание линии составляет -46 дБ. Для достижения большей полосы пропускания в качестве передатчика выбран лазерный диод, работающий при длине волны 1300 нм; его оптическая мощность -4 дБм (т. е. мВт, отнесенные к децибелам). Чувствительность приемника должна быть по меньшей мере -50 дБм (сумма -4 дБм и -46 дБ). В качестве приемника можно использовать GaAs фотодиод с порогом чувствительности -52 дБм. Соотношение полоса про пускания-длина показывает, что можно обеспечить ширину полосы до 10 МГЦ- Запас в 2 дБ означает, что если бы линия была хотя бы на 2.5 км длиннее, при шлось бы использовать другие элементы, чтобы соблюсти баланс мощности- В действительности, при расстояниях более 40 км используется одномоД°в°е волокно со скачком показателя преломления._____________________________- Оптическая передача имеет целый ряд преимуществ перед электрическом той паре или коаксиальному кабелю. Основные достоинства и недостатки этого соба передачи перечислены ниже. Достоинства оптической передачи. цо • Оптическая передача имеет очень большую пропускную способность, °на может обеспечить скорость передачи данных более 100 Мбит/с. • Оптическая передача не зависит от магнитных или электрических помех и о , •швает полную изоляцию; это свойство полезно в промышленных условия* *’ пример вблизи электродвигателей или частотных преобразователей, а также в по- жароопасной среде (вблизи горючих жидкостей и газов). , оптические волокна имеют меньшее затухание сигнала на единицу длины, чем элек- трические провода — при передаче на большие расстояния оптические повторители устанавливают в нескольких десятках километров друг от друга, а усилители для обычного электрического кабеля должны размещаться через каждые 5—10 км. . Благодаря своему небольшому размеру оптическое волокно очень легкое — один километр оптического волокна без внешней защитной оболочки весит 50 г, витой пары - 10 кг и коаксиального кабеля — 200 кг. Недостатки оптической передачи. . работа по соединению (сварке) нескольких волокон трудоемка и может выполняться только обученным персоналом с помощью специального оборудования, а поврежден- ный электрический кабель может быстро исправить даже неспециалист. Каждое со- единение и сварка оптических волокон обычно добавляют около 1 дБ затухания. • Оптические линии поддерживают только соединения точка-точка — реализовать конфигурации, в которых один оптический передатчик работает с несколькими приемниками параллельно, очень трудно. Таким образом, оптические линии связи эффективны при передаче больших объемов данных на значительные (более 1 км) расстояния. В промышленных усло- виях основное преимущество оптической передачи сигналов — не большая пропуск- ная способность, а помехоустойчивость. Многомодовые волокна со скачком показа- теля преломления применяются в локальных вычислительных сетях в качестве основной магистрали (backbone) благодаря своей высокой пропускной способности. 9.3.9. Радиопередача данных Еще одним физическим носителем для передачи данных являются радиоволны. Пере- дача данных с помощью радиоаппаратуры является реальной альтернативой в тех случа- ях, когда нельзя установить проводное соединение, например, при связи с подвижными объектами или в случае, когда такое соединение оказывается слишком дорогим. Приме- ром могут служить линии электропередачи или трубопроводы, где необходимо наблю- Дать за оборудованием, удаленным на десятки и сотни километров. Если трубопровод или 1Иния электропередачи проходит по малонаселенному району, где нет инфраструктуры СВязи> сбор и передача данных по радио может оказаться лучшим решением. Основной вопрос при организации радиопередачи данных: использовать одну несколько фиксированных радиочастот (для этого чаще всего надо получить ли- еНзиго соответствующего государственного органа) или воспользоваться услугами диализированной компании. ° Первом случае передатчик и приемник работают на одной частоте, обычно в диа- ^°Нах Очень высоких (30-300 МГц) и сверхвысоких (300 МГц - 3 ГГц) частот. С точ- 3Рения процесса передачи данных передатчик и приемник представляют собой Льз°вательский интерфейс в форме стандартного коммуникационного порта. Ско- иСТь Передачи данных зависит от полосы пропускания, которую можно обеспечить на г^°Льзуемой радиочастоте. Если доступна только одна частота, для двухсторонней 5,311 Необходимо использовать полудуплексный режим; для полного дуплексного ре-
0UU ае>/ । лава и. цифровые коммуникации в управлении пп жима требуются две частоты (раздел 9.4.2). В развитых и густонаселенных Ст диодиапазоны заполнены и добиться выделения двух частот сложно. аНа* Ра- Некоторые компании, обеспечивающие мобильную телефонную связь ляют услуги по передаче данных. Обычно в этом случае передача данных ocv Д°Став' ется цифровыми пакетами и координируется с остальной нагрузкой сети ОбмСТВ’1Я' ными управляется центральной ЭВМ, связанной с главной антенной еНдан’ несколько пользователей могут совместно использовать ресурсы системы’вП°Эт°Х!У множественного доступа с разделением времени (раздел 9.4.2). И в этом случае „еЖИМе вательский интерфейс представляет собой стандартный коммуникационный по В отличие от выделенных частот цифровая пакетная радиосвязь наиболее в на в городских населенных районах, поскольку в них подобные услуги обычно пп °Д ставляются различными операторами по конкурирующим ценам. Цифровая пакет ная радиосвязь представляет собой разумное решение для сбора данных в сетях энергоснабжения (электрических и газовых) при отсутствии доступных каналов или для связи между подвижными объектами в зоне действия системы. 9.4. Коммуникационные протоколы 9.4.1. Протоколы канального уровня Создание работоспособного физического тракта передачи — это первый шаг в пост- роении надежной коммуникационной системы. Второй шаг — гарантировать доставку данных без искажений. Помимо этого при подключении более чем одного передатчика к одному и тому же физическому тракту должен быть упорядочен их доступ к общему каналу. Все эти задачи рассматриваются на канальном уровне модели ВОС. Физический уровень не обеспечивает защиту данных от помех и восстановление поврежденных данных. Контроль правильности полученных данных осуществляет- ся на уровнях выше физического и, в первую очередь, на канальном. Для этого при- меняются специальные протоколы и дополнительная информация в пакетах данных. Существует несколько канальных протоколов, основанных на общих принципах. В этом разделе подробно рассмотрен протокол HDLC (High-Level Data Link Control- высокоуровневое управление каналом передачи данных), поскольку он утвержден стандартом ISO и представляет собой основу для других протоколов, используемы5 в промышленных приложениях. Из-за того что полоса пропускания конечна, каналы связи следует рассматривать как ограниченный ресурс, который должен использоваться максимально эффекТИ® но. Если в некоторый момент времени доступ к каналу требуется сразу несколь устройствам, то возникает задача арбитража, как и при доступе к системной (о& шине или к ресурсам ЦП. Во всех случаях применяются похожие принципы. Канальный уровень обычно делится на два подуровня: MAC (Media Access Con управление доступом к среде) и LLC (Logical Link Control — управление логическим^^, ном данных). Подуровень МАС отвечает за организацию доступа нескольких пер , чиков к одному ф изическому тракту передачи. Подуровень LLC обеспечивает УстаНг0>1у. и поддержку соединения для передачи кадров данных от одного устройства к ДРг ' Протоколы подуровня МАС определяются типом применяемого интерфейсного о дования для доступа к среде передачи. В разделе 9.5 эти протоколы рассматривают менительно к локальным вычислительным сетям (ЛВС). ^уНИкационные протоколы ВиртУальные каналы и мультиплексирование й.4.2- более простым способом разделения физического канала между несколькими ус- ми является мультиплексирование (рис. 9.11). Мультиплексирование прозрач- :рЛ[С'г гройств, которые ничего не знают о деталях работы канала. Каждое устройство ноЯЛЯ ” пиотуальный канал — часть ресурса исходного физического канала. ..в11дцт J Рис. 9.11. Принцип мультиплексирования Мультиплексирование осуществляется разделением ресурсов канала во времени или по частоте. При временном мультиплексировании (Time Division Multiplexing — TDM) каждое устройство имеет доступ к каналу только в закрепленные за ним вре- менные интервалы — слоты (рис. 9.12, а). При частотном мультиплексировании [Frequency Division Multiplexing — FDM) полоса пропускания канала делится на диа- пазоны частот, каждый из которых закрепляется за одним виртуальным каналом (рис. 9.12, б). При FDM осуществляется модуляция несущей частоты, которая нахо- дится в середине выделенного диапазона. TDM и FDM взаимодополняют друг дру- га - при использовании TDM доступна вся ширина канала, но только некоторое вре- м, а при FDM устройству постоянно доступна часть полной полосы пропускания. а время (-Ис- 9.12. Разделение физического канала, а — временное мультиплексирование; ~ частотное мультиплексирование
JOO i лава у. цифровые коммуникации в управлении ппг, --------------------- ----------------- Оба типа мультиплексирования эквивалентны в практическом смысле они требуют обработки данных на обоих концах канала. Однако TDM имеет Ка; имущества перед FDM. Во-первых, вся обработка производится на цифровой не, т. е. нет необходимости в установке и обслуживании высокочастотного обо^°Е вания для модуляции и демодуляции сигналов несущей частоты. Во-вторых допускает управление распределением временных слотов между отдельным ройствами — если устройство не передает данные, его свободные слоты можно дать другому устройству. ne₽t‘ Если все или часть устройств нуждаются в доступе к каналу достаточно еду ным образом, то физический канал может обслужить больше устройств, чем чис поддерживаемых им виртуальных каналов. Эта технология называется статистичес ким мультиплексированием {statistical TDM) и используется, например, в окон- ных концентраторах — канал делится только между теми устройствами, которы- нуждаются в нем в данный момент. С другой стороны, если число устройств, нужд^ ющихся в канале в некоторый момент времени, превышает пропускную способность часть из них должна ждать доступа к каналу. Если передача данных по каналу осуществляется всегда в одном направлении, ре- жим передачи называется симплексным {simplex}. Однако во многих случаях устрой- ства на концах канала должны осуществлять и прием, и передачу — поэтому требует- ся мультиплексирование. Если в каждый момент времени каналом пользуется только одно устройство, передача называется полудуплексной {half-duplex). Это: режим эквивалентен TDM, при этом устройства должны обмениваться управляю- щей информацией для того, чтобы согласовать момент начала передачи. При полном дуплексном {full duplex) режиме передача происходит одновременно в обоих направ- лениях. Режим полной дуплексной передачи осуществляется с помощью FDM, при котором каждая сторона имеет свой выделенный частотный диапазон для передаче сообщений. 9.4.3. Обнаружение и исправление ошибок Физический уровень, выполняющий основную работу по передаче данных межа? узлами, не дает гарантий, что данные будут доставлены в исходном виде. Шум 0 Л11 нии может частично исказить сообщение. Для обеспечения защиты данных необхо димо использовать некоторую стратегию коррекции ошибок. Эта процедура тре°. активного участия и передатчика, и приемника. Для выявления ошибок при передаче данных были разработаны методы ко Р ля. Основной подход — добавить.к исходному сообщению дополнительную инц) мацию, позволяющую приемнику установить наличие ошибок при передаче. Для цифровых данных ошибки имеют скорее групповой характер, чем затраги^^ отдельные биты. Иными словами, более вероятно, что неправильное значение , иметь несколько последовательных бит, чем только один случайно располо*60^, бит. Это определяется тем, что источники внешнего шума — скачки и выбросы н жения и аналогичные возмущения — генерируют импульсы длительностью в не ко миллисекунд. При скоростях передачи данных порядка нескольких Кбит/с в щение, длящееся несколько миллисекунд, может нарушить несколько десятке0 Информация, добавляемая к сообщению для контроля ошибок передачи, с° lf из одного или нескольких байт, вычисленных из содержимого исходного сообШ6 3t>y КоМ^УникационнЬ|е ПРОТОКОЛЫ еделенному алгоритму, и называется контрольной суммой или контролем с ис- '10°П ованием циклического избыточного кода {Cyclic Redundancy Check — CRC) или п0'41, олЬной последовательностью кадра {Frame Check Sequence — FCS). Название сходит от того, что вычисление можно выполнить с помощью операции ре- ™ Ого сдвига над битами входного блока данных. Самый распространенный г"0 б определения контрольной суммы — разбить подлежащие передаче данные на L’I!0<\ известной длины (от нескольких байт до нескольких тысяч байт). Далее содер- °'1|мое каждого блока, рассматриваемое как двоичное число, делится на двоичное * о длиной один или два байта. Контрольной суммой является остаток от деления ’ еГ0 двоичное дополнение длиной до нескольких десятков бит. Двоичное число, Пользуемое при делении, называется порождающим многочленом и обычно запи- сывается в виде Полиномиальная форма представляет собой не уравнение, а просто способ запи- си. Порождающий многочлен на один бит длиннее результирующей контрольной суммы, и он начинается и заканчивается единицей. В нем указываются только степе- ни, отличные от нуля (степень полинома дает длину контрольной суммы в битах). Например, стандартный порождающий многочлен для CRC в соответствии с реко- мендацией МККТТ V.41 имеет вид ^.16 । „12 । „5 , что соответствует двоичной последовательности 1000100000010001. Приемник заново вычисляет контрольную сумму каждого из принятых блоков данных с помощью того же алгоритма. Если обе контрольные суммы совпадают, блок Данных принимается, в противном случае приемник считает, что есть ошибки, и мо- Жет> например, запросить повторную передачу блока. Когда контрольная сумма добавляется к исходным данным, результирующая би- т°вая последовательность передаваемого блока данных становится кратна порожда- вшему многочлену. Если данные не повреждены, то операция деления на порожда- ли многочлен должна дать в остатке ноль. Другой результат указывает на по- вРе*дение данных блока и необходимость его повторной передачи. Эффективность контрольной суммы для определения ошибок уменьшается, если r Ktl Данных имеют большую длину. При этом возможно выявление всех групп очных бит длиной меньше, чем контрольная сумма, и более 99 % ошибок с боль- иДлиной. со0дТРатегия коррекции ошибок должна предусматривать добавление к исходному вц 146111110 и совместную с ним передачу достаточного количества информации, что- Шх ^емник мог восстановить поврежденное сообщение на основе принятых дан- Ных РИемник использует всю принятую информацию для восстановления исход- но Данных' Необходимые избыточные данные заметно увеличивают длину н^иого сообщения, обычно на 10-20 %, так что, как правило, более экономично Льзовать простую схему обнаружения ошибок и запрашивать повторную пере- % П°вРежденных блоков данных. Процедуры коррекции ошибок имеют особое ение- если связь осуществляется только в одном направлении (например, теле- ,веские данные с космического объекта) или если полная дуплексная связь Вт°рной передачей блоков данных невозможна.
371 370 Глава 9. Цифровые коммуникации в управлении проц6с 9.4.4. Протоколы передачи символов Протоколы передачи символов представляют собой широко ИСП0-;1ьзуемЬ11-( тод асинхронной последовательной передачи байт. Каждому байту предЩег стартовый бит для синхронизации приемника в начале передачи. Байт закап<; ется битом четности и заключительным импульсом — стоповыми битами — Дл 1, 1.5 или 2 бита (рис. 9.13). Часто применяется обратное кодирование, означа* щее, что свободная линия поддерживается под высоким потенциалом. Из-за с & тового и стоповых битов асинхронная передача также называется старт-стг>п ' Посимвольную передачу просто реализовать благодаря существованию специаль ной микросхемы — универсального асинхронного приемо-передатчика (Universal Asynchronous Receiver Transmitter — UART), поэтому она широко применяется во многих устройствах и стала разновидностью неофициального промышленного стандарта. Рис. 9.13. Асинхронная передача символа: а — отсутствие передачи; б — стартовый бит; в — бит четности (в данном случае — 0, т. е. контроль на четность и общее число единиц — четное); г — столовый бит Бит четности (parity bit) используется в качестве простого метода выявления ошибок. При контроле на четность контрольный бит (бит четности) устанавливается таким образом, чтобы его сумма с исходным байтом была четной, а при контроле на нечетность — нечетной. На приемном конце проверяется выполнение соответствую щего условия. При отсутствии контроля состояние этого бита не рассматривается Если обнаружена ошибка четности, приемник сообщает об этом верхним уровня» которые решают, запросить ли повторную передачу. Из различных комбинат'1 числа передаваемых бит, типа контроля четности и количества стоповых битов о но используется протокол 8N1 (8 бит данных, без контроля четности, 1 стоп Поскольку четность не обнаруживается, контроля ошибок на этом уровне не пр ходит. 3.3а Посимвольная асинхронная передача проста, но в то же время неэффективн & того, что биты, добавляемые к каждому байту, увеличивают длину битовом п° (|( вательности более чем на 25 %, а также из-за простоя между отдельными си1^® „ дс На практике асинхронная передача используется только при скоростях пере 20 Кбит/с. 9.4.5. Бит-ориентированные протоколы. HDLC Протоколы на канальном уровне используются для контроля даваемых данных и для восстановления искаженных блоков данных. Пр являются либо бит-ориентированными (bit-oriented) — содержание каждого ваемого сообщения представляет собой строку бит переменной длины, Ли orpaHjr ориентированными (byte-oriented) - передается строка байт с некоторыми чивающими управляющими символами. ^омМУникационные ПР°ТОКОЛЫ Наиболее известным бит-ориентированным протоколом является протокол син- его управления звеном данных (Synchronous Data Link Control — SDLC), разра- компанией IBM. Существует несколько других похожих, но несовмести- ма SDLC протоколов. Для промышленных приложении очень важным является протокол высокоуров- го управления каналом передачи данных (High-Level Data Link Control — HDLC). ппотокол HDLC разработан ISO и используется в качестве основы для других про- гоколов — например, на нем базируется формат кадров Ethernet (раздел 9.5.4). управляющие поля в кадре HDLC имеют фиксированные расположение и длину (рис 944); переменную длину имеет только поле данных. Ограничивающие началь- луй и заключительный флаги кодируются уникальной последовательностью JII11110. Для того чтобы обеспечить уникальность флаговой последовательности, передатчик автоматически вставляет 0 после пяти следующих подряд 1 во все поля кадра, кроме флагов. Эта операция называется вставкой бит (bit stuffing). Приемник удаляет любой 0, следующий непосредственно за пятью идущими подряд 1, восста- навливая таким образом исходный вид кадра. № поля Длина, бит Значение Описание 1 8 01111110 (7Е hex) Начальный флаг (start flag) 2 8 Адрес (address) 3 8 Управляющее поле (control field 4 Произвольная длина >0 Данные (data) 5 16 Контрольная сумма (checksum) 6 8 01111110 (7Е hex) Заключительный флаг (end flag} Р1)с- 9.14. Структура кадра протокола HDLC 1рин'РеСН°е П0Ле имеет смысл только в том случае, если несколько станций могут ^ДелМаТЬ °дно и то же со°бщение — например, в локальных сетях, где все станции с°вант1ЯЮТ общ™ физический тракт передачи, — и должны идентифицировать адре- ные им сообщения. 1°РныйаВЛЯЮ1Цее поле HDLC определяет тип кадра — информационный, суперви- ^Ные-ИЛИ ненУмеРованнЬ1й. Информационный кадр содержит пользовательские каГ° управляющее поле идентифицирует порядковый номер текущего и следу- Р'ПеРвц Да <°6bI4H0 длинное сообщение разбивается на несколько кадров) и т. п. лНяет 3°рный кадр используется для координации приемника и передатчика и вы- > JПравляющие Функции - подтверждение кадров (квитирование), запрос на Фов н пеРедачУ информационного кадра, если нарушена последовательность ^нумерованные кадры используются для инициализации и разъединения [JOji ДЛя Других целей управления. данных может иметь любую длину. Поле контрольной суммы вычисляется ЩЫо многочленах16 + х12 + х5 + 1 в соответствии с рекомендацией MKKTTV.41.
онные протоколы 373 o/z । лава у. цифровые коммуникации в управлении пн Структура кадра HDLC соответствует многоуровневой структуре стека лов, показанной на рис. 9.4. Начальный и заключительный флаги необходц^070^ зическом и канальном уровнях. Адресное и управляющее поля и поле Конт На^-' суммы относятся ко 2-му и 3-му уровням. Передаваемые данные являются п но-ориентированными и относятся к 7-му уровню. ’1й; Формат кадра HDLC является основой для различных протоколов связи печивает средства для полной дуплексной передачи с контролем ошибок Наг, в одной из схем передатчик может продолжать передачу кадров, не ожидая пп ‘ ждения их приема, в другой — приемник должен подтверждать прием каждого к ' а еще одна схема требует только индикации кадров для повторной передачи Все схемы можно реализовать на базе формата HDLC. 9.4.6. Протокол телеметрии IEC-870 Протокол телеметрии IEC-870 представляет собой широко распространенны’ стандарт, предназначенный для мониторинга и управления распределенными про- цессами с помощью локальных интеллектуальных устройств, например, для связи центральной ЭВМ с удаленными устройствами управления и для сбора данных Протокол IEC-870 сочетает некоторые возможности символьных протоколов в фор- мате UART с бит-ориентированным форматом кадра типа HDLC. В IEC-870 единицей передачи информации является телеграмма, состоящая из байтовых последовательностей по 8 бит. Каждый байт передается в соответствии с форматом UART в виде И-битовой последовательности (1 стартовый бит, 8 бит данных, 1 бит четности, 1 столовый бит). Октеты передаются последовательно в каж- дой телеграмме в следующем порядке: - заголовок (1 или 4 байта); - пользовательские данные (переменная длина, до 253 байт); - контрольная сумма (1 байт); - символ конца сообщения (1 байт). Структура телеграмм протокола IEC-870 показана на рис. 9.15. Начальный символ показывает, какой тип телеграммы следует за ним — ванной или переменной длины. Телеграмма фиксированного формата (рис. имеет длину 6 байт. В телеграмме переменной длины заголовок содержит началь байт, за которым следует длина телеграммы. Первые 4 байта в данных пользовате. адрес и указатель функции; за пользовательскими данными следует байт контр суммы и символ конца сообщения. В 4 байтах заголовка в качестве меры безопас^^^ повторяются начальный символ и длина сообщения, поскольку эти байты не в ются в подсчет контрольной суммы. сматР11 Для обеспечения эффективных схем управления стандарт IEC-870 предУ цейГ вает несколько типов сообщений, например подтверждение приема сообшени ральному устройству или удаленной станции и т. д. Благодаря своей простоте и широкой доступности дешевых микросхем протокол IEC-870 легко встраивается в разнообразные устройства, поэтому ложен в основу многих промышленных решений, обеспечивающих совмести- и взаимодействие при интеграции в одну систему компонентов от разных Пр° дителей. а Хв поля Длина, байт Значение Описание 1 1 01101000 (68 hex) Начальный символ (байт заголовка) ^2 1 Длина сообщения (2-255 байт) 3 1 Длина сообщения (2-255 байт), повторение поля 2 4 1 01101000 (68 hex) Начальный символ (повторение поля 1) 5 1 Управляющий символ 6 1 Адрес (младшая часть) 7 1 Адрес (старшая часть) 8 Произвольная длина >0, <253 байт Данные 9 1 Контрольная сумма полей 5-8 10 1 00010110 (16 hex) Символ конца сообщения № поля Длина, байт Значение Описание 1 1 00010000 (10 hex) Начальный символ (байт заголовка) 2 1 Управляющий символ ___ 3 1 Адрес (младшая часть) 4 1 Адрес (старшая часть) 5 1 Контрольная сумма 6 1 00010110 (16 hex) Символ конца сообщения с,,Рованн' СтРУктУРа телеграммы протокола IEC-870: а — переменная длина; б — фик- Блок-ориентированные протоколы "е огпГ ИЛИ блок~°РиентиРованных протоколах данные передаются блокам, кото- ‘РГП<^1Ч^ВаЮТСЯ Финальными управляющими символами, например, SOH nfrv ~ Начало заголовка), SYN (SYNchronization — синхронизация), STX itl f iaXt — начало текста), ЕТХ (End of TeXt — конец текста) и EOT (End Of ission — конец передачи). Каждая передача начинается с символов SOH или заканчивается символом конца блока, например ЕТХ или EOT. Несколько
375 374 Глава 9. Цифровые коммуникации в управлении прОце символов SYN в начале блока данных используется для синхронизации прцем перед передачей данных (рис. 9.16). Блочный режим используется при передачНйк' прерывной последовательности от нескольких байт до нескольких сотен байт Т передача обычно осуществляется в синхронном режиме, при котором импульс носящиеся к отдельным битам, управляются синхросигналом. ,От' SYN SYN STX данные ЕТХ Рис. 9.16. Синхронная передача блоков: SYN — символ синхронизации STX — символ “Начало текста” ЕТХ — символ “Конец текста” В зависимости от реализации (протокола) для управления потоком используются символы АСК (ACKnowledge — положительное квитирование, т. е. подтверждение приема) и NAK (Not AcKnowledge — отрицательное квитирование или неприем) В одной из модификаций приемник должен явно квитировать прием каждого блока, в другой — приемник запрашивает только повторную передачу поврежденных бло- ков. Как правило, простои линии отсутствуют — если нет данных, приемник и пере- датчик могут обмениваться синхронизирующими символами. В общем случае синхронная передача данных более эффективна, чем асинхрон- ная, так как лучше использует пропускную способность линии и сокращает простои Она применяется при скоростях передачи, превышающих 2 Кбит/с. С другой сторо- ны, синхронная передача требует более сложного и, соответственно, более дорогого оборудования, чем асинхронная. Синхронная передача эффективна при передаче длинных блоков данных, например при передаче файлов. Для приложений, нетреоу- ющих высокой скорости, и в случае посимвольной передачи, например, для связи ЭВМ с терминалом или принтером, обычно достаточно асинхронного режима. 9.4.8. Верхние уровни модели ВОС (уровни с 3-го по 7-й) Уровни модели ВОС выше 2-го за исключением 7-го не имеют большого значение для промышленных задач. Поэтому здесь они будут рассмотрены очень к о рот Верхние уровни используются для обмена файлами или для приложений, связанн с базами данных в больших информационных сетях. Стоит отметить, что тенде^ь]Ц1. к применению сложных межсетевых приложений проявляется и в задачах про- ленного управления. туа-ИЬ’ В модели ВОС 3-й уровень (сетевой) отвечает за организацию и работу вир ного канала между двумя узлами, находящимися в разных сетях. Этот уРовеЯ^тедь- печивает маршрутизацию сообщения, т. е. его прохождение через последов ность промежуточных узлов до узла назначения. ы,ц. Уровни с 1-го по 3-й называются внешними, сетевыми или коммуникацио уровнями. Уровни с 5-го по 7-й являются внутренними или прикладными, т они реализуются программным обеспечением ЭВМ, на которой решается при ' ная задача. Уровень 4 (транспортный) представляет собой интерфейс межДУ кладными программами и внешней сетью. Хотя на нижних уровнях существую сколько протоколов и методов для обеспечения надежности передачи Да1 ,, мМуникационные протоколы ----------------- 4-й уровень может проверить, что данные были действительно посланы в пра- ф°Рмате от отправителя к получателю. Уровень 5 (сеансовый) отвечает за :ii1 иовкУ и РазРыв соединения между ЭВМ. Сеансовый уровень обеспечивает так- Р3 гц1ирение УСЛУГ 4-го уровня, в частности в том, что касается передачи файлов *\йОЙ ЭВМ на другую. с°Ур0Вень 6 (представления данных) относится к кодированию и структурирова- нных. Здесь играют важную роль два стандарта модели ВОС. Спецификация 9'о8824 Описание абстрактного синтаксиса 1 (Abstract Syntax Notation 1 — ASN.l) гаментирует структурирование данных, подлежащих передаче. Нотация ASN.1 „доставляет собой абстрактный язык для описания объектов и услуг в соответствии моделью “клиент-сервер”. Спецификация ISO 8825 Основные правила кодирова- ли (Basic Encoding Rules — BER) определяет способ двоичного кодирования, т. е. связь между содержанием сообщения и передаваемыми двоичными разрядами. В течение длительного времени двумя наиболее распространенными стандарта- мидляпредставления символов были ASCII и EBCDIC. В ASCII (American Standard Cade for Information Interchange — Американский стандартный код для обмена ин- формацией) символ (буква, цифра, другой символ) кодируется уникальной 7- или 3-битовой комбинацией, которая позволяет представить 127 или 255 различных сим- волов. Код EBCDIC (Extended Binary-Coded Decimal Interchange Code — Расширен- ный двоично-десятичный код для обмена информацией) использует другие битовые комбинации, чем ASCII, для отображения более или менее тех же символов. EBCDIC применяется в основном на мэйнфреймах компании IBM. Использование для символов только 255 кодов существенно ограничивает ото- оражение технических символов и символов иностранных языков. Новый расширен- ии 4-байтовый код стандарт ISO 10646 Универсальный многооктетный кодирован- ий набор символов (Universal Multiple-Octet Coded Character Set — UCS), позволяет Сражать все известные на Земле символы и символы, которые, возможно, появят- будущем. Для того чтобы обойтись более скромными ресурсами при обработке ®ных, используется 2-байтов BMP коде (Basic Multilingual Plan), который является ^множеством стандарта ISO 10646 и содержит 65535 символов, это достаточно У Ключения даже китайских иероглифов Каньчжи. <еДан°ВеНЬ ? (пРикладн°й) охватывает несколько вопросов, относящихся к обработ- ка НЫХ этом УРовне определены, в частности, понятие виртуального устрой- *Упр К1ашинно‘независимЬ1МИ командами (раздел 9.2.3), служба передачи, доступа ЧиВЛеНИЯ Фа“ Transfer Access and Management — FTAM), абстрактная ',СтУпо ^ЛЯ описания Различных характеристик файла (дата создания, управление л сцеМ' заидитные паР°ли, информация о множественном доступе и т. д.). Еще од- ^икациев 7-г° уровня является Система обработки сообщений (Message ’°°Р Пп ys1:em ~ МHS) — серия стандартов МККТТ Х.400. Она представляет собой Роцедур дЛя передачи электронной почты в форме сообщений. Чэ и Чротокол TCP/IP 1ещТ°К°Л 4 CP/IP (Transmission Control Protocol / Internet Protocol — протокол уп- ПщЯ пеРедачей/межсетевой протокол) представляет собой семейство протоко- ; Назначенных для работы в сложных объединенных сетях. В последнее время Дит широкое применение в вычислительных сетях промышленной автоматики.
376 уровень физическая среда передачи специй' Основная структура протокола TCP/IP (уровни 1 и 2 не являются частью циФикаций TCP/IP) у СИ Т5Р/1Р опРВДелены следующим образом. и 1 (физический) и 2 (канальный) в TCP/IP Глава 9. Цифровые коммуникации в управлении поп, ----------------------------—------------- TCP/IP — это сокращенное название набора нескольких стандартов с разл ми характеристиками и функциями, из которых основным является Ip Protocol — межсетевой протокол). Более правильное название TCP/IP - Protocol Suite (IPS), т. e. семейство межсетевых протоколов. Однако первый т получил настолько широкое распространение, что он будет использоваться и R Р111 нейшем. Следует иметь в виду, что TCP и IP являются всего лишь двумя из про^ лов, образующих IPS. ' Хотя TCP/IP, как и модель ВОС, имеет уровневую структуру, прямого соотве ствия между этими двумя архитектурами нет. Разница между ними, вероятно луЧ1 всего видна на примере истории их развития. В середине 1980-х годов TCP/Ip gbI включен как набор процедур в операционную систему UNIX V4.2 BSD (Berkek Software Distribution)-, эта работа, относящаяся к TCP/IP, финансировалась прав] тельством США через Министерство обороны. В это же время быстро росла noir- лярность персональных компьютеров, а для обмена сообщениями пользователи П подключались к мэйнфреймам с помощью модемов и телефонных линий. Иныу словами, проявилась огромная потребность в организации взаимодействия меж; компьютерами и выработке решений (оборудование, программы и протоколы свя- зи), достаточно простых для того, чтобы соответствовать уровню опытных пользова- телей ПК. Протокол TCP/IP удовлетворял этим требованиям. Благодаря включ. нию в ОС UNIX, которая быстро завоевывала популярность как у научных, так коммерческих пользователей, TCP/IP оказался практически обреченным науспе. Более того, в то же самое время появилась многоуровневая модель ВОС, но стандаг ты в этой модели еще не были полностью определены, и TCP/IP немедленно запо. нил вакуум. Видимо, наибольшим различием между TCP/IP и моделью ВОС является про- цесс их разработки. TCP/IP создавался и совершенствуется непосредствен! пользователями с помощью механизма под названием RFC {Requests for Comments предложения для обсуждения) в основном через саму компьютерную сеть. Допол» ния и изменения архитектуры вносятся и оцениваются самими пользователями учеными, сотрудниками коммерческих компаний и даже частными лицами, ° ВОС разработана международными комитетами, для которых характерны м тельность и сложные процедуры согласования. Хотя существует определенное модействие и обмен идеями по развитию модели ВОС и TCP/IP, каждое на ьЦ). ние сохраняет самостоятельность. Кроме того, модель ВОС распространена чем TCP/IP, поскольку она представляет собой значительно более сложи)'10 й В1- цию, которую трудно реализовать в полном объеме, и потому что она сср0рееудог лась позднее. Пользователи обычно неохотно изменяют что-л’'^". ряблтакиД^ летворительно, и учитывают время, требуемое для возврата вложенных^^. - --физический) и 2 (канальный) в TCP/IP явным образом не специфици- Поэтому TCP/IP сохранит свои позиции, по крайней мере в обозримом^ Ч в^0 сь могут быть использованы существующие стандарты, например входя- Несмотря на то что TCP/IP был первоначально предложен вместе с 0 TOjjcp' Чвет Ль С, TCP/IP подразумевает, что существует физическое соединение ной системой UNIX, это не означает, что его действие ограничено рамкам У^ _ вУЮщее управление каналом. ды. Наоборот, TCP/IP был разработан для работы с различными операн системами, аппаратными платформами и типами сетей. Например, служ ь „.011" позволяют копировать файлы между станциями, работающими под У^ую*0' разных операционных систем, обеспечивая при необходимости автоматические вертацию форматов данных. TCP/IP в настоящее время доступен на всех компьютерных платформах. л(ЛМуникационные протоколы 0 рассматривать TCP/IP с точки зрения модели ВОС, то можно считать, что толт из пяти уровней, первые три из которых функционально практически со- овСО<ют с моделью ВОС (рис. 9.17). На рисунке показаны названия порций инфор- ’ «наразличных уровнях. Дейтаграммы в TCP/IP формируются способом, похо- наприменяемый в модели ВОС. Понятие одноранговых процедур также сходно ^'определением в модели ВОС. 377 и у что она сф°РмйР 01. либо, работаюшее у •х среДс 1 буДУ^' it*11’1-ЗдеС* * 1 С,Г/ 1И явным оораз< dMMI LBUl'l ни ЛИЦИН, лршпи'-п — j- Мол еСЬ М0ГуТ быть использованы существующие стандарты TCP/IP был первоначально предложен вместе с .,°иэто>>ср' '^ВетХ'?’ В0С; TCP/IP подразумевает, 3 л — /и Вор114 В ТСР//1Р в определенной степени похожи на соответствующие уровни 'vPobh Х°Тя 0НИ непосредственно не совместимы с каким-либо из ее стандартов. '^Pq10 3 С00тветствУет межсетевой протокол IP, который является ядром всего ^Иц ТОКОЛОВ- Этот уровень обеспечивает передачу дейтаграмм по сети от одной % По К лРУг°й. Дейтаграммы представляют собой порции информации, передава- сети независимо друг от друга, которые могут быть предназначены для од-
378 Глава 9. Цифровые коммуникации в управлении прОце ной, нескольких или всех станций; соответственно, они могут иметь уникад групповой или широковещательный адрес (раздел 9.5.3). На этом уровне полу^ не должен подтверждать доставку дейтаграммы. IP был разработан для пеп*^ дейтаграмм по сети, но он не контролирует ни того, что дейтаграмма попала к а ’ ту, ни того, что доставка прошла без ошибок. р t: В IP не существует понятия последовательности дейтаграмм, составляют^ общение. Служба дейтаграмм не предусматривает их доставку в том же поря/ в котором они были посланы. Это входит в функции протоколов верхнего уп стека TCP/IP. Р°® Уровень IP использует специальную структуру для адресации узлов сети. Дд е( IP представляет собой 32-битовое число, разбитое на четыре 8-битных блока, разде ленных точками; его десятичным эквивалентом являются четыре числа в диапазоне 1-255 (например, “137.19.7.224”). Назначение адресов узлам представляет собой не- тривиальную задачу и должно выполняться по определенным правилам; дальней- шие подробности описаны в соответствующей литературе. Для устройств, подключенных к Интернету, должны использоваться адреса, уни- кальные в рамках всей глобальной сети. К системам управления производственными процессами это относится в меньшей степени, поскольку они обычно являются замк- нутыми и не зависят от какой-либо внешней сети. Поэтому не имеет значения, если система управления роботом имеет тот же адрес, что и компьютер библиотеки уни- верситета или сервер Web в глобальной сети. Однако в случае, если система управле- ния подключена к Интернету, то она больше не работает в изолированном режиме, и при выборе адресов это необходимо учитывать. Для того чтобы отделить часть сети, связанную с системой управления, от Интернета, можно использовать межсетевой экран (firewall), выполняющий роль фильтра. Уровень 4 (транспортный) включает в себя средства, расширяющие базовые службы IP. Протокол UDP (User Datagram Protocol — пользовательский дейтаграм-'1 ный протокол) представляет собой простую службу, осуществляющую транспорт дейтаграмм между приложениями, которые не требуют особой надежности,пос*0/. ку UDP не имеет средств для создания и поддержки виртуального соединения. дача каждой дейтаграммы представляет собой законченный процесс. Это о тельство снижает накладные расходы и соответственно увеличивает с передачи. При использовании UDP каждое приложение-адресат должно само тельно осуществлять проверку и исправление ошибок. (ро- UDP предназначен для систем с несколькими получателями, в которых вание приема каждой отдельной дейтаграммы было бы неудобно и дорого, н а1Я- в случае, когда информация не обладает очень большой ценностью и чаС?°ноВаЯ Vе' ется. При управлении производственными процессами это может быть фо к0.п>' редача информации о процессе, которая должна постоянно выводиться ких рабочих станциях, поэтому небольшие нарушения и спорадические о ^ед- имеют особого значения. Разумеется, аварийная сигнализация, Пзе Ую,1^ерЯе>|1>1'! ленных действий оператора, не может использовать ненадежный и непр транспорт. тваМ(,-/лк TCP Представляет собой развитый протокол с подтверждением, среде оЦ]ц()(’_ новки и завершения виртуального соединения, обнаружения и коррекпий 0е и управления потоком. TCP не поддерживает групповую и широковешател ауД3 редачи. Более высокая надежность достигается за счет накладных расход00 379 ^альные сети и подДеРжкУ соединения. Блок данных приложения вместе с дополнительным ,81< овк°м TCP, передаваемый на уровень IP для транспортировки по сети, называ- /°сегМеНТОМ (segment). :'/яТый (прикладной) уровень TCP/IP представляет собой совокупность служб, раненных для пользователя сети, включая удаленную регистрацию (rlogin — протокол виртуального терминала (Telnet), протокол передачи файлов ''^Transfer Protocol — FTP), сетевую файловую систему (Network File System — NFS) Некоторые другие. Сетевая файловая система NFS — это дополнение к комплекту протоколов ТСР/ ,р разработанное компанией Sun Microsystems. Служба NFS передает информацию 'структуре каталога и файлах станций, подключенных к сети, в том виде, который принят на запрашивающей станции. Например, на компьютере, работающем под Windows, NFS показывает файлы, размещенные в других узлах сети, в том же самом древовидном формате, как и локальные файлы. В системе UNIX каждый удаленный аталог показывается как дополнительный. Протокол передачи файлов (FTP) включает простые средства для перемещения файлов с одной станции на другую; он также обеспечивает операции с файлами на уда- ленных системах — изменение текущего каталога, копирование, удаление, переимено- иие файла и т. п. Операции FTP работают с файлами целиком вне зависимости от их содержания: например, в протоколе FTP не предусмотрено открытие файла для досту- пак отдельным записям. Каждый файл рассматривается лишь как поток байт. Пятый уровень TCP/IP нельзя сравнивать с 5-7-м уровнями модели ВОС, так в он вместо описания коммуникационных протоколов включает специфические Складные программы, использующие средства TCP/IP. В частности, в TCP/IP 3е1УРовня представления данных (6-й уровень модели ВОС), определяющего коди- рование символов. В настоящее время TCP/IP пользуется популярностью для обмена данными в си- ^емах промышленной автоматики, в которых несколько серверов и рабочих станций *№нены в одну или несколько сетей. Основной аргумент в его пользу — TCP/IP ствует как зрелый продукт с проверенной функциональностью, работающий на — программных и аппаратных платформах, не слишком сложный и не тре- • Щии чрезмерных накладных расходов. РазРа5атывался как практичный и простой протокол. Такой подход сыграл в УЮ Р°ЛЬ в его сУаьбе- Для сравнения: единственными стандартами, разработан- "W Со°тветствии с моделью ВОС и получившими широкое распространение, явля- Ч “общений Х.400 и служба каталогов Х.500. Однако модель ВОС будет иг- ^ней °ЛЬшую роль при определении новых услуг, а TCP/IP не будет меняться, по ^зада^6 Д° ТеХ П°Р’ П°Ка будет решать появляющиеся проблемы. Для промышлен- 4 TCP/IP будет во многих случаях наиболее целесообразным решением. j ‘ ^°КаЛЬНЬ1е сети Сети передачи данных 1е основное внимание уделялось тому, как соединить два отдельных узла или Для большинства практических приложений такой подход не совсем адек- Поскольку коммуникации обычно осуществляется более чем между двумя
380 Глава 9. Цифровые коммуникации в управлении пРоцессаци станциями. Установка выделенных линий между всеми возможными партнерами йе только невыполнима, но и обошлась бы слишком дорого из-за расходов на кабель и к0Х1 муникационное оборудование. Локальные вычислительные сети (ЛВС, Local Area Network — LAN) используЮТСя для объединения нескольких узлов таким образом, что каждый из них может общать ся с любым другим. ЛВС обычно строится на базе кабельных соединений — витая пара, коаксиальный или оптоволоконный кабель. Расстояние между наиболее уда- ленными узлами составляет от нескольких десятков метров до нескольких километ- ров, а скорость передачи может достигать 1 Гбит/с. Наиболее подробная документация и спецификация для ЛВС была разработана в Institute of Electrical and Electronics Engineers (IEEE, Институт инженеров no элект- ротехнике и радиоэлектронике). IEEE опубликовал комплект документов - - стан- дарт IEEE 802, описывающий как общие принципы, так и частные типы ЛВС. Специ- фикации IEEE 802 были одобрены ISO, которая опубликовала их как стандарт ISO 8802. Стандарты ЛВС подвергаются периодическому пересмотру, но их основные положения остаются неизменными. Локальные сети прошли тот же путь развития, что и другие элементы техники связи и автоматизации. Вначале предполагалось, что будет принят единственный об- щий стандарт ЛВС для офисных и промышленных приложений и все будут ему сле- довать. Когда пришло время принимать окончательное решение по этому вопросу, выяснилось, что есть три конкурирующие - и взаимно несовместимые - - техноло- гии, за каждой из которых стоит мощная компания. Комитет, которому была поруче- на разработка стандарта, не смог прийти к единому мнению, и в конце концов было решено, что три различных стандарта лучше, чем отсутствие стандарта вообще. В ре- зультате появились стандарты CSMA/CD (Ethernet), маркерной шины (Token Bus) и маркерного кольца (Token Ring). Они представляют собой части спецификации IEEE 802. С другой стороны, эти спецификации нацелены на возможно более пол- ную унификацию, например в формате адреса и структуре пакетов. 9.5.2. Сетевые топологии В локальных сетях используется несколько различных топологий (геометрических конфигураций). Любая пара станций может быть соединена либо непосредственно, либо через другие станции, которые ретранслируют данные получателю. Топология сети зависит от нескольких факторов — типа трафика, расстояния между станциям^ характера помех, которые могут влиять на данные в канале, требуемых скорости, пр пускной способности и надежности передачи данных. Простейшую классификацию сетевых топологий можно построить исходя из ла приемников, непосредственно соединенных с одним передатчиком и получаю одновременно одно и то же сообщение. В двухточечных конфигурациях сущее"*: только один канал между приемником и передатчиком. Поэтому приемник 0 обрабатывать каждое поступающее сообщение, поскольку оно явно предназ для него В широковещательных топологиях общий тракт передачи соедини сколько станций - многоабонентское или шинное соединение. В этом случа станции принимают переданное сообщение одновременно и каждая должна его д дировать для того, чтобы определить, предназначено оно ей или нет. МногоаОо ские соединения требуют специального оборудования и программных средсТ разделения ресурсов капала.
„ с Локальные сети 381 Рис. 9.18. Сетевые топологии Наиболее важные сетевые топологии показаны на рис. 9.18. Ниже перечислены 1,х основные характеристики. ' Шина {bus) — станции разделяют общий физический тракт передачи, Широкове Нательная топология. Звезда {star) — центральный узел (концентратор) соединен непосредственно с каж- дым узлом по двухточечному принципу. Кольцо {ring) - каждая станция соединена с двумя другими, а вместе они образу- !°т кольцо. Сообщение от любой станции может достичь пункта назначения дву- 1151 различными путями. древовидная/иерархическая {tree/hierarchical) — отдельные станции/концентра т°Ры соединены каскадно с другими концентраторами или оконечными станциями, ^общения от источника к пункту назначения проходят по иерархическому пути. ^Чеистая технология {mesh) — между каждой парой узлов установлено соедине- ние “точка-точка”. Сообщения могут передаваться по множеству различных путей. С**ещанная {mixed) — одновременное использование нескольких топологий.
382 Глава 9. Цифровые коммуникации в управлении проц6С| 0 5 Локальные сети 383 При выборе топологии сети следует отдавать предпочтение той, которая ran тирует эффективную передачу данных от отправителя к получателю и предУс ривает избыточные пути в случае повреждения основного. Для этого примени процедура анализа состояния сети в случае разрыва в одной точке (single-p^ failure). В предположении, что в каждый момент времени один и только одИн компонентов сети не функционирует, анализируется наличие обходных путей пропускная способность, а также определяются узлы, доступ к которым невозмо’ жен. Такой анализ выполняется для каждого из компонентов сети (узлов и соедд нений между ними). В этом отношении звездная топология наиболее уязвима так как при выходе из строя центрального узла сеть разрушается полностью. Наименее чувствительна к повреждениям кольцевая схема, поскольку трафик можно напра- вить в противоположную сторону. Аналогично, повреждение станции окажет влия- ние только на ее трафик и не затронет остальные, при этом возможно снижение пропускной способности. Для улучшения характеристик крупные сети делятся на фрагменты. В системах с большим количеством устройств можно организовать небольшие группы, члены которых в основном взаимодействуют друг с другом. Эти группы объединяются между собой с помощью специальных устройств — мостов и маршрутизаторов (раз- дел 9.5.8). 9.5.3. Управление доступом к среде Стандарты серии IEEE 802 соответствуют 1-му и 2-му уровням модели ВОС. В стандарте IEEE 802.2 уровень 2 разделен на два подуровня — управление доступом к среде {Medium Access Control— МАС) и управление логическим звеном (LogicalLink Control — LLC) (рис. 9.19). Подуровень МАС отвечает за координацию доступах ка- налу, т. е. за совместное использование канала, поэтому протоколы, применяемые на этом подуровне, называются методами доступа. Подуровень LLC отвечает за синхро- низацию, управление потоком, обнаружение и коррекцию ошибок. Он становится активным лишь после того, как был открыт доступ к коммуникационной среде под управлением подуровня МАС. Подуровень LLC обеспечивает согласованный интер- фейс с вышележащими уровнями независимо от подуровня МАС и, следовательно, независимо от используемого метода доступа — Ethernet, Token Bus, FDDI или дру- гого. Поскольку канал соединяет несколько станций, необходим механизм адресаций для однозначной идентификации отправителя и получателя сообщения. Этот меха низм определяется подуровнем МАС стандарта IEEE 802.2. Каждая станция на подуровне МАС идентификацируется аппаратным (физичес ким) адресом своего сетевого интерфейса, который либо “зашит” производителе-'1 интерфейсной карты, либо установливается с помощью переключателей. Уникаль ность адреса в первом случае гарантирована соглашением о распределении диапазо нов адресов между производителями, а во втором случае за это отвечает пользова тель. Длина адреса зависит от метода доступа и составляет от 16 до 48 бит. Как правило, интерфейс принимает и обрабатывает лишь те пакеты, адрес полУ чателя в которых совпадает с его собственным индивидуальным {unicast) адрес0*1' Существуют также групповые и широковещательные адреса. В широковещательной {broadcast) адресе все биты установлены в “ 1 ”. Как следует из названия, широковей3’ дьНое сообщение будет принято всеми узлами. Групповые адреса {multicast) отно- ТЁ к абонентам, имеющим какой-нибудь общий признак в структуре адреса. Ин е фейс должен быть сконфигурирован для идентификации узла как члена группы. верхние уровни Стандарт IEEE 802*2 (ISO 8802-2). Стандарт IEEE 802.3 (ISO 8802-3). Рис. 9.19. Структура IEEE/ISO уровня 2 модели ВОС Управление логическим каналом {Logical Link Control) Множественный доступ с прослушиванием не- сущей и обнаружением коллизий {Carrier Sense Multiple Access/Collision Detection, CSMA/CD) мы/ comsion „erection, ьэМД/CU) Стандарт IEEE 802.4 (ISO 8802-4). Маркерная шина {Token Bus) Стандарт IEEE 802.5 (ISO 8802-5). Маркерное кольцо {Token King) Локальная сеть не является прозрачной средой, к которой5?^тивн0 и станции, - ее нужно специально настраивать для того, что локальной Удовлетворительно выполняла свои функции. Работа и характери задепжки сети, выраженные в терминах общей пропускной способности и ср йки с0_ ПеРедачи, принципиально зависят от используемого метода доступ ошибки “тветствующих параметров. Последнее нельзя недооценивать, пос ноГ)МаЛь- ПРИ настройке сети могут привести к перегрузке и заторам, нарушаю Правильный выбор и определение рабочих параметров ЛВС представляв Истинно теоретическую, частично практическую задачу. Для монито гваемые с^и используются специальные устройства и измерительные при оры, Левыми анализаторами {network analyzer), которые позволяют получать нек Р Мистические величины, например среднюю пропускную Макг„ я также находить причины нарушения работы сети, ^симальное время ожидания, а т ру * отдельных сообщений, нализаторы могут исследовал > ные настройки параметров сети, чтобы най- 1ользователь д0Лжен проверить р конкретного наборатребов аний. и Приемлемое решение для кажд
Глава 9. Цифровые коммуникации в управлении прОц6С( 385 384 9.5.4. Метод доступа Ethernet (IEEE 802.3) Метод доступа Ethernet широко используется в локальных сетях как дЛя мышленных, так и для офисных приложений. Он был разработан совместно комц/ ниями Xerox, Intel и Digital Equipment и выпущен на рынок в 1980 году. Протоед, Ethernet является стандартом де-факто и близко, хоть и не полностью, соответствуй спецификациям IEEE 802.3 (ISO 8802.3). Более того, именно спецификации IEEE были определены на основании существовавших решений для Ethernet. Обе специ фикации используют один и тот же механизм управления доступом к среде - CSMA/CD — и передачи данных, а отличия относятся к структуре кадра.1 Оборудо вание обеих спецификаций аппаратно совместимо и может работать совместно, одна- ко станции, использующие разный формат кадра, не могут взаимодействовать друг с другом. Ethernet поддерживает шинную топологию. На физическом уровне Ethernet ра- ботает как с узкополосными, так и с широкополосным кабелем; последний может од- новременно передавать и другие типы сигналов. Широкополосный кабель дороже, и его прокладка более трудоемка; узкополосный кабель применяется значительно чаще. При использовании узкополосного кабеля цифровые данные непосредственно передаются в канал с помощью манчестерского кодирования; модуляция несущей частоты не требуется. Узкополосный кабель, используемый в Ethernet, - это экранированный коакси- альный кабель, к которому периферийные устройства присоединяются с помощью коннекторов (соединителей) (рис. 9.20). Существует кабель двух типов. Первоначально стандарт определял кабель диа- метром около 2.5 см, который называется стандартным или “толстым” кабелем. В стандарте IEEE 802.3 этот кабель обозначается как 10BASE5. Более удобен “тон- кий” кабель Ethernet диаметром 0.5 см (в стандарте IEEE 802.3 — 10BASE2). В насто- ящее время основной средой передачи является витая пара (в стандарте IEEE 802.3 - 10BASE-T). Рис. 9.20. Типичная конфигурация сети Ethernet Участок сети между двумя повторителями (раздел 9.5.8) называется сегмент^ (segment). Вся шина может состоять максимум из пяти сегментов, три из котор можно использовать для подключения станций. 1 Существует еще несколько спецификаций формата кадров Ethernet. — Примеч. рвд- ^Текальные сети ддЯ стандартного кабеля максимальное расстояние между наиболее удаленными лаМИ сети составляет 2500 м, а длина одного сегмента — 500 м, число станций на '3 и сегмент не должно быть больше 100. Для тонкого кабеля максимальная длина гмента равна 185 м, а число присоединенных станций на один сегмент не должно сееВЬ1шать 30. С ростом числа присоединенных абонентов эффективность сети в об- щем случае падает. Стандарт IEEE 802.3 допускает использование волоконно-оптического кабеля в ачестве среды передачи. Один из вариантов такого кабеля обозначается 10BASE-F. Стандарт не определяет выделенных устройств для управления сетью, и все стан- ции должны самостоятельно решать, могут ли они получить доступ к среде передачи. Соответственно, не существует активных компонентов, выход из строя одного из ко- торых приведет к прекращению работы всей сети. Техническая скорость передачи в зависимости от используемой среды варьируется от 10 Мбит/с для коаксиального кабеля до 1 Гбит/с — для витой пары и оптоволоконного кабеля. В настоящее время в основном применяется витая пара со скоростью передачи 100 Мбит/с. Подуровень LLC является подмножеством протокола HDLC и использует похо- жий формат кадров (раздел 9.4.5). Кадр Ethernet (рис. 9.21) начинается с 8-байтовой преамбулы 1010101..., затем следует адрес получателя и адрес источника, каждый из которых имеет длину 6 байт. Адрес получателя может относиться только к одному устройству (индивидуальный адрес), к определенному подмножеству (групповой адрес) или ко всем абонентам, подключенным к сети (широковещательный адрес). После адреса получателя следует 2-байтовое поле, интерпретация которого зависит от реализации. Кадр IEEE 802.3 имеет такой же формат, как и Ethernet. Отличие заключается в 2-байтовом поле, расположенном после адреса источника. Для IEEE 802.3 в этом поле указывается длина следующих за ним пользовательских данных, а в Ethernet — тип протокола верхнего уровня. Получив кадр, станция проверяет это поле: если его значение меньше чем 1501 (0x05DD), то это формат IEEE 802.3, ток как указанное значение есть максимально допустимая длина данных. С этой же целью значение s поле тип протокола кадра Ethernet не может быть меньше чем 0x0600. Еще одно Различие заключается в том, что в кадре IEEE 802.3 после поля длины следующие 8 °аит Используются для дополнительной информации, чтобы протоколы, не соответ- ствующие модели ВОС, можно было использовать на канальном уровне ВОС. № поля Длина, байт Значение Описание 1 8 101010... Стартовый флаг/преамбула 2 6 Адрес получателя; может быть групповым или вещательным 3 |6 Адрес источника 4 2 Длина поля данных 5 46-1500 Данные 6 4 — . Контрольная сумма — ₽Ис. 9.21. Структура кадра Ethernet/IEEE 802.3 ' Зак 1021
386 Глава 9. Цифровые коммуникации в управлении прОцеС( 387 Пользовательские данные начинаются после этой предварительной информ Длина поля данных составляет от 46 до 1500 байт, к сообщению короче 46 байТ1^ бавляются нули. Кадр заканчивается 4-байтовой контрольной суммой. Миним Д° ная длина данных в 46 байт была выбрана из тех соображений, чтобы полная л кадра Ethernet, начиная с адреса получателя и кончая контрольной суммой, насчи вала по крайней мере 64 байта. С учетом начального флага общая длина пакета * ким образом, составляет 72-1526 байт. Под пользовательскими данными понимаю^ ся данные всех протоколов верхних уровней. Т Метод, использованный в Ethernet для координации доступа к среде, называете множественным доступом с прослушиванием несущей и обнаружением коллизий (Carrier-Sensing Multiple Access/Collision Detection — CSMA/CD). Этот метод позво ляет работать без выделенного устройства, управляющего доступом к среде. В соот- ветствии с протоколом CSMA/CD станция, которая собирается начать передачу должна проверить, что канал свободен — прослушивание несущей; если это условие выполнено, то станция может начать передачу. Поскольку несущую слушают все то несколько стаций могут начать передачу одновременно — множественный доступ В последнем случае возникает коллизия — наложение сигналов от нескольких пере- датчиков, которая приводит к их искажению. Поскольку метод CSMA/CD является широковещательным, т. е. все станции в сегменте “слышат” все передачи, включая свою собственную, то передатчик сразу обнаруживает коллизию, так как данные, ко- торые он “слышит” в канале, отличаются от исходных; затем он прекращает передачу текущего кадра и начинает посылать в канал специальную комбинацию бит, называ- емую “затором” (jam), чтобы все станции обнаружили коллизию. Для начала новой передачи станция должна снова прослушивать несущую, при этом время прослуши- вания определяется случайным образом для каждой передачи в рамках некоторого ограниченного периода. Если кадр не удается передать в течение определенного вре- мени, то передача прекращается и информация об этом передается протоколу верх- него уровня. Другая ситуация, когда устранение ошибки не включается в протокол передачи, а переносится на более высокие уровни, возникает, если контрольная сумма, вычис- ленная приемником, не совпадает с полученной в кадре. Обычной стратегией являет- ся запрос на повторную передачу только тех кадров, которые оказались поврежден ными; если такого запроса нет, то по умолчанию принимается, что принятый кадр правильный. Концепция Ethernet является гибкой и открытой. Дешевые компоненты, высокие скорости передачи и переход к звездной топологии на витой паре (т. е. исключение основного недостатка шинной топологии, когда обрыв кабеля в одном месте выводи из строя всю сеть) сделали его стандартом де-факто для офисных и промышлений- ЛВС. Недостатком сети, основанной на принципе CSMA/CD, является то, что вер0 ятность коллизий возрастает с ростом числа подключенных устройств и увеличен! ем длины сегмента. Наряду с вероятностью коллизий возрастает также время, изра^ ходованное на повторные попытки. На практике это означает, что не существу верхней границы времени, которое может потребоваться для доступа к среде и пешной передачи сообщения. Это серьезный недостаток для промышленных пря- жений, работающих в реальном времени, где в некоторых случаях необходимо зара нее точно знать наихудшие условия. фокальные сети д5 5. Маркерная шина (IEEE 802.4) Локальная сеть с маркерной шиной (Token Bus) описана в спецификации IEEE .„4 Вместе с Ethernet это один из наиболее распространенных типов локальной еТи применяемых в промышленности. В рассматриваемой системе все абоненты «соединены к сети с помощью шины (рис. 9.22). Физической средой, как и для Ethernet, является коаксиальный кабель или витая пара, поддерживающие скорость предали данных в диапазоне 1-10 Мбит/с. маркер Рис. 9.22. Принцип работы маркерной шины. Маркер перемещается между станция- ми A-F. Станция может начать передачу, только если владеет маркером В отличие от Ethernet и его метода случайного доступа, в сети с маркерной шиной доступ к сети осуществляется строго детерминированным образом, т. е. только одна станция в данный момент может начать передачу сообщения. Право на передачу да- ется маркером (token) — специальной битовой комбинацией, которая последователь- но циркулирует между устройствами. Устройство, получившее маркер, имеет право на передачу в течение определенного интервала и затем должно переслать маркер еледующему. Если у устройства нет данных для передачи, оно просто передает мар- кер дальше. Логически маркер последовательно перемещается по кольцу, хотя физи- ческой топологией является шина. Устройства, подключенные к маркерной шине, могут быть активными и пассив- ными. Активные — или ведущие — устройства обмениваются маркером и могут вести ПеРедачу. Пассивные — или ведомые, подчиненные — станции могут посылать сооб- щения, только если к ним обращается активная станция; их ответ или подтверждение Д°лжны быть немедленными. Активные устройства обычно имеют вычислительные сУрсы, это могут быть, например, управляющие ЭВМ, контроллеры роботов, про- усаМмиРУемЬ1е логические контроллеры и другое сложное оборудование. Пассивные Нец3°^СТВа пРедставляЮт собой датчики и другое оборудование, расположенное в ^°СредС“й близости к физическому процессу, которое не должны передавать Формацию, если об этом не поступает непосредственного запроса. fyio ПециФикация маркерной шины предусматривает меры по управлению сетью, тре- йро "1Ие Участия всех активных устройств. Новый маркер должен создаваться, когда р0цИСХОдит включение всей системы, или в случае, когда станция, обладающая марке- > Повредит или уничтожит его. ДрУгие меры по управлению сетью включают изме- Ия конфигурации, добавление или удаление станций, выявление и изоляцию по- ’^Ценных станций и т. д. Длина временного слота, т. е. промежутка времени, еЧение которого каждому устройству разрешена передача, может регулироваться.
388 Глава 9. Цифровые коммуникации в управлении процесс рокальные сети 389 В отличие от Ethernet, в системе с маркерной шиной можно вычислить нац\у,,. время ожидания доступа к среде. Наибольшая задержка складывается из полного мени обращения маркера по кольцу и времени удержания маркера каждым уст^ ством, т. е. времени, в течение которого ему разрешена передача, что соответств максимальной длине сообщений. Для сокращения наихудшего времени ожидания с ты должны быть короткими. С другой стороны, выделенное для передачи время в - зультате тоже ограничивается, поэтому длинные сообщения должны разделяться части и передаваться в виде отдельных блоков. При сокращении временного слота ступ к сети становится более быстрым, однако общая пропускная способность с> снижается. Короткие сообщения проходят быстрее, а более длинные — медлен! > так как они передаются по частям. Для достижения максимальной эффективно-- при выборе временного слота следует учитывать несколько факторов, в частное число присоединенных станций, тип, частоту и приоритетность передаваемых со-/ щений. Преимущество сети с маркерной шиной для приложений с жесткими требованиях ко времени передачи в том, что все параметры процесса связи имеют детерминирован- ный, а не вероятностный характер. Поэтому время ожидания в наихудшем случаемся но с высокой точностью определить заранее. Напротив, Ethernet разрешает начать it редачу сразу, как только канал свободен, но при этом нет гарантии, что это произойди в нужный момент, особенно если количество присоединенных устройств велико. 9.5.6. Маркерное кольцо (IEEE 802.5) Первоначально локальная сеть на основе маркерного кольца {Token Ring) была разработана корпорацией IBM. Принцип действия маркерного кольца такой же, как и маркерной шины; различие состоит в том, что в данном случае кольцо является не только логическим, но и физическим (рис. 9.23). Маркер непрерывно циркулируя по кольцу, каждая станция получает его, регенерирует и снова посылает в лини» Когда станция, имеющая сообщение для передачи, получает маркер, она удаляет б» из кольца и в течение максимально разрешенного времени передает свои пакеты дав ных. По истечении этого времени маркер передается следующей станции. Соо м ния могут передаваться вместо маркера (передатчик не отдает маркер до тех п пока не закончил передачу) или вместе с маркером, при этом маркер может находи^ ся как в начале, так и в конце пакета. В спецификации IEEE.802.5 используется нированная витая пара со скоростью передачи 4 или 16 Мбит/с. Спецификация Token Ring отличается от IEEE 802.5. Она поддерживает больше функций и и> несколько другой формат кадра. gc1s Каждая станция проверяет поле получателя в поступающих сообщениях.^ сообщение не предназначено для данной станции, оно передается дальше, и of; задерживается. Способ подтверждения приема сообщения зависит от использу^. протокола. Например, сообщение может циркулировать по сети до тех пор, не достигнет станции-отправителя, что рассматривается как косвенное подтер)||Г ние того, что оно также достигло станции назначения. Для того чтобы обеС" |Р предсказуемое время задержки, протокол доступа к среде определяет максШ^ время циркуляции маркера {token rotation time), т. е. время между двумя после^ тельными обнаружениями свободного маркера одной и той же станции. КоГДа ция в кольце пе включена или не готова к работе по другой причине, ее вХ°- родные соединители к шине закорачиваются друг с другом через реле для того, щбы обеспечить беспрепятственную циркуляцию сообщений по шине. Рис. 9.23. Принцип работы маркерного кольца Маркер циркулирует между станциями. Станция может послать сообщение, только если она владеет маркером. Каждая станция распознает сообщения, предназначенные именно ей, и ретранслирует остальные дальше. Сообщение передается до тех пор, пока не достигнет отправителя 9.5.7. FDDI Сетевой стандарт FDDI {Fiber Distributed Data Interface — оптоволоконный распре- деленный интерфейс данных) был разработан подкомитетом ХЗТ9.5 ANSI в 1985 году йк основа для применения оптоволоконной технологии в локальных вычислитель- сетях и одобрен ISO под именем ISO 9314. FDDI охватывает физический уро- 1ень и подуровень МАС канального уровня; с верхними уровнями взаимодействие ^Ществляется через подуровень LLC. ^На физическом уровне FDDI предусмотрено использование различных носите- в зависимости от расстояния между станциями: многомодовый оптоволоконный Л! ь ~ ДЛя расстояний до 2 км, одномодовый кабель — для расстояний до 40 км, ®ойн Па^а ~ ДЛЯ Расстояний менее ЮО м. Топология FDDI представляет собой *5льн°е КОЛЬЦ0, по которому передача производится в двух направлениях. Макси- е число станций равно 500, каждая из которых присоединяется к обоим коль- ДагðаСТЬ передачи Даиных- определенная в FDDI, равна 100 Мбит/с. ^лУча Ь1<+ передаются п0 одному из колец, которое выбрано первичным {primary). Чцри срИзическ0Г0 нарушения первичного кольца используется второе резерв- ЧльЧеМ напРавление передачи данных изменяется на противоположное. Если Ч, пак Оказываются разомкнутыми в какой-либо точке из-за полного обрыва ка- 'С-’УЧаР ТЫ данных направляются по оставшимся частям кольца. То же происходит ЙВаРии на станции. Если кабель нарушается в нескольких местах, то каждый \3 Продолжает Работать автономно, обеспечивая хотя бы частичную связь ЧпТЫХ СеТЯХ FDDI М0ГуТ Устанавливаться дополнительные резервные линии 0ТДель«Ь1ми станциями. /ЫрТуп к сРеде Управляется маркером, как и в маркерном кольце. Протокол FDDI Че, 1йТривает автоматическое распознавание состояния и работоспособности со- 1р|я и адаптацию к новым ситуациям, например цри повреждении сети.
390 Глава 9. Цифровые коммуникации в управлении прОцеС( 391 , рокальные сети --------------- FDDI и Ethernet используют одну и ту же схему адресации подключенных с ций, поэтому две сети можно соединить между собой с помощью мостов. 9.5.8. Межсетевые устройства Для соединения нескольких сетей или сегментов используются так называемы межсетевые устройства {internetworking device). В зависимости от уровня модели ВОС, на котором они работают, и, соответственно, выполняемых функций эти уст ройства разделяются на повторители, мосты, маршрутизаторы и шлюзы. Настоящей раздел посвящен обзору таких устройств. Повторители Повторитель {repeater) представляет собой регенератор сигнала, соединяющий два или более сегментов сети. Любой сигнал, полученный на входной порт, регенери- руется и ретранслируется на выходной порт или порты. Повторитель работает на фи- зическом уровне и не связан с содержанием данных, которые он передает. Повтори- тели обычно используются для увеличения максимальной длины сегментов, в частности для расширения Ethernet за пределы 500 м, или для сопряжения различ- ных типов сред, например коаксиального и оптоволоконного кабеля при условии, что сопряжение не требует изменения формата кадров. Из-за того что повторители не анализируют содержания данных, которые они пе- редают, помехи воспринимаются как входные данные, и, таким образом, повторитель может генерировать и передавать бессмыслицу. Допустимое количество повторителей в одной сети ограничено, в частности, из-за того, что они задерживают передаваемый сигнал. Для каждого метода доступа уста- новлено ограничение на общее количество устройств и повторителей в сети. За под- робностями следует обратиться к стандартам и техническому описанию, предостав- ляемому поставщиками оборудования. Мосты Мостом {bridge) называется межсетевое устройство, соединяющее между собой два сегмента одной и той же ЛВС. Основное назначение моста — фильтрация трафи- ка между сегментами на основе аппаратных (МАС) адресов, т. е. мост работает на втором уровне модели ВОС и не учитывает протоколы верхних уровней. Попутно мост выполняет функции повторителя. Для фильтрации пакетов мост анализируеТ их заголовки и определяет адреса отправителя и получателя. Если отправитель и по лучатель находятся на одном сегменте, мост не транслирует пакет в другие сегменты- Если отправитель и получатель находятся в разных сегментах, мост регенерирУеТ пакет и передает его в соответствующий сегмент. Таким образом мосты снижают на грузку в сети. Обычно мосты способны настраиваться автоматически, определяя принадлежность узла с тем или иным физическим адресом к конкретному сегмент) сети на основе входящего трафика. Поэтому топологию сети можно изменять без пе репрограммирования мостов. Кроме этого, мост можно запрограммировать фильтрации некоторых пакетов по определенным адресам. В сети Ethernet, где вероятность занятости канала является экспоненциально11 функцией числа присоединенных станций и средней величины их исходящего ?Ра м0СТЫ смогут существенно повысить доступность канала, увеличивая тем са- 1Ь1М пропускную способность сети. При этом также повышается отказоустойчивость ^еТй, так как нарушение в одном сегменте не затронет работу других. Для повышения эффективности сеть должна быть разделена мостами на отдель- 1е сегменты таким образом, чтобы станции, осуществляющие между собой наибо- интенсивный обмен, находились в одном сегменте и их потоки информации были оКализованы в рамках этого сегмента. В современных сетях связи Ethernet на витой паре широко применяются устройства, вазываемые коммутаторами {switch) — фактически они выполняют функции мостов. Маршрутизаторы Маршрутизатором {router) называется устройство, используемое для соединения друг с другом нескольких сетей. Маршрутизаторы работают на третьем уровне моде- пи ВОС. Они распознают адреса, содержащиеся в заголовках пакетов, и осуществля- ют их продвижение по сети в соответствии с этими адресами. Маршрутизаторы мо- гут также обеспечивать преобразование протокола и тем самым использоваться для соединения сетей, работающих с различными физическими, канальными и сетевыми протоколами (уровни 1, 2 и 3). Различие между мостами и маршрутизаторами состоит в том, первые “видят” только часть сети, точнее, соединяемые ими сегменты, а маршрутизаторы должны располагать полной моделью сети или хотя бы алгоритмом выбора маршрута для каждого пакета. Для определения оптимального маршрута могут использоваться специальные алгоритмы и стратегии, например наиболее короткий маршрут, наибо- лее быстрый или наиболее дешевый либо какой-то иной критерий. По мере развития коммуникационных устройств и повышения их функциональ- ности классификационные различия между ними постоянно меняются. В частности, постоянно размывается граница между мостами и маршрутизаторами, поскольку вновь разрабатываемые мосты обладают все большим количеством функций, кото- рые раньше были присущи только маршрутизаторам. Шлюзы Шлюзы {gateway) используются для преобразования протоколов на верхних Уровнях модели ВОС — при этом они попутно могут выполнять функции повторите- ли, мостов и маршрутизаторов, т. е. обеспечивают преобразование всего стека про- олов. Если мосты и маршрутизаторы работают только на основании информации, при РЖаЩеЙСЯ В заголовке пакета, шлюзы учитывают и содержание сообщения. На- пой ТР' °НИ М°ГУТ осУ1цествлять преобразование данных из одного формата в дру- к ’ аким образом, шлюзы используются не только сетями различного типа, но и Интерфейс между приложениями. Например, в системах электронной почты адг>ЮЗЫ М°ГУТ °^еспечить перекодировку сообщений в соответствии со стандартом есата, если он отличается от стандарта отправителя. То же относится и к програм- м реального времени для управления производственным процессом, если они ис- •пьзуют различные стандарты для кодирования данных. В зависимости от конкрет- 1Х требований может оказаться необходимым создание специальной шлюзовой стемы, связывающей неоднородные приложения, если они не строго и не полно- тЫо соответствуют открытым стандартам коммуникаций и форматов данных.
392 коммуникации в управлении техническими процессами 393 Глава 9. Цифровые коммуникации в управлении проце 9.6. Коммуникации в управлении техническими процесс^ 9.6.1. Иерархическая структура технических процессов В большинстве процессов можно выделить несколько иерархических нистративных уровней. Они более или менее соответствуют различным которые должны приниматься для управления процессом. ИЛи Решения.,, Рассмотрим снова в качестве примера химический реактор, описанный в деле 2.2.1. На нижнем уровне контура регулирования температуры принимается шение, нужно или нет дополнительное тепло, чтобы поддержать температуру постоянной. Решение принимается регулятором на основе сравнения опорной и те кущей температуры. На более высоком уровне решается, при какой температуре вес ти процесс. На еще более высоком уровне выбирается сам химический процесс. Оче видно, что нет смысла оптимизировать температуру для процесса типа “А”, если идет процесс типа “Б”. Иерархическая модель является децентрализованной — решения влияют друг на друга, но каждый уровень более или менее независим в выборе спосо- ба их реализации. Такую же иерархическую модель можно предложить и для компании. Требования к потокам информации резко отличаются на разных уровнях управления. В общем случае все объекты, расположенные на одинаковых уровнях иерархии, интенсивно обмениваются информацией между собой; обмен данными между уровнями обычно менее интенсивен и не критичен ко времени. В целом компания может рассматри- ваться как строго упорядоченная система реального времени, в которой информация на каждом уровне должна обрабатываться с соответствующей скоростью. В табл. 9.1 показаны типичные объемы информации, частота ее обновления и время реакции для нужд управления на разных уровнях руководства компанией с развитыми техни- ческими и организационными функциями. В разных компаниях имеется разное чис- ло уровней ответственности и принятия решений, своя степень зависимости уровнен и степень автономности каждого административного подразделения. Количествен- ные показатели, приведенные в табл. 9.1, должны восприниматься как ориентире вочные, устанавливающие только порядок величин. Границы между уровнями моЖ' но провести иначе, а структура может относиться к другой организации, нежели производственное предприятие. Таблица 9.1. Типичные требования к информации о процессах (все показатели — ориентировочные) Уровень управления Объем данных Время реакции Частота обновления^. Стратегическое управление Мбайты ДНИ ДНИ Управление производством Кбайты часы, минуты, секунды часы, минуты- секунды Управление участком байты секунды (100 мс) секунды Управление процессом биты миллисекунды миллисеку11'5 Локальное управление (датчики, исполнительные механизмы) биты миллисекунды миллисекУ1*21 нижнему уровню иерархии предприятия относятся механизмы и устройства, пце непосредственно соприкасаются с процессом, — датчики и исполнительные '1 лизмы. Это уровень локального управления (field control level) или уровень дат- '^ов/исполнительных механизмов (sensors/actuators level). Как следует из назва- на этом уровне расположено оборудование, которое непосредственно связано с ^ческим процессом. На уровне управления процессом (process control level) на- ^ятся ЭВМ, регуляторы и другие “интеллектуальные” устройства, которые ведут ^людение за процессом и управляют им с помощью датчиков и исполнительных ханизмов. Уровень управления процессом являются самым нижним, на котором могут приниматься автономные решения. Следующий, более высокий уровень — это уровень управления участком (cell .octroi level). Этот уровень управления прямо не связан с техническими процессами, обменивается информацией в виде опорных и текущих значений величин с выше- ннижележащими уровнями. В случае производственного участка, на котором разные данки связаны в технологическую цепочку для выполнения определенных операций, происходит интенсивный горизонтальный обмен данными (т. е. на одном уровне) для координации работы различных механизмов при меньшем вертикальном обмене с вер- шими уровнями. Действительно, для верхних уровней управления представляют ин- терес только поступление материалов (деталей) и потоки энергии на входе и выходе участка. На уровне управления производством (production control level) координирует- ся деятельность нескольких участков для достижения равномерного потока материа- лов или энергии (выход одного производственного участка является входом для дру- гого). Наконец, на уровне стратегического управления (management control level) принимаются общие решения, которые влияют на работу всего предприятия. Несмотря на вынужденную условность, иерархическая модель дает очень полез- аУю основу для анализа и структурирования системы управления. Модель не обяза- тельно ограничена рамками производственного предприятия; аналогичные уровни Шно выделить в любой сложной системе управления. Например, в автопилоте са- '’олета контуры управления аэродинамическими элементами и двигателями находят- ся нижних уровнях иерархии, а вот вопрос, куда лететь, относится к стратегичес- ки и оставлен на усмотрение летчика. Более того, структурирование на различных функциональных уровнях является не только академической проблемой. Определе- Информационных потоков между системами реального времени и администра- ‘Ивного управления является необходимой операцией для управления ресурсами 3РеДприятия или процесса и представляет сложную техническую задачу. 3 R о Соор данных и потоки информации в управлении процессами ( Требования к информационным потокам в пределах каждого из уровней иерархии /Ут существенно различаться. Как уже отмечалось, в системах реального времени Работка данных должна выполняться быстрее, чем происходят изменения в управ- дом процессе. Похожее утверждение справедливо для процессов вообще. Есте- ;6еНно, что время реакции отличается на разных уровнях и увеличивается по мере °6Ышения уровня одновременно с о ъемом обрабатываемой информации. Важной чертой архитектуры системы управления является число установленных ^Цессоров. Существуют системы управления с одним центральным процессором
394 395 Глава 9. Цифровые коммуникации в управлении попп^ ----------------------------------------.— и системы, где их несколько. В распределенных системах разные процессоры назначены для управления отдельными частями физического процесса; цент^6^ ный процессор координирует общее функционирование. Распределение процесс^1 как это следует из рис. 9.24, обычно соответствует структуре уровней управде^8 Количество уровней управления отличается от производства к производству ЙИЯ' уровень управления производством уровень локального управления уровень управления процессом уровень стратегического управления уровень управления производственным участком физический/технический процесс Рис. 9.24. Иерархическая структура распределенной системы управления Периферийные процессоры или интерфейсные модули процесса напрямую свя заны с физическим процессом и получают данные о нем от датчиков и аналого-ниф ровых преобразователей. Эти процессоры управляют процессом через исполнитель ные механизмы. На функции периферийных процессоров могут влиять IV местные регуляторы или другие типы устройств, связанных с процессом. Существуют три основных способа сбора данных от датчиков и передачи их местных регуляторов более высоким в иерархии устройствам и в центр управления. Первый метод применяется в телеметрии. Телеметрия {telemetry) — это пр^3 почтительный способ передачи данных от периферийных устройств к центрально му в случае, когда квитирование или двунаправленная передача неудобны или в° обще невозможны (например, в случае космических объектов). Все данНЬ16 передаются непрерывно в заранее определенном формате. После завершения одН° g Коммуникации в управлении техническими процессами цикла передачи начинается новый. Каждый параметр определяется его положе- Г° еМ в потоке данных. 0 На уровне управления процессом сбор данных выполняется по опросу {polling). авЛЯющий компьютер циклически опрашивает текущее состояние датчиков и " иодически обновляет данные в своей внутренней базе данных. При опросе пери- Грийные устройства должны отвечать управляющему компьютеру, и таким обра- зом гарантируется периодическое обновление базы данных. Опрос — это типовой метод, который в основном используется периферийными оцессорами для получения информации отдатчиков, однако иногда он применяет- ся и центральными процессорами для обновления своих баз данных. Третий метод заключается в передаче только тех переменных, которые изменили значение по сравнению с предыдущим циклом. Цифровые переменные передаются при каждом изменении, а для аналоговых переменных задается определенная переходная зона (раздел 5.5.1). Новая информация поступает к центральному процессору только в том случае, когда аналоговая переменная изменяется на определенный процент по от- ношению к предыдущему переданному значению. Более сложные методы включают пе- редачу данных, когда интеграл отклонения измеряемой переменной достигает некото- рого порогового значения. Этот метод основан на прерываниях {interrupt), которые генерируются датчиками, когда они должны передавать информацию. Компьютеры любого уровня должны анализировать, систематизировать, обрабаты- вать математическими методами и сохранять собранные данные перед их передачей на более высокий уровень. Наиболее типичные математические операции, выполняемые надданными — это фильтрация, определение минимальных, максимальных и средних значений или других статистических параметров (глава 5). Таким образом, количество данных, поступающих на более высокие уровни, можно уменьшить. Центральный про- цессор и каналы связи не должны перегружаться регистрацией и передачей статичес- кой, т. е. не меняющейся, информации. В системах промышленной автоматики для передачи данных от датчиков к цент- ральному устройству обычно используется комбинация второго и третьего способов, т- е. по опросу и прерыванию (событию). Значения переменных процесса передаются "° мере их изменения; дополнительно общее обновление данных происходит через бо- 1ее продолжительные интервалы, например каждые несколько минут. Этот подход га- рантирует, что данные, используемые центром управления, в достаточной степени адекватны процессу. Образцы промышленных компьютеров для сбора данных на Уровне управления процессом/производственным участком показаны на рис. 9.25. Вообще говоря, выбор стратегии сбора данных требует тщательного анализа как Рмальных режимов работы, так и специальных случаев. Когда передаются только казания датчиков, количество информации существенно зависит от состояния и <има технического процесса. Если процесс находится в стационарном состоя- 3 и ~ в течение длительного времени что-либо передавать нет необходимости. Вне- Чное возмущение процесса, следующее, например, за изменением какого-либо °рного значения, может привести к появлению такого количества данных, что в и возникнет перегрузка. Если измененные данные о процессе не сохранить в бу- еРе, то часть информации может быть потеряна, и в результате центральная систе- а будет основываться на неверной информации. Главное преимущество комбинированного метода сбора данных заключается в том, т° Центральный процессор и каналы связи не перегружаются передачей статических
ЗУЬ I лава 9. Цифровые коммуникации в управлении процесс^ данных. С другой стороны, если большое количество величин изменяются одцОвре менно, то каналы связи распределенной системы могут оказаться перегруженными Определение пропускной способности канала и мощности процессора является существенным моментом. Мощности процессора должно быть достаточно для обра ботки требуемого объема данных с известным запасом. Простейшее правило - Ис пользовать коэффициент запаса от 3 до 10 по отношению к минимально необходи мой мощности процессора. Рис. 9.25. Промышленные компьютеры для сбора данных — система ABB Advant OCS: для уровня управления процессом (слева) и для уровня производственного участка (справа) (с разрешения ABB Automation Products АВ, Швеция) Пример 9.6 Пропускная способность канала связи Пятнадцать периферийных процессоров и устройств сбора данных присое- динены к центральному компьютеру. Двадцать каналов аналогового ввода присоединены к каждому периферийному процессору с помощью шины ло- кального управления Fieldbus (раздел 9.7); каждый процессор присоединен с помощью FEP процессора (Front-End Processor — фронтальный процессор, специализированная ЭВМ, работающая как коммуникационный контроллер и интерфейс каналов связи; другие названия — препроцессор, процессор вво да-вывода или связной процессор), который ретранслирует поступающие дан ные центральному компьютеру (рис. 9.26). Функции фронтального процессора может, в принципе, выполнить соот ветствующее программное обеспечение на центральном компьютере, но реШе ние, основанное на использовании специализированных процессоров, являет ся более предпочтительным, поскольку позволяет распределить обработку между несколькими ЭВМ. Дискретизация аналоговых сигналов выполняется с помощью 12-разрЯД ного АЦП 100 раз в секунду. Общее количество входной информации состав ляет20 * 100 * 12 = 24 000 бит/с. Локальный процессор должен быть в состоя
g g Коммуникации в управлении техническими процессами 397 нии обработать этот объем данных и преобразовать их в формат для дальней- шей передачи с помощью шины Fieldbus. Принимая во внимание необходимый запас и накладные расходы на обработку, получим, что пропускная способ- ность шины Fieldbus должна быть по крайней мере 100 Кбит/с. Если к фрон- тальному процессору подключено 15 устройств с одинаковыми потоками вы- ходных данных, то общий объем для передачи составляет 360 000 бит/с. С учетом необходимого запаса и накладных расходов пропускная способность магистральной сети должна составлять от 5 до 10 Мбит/с. ₽ис, 9.26. Сбор данных через контроллеры, шины локального управления И фронталь- ный процессор Количество данных, передаваемых на верхние уровни иерархии, можно Уменьшить, если локальные процессоры делают выборки из своих входных Данных. Локальный процессор может, например, передавать только одно из Десяти измеренных значений или среднее этих значений, что, следовательно, ^Десять раз снизит общий объем передаваемой информации. «ИЙ распределеннь1х системах приходится выбирать между загрузкой коммуника- Интеллектом локальных устройств. Современная тенденция заключается в ус- Чес°Вке л°кальных вычислительных устройств как можно ближе к реальным про- рец1Сам; при этом предусматривается, что центр управления всегда может изменить ';6и.;е,1ие локального устройства. Такая схема является как экономичной, так и на- fb[ л°й- Сбои центрального компьютера или линий связи не влекут нарушения рабо- ЬцВСей системы- Точность управления требует минимального запаздывания в кон- Регулирования, и управляемость ухудшается, если все сообщения от локального Рессора должны посылаться центральному компьютеру для обработки и затем
jyo I лава 9. Цифровые коммуникации в управлении процесса^ обратно для исполнения. Более того, запаздывания в передаче данных могут в рЯде случаев привести к неустойчивости процесса (раздел 6.7.1). Наконец, в распределен, ных системах многочисленные процессоры значительно лучше справляются с обрд. боткой данных, чем один даже очень мощный процессор. 9.6.3. Протокол автоматизации производства (МАР) Необходимость в практичном и едином способе соединения различных устройств производственных линий и систем управления в течение длительного времени была в центре внимания. Американский автостроительный гигант General Motors одним из первых осознал, что несовместимость различных вычислительных систем являет- ся главной помехой для комплексной автоматизации их производств. Компания на- чала исследования для объединения своих производственных ЭВМ. Было замечено, что затраты на системы управления значительно превышали общие затраты на пере- оснащение производства при запуске новых моделей автомобилей и имели только одну тенденцию — к увеличению. В соответствии с оценками, сделанными в начале 1980-х годов, к 1990 году было бы необходимо объединить порядка ста тысяч единиц различного оборудования типа роботов и ПЛК. Стоимость объединения должна была составить значительную долю всех вложений компании в автоматизацию. По- этому General Motors пришла к необходимости разработать ясный и стандартный подход к открытой системе заводских коммуникаций, имея в виду универсальное взаимодействие и взаимозаменяемость. Первое означает, что любая информация должна быть понятна устройствам-получателям без использования программ преоб- разования; второе — что устройство нового поколения или другого производителя, заменяющее некоторое старое устройство, должно работать без изменений в системе, к которой оно присоединяется. Идея сразу вызвала интерес у основных производите- лей ВТ и других компаний, связанных с промышленной автоматизацией, и привела к созданию Протокола автоматизации производства (Manufacturing Automation Protocol — MAP). Протокол MAP — не стандарт аппаратного интерфейса или типа электрического кабеля, а четкая концепция сопряжения разнотипного оборудования локального ил) заводского уровня и более высоких планирующих и управляющих подразделении Принцип МАР достаточно прост — различные устройства должны иметь в03М0 ность общаться друг с другом, используя общие протоколы, однако внедрение п бовало более тридцати лет, а концепция все еще далека от завершения. Главньг^ чт0 чины — это отсутствие общего принципа для организации передачи данных и т основные корпорации не считали себя заинтересованными в производстве пР°^5КН0Сть совместимой с изделиями конкурентов. Сейчас наконец совместимость и возмо обмена информацией стали решающими аргументами при продаже и существу^ муникационные механизмы, базирующиеся на модели ВОС и соответствуют дартах или протоколе TCP/IP. u кажДоГ° МАР следует схеме разделения на уровни, принятой в модели ВОС. Для уры уровня существует определенный стандарт, являющийся частью общей с рПосре-'1' МАР. Стандарты уровней от 1 до 6 используются и в других приложениях, а « ственно к МАР относится Служба производственных сообщений (Manuja Message Specification - MMS), которая описана далее. Ниже приведено соотв стандартов МАР уровням модели ВОС. g g. Коммуникации в управлении техническими процессами 399 Уровень 7: ISO 9506 Manufacturing Message Specification (MMS) уровень 6: ISO 8824 Abstract Syntax Notation (ASN.l) и ISO 8825 Basic Encoding Rules уровень 5: ISO 8326/8327 Уровень 4: ISO 8072/8073 Уровень 3: ISO 8348/8473 (CLNS) и ISO 9542 (ES/IS) Уровень 2: ISO 8802.2 Logical Link Control и ISO 8802.4 Token Bus Уровень 1: Широкополосная/Узкополосная среда передачи (Broadband/Carrier- band Link) Другими словами, MAP-устройство должно использовать физические соедине- ния, которые соответствуют стандарту маркерной шины локальных вычислитель- ных сетей (Token Bus) с управлением логическим звеном данных в соответствии с IEEE 802.2, должно кодировать данные, следуя ASN.l (ISO 8824) и ISO 8825, и об- мениваться сообщениями в формате MMS (ISO 9506). Любая другая комбинация стандартов, даже если она технически возможна, не совместима со схемой МАР. На- пример, решение, при котором Ethernet используется вместо маркерной шины на физическом и канальном уровнях, не соответствует МАР. Тем не менее MMS в соче- тании с Ethernet работает и находит применение в промышленности. На физическом уровне МАР можно реализовать на основе различных сред пере- дачи и типов сигналов. Первоначальные пожелания General Motors — передавать данные со скоростью 10 Мбит/с — требовали двух смежных каналов с полосой про- пускания 6 МГц, при условии использования широкополосной модуляции AM-PSK. Для узкополосного МАР определены две скорости передачи данных и применяется частотная модуляция FSK: для пропускной способности 5 Мбит/с несущие частоты равны 5 и 10 МГц, для 10 Мбит/с - 10 и 20 МГц. Для обмена укрупненной (интегрированной) информацией о процессах и адми- иистративными данными используется схема, аналогичная МАР, — это Протокол автоматизации учрежденческой деятельности (Technical and Office Protocol —TOP). Рхитектура TOP в основном совпадает с архитектурой МАР и опирается на те же Е^андарты. в архитектуре ТОР на физическом и канальном уровне используется ernet, а не маркерная шина. На прикладном уровне протокол ТОР включает в се- (Л/еИРТУаЛЬНЫй теРминал (Virtual Terminal — VT), систему обработки сообщений ZSne,Handlmg $ystem ~ LS) и протокол передачи, доступа и управления фай- Корпо 2 6 Transfer Access and Management — FTAM). Концепция TOP разработана аля с Рацией toeing, которая в течение длительного времени использовала Ethernet Осл0ЙЯЗи производственного оборудования и системы планирования производства. МАр1^ идеи архитектур МАР и ТОР практически одинаковы. ^Ьно ЫЛ специально разработан для применения на производстве в режиме ре- «вПеГ0 вРемени- Причина, определившая выбор конкретных стандартов для МАР, Ч За РВУ10 очеРеДь широкополосной сети и маркерной шины в качестве метода досту- СтВа ХЛгочалась в том, что они уже были опробованы в условиях реального производ- ДетермС°0ТвеТСТву1Ощие УстР0Йства производились серийно. Маркерная шина имеет ИниР°ванное и поддающееся расчету время передачи сообщения в наихудших НЧ3'1ЯХ’ чего нет в протоколе Ethernet (некоторые приложения реального времени я Реализовать при неопределенном времени передачи сообщения). Не удиви-
। jiciuci я. цифровые коммуникации в управлении процесс-. ----------------------. —----------------------- 401 тельно, что протоколы МАР и ТОР благодаря своей структуре были поддерг компаниями с резко различающимися требованиями. General Motors производит томобили на конвейерах, движущихся с заданной скоростью, а компания Boeing бирает самолеты на неподвижных стапелях; соответственно, требования синхрОк зации совершенно различны. Совместимость на верхних уровнях гарантирует сопряжение приложений МАР и ТОР. В системах автоматизации производства, вообще говоря, имеется три функцц0 нальных уровня — общее (целевое) управление, управление процессом или произвол ственной линией и локальное управление. МАР поддерживает взаимодействие на среднем уровне, на его основе координируется работа множества участков в техноло- гической цепочке и нескольких технологических цепочек на уровне предприятия МАР не подходит для связи и управления на уровне датчиков. МАР является доста- точно “тяжеловесным” продуктом из-за большого количества уровней и соответствую- щих протоколов, и поэтому не соответствует нуждам простых, быстрых и дешевых тех- нологий, используемых на нижнем уровне автоматизации производства. Здесь рационален другой подход — использование шины локального управления Fieldbus (раздел 9.7). МАР также не годится для поддержки системы управления верхнего уровня, на котором принимаются стратегические решения. Программные средства этого уровня не должны удовлетворять специфическим требованиям реального време- ни и могут разрабатываться на основе обычного программирования, использующего статистическую обработку и анализ больших объемов данных. Тем не менее МАР оста- ется ключевым подходом к практической реализации автоматизированных систем уп- равления производством (АСУП, Computer Integrated Manufacturing — CIM). 9.6.4. Служба производственных сообщений Служба производственных сообщений {Manufacturing Message Specification - MMS) — это набор абстрактных команд или язык для дистанционного мониторинга и управления промышленным оборудованием. MMS определяет содержание опрос- ных и управляющих сообщений и действий, которые должны за ними следовать, ожидаемых реакций, процедур подтверждения и т. д. Структура MMS описана в стандарте ISO/IEC 9506 в следующих документах. Часть 1. Описание службы (Service Definition) Часть 2. Описание протокола (ProtocolDefinition) Часть 3. Управляющие сообщения робота (Robot Control Messages) Часть 4. Сообщения цифрового управления (Numerical Control Messages) Часть 5. Сообщения программируемого логического устройства (Messages J Programmable Logic Controllers) Часть 6. Сообщения управления процессом (Process Control Messages). MMS обеспечивает большое количество функций и вариантов обслуживали Функции общего типа, например чтение и запись переменных на удаленном усТР стве, запуск и остановка программ и передача файлов между различными Устр° ствами, рассмотрены в частях 1 и 2. Связанные с MMS производственные стандар (части 3-6) ориентированы на конкретные реальные устройства. Хотя при разра» ке MMS сделана попытка включить все функции, необходимые в задачах произв0^ ственной автоматизации, тем не менее оставлена определенная свобода, чтобы ° & Коммуникации в управлении техническими процессами чцть будущие расширения. Не обязательно, чтобы каждое устройство восприни- мая0 все команды MMS, достаточно некоторого подмножества, как это описано в со- ответствующей части документа. Каждое подмножество всего стандарта разрабаты- ается и пересматривается независимо от других его частей. MMS основано на объектно-ориентированной концепции программирования, которой классы объектов определяются вместе с допустимыми операциями. Ос- новяой идеей MMS является концепция виртуального производственного устрой- ства (Virtual Manufacturing Device — VMD). VMD — это набор всех возможных ко- манд для устройства какого-либо типа, например робота. Реальный механизм будет реагировать на команды VMD, выполняя заданные операции стандартным, заранее определенным способом. MMS и VMD вынужденно являются сложными, чтобы ох- ватить различные типы похожих устройств; реальные устройства обычно могут ис поднять лишь часть команд VMD. функции MMS основаны на модели “клиент-сервер” (рис. 9.27). Клиент запрд« шивает определенную услугу от сервера. Сервер выполняет запрос и сообщает кли- енту результат операции. Рис. 9.27. Модель “клиент-сервер” в архитектуре MMS 8 выполняет функции реального устройства, но с точки зрения клиента — это Дуальный сервер. Клиент может отдать VMD-команду виртуальному роботу, на- лИмер повернуть руку на 30° вокруг оси . Эта команда заставляет настоящего ро- Та выполнить это действие. Команды, которые вырабатываются системой управле-
402 Глава 9. Цифровые коммуникации в управлении проЦйП| ния роботом для его исполнительных устройств, могут быть совершенно друГ11Х(и в зависимости от их конкретной электрической и механической конструкции. В Слу. чае, если робот не в состоянии выполнить команду поворота, например потому Что рука достигла упора или ось Z вообще отсутствует, вырабатывается ответ с кодо>ц возврата, который соответствует причине. Важной чертой модели клиент-сервер является отсутствие у устройства-сервера состояний, определенных на локальном уровне и неизвестных клиенту. Все запросу со стороны клиента приводят к самодостаточным ответам и не предполагают ссылок на ранее использованную информацию. Другими словами, информация от сервера (VMD) может рассматриваться как его собственная база данных, в которой собира- ются и хранятся новые значения. Независимость VMD от предшествующих данных, которые должны собираться клиентом, и то, что все запросы обязательно подтверж- даются VMD, помогают избежать ошибок и противоречий, которые могут произойти из-за потери или задержки сообщений. 9.7. Шины локального управления (Fieldbus) 9.7.1. Решение для производственных коммуникаций нижнего уровня Особое внимание, уделяемое в протоколах ВОС и МАР организации связей меж- ДУ уровнями на основе специальных протоколов, не всегда совпадает с потребностью в быстрой, эффективной и малозатратной системе коммуникаций, которая необхо- дима в промышленных системах реального времени. Как уже указывалось по поводу модели ВОС, не каждый уровень необходим для всех прикладных задач. Когда все связываемые устройства расположены в пределах замкнутого производственного участка и присоединены к одной и той же физической шине, нет необходимости в многочисленных проверках передачи, как в случае прохождения данных по между- народным коммуникационным сетям. Для соединения устройств в ограниченном пространстве производственного предприятия вполне достаточно организации о мена на 1 -м и 2-м уровнях модели ВОС и протокола MMS. В этих условиях использо вание более высоких уровней нерационально и их можно не применять. В промышленных системах наибольшая часть работы (и стоимости) по и обработке данных связана не с центральным вычислительным комплексом, а^/у сится к локальному уровню, где установлены основные устройства. Для тог ° действительно воспользоваться преимуществами цифровой технологии, нео новый стандарт на цифровую связь низкого уровня. На сегодняшний день ДлЯ чт0 задач применяются шины локального управления — Fieldbus. Следует сказ ^га- единого стандарта Fieldbus не существует, но имеется несколько решении, пр Я11 емых промышленностью и исследовательскими организациями. С течением воК- то, что было предложено и работает в условиях производства, сконцентрируй 10. руг одной или нескольких технологий и станет частью более общего ста кальных шин Fieldbus. нИе, Стандарт шин локального управления должен получить широкое приз! сс это было со стандартом на токовую петлю 4-20 мА. Принятие стандарта вле ^>1 бой снижение цен и минимизацию проблем с несовместимостью компонент как в случае со стандартом МАР, стандарт шин локального управления дол» - ф|ины локального управления (Fieldbus) ^ть взаимодействие различных устройств, присоединенных к одной и той же фи: есКой среде передачи. Очевидным преимуществом цифровой техники по сравненш залоговой является заметное уменьшение кабельных связей — один цифровой кан ,(0й<ет заменить большое число проводников с токами в диапазоне 4-20 мА. Применение шин локального управления дает значительные преимущества. Суш ственная доля “интеллекта”, необходимого для управления процессом, переносится i локальный уровень. Обслуживание датчиков значительно облегчается, поскольку з клеоперации, как тестирование и калибровка датчиков, можно выполнять дистанц оНноибез непосредственного участия наладчиков. Естественно, что качество управл ииЯ находится в прямой связи с достоверностью и качеством собираемых данных. Несколько организаций, отвечающих за стандартизацию, например Междунаро ная электротехническая комиссия, работают над созданием международного ста. дарта шин локального управления. В разных странах разрабатываются нацис нальные программы по подготовке будущего стандарта. Хотя окончательнс соглашение и не достигнуто, никто не хочет ждать введения общего стандарта — н< которые компании уже разработали свои продукты и выпустили их на рынок. Особ следует отметить национальные стандарты, выполненные во Франции и Германиг В конце концов опыт и предложения могут быть обобщены в едином и общеприю гам стандарте, хотя возможно, что различные, уже существующие решения буду жить своей собственной параллельной жизнью. В этом разделе кратко рассмотрены основные черты шины Bitbus, разработанно: компанией Intel, а также шина локального управления PROFIBUS, разработанная группой немецких компаний. 9-7.2. Шина Bitbus гие^ИНа была объявлена компанией Intel в 1984 году, и на ней базируются мно вым Р°Мь1Шленнь1е продукты других компаний. Шина Bitbus соответствует двум пер| Уровням модели ВОС — физическому (1-й уровень) и канальному (2-й уровень). RSH854kCK°M У„Р°ВНе Bitbus ИСП0ЛЬЗУет витую пару в соответствии со стандар С(,еДИни одной шине можно подключить до 28 устройств, а несколько шин - Кбцт/С 6 помощью повторителей. Возможные скорости передачи — 62.5, 375 оит/с. При наименьшей скорости (62.5 Кбит/с) допустимое расстоя- ШинаУ ПОвторителями составляет 1200 м. Р°Йств яв Bltbus иеРаРхически структурирована. Одно из присоединенных уст- елет ппЯ61 СЯ вед^щИМ’ остальные — ведомыми. Ведущее устройство всегда уп- СЬ1Лает заппЧеСС°М передачи со°бщений с помощью механизма опроса: ведущий по- ^еДать °б ВеД°МОМу’ К0Т0Рый должен ответить; ведомое устройство не может ^отвечает 14611116 110 своей инициативе, а должно ждать запроса ведущего. Ведо- ii °ТВечает в ВедУЩ!му В течение определенного интервала времени. Если ведомый П0ВТ0Ряет запрос несколько раз. Если ответ не получен, веду- . гДа нескол Т ВеД0м0Г0 в разРяД недоступных и виртуально выводит его из работы. ИнТецЖ 1-К° та™х шин объединены в сеть, ведущее устройство служит и сете- л Поэ6ИСОМ' Ьфотокол Bitbus не предусматривает несколько ведущих уст- .°8(Ное” v ОмУ не определяет способ передачи прав ведущего. В обычной практике Г<,|Ьць сгР°иство, например управляющий компьютер, является ведущим, а все устройства с менее сложной электроникой — ведомыми.
। лава у. цифровые коммуникации в управлении проц6С| 405 Четкое разделение на ведущее и ведомые устройства позволяет при работе жиме реального времени заранее точно рассчитать время реакции. Структура п тов данных Bitbus унаследована из протокола HDLC (раздел 9.4.5). Пакеты 'Т'6 батываются и пересылаются как межзадачные сообщения программ ведущегРа ведомых устройств. Прикладной программист, однако, не работает непосредст И но на уровне пакетов, поскольку функции взаимодействия с шиной реализов в виде набора стандартных процедур программного обеспечения Bitbus. Эти п цедуры включают функции чтения и записи в память ведомого устройства из памя ти ведущего (и следовательно, обеспечивают двухстороннюю связь с управляемы! процессом), загрузки задач и данных, запуска и остановки задач на удаленных уст ройствах и т. д. Bitbus — это зрелый промышленный продукт, поддерживаемый несколькими компаниями. Это очень хорошее решение для небольших производственных участ- ков или управляющих устройств с относительно небольшим объемом трафика, когда нет необходимости в нескольких ведущих устройствах для управления коммуника- циями, и в то же время есть жесткие требования к работе в режиме реального време- ни. В системах большого масштаба ведущие устройства можно связать между собой высокоскоростной сетью и передавать агрегированные данные на более высокий уровень центральному управляющему компьютеру. 9.7.3. Шина PROFIBUS Шина PROFIBUS (Process Fieldbus) поддерживается группой немецких произ- водителей и институтов. Первоначально PROFIBUS разрабатывалась при коорди- нации Министерства исследований и техники Германии и теперь включена в не- мецкий и европейский стандарты (соответственно DIN 19245 и EN 50170). Подобно другим шинам локального управления, PROFIBUS сочетает функции уровней 1, 2 и 7 модели ВОС (физический, канальный и приложений). PROFIBUS соответствует существующим стандартам, определяющим разные уровни; основ- ное внимание уделялось сохранению совместимости с уже используемым оборудо- ванием. Наиболее важные операции с этим типом шин не требуют специализиро- ванных процессоров и выполняются программным обеспечением, работающим на обычных процессорах. Физическая среда передачи PROFIBUS — это экранированная витая пара в соот ветствии со спецификацией интерфейса RS-485 с максимальной длиной 1200 м (ДО 4800 м с использованием повторителей). Скорости передачи данных — 9.6, 19.2, и 500 Кбит/с. В новых конструкциях предусмотрено применение оптоволоконного кабеля и, соответственно, более высокие скорости. PROFIBUS может работать как с одним постоянным ведущим устройством, так и конфигурации с несколькими ведущими. Управление доступом к среде основано на г ридной версии маркерной шины IEEE 802.4, включающей ведущую и ведомую станЦ“й К шине можно присоединить до 127 активных и пассивных станций. Между активны-^ станциями циркулирует маркер - станция может передавать информацию, если влаДе^ маркером. Маркер недоступен пассивным станциям — активная станция должна запр сить пассивную, после чего она может ответить сообщением (рис. 9.28). В системе PROFIBUS предусмотрено несколько типов сообщений — от npocTbI_ запросов и подтверждений до более сложных пакетов данных. Сообщение имеет У ц]ины локального управления (Fieldbus) альную длину 256 байт; ему можно приписать один из двух уровней приоритета. Общения PROFIBUS основаны на подмножестве языка MMS, включающем поня- Виртуального устройства (VMD) и модель клиент-сервер, а также набор команд т я выполнения сетевых операций, удаленного запуска и остановки задач и т. д. До- * длительным свойством PROFIBUS являются функции управления, например из- нение конфигурации шины, добавление и удаление станций, выявление и изоля- ция аварийных элементов. маркер Рис. 9.28. Принцип работы шины PROFIBUS Маркер циркулирует между ведущими станциями В, С, Е, F и G. Владелец маркера может вести передачу. Ведомые станции A, D и Н не могут передавать данные произ- вольно, а должны отвечать на запрос ведущей PROFIBUS разработана для поддержки на одной шине интеллектуальных дат- чиков одновременно с более сложными устройствами (типа ПЛК, регуляторов, не- больших управляющих компьютеров и т. д.). Коммуникации на основе сообщений обеспечивают определенную гибкость в отношении типа и количества данных, кото- рыми обмениваются устройства, однако это достигается за счет быстродействия. PROFIBUS не может гарантировать, что данные от каждого датчика поступают с по- стоянной скоростью. Соответствует ли это требованиям процесса или нет, нужно ре- шать в каждом конкретном случае. PROFIBUS может работать в режимах с несколькими или с одним ведущим ус- тройством. Если имеется только одно ведущее устройство, то порядок последова- тельного опроса ведомых устройств можно точно определить и рассчитать предва- рительно. PROFIBUS позволяет осуществлять настройку различных параметров, кото- РЬ1е делятся на параметры шины, одинаковые для всех станций, и параметры уст- °иства, отличающиеся от станции к станции. Параметры шины должны быть оп- х ^елень1 таким образом, чтобы получить требуемые функциональные Рактеристики и при этом обойти слабые места. Например, параметр шины “Вре- Мое° ращеНия маркера” {Target rotation time), т. е. максимальное время, необходи- Чт аДЛЯ полного обращения маркера по шине, должен выбираться таким образом, Ьг активные станции не простаивали бы слишком долго в ожидании доступа к И а?6 пеРедачи. Время обращения маркера можно вычислить только на основании ^Формации о типе коммуникации и о типичной длине сообщения. На практике еЖим работы сети должен анализироваться, проверяться и настраиваться с помо- Ьг° соответствующего анализатора, который позволяет оценить эффективность ^еРаций в терминах определенных показателей (пропускная способность, среднее РбМя ожидания, среднее время реакции).
р g Применение сетей общего пользования 407 406 Глава 9. Цифровые коммуникации в управлении процесг- --------------------- ----:--------------—--ДДуоМи 9.7.4. Будет ли создан стандарт Fieldbus? Описанные здесь решения не являются единственными. Почти каждая серьез[( компания, работающая в сфере промышленной автоматизации, пользуется собствен ным типом шины локального управления, которая более или менее основана пасу шествующих стандартах и совместима с ними. Несколько различных вариантов шины Fieldbus не обязательно являются недостатком, если дают выигрыш в качестве управления. Для PROFIBUS характерна гибкость систем с маркером — любое уст. ройство может начать запрашивать данные, если обладает маркером. Bitbus, осно- ванная на идее центрального устройства, более эффективна, когда необходимо при- держиваться определенной последовательности операций и обращаться к простым ведомым устройствам, но менее эффективно поддерживает асинхронные операции с более или менее независимыми, т. е. обладающими интеллектом, устройствами. Bitbus — это строго иерархическая структура с единственным ведущим устройством, a PROFIBUS поддерживает параллельные действия нескольких интеллектуальных устройств. Трудно предугадать, появится ли интегрированный стандарт Fieldbus или же бу- дут сосуществовать несколько разнотипных стандартов. Выполняется целый ряд на- циональных и международных проектов для выработки унифицированных стандар- тов, например проект SP50 под эгидой ISA (Instrument Society of America), проекты Европейского союза по программе ESPRIT — CNMA (Communication Network for Manufacturing Applications) и FICIM (Fieldbus Integration into Computer Integrated Manufacturing), проект программы EUREKA EU 68 Fieldbus и проект ТС 65 Между- народной электротехнической комиссии. Поскольку национальная гордость и ры- ночные механизмы играют по крайней мере такую же роль, как и комитеты по стан- дартизации, положение, описанное выше, скорее всего, таковым и останется. Хотя, может быть, это и не так плохо. Проигрыш в унификации на уровне компонентов будет перекрываться свободой выбора метода коммуникаций, который в наиболь шей степени подходит к решаемой задаче. Ориентированные на задачи реального времени типы локальных шин, такие как Bitbus, могут применяться на самом низком уровне для сбора информации от датчиков в базу данных производственного участ ка, а с помощью PROFIBUS можно соединить в гибридную систему несколько неза висимых устройств и интеллектуальных датчиков. 9.8. Применение сетей общего пользования Локальные вычислительные сети удобны для соединения устройств в преД^, одного здания или какой-либо ограниченной территории. С другой стороны, лок ные сети редко используются, если расстояния превышают километр или есл бель должен пройти по общественной территории. Во многих странах, особен^ Европе, можно построить мощную локальную сеть в границах одной площадки получить разрешения от властей на то, чтобы протянуть кабель в офисное зд находящееся на другой стороне улицы. Вопросы, касающиеся монополии на с довольно запутаны и здесь обсуждаться не будут, однако всегда нужно учить национальные или территориальные условия. На практике это означает, что случаев информация должна передаваться по сетям, находящимся в собственн * государственных, смешанных или частных почтовых, телеграфных или телефон мцаний. Более того, набирающее силу ограничение естественных монополий озна- чает. что несколько компаний могут предложить обслуживание, связанное с переда- ли информации на основе разных технологий и по разумным ценам. Другим поло- жительным для пользователя фактом является то, что, несмотря на огромное число дроизводителей и телекоммуникационных компаний, технология подключения к се- тЯм общего пользования постоянно унифицируется. Таким образом, если не удается протянуть кабель через дорогу, можно выбрать одну из конкурирующих компаний для передачи информации по ее сетям. Применение сетей общего пользования для передачи информации может опреде- ляться И другими причинами. В некоторых типах производств необходимо собирать иНформацию с объектов, имеющих значительную географическую протяженность, например при наблюдении за линиями электропередачи, системами водо- или газо- снабжения. В ряде случаев сооружение собственных коммуникационных линий для наблюдения за удаленной на 100 километров трансформаторной подстанцией может оказаться непрактичным. Это типичная ситуация, когда рационально привлечение постороннего поставщика услуг связи. Приведенное ниже описание — короткое введение в сети общего назначения с точки зрения подключения абонентов. Внутренние механизмы этих сетей рассмат- риваться не будут. 9.8.1. Телефонная сеть и модемы Телефонная сеть справедливо может считаться одним из современных чудес све- та. Она существует, работает и ее можно использовать для передачи информации. Она соединяет примерно полмиллиарда телефонов во всех странах мира и обеспечи- вает, хотя и не всегда, вполне удовлетворительное качество связи. Это хороший при- мер того, как очень сложная система может постепенно развиваться на сравнительно простой основе, вместо того чтобы строиться по плану, как это принято сейчас. До своего современного состояния телефонная система развивалась в течение более ста Бе3уСЛ0ВН0’ телеФонные сети отражают и значительные различия между страна- мира. По оценкам ООН телефон недоступен примерно двум третям населения планеты. с п Т?ЧКИ 3Рения передачи информации типовое телефонное соединение является т°чноИ СРеД0Й- ^олоса пРопУскания составляет приблизительно 3000 Гц, что доста- фени ДЛЯ Различим°й передачи человеческого голоса, но малоприемлемо с точки тель данных- Ограничение ширины полосы пропускания происходит в действи- ях И ,Ие из'за качества цепей в телефонном аппарате и не из-за свойств кабель- с°Твн кГ К0Т0РЬ1е МОГУТ обеспечивать скорости передачи данных до нескольких Ях „ ит/с> а из-за фильтров, установленных на телефонных станциях и телефон- 1’А1Уль1НИЯХ Частотнь1й спектр искусственно сужается, чтобы обеспечить сжатие с ТИплексиРование для передачи на большие расстояния. В телефонных систе- г,еРеттяЧеТаЮТСЯ аналоговые и цифровые технологии. Голосовой сигнал абонента eJСЯ На ближайшУЮ телефонную станцию по витой паре (аналоговая форма). Ро лефонной станции сигнал преобразуется в цифровую форму и передается по ско- Чо ЫМ мУЛЬТИплексным каналам (по медному и оптоволоконному кабелю, по спут- )( вЫм или микроволновым каналам) до следующей станции. Здесь выделяется ис- ^Ь1Й сигнал и по витой паре передается абоненту.
g q Применение сетей общего пользования 409 408 Глава 9. Цифровые коммуникации в управлении пР°Цбсс?ц Цифровую информацию нельзя передавать по телефонной линии непосредСТВе11. но, поскольку узкая полоса пропускания срежет постоянные составляющие и иска, зит сигналы, изменяющиеся с высокой частотой. Чтобы преодолеть эти трудНОсти применяются модемы, которые согласуют цифровые данные с характеристиками те- лефонной линии. Слово “модем” является аббревиатурой от “модулятор/демодуЛя. тор”. Модем относится к аппаратуре окончания канала данных (раздел 9.3.6). Модем генерирует несущую с частотой от 1000 до 2000 Гц и модулирует ее в соответствии с передаваемой информацией. Частота и тип модуляции (амплитудная, частотная или фазовая) меняются в зависимости от стандарта. Режим работы модема может быть полудуплексным или дуплексным. В полудуп. лексном режиме одно устройство в каждый момент времени является передающим, другое — принимающим. Изменение направления передачи определяется протоке- лом. В дуплексном режиме для передачи в разных направлениях используются раз- ные частоты, поэтому прием и передача могут выполняться одновременно. Некото- рые из современных модемов способны адаптироваться к характеристикам сети, скоростям передачи и другим параметрам. Обычный интерфейс между ЭВМ или терминалом и модемом — EIA-232-D (раздел 9.3.6). Модемы, работающие на основе сложных схем кодирования, достигают сегодня приблизительно половины максимальной теоретической скорости передачи, опре- деляемой теоремой Шеннона (уравнение 9.3). При наличии шума их эффектив- ность быстро уменьшается, а необходимость применения схем коррекции снижает их реальную пропускную способность до уровня, меньшего, чем у более медлен- ных модемов. Типичные модемы для обычных телефонных линий работают в ди- апазоне между 9600 и 19 200 бит/с, а некоторые достигают скорости 57 600 бит/с на хороших линиях с высоким отношением сигнал/шум. Скоростные модемы мо гут автоматически переключаться на меньшие скорости, если это необходимо из-за низкого качества линии и узкой полосы пропускания. Скорость 30 000 бит/с является практически верхним пределом для передачи информации по обычным телефонным линиям и, скорее всего, не возрастет. Современная тенденция з ключается в замене аналоговых линий цифровыми с большей пропускной спос ностью. тсЯ Решение, которое позволяет увеличить скорость передачи данных и использ„ в некоторых конструкциях модемов, — это сжатие данных. Например, вместо чтобы посылать последовательно сто нулей, более эффективно послать упра - щий код, означающий, что следующие 100 знаков - это нули. Эффективност тия данных зависит от их вида. Значительного выигрыша можно достичь для Д с избыточностью, но сжатие неэффективно, если данные не содержат повтор и изменяются по закону, близкому к случайному. 9.8.2. Цифровые сети К наиболее важным способам передачи цифровых данных относятся: - коммутация цепей (устройств); — выделенные линии; - коммутация сообщений; - коммутация пакетов. ^мутация цепей Коммутация цепей (устройств) {circuit switching) — это непосредственное соеди- неНие двух устройств с помощью физического тракта передачи, например модемов через телефонную сеть. Соединение устанавливается после набора номера и остается активным до тех пор, пока одно из устройств не инициирует его разрыв — “повесит трубку”- Название происходит от того, что на старых декадно-шаговых АТС при ус- тановке соединения происходит замыкание контактов соответствующих реле, после чего возникает прямой физический тракт передачи между двумя оконечными уст- ройствами. Стоимость зависит от продолжительности соединения. Выделенные линии Выделенная линия {leased line) — это постоянно установленное соединение меж- ду двумя определенными точками. Для передачи данных используются обычные аналоговые линии повышенного качества, т. е. специально протестированные и экра- нированные, чтобы обеспечивать большую полосу пропускания и отношение сиг- нал/шум и, соответственно, пропускную способность. Арендная плата обычно фик- сирована за месяц или за год и не зависит от объемов трафика, который может включать себя и голос, и данные. На таких линиях обычно используются модемы со скоростями 19.2, 56 Кбит/с и выше. Коммутация сообщений и Интернет Еще один способ передачи информации — коммутация сообщений {message switching). Цифровое сообщение целиком отправляется в сеть и передается от узла к узлу, пока не достигнет конечного пункта, при этом используется метод передачи Данных с промежуточным хранением {store-and-forward). Этот способ применяется РИ передаче телексных сообщений и сообщений электронной почты и практически е представляет интереса в задачах промышленной автоматизации. собым типом сети коммутации сообщений является Интернет, который в после- щб6™ДЬ1 пРи°бРел всемирную популярность. Интернет является исключительно ^ене°И Сетью’ К0Т0Рая использует все возможные комбинации цифровых сетей. При- «к0еНИе пРОТОКОла TCP/IP позволяет пользователям обмениваться сообщениями нтактировать друг с другом по всему миру. 1енцое^еТ' однак0, о™етить, что Интернет не дает ни гарантий какого-либо опреде- т1(щ01 ° качества Работы, ни того, что сообщение достигнет адресата или что это про- За опРеделенное время. Поэтому Интернет нельзя рассматривать в качестве г° вРеН0Г° сРедства передачи информации для производственной системы реально- ^ноМ6НИ ЕсЛИ необхоДимо наблюдать за каким-либо удаленным объектом, то °гкОт ° еспеч1^ть Цифровую связь этого объекта с ближайшим сервером Интернета, ^Чии 'т?Г° Со° щения будут передаваться к центральной системе обработки инфор- ’иФпо Ь ТЖ°г СЛучае можно потребовать от поставщика услуг связи трансляции вых сообщений прямо к пункту назначения, минуя Интернет. , омпании, придающие большое значение связям с общественностью, например ; осистемы или химические предприятия, могут открыть в Интернете страницу % бающую их деятельность или даже позволяющую следить за реальным изме- ем во времени каких-либо основных параметров (например, текущих значений
411 410 Глава 9. Цифровые коммуникации в управлении процесса^ выработки и потребления мощности энергосистемы). Эта информация, конечно является существенной для работы системы, и любой сбой в работе Интернета будет иметь неприятных последствий. Интернет не является приемлемым вариа9 том при жестких требованиях к качеству и времени передачи. Коммутация пакетов Современное состояние в области цифровых коммуникаций — это коммутация пакетов (packet switching), устанавливающая виртуальный канал связи между у3ла. ми. Сообщение от передатчика делится на пакеты ограниченной длины (до несколь- ких сот байт). Каждый пакет содержит протокольную информацию, в частности, пос- ледовательный номер пакета и адрес получателя. Пакеты направляются к адресату по виртуальным каналам. Маршрут каждого пакета вырабатывается независимо, по- этому возможна ситуация, когда пакеты, предназначенные одному адресату, переда- ются по разным физическим каналам. Более того, пакеты могут поступать адресату не в том порядке, в котором они были отправлены источником. Ответственность за переупорядочение поступающих пакетов на основе их номеров и восстановление ис- ходного потока данных несет последнее устройство в сети, к которому непосредствен- но подключен абонент-получатель. Пакеты от различных пользователей мультиплексируются в магистральных ка- налах, поэтому пропускная способность сети используется более эффективно, чем при выделенных линиях или коммутации цепей. Загрузка сети может стать более равномерной, поскольку каждый абонент не использует постоянно всю емкость ка- нала связи, а спорадически передает значительные объемы данных в течение корот- ких промежутков времени. Поэтому в среднем пользователи загружают канал бо- лее или менее равномерно. Другим важным достоинством коммутации пакетов является возможность прозрачного для пользователя изменения маршрута при выходе из строя промежуточного узла или канала связи. Благодаря этим свой- ствам, сети с коммутацией пакетов обычно имеют хороший показатель готовности. Стоимость обслуживания в сети коммутации пакетов зависит от общей длительно- сти виртуального соединения (поскольку, даже ничего не передавая, абонент зани- мает порт у поставщика услуг) и объема переданных данных. Вообще говоря, сто- имость передачи цифровых данных по виртуальным сетям меньше по сравнению с другими способами. Доступ к пакетным сетям обычно осуществляется по протоколу Х.25; соответ ствующие рекомендации МСЭ включают первые три уровня модели ВОС. На физИ ческом уровне интерфейс между ООД и АКД (раздел 9.3.6) — это Х.21; этот интер фейс определяет электрическое соединение и протокол установки соединений’ ориентированный на работу в телефонной сети (“набор номера”, “линия занята , с° единение установлено” и т. д.). Интерфейс Х.21 использует 15-штырьковый разъ®1, в котором задействовано только 8 контактов. Стандарт Х.21, однако, применяе достаточно редко; поэтому разработана его модификация Х-21-bis, позволяю111 применять соединение ООД и АКД с помощью EIA-232-D. „п На канальном уровне стандарта Х.25 определен специальный протокол LA (Link Access Procedure-Balanced), являющийся подмножеством протокола НВ (раздел 9.4.5). На сетевом уровне протокол Х.25 обеспечивает команды для устаЯ°в ки, управления и завершения виртуального соединения. о Применение сетей общего пользования -------------------—----------------------------------- — • g 8,3. Цифровая сеть с комплексными услугами (ISDN) Диалоговый способ передачи удовлетворителен для голосовой связи, но плохо подходит для цифровых данных, которые необходимо предварительно преобразовы- вать в аналоговую форму. Для передачи данных наилучшим решением является скВозное применение цифровых технологий. Этой задаче отвечает сеть ISDN (Integrated Services Digital Network — цифровая сеть с комплексными услугами), которая была разработана в соответствии с моделью ВОС. Главная идея ISDN заключается в том, что основная масса информации — это либо циф- ровые данные (потоки между ЭВМ, факсимильные сообщения, мониторинг удаленных объектов), либо информация, которую можно преобразовать к цифровой форме (для голосовых сообщений — дискретизацией), так что лучшим способом передачи являют- ся полностью цифровые каналы, из конца в конец, включая абонентское оборудование (телефон или другое устройство). ISDN является основной концепцией развития теле- фонной сети в настоящее время и, видимо, останется таковой и в начале XXI века. В качестве основного набора услуг для стандартного абонента ISDN предоставля- ет два канала 64 Кбит/с и один 16 Кбит/с, называемые соответственно В- и D- кана- лами. Два В-канала используются для двух параллельных соединений, например од- новременной передачи голоса и данных. К одному абонентскому окончанию можно присоединить до 8 устройств, хотя одновременно могут работать только два из них. D-канал с пропускной способностью 16 Кбит/с применяется для вспомогательной информации и управляющих сигналов, например подачи коротких сообщений на дисплей телефонного аппарата, когда абонент разговаривает. Голос оцифровывается с частотой 8 кГц и восстанавливается на противоположном конце линии; все другие виды сообщений, которые имеют цифровую природу, передаются непосредственно. Абонентское подключение выполняется с мультиплексированием каналов по витой паре, пропускной способности которой для этого достаточно. Конфигурация из двух В' и одного D-канала называется базовой (Basic Rate Interface — BRI). Пользователи с большими объемами трафика могут пользоваться так называемой ПеРвичной (Primary Rate Interface — PRI) конфигурацией, которая в Северной Аме- рике и Японии состоит из 23 В-каналов и 1 D-канала, с общей пропускной способно- стью около 1.5 Мбит/с, а в Европе — из 32 В-каналов и 1 D-канала, что в сумме со- ставляет 2 Мбит/с. В качестве канального протокола в ISDN используется протокол D (Link Access Procedure D-Channel — процедура доступа к D-каналу), который Ждется подмножеством HDLC, но с расширениями, выходящими за рамки после- С1]ег°' Другим интересным решением является широкополосная ISDN с пропускной собностью 150 Мбит/с. Новым элементом широкополосной ISDN является то, tp Э(То обслуживание переключаемого типа, т. е. может адресоваться как обычный ц фонный вызов и не ограничено соединением типа быстрой связи “точка-точка”. Физического носителя для широкополосной ISDN применяется оптичес- азовая конфигурация (2B+D) была предложена исходя из маркетинговых со- /Л?611™- Обычный абонент, заинтересованный только в голосовой связи, заме- ни Ы только лучшее качество сигнала и меньшее время соединения по сравне- со стандартной телефонной сетью аналогового типа, но в одиночку это вряд /^служило бы серьезным аргументом в пользу ISDN. Решающим фактором далась возможность предоставления одновременно двух услуг, например го-
413 д,-| 2 Глава 9. Цифровые коммуникации в управлении процт--^^ лосовой и факсимильной связи. Другим аргументом в пользу ISDN является То что не требуется замена существующей кабельной инфраструктуры пользовате. ля — присоединение к новой цифровой телефонной станции можно выполнить На основе старой проводки. В случае применения ISDN не требуются специальные сети для передачи данных поскольку ISDN сама по себе является цифровой сетью. Благодаря тому, что ISDN была в деталях определена прежде, чем началось ее внедрение, все телекоммуника- ционные компании в разных странах могут строить ISDN, следуя одинаковых, принципам, что позволяет свести к минимуму проблемы совместимости сетей и обо- рудования. Промышленность, выпускающая аппаратуру ISDN на мировой рынок, больше не имеет необходимости производить несколько версий одного и того же про- дукта для разных стран, как это случалось до недавнего времени. 9.8.4. Асинхронный режим передачи (ATM) Асинхронный режим передачи {Asynchronous Transfer Mode — ATM) представля- ет собой очень быструю технологию, разработанную для объединения разнородных потоков цифровых данных, включая оцифрованные голос и видео, которые требуют как высокой пропускной способности, так и отсутствия каких-либо ощутимых запаз- дываний при передаче. При использовании ATM не делается различий между типа- ми трафика, а вся информация передается пакетами длиной по 53 байта, которые на- зываются ячейками {cells'). Каждая ячейка содержит 5-байтовый заголовок, несущий информацию о протокол, и 48 байт данных пользователя. Фиксированная длина не- обходима для высокоскоростной и эффективной коммутации. Длина пакета может показаться странной и в действительности является результатом компромисса меж- ду двумя наборами противоположных требований. Короткие ячейки больше подхо- дят для передачи голосовой и видеоинформации, а длинные — для передачи данных. В ходе определения стандарта была найдена компромиссная величина, составляю- щая 48 байт. При использовании ATM данные, превышающие по длине 48 байт, раз- биваются на ячейки в первом узле и восстанавливаются в последнем, аналогично сети коммутации пакетов типа Х.25 или ISDN. Коммуникационные каналы явля ются виртуальными, но после установления соединения все промежуточные уст ройства сети владеют информацией о маршруте, поэтому ячейки могут немедлен110 продвигаться дальше по направлению к получателю без анализа служебной инф°Р мации, содержащейся в заголовке. Стандарт ATM обеспечивает разные виды обслуживания в зависимости от пр жения. Основным является выбор между постоянной {Constant Bit Rate — С переменной (Variable Bit Rate — VBR) скоростью передачи от источника к ирие^ ку. Первый тип необходим для задач, где недопустимы произвольные запаздыва^ в частности передача голосовых сообщений. Второй тип приемлем для электро почты и пересылки файлов, где величина разрыва между моментами отправки с щения и его приема не играет большой роли, особенно в случае, когда это сП» стоимость услуг связи. Наиболее известным стандартным интерфейсом для ATM является {Synchronous Optical Network - синхронная оптоволоконная сеть), обеспечиваю ситуацию пропускную способность 2 Гбит/с для оптоволоконного кабеля и 155 Мбит/С родителя. Последний долженюять на себяВответР°ДУКЦИЮ °ДН0Г° пРи31«вдого витой пары. « Интегпэтття увенность по обеспечению бу- g g заключение а а Заключение Коммуникации играют определяющую роль в работе сложных систем, в которых оЛЗКен происходить обмен данными между различными компонентами. Распреде- ienH°e управление производством — пример такой системы. Ключевым параметром, описывающим коммуникации, является пропускная спо- собность каналов связи. Пропускная способность есть функция полосы пропускания канала, уровня шума и применяемого способа кодирования. Для того чтобы упорядочить содержание понятий “коммуникации” и “совмести- мость”, была разработана эталонная модель взаимодействия открытых систем. В моде- ли ВОС процесс коммуникаций разбит на семь уровней, начиная с физического (кабе- ли, разъемы и величина электрических сигналов) и до уровня приложений, на котором происходит обмен прикладной информацией (файлы, данные о производстве). На каждом уровне специфицирован набор стандартных услуг и механизм их предоставле- ния. На базе модели ВОС разработаны несколько коммуникационных стандартов. Некоторые решения на физическом и канальном уровнях имеют особое значение для промышленной автоматизации и систем управления процессами. Для передачи данных применяются витая пара, коаксиальный и оптоволоконный кабель. Важней- шими электрическими интерфейсами являются EIA-232-D и RS-485, рассмотренные в этой главе. Широко распространенными протоколами для передачи данных явля- ются HDLC и его производные (например, протокол Ethernet) и протокол TCP/IP. Последний был первоначально разработан для передачи информации по сложным, взаимосвязанным сетям, но оказался вполне подходящим продуктом для задач про- мышленного производства. Двумя важными концепциями, на которых основан обмен информацией в про- мышленности, являются МАР иТОР. Они ориентированы наразличные составляю- щие промышленной деятельности, соответственно производство и общее управле- ние). но в значительной мере совместимы друг с другом. Как МАР, так и ТОР являются сложными продуктами и поддерживают взаимодействие большого коли- чества устройств на производстве среднего и крупного масштаба. Решения, применяемые на нижнем уровне (уровень участка) промышленной авто- Матизации, обычно базируется на 1,2 и 7 уровнях ВОС. Шины локального управления ^Редставляют собой устройства, специально разработанные для использования в про- ленных условиях. Развитие техники локальных вычислительных сетей, доступ- недорогого, гибкого и стандартизированного коммуникационного оборудования , Тв основе успешного применения цифровой техники на всех уровнях промыш- а°вы И автоматизации> вплоть до датчиков и исполнительных механизмов. Благодаря Чия ЦИФРОВЬ1М решениям, например обеспечиваемым шинами локального управле- ’<ц й'!1атчики и исполнительные механизмы могут обладать некоторыми собственны- ми 1'^1слительными ресурсами и непосредственно взаимодействовать с управляю- ВМ, минуя этапы обработки и согласования аналоговых сигналов. 'Чц,6^051™0’не существует другой области, кроме связи, где потребность в стандарти- И ВЬ1ла бы столь велика. В случае, когда возникает потребность в применении но- Ч1реТехники> но соответствующие стандарты либо отсутствуют, либо не полностью Фо/1еляют ситуацию, целесообразно использовать продукцию одного признанного >у родителя. Последний должен взять на себя ответственность по обеспечению бу- еИ интеграции его продукции в рамках постепенно создаваемых стандартов.
414 Глава 9. Цифровые коммуникации в управлении пР°Цбспя|д1 Рекомендации по дальнейшему чтению Классическим трудом по основам теории связи является [Shannon/Weaver, 19491 собрание классических статей по статистическому анализу процессов передачи ин формации. Книга [Tanenbaum, 1996] на очень высоком уровне излагает практически все что необходимо о коммуникациях между ЭВМ, и при этом не утомляет читателя а [Tanenbaum, 1995] посвящена работе сетей как важнейшей части распределенных вычислительных систем. Обе книги рекомендуются для изучения, поскольку Tanenbaum является одним из немногих авторов, которые способны дать весьма со- лидное техническое обоснование и, не выходя за рамки устоявшихся способов изло- жения, сообщить новые идеи и взгляды, не отрываясь в то же время от реальных практических задач. [Black, 1989] является современным и глубоким справочным руководством по общим вопросам связи, включая решения по передаче голоса и данных, ведущих те- лекоммуникационных компаний. Текст содержит детальную информацию о прото- колах связи. [Held, 1989] описывает передачу данных, уделяя основное внимание оборудованию (модемы, мультиплексоры, интерфейсы). Это весьма современный материал, в деталях иллюстрирующий передачу информации по сетям общего пользования. Протокол TCP/IP детально описан в [Washburn/Evans, 1996] с соблю- дением очень удачного баланса между теоретическими положениями и практически- ми требованиями. Эта книга содержит также и хорошее описание общих принципов построения сетей. Описание шины PROFIBUS дано в [Bender, 1990]. Полный стандарт существует в виде документа DIN 19245, часть 1 и 2. Обзор предложений и требований к общему стандарту шин локального управления (Fieldbus) дан в [Wood, 1988]. Соображения, связанные с проблемой открытых стандартов для взаимодействия с устройствами типа Fieldbus, рассмотрены в [Warrior/Cobb, 1988]. В статье [Kaminski, 1986] описаны главные идеи, положенные в основу МАР- В том же журнале [Farowich, 1986] представляет и протокол ТОР. Позднее был вы пущен целый ряд книг, посвященных описанию протоколов МАР и ТОР. Документацию по всем упомянутым нормативам и стандартам можно затре вать в национальных организациях по стандартизации. Некоторые адреса приведень в приложении “Стандарты и организации по стандартизации”. 10 Программирование систем реального времени Методы программирования. Управление ресурсами. Обмен.ин- формацией между процессами. Операционные системы и языки реального времени Обзор Производственные процессы обычно управляются группой связанных друг с дру- гом ЭВМ, каждая из которых решает свои задачи; этот подход обсуждается в разде- те9.6. Способ программирования в основном зависит от требуемого времени реак- ции. На верхних уровнях иерархии обычно используются программы управления базами данных и статистического анализа. Эти программы могут выполняться, на- пример, раз в сутки, и поэтому здесь нет жестких требований ко времени реакции; используется обычная техника программирования для административных систем, подробно описанная в соответствующих учебниках. Иначе обстоит дело на нижних уровнях, которые осуществляют непосредственное управление физическим процес- сом. Здесь время реакции обычно настолько жестко ограничено, что требуются спе- циальные методы и техника программирования. Эти методы являются предметом рассмотрения настоящей главы. Для создания эффективных систем реального времени вычислительная техника имеет не меньшее значение, чем программные средства. В определенном смысле тех- нические средства и программы являются логически эквивалентными — многие за- йти можно решить с помощью как аппаратных, так и программных средств. Аппа- ратные средства должны обладать достаточными ресурсами, а программные — эффективно их использовать. Однако бывает, что программное обеспечение сводит ванет все достоинства оборудования. Целью настоящей главы является практическое знакомство с программировани- Л| в реальном времени. В идеальном случае предполагается, что программист не вы- 5°Дит за пределы защищенной среды языка программирования, в рамках которой — соответствии с учебниками по программированию — можно решить все задачи. Реальности программисты работают непосредственно с операционной системой, ’^Рабатывают резидентные программы и в рамках одного проекта смешивают язы- .11 Программирования разного уровня. В этой главе не обсуждаются преимущества и достатки той или иной техники программирования, а на основе теории операцион- систем приводятся практические решения некоторых проблем. itjj аздел Ю.1 посвящен основным понятиям, связанным с программами и процесса- ' Раздел 10.2 вводит некоторые концепции операционных систем как для однопро- с°рных, так и для распределенных конфигураций. Вразделах 10.Зи 10.4рассмат- , Ваются проблемы защиты ресурсов и взаимного исключения и вводятся средства ^Их решения (например, семафоры). В разделе 10.5 обсуждается взаимодействие %У процессами, а в разделе 10.6 — практические методы программирования для ^ч реального времени. Завершает главу обзор некоторых языков и операционных
416 1 Общее понятие о процессах 417 Глава 10. Программирование систем реального вп --------------------------------------— систем для программирования задач реального времени в разделе 10.7. Мате первых пяти разделов носит формально-теоретический характер, последние два^ ориентированы на практические задачи. " 10.1. Общее понятие о процессах 10.1.1. Последовательное программирование и программирование задач реального времени Программа представляет собой описание объектов — констант и переменных - и операций, совершаемых над ними. Таким образом, программа — это чистая ин- формация. Ее можно записать на какой-либо носитель, например на бумагу или на дискету. Программы можно создавать и анализировать на нескольких уровнях абстракции (детализации) с помощью соответствующих приемов формального описания перемен- ных и операций, выполняемых на каждом уровне. На самом нижнем уровне использует- ся непосредственное описание — для каждой переменной указывается ее размер и адрес в памяти. На более высоких уровнях переменные имеют абстрактные имена, а операции сгруппированы в функции или процедуры. Программист, работающий на высоком уров- не абстракции, не должен думать о том, по каким реальным адресам памяти хранятся переменные, и о машинных командах, генерируемых компилятором. Последовательное программирование (sequentialprogramming) является наиболее распространенным способом написания программ. Понятие “последовательное” под- разумевает, что операторы программы выполняются в известной последовательности один за другим. Целью последовательной программы является преобразование вход- ных данных, заданных в определенной форме, в выходные данные, имеющие другу10 форму, в соответствии с некоторым алгоритмом — методом решения (рис. 10.1). Рис. 10.1. Обработка данных последовательной программой Таким образом, последовательная программа работает как фильтр для исходи данных. Ее результат и характеристики полностью определяются входными даН^0 ми и алгоритмом их обработки, при этом временные показатели играют, как праБ второстепенную роль. На результат не влияют ни инструментальные (язык пРоГ мирования), ни аппаратные (быстродействие ЦП) средства: от первых зависят лия и время, затраченные на разработку и характеристики исполняемого кода’ебу. вторых - скорость выполнения программы, но в любом случае выходные данн дут одинаковыми. я от Программирование в реальном времени (real-time programming) отличав последовательного программирования - разработчик программы должен пос но иметь в виду среду, в которой работает программа, будь то контроллер волновой печи или устройство управления манипулятором робота. В систем2 ального времени внешние сигналы, как правило, требуют немедленной реа процессора. В сущности, одной из наиболее важных особенностей систем реаДЬ Бремени является время реакции на входные сигналы, которое должно удовлет- вОрять заданным ограничениям. Специальные требования к программированию в реальном времени, в частности не0бходимость быстро реагировать на внешние запросы, нельзя адекватно реализо- вать с помощью обычных приемов последовательного программирования. Насиль- стВенное последовательное расположение блоков программы, которые должны вы- полняться параллельно, приводит к неестественной запутанности результирующего кода и вынуждает связывать между собой функции, которые по сути являются само- стоятельными. В главе 2 были показаны проблемы, возникающие, если два функцио- нально независимых программных блока оказываются связанными друг с другом. В большинстве случаев применение обычных приемов последовательного про- граммирования не позволяет построить систему реального времени. В таких систе- мах независимые программные модули или задачи должны быть активными одно- временно, т. е. работать параллельно, при этом каждая задача выполняет свои специфические функции. Такая техника известна под названием параллельного программирования (concurrent programming). В названии делается упор на взаимо- действие между отдельными программными модулями. Параллельное исполнение может осуществляться на одной или нескольких ЭВМ, связанных распределенной сетью. В этой главе будут рассмотрены принципиальные вопросы, относящиеся к обоим случаям. 10.1.2. Программы и процессы Основным объектом в системах реального времени является процесс (process) или задача (task). Между программами и процессами имеется существенное разли- чие. Программы представляют собой информацию о том, как обрабатывать и преоб- разовывать исходные данные, а процессы суть программы, исполняемые процессо- ром. Процесс состоит из кода, т. е. инструкций программы — области кода, области Данных, в которой хранятся переменные и константы, свободной динамически рас- пРеделяемой рабочей области памяти — кучи (heap) и стека (stack) (рис. 10.2). Два последних механизма зависят от конкретной реализации. Область стека примыкает кУче и расширяется за ее счет. Программа, написанная на одном и том же языке Ысокого уровня, а затем откомпилированная и исполняемая на разных ЭВМ, по- Дает различные процессы, каждый из которых имеет собственные области ко- анД и данных, кучу и стек. Нии^аЖДЬ™ пРоцесс в любой момент времени находится в точно определенном состоя- •’1асте“1Н03НаЧН0 описываемом содержимым регистров процессора, расположением об- К0Да’данных и стека и счетчиком команд, указывающим следующую исполняе- Про ИНСТРУКцию в области кода. Эта базовая информация об исполняющемся с&ой еССе называется его контекстом (context). Существование контекста — это общее сТЬ10СТВ° процессов’а то’ какие регистры, структуры и указатели реально являются ча- контекста, зависит от используемого процессора и операционной системы. час^аСТНЫМ типом процессов являются потоки (threads). Они представляют собой г0 Ть ПрогРаммы’ которая может независимо исполняться на том же сам или дру- По процессоре. Потоки порождаются процессом и выполняются параллельно, т. е. 3 /°к ~ эт° дочерний процесс (childprocess). В отличие от процессов, потоки исполь- т общую область данных, т. е. переменные породившего их процесса. Однако Дак 1021
418 419 Глава 10. Программирование систем реального времен каждый поток имеет собственный контекст, включающий отдельные область к и стек. Потоки играют важную роль в операционных системах UNIX и Windows указатель данных счетчик команд указатель вершины стека (стек расширяется в сторону младших) Рис. 10.2. Пример организации внутренней памяти процесса Последовательность преобразования программы в процесс состоит из сохранения исходного текста на компьютерном носителе (магнитная лента или диск), компиля- ции (compilation), связывания (linking), загрузки (loading) и исполнения (execution}. Эти шаги детально описываются в учебниках по программированию и операцион- ным системам и здесь рассматриваться не будут. 10.1.3. Параллельное программирование, мультипрограммирование и многозадачность Программирование в реальном времени требует одновременного исполнения не скольких процессов или задач на одной ЭВМ. Эти процессы используют совместно ресурсы системы, но более или менее независимы друг от друга. Мультипрограммирование (multiprogramming) или многозадачность (multitasking) есть способ одновременного исполнения нескольких процессов. Такого эффекта мож но добиться как для одного, так и для нескольких процессоров: процессы исполняются либо на одном, либо на нескольких связанных между собой процессорах. В действу тельности многие современные вычислительные системы состоят из нескольких пр цессоров, связанных между собой либо сетью передачи данных, либо общей шино Для записи параллельных процессов можно использовать следующую нотани cobegin х:= 1; х := 2; х := 3; coend; write (х); 2, Управление системными ресурсами Дополнение команд между ключевыми словами cobegin и coend происходит па- лЛельно (рис. 10.3). Пара операторных скобок cobegin-coend приводит к генера- ции потоков в рамках многозадачной системы. Оператор cobegin не накладывает ус- 10вий на относительный порядок исполнения отдельных процессов, а оператор cOend достигается только тогда, когда все процессы внутри блока завершены. Если /ь, исполнение было последовательным, то окончательное значение переменной х было бы равно 3. Для параллельных процессов конечный результат однозначно предсказать нельзя; задачи выполняются, по крайней мере с внешней точки зрения, в случайной последовательности. Поэтому окончательное значение х в приведенном примере может быть как 1, так и 2 или 3. Рис. 10.3. Граф очередности для операторов cobegin - coend Иногда в технической литературе термин “параллельное программирование” используется как синоним мультипрограммирования. Однако эти понятия не- сколько различаются по смыслу. Параллельное программирование — это абст- рактный процесс разработки программ, которые потенциально могут исполнять- ся параллельно, вне зависимости от программно-аппаратной среды. Иными словами, предполагается, что каждая задача реализуется на собственном вирту- альном процессоре. С другой стороны, мультипрограммирование представляет собой практический способ исполнения нескольких программ на одном цент- ральном процессоре или в распределенной вычислительной системе. Параллель- е программирование более трудоемко, чем последовательное, поскольку спо- ности человека следить за развитием связанных процессов и исследовать их Заимодействие ограничены. Программирование в реальном времени основано на параллельном программиро- Лро И И включает в себя технику повышения эффективности и скорости исполнения ИсподаММ ~ УПРаВЛеНИе пРеРываниями> обработку исключений и непосредственное вРем Ь30вание РесУРсов операционной системы. Кроме того, программы реального ени требуют специальных методов тестирования. ^2. Управление системными ресурсами '^•1 Однопроцессорная и распределенная архитектуры за снижения стоимости аппаратной части стало экономически целесообразно «менять вычислительные системы с несколькими процессорами. Мы будем об- едать в основном распределенные системы (distributedsystems), которые по своей
421 420 Глава 10. Программирование систем реального п управление системными ресурсами Щ-уу____________________—----------- Природе больше подходят для управления сложными процессами. К основным имуществам распределенных систем относятся: Дре- - экономичность; - надежность (при отказе нескольких процессоров остальные продолжают тать); Рабо- - возможность подобрать аппаратные средства в соответствии с требованиями. конкретными лфигурации обмен данными между процессами происходит через общую локаль- vlo память, очередность доступа к которой регулируется многозадачной операци- онной системой. В отличие от этого, в распределенной системе нет общей памяти как таковой, и процессы обмениваются информацией с помощью сообщений. Если один процесс д0Лжен передать информацию другому, то он формирует сообщение и обращается к услугам операционной системы для передачи его по назначению. Этот принцип взаимодействия лежит в основе одной из наиболее важных концеп- Говоря о распределенной системе, необходимо иметь в виду, каким способом дОс тигается распределение ресурсов. Одна крайность — когда единственным общим ре сурсом является сеть, соединяющая ЭВМ, каждая из которых работает независимой лишь обменивается сообщениями с остальными. Другая крайность — реально рас- пределенная сетевая операционная система, предоставляющая пользователю гомо- генную среду, не зависящую от аппаратной платформы. Пользователь может вво- дить произвольные команды, а операционная система находит наиболее подходящий способ и место их выполнения. Распределенные системы используются в управлении процессами, поскольку эти приложения являются принципиально распределенными и такая архитектура обеспечивает более полное соответствие между аппаратными и программными средствами и управляемым объектом. Пример такого подхода приведен в разде- ле 9.6. Сложный технологический процесс можно разбить на несколько уровней, на каждом из которых собираются и обобщаются (агрегируются) данные, передающи- еся на более высокие уровни. Такой тип распределенной системы отвечает сформу- лированным выше принципам: она более экономична, чем централизованная с од- ним процессором, выполняющим все функции (если такой процессор можно создать); она надежна в том смысле, что отказ одного из компонентов не нарушает работу других (при условии, что система хорошо структурирована), и ее можно по- строить таким образом, чтобы она в максимальной степени соответствовала управ- ций распределенных операционных систем — модели “клиент-сервер” {client-server model)- В этой модели процесс либо запрашивает услуги — клиент, либо предоставля- ет их — сервер. Очевидно, что один и тот же процесс может быть как клиентом, так и сервером. “Услуга” — это некоторая законченная (замкнутая) операция, в частности выполнение расчетов, прием внешних данных, операция с устройством, например, вывод изображения на экран. В определенном смысле модель “клиент-сервер” мож- но рассматривать как расширенный вариант обращения к подпрограмме, при кото- ром сервер играет роль подпрограммы или системной процедуры. Модель “клиент-сервер” основана на обмене сообщениями между программами. Если клиент и сервер исполняются на разных ЭВМ, а сообщения передаются через сеть, то система является распределенной. Чем больше вычислительные ресурсы процедур клиента и сервера и чем больше сложных функций они могут выполнять независимо, тем меньше число сообщений и, соответственно, нагрузка на сеть. Фактически важным преимуществом распределен- ляемому процессу. Однако чисто аппаратный подход к надежности не решает всех проблем. В рас пределенной системе процессы, исполняющиеся на разном оборудовании, зависят и друг от друга, и от коммуникаций. Если процесс или оборудование в одном узле пере станет работать или возникнут проблемы с коммуникациями, то остановится испол нение не только конкретного процесса, но и процессов, зависящих от него, потом. ных систем является то, что ресурсоемкие вычисления можно выполнять локально и в результате уменьшить объем трафика, поскольку передается только информация, относящаяся к более высокому абстрактному уровню, чем локальные вычисления, т- е. некоторый итог локальных операций. Иными словами, в хорошо спроектирован- ной системе сообщения содержат информацию о цели (“установить опорное значе- ние х = 78.2”), а не о том, какие шаги следует для этого предпринять (“каково значе- ние х в данный момент?”, “х = 63”, “увеличить на 16”, “каково х сейчас?”, “х = 79”, Уменьшить на 1”, и т. д.). Промежуточные шаги выполняются локально при усло- вии, что программное обеспечение спроектировано соответствующим образом. например, что они ждут ответа на свои вопросы. По сравнению с централизованными распределенные системы требуют прин пиально иных программных средств, поскольку такие системы тесно связаны тью. Сетевая операционная система должна управлять как ресурсами отдельн ЭВМ, так и всей сети. Поэтому функции операционной системы нельзя отделять функциональных свойств сети, а работа сети оказывает заметное влияние на Ра^ распределенной системы. Фактически сетевые операционные системы имеют мн уровневую структуру, аналогично стеку коммуникационных протоколов (Р Главным различием между однопроцессорной и распределенной архитектура^ является способ обмена информацией между процессами. Эта процедура наибо важна при мультипрограммировании и программировании в реальном време Она будет рассмотрена более подробно ниже в этой главе. В однопроцессорн 10-2.2. функции операционных систем в среде реального времени Операционная система (ОС, Operating System — OS) — это сложный программный ЧИ°ДУКТ' пРедназначенный для управления аппаратными и программными ресурса- (лоВЫчислительной системы. Она предоставляет каждому процессу виртуальную сп ГИлескУю) сРеДУ, включающую в себя время процессора и память. “Виртуальная Не ДЭ ~ ЭТ° концептУальное понятие. Ее характеристики могут как совпадать, так и с°ВпаДать с параметрами реального оборудования. Ля ногозадачность сейчас доступна почти на всех типах ЭВМ, и ее поддержка яв- ^ется одной из основных характеристик таких операционных систем, как UNIX и °WS NT- В первую очередь многозадачность должна обеспечивать распределе- л 6 и заЩиту ресурсов. Первоначальной целью создания многозадачных систем, и систем разделения времени {time-sharing systems), было желание обеспечить Довременный доступ нескольких пользователей к дорогим вычислительным ре- йсам и, соответственно, разделить между ними эксплуатационные расходы, т. е.
422 423 Глава 10. Программирование систем реального врем повысить экономическую эффективность оборудования. В системах реальн времени целью многозадачного режима является изоляция друг от друга па °Г° операций и распределение рабочей нагрузки между отдельными программнь модулями. Единственным “пользователем” в этом случае является управляемая^ стема. В системах разделения времени, или многопользовательских системах, большое внимание уделялось защите и изоляции пользователей друг от друга с помощью па ролей, управления доступом, учета использования ресурсов и т. д. Системы реально го времени в этом смысле имеют меньше ограничений, поскольку разработчик всегда знает, что делает каждый модуль. В ситуациях, когда ценится каждая миллисекунда машинного времени, его нельзя тратить на дополнительные расходы по контролю доступа, поэтому файловые системы и механизмы защиты не являются важными компонентами операционных систем реального времени. Многопользовательские системы должны быть, в определенном смысле, “справедливыми”, поскольку даже в режиме большой нагрузки нельзя допускать дискриминации ни одного пользовате- ля. Наоборот, в приоритетных системах реального времени процессы четко разгра- ничены с точки зрения права доступа к ресурсам процессора. В распределенной среде операционная система дополнительно выполняет функ- ции сопряжения программ с сетью и управления обменом данными и сообщениями между ЭВМ. В сетевых операционных системах каждая ЭВМ имеет высокую сте- пень автономности. Общесистемные требования к обмену информацией позволяют взаимодействовать процессам, даже если они работают под управлением разных опе- рационных систем, при условии, что каждая из них обладает необходимыми сетевы- ми возможностями. 10.2.3. Распределенные операционные системы Распределенная операционная система (distributed operating system) — это общий термин, обозначающий решения с различным уровнем функциональности. Распре- деленная операционная система может представлять собой средство сетевого взаи- модействия, сетевую файловую систему с единым интерфейсом или даже совокуп- ность независимых ЭВМ, которую пользователи системы воспринимают как единую ЭВМ. Различия хорошо видны на примере операции копирования файла, приведенного на рис. 10.4. Предположим, что на станции 3 выдана команда скопировать файл со станции 1 на станцию 2. При такой операции блоки обычно считываются из ф&и ла-источника в буфер в памяти станции, выполняющей копирование, а затем копи руются в файл-приемник. Если хотя бы один из файлов (либо источник, либо прием ник) расположен на станции, с которой была выдана команда копирования, то описанный алгоритм вполне приемлем, однако при работе в сети, когда в опера ции принимают участие три станции, возможен другой подход. Простейшая сетев операционная система перенаправляет запросы ввода/вывода не к локальны , а к удаленным устройствам. Данные сначала копируются со станции 1 в промеру точный буфер на станции 3, а затем посылаются на станцию 2. Локальная команд Сору “ничего не знает” о том, что работает с удаленными файлами, поскольку за т°- к какому устройству — локальному или удаленному — перенаправить запрос, отвеча управление системными ресурсами ------------------------------- сетевая операционная система. Такой механизм порождает явно избыточный тра- Нвсети- , * распределенная операционная система высокого уровня работает совершенно ина- Станция 3 лишь инициирует процесс копирования, в котором в дальнейшем уча- уют только станции 1 и 2; данные вообще не попадают на станцию 3 — она лишь оЛучает информацию о результате завершения операции. Очевидно, что в этом слу- объем трафика и время выполнения операции уменьшаются примерно вдвое. Рис. 10.4. Операция копирования файла в простейшей сетевой ОС Этот пример показывает не только, что термин “распределенная операционная система” имеет достаточно расплывчатый смысл и может означать совершенно раз- ные решения, но и то, что при создании систем реального времени внимание следует Уделять не только прикладному программированию — раз операционная система обеспечивает механизм перенаправления, то об этом можно не беспокоиться, — но и вД способ реализации системных операций, т. е. на результирующую загрузку сети, вторая может ухудшить характеристики системы, если не полностью остановить ее Работу. К операционным системам, используемым в распределенных средах, относятся NIX, OSF/1 и Windows NT, которые будут рассмотрены более подробно в следую- щих разделах этой главы. ^•2.4. Управление процессором и состояния процесса 0 ®Сновными объектами в многозадачной среде являются процессы или задачи, ^)е^СЬ1ваемь1е своим контекстом (раздел 10.1.2). На одном процессоре в любой мо- вСег ВРемени может исполняться только одна задача. Контекст исполняемой задачи Нов Да можно “заморозить”, сохранив содержимое регистров процессора. При оста- 3оцКе ТеКущеЙ задачи процессор продолжает исполнение других задач. Таким обра- , процессор есть ограниченный ресурс, который распределяется между всеми за- вами. «а одном процессоре для организации многозадачного режима выполнение каж- задачи разбивается на несколько коротких интервалов (рис. 10.5). Процессор 8 й°лняет часть первой задачи, затем второй, третьей и т. д. Временной интервал, Деленный для каждой задачи, составляет, например, Ю миллисекунд.
424 Глава 10. Программирование систем реального вреМен Внешний эффект разделения процессорного времени между задачами состоит в раллельном выполнении п задач. Когда п задач выполняются в системе параллельно каждая из них в среднем монопольно “располагает” процессором с производительное тью \/п, т. е. работает (развивается) на виртуальном процессоре, производительность которого в п раз меньше, чем у реального физического процессора. Если вместо одного используется несколько процессоров, то это просто другая реализация того же самого логического принципа. В первом случае процессы разделены во времени, во втором - в пространстве. Если исключить накладные расходы на планирование и межзадачное взаимодействие, то при выполнении п процессов на k одинаковых процессорах каждо- му процессу в среднем выделяется виртуальный процессор с производительностью равной k/n части от производительности одного физического процессора. Рис. 10.5. Принцип организации многозадачного режима: а — внешний эффект, б — распределение времени процессора Простейшая многозадачная однопроцессорная система состоит из процедуры» храняющей контекст текущего процесса в стеке или в определенной области нам и восстанавливающей контекст другого процесса, исполнение которого возобнов ется с того места, где он был прерван. Системная программа, выбирающая готовых для исполнения процессов, называется планировщиком {scheduler). тР^^ь[ гии выбора достаточно разнообразны и меняются от одной операционной сис к другой, однако чаще всего используется какой-либо механизм на основе пРи°РчаеТ тов. Планировщик работает как один из процессов, который автоматически полу управление после каждого прерывания текущего процесса. еСт- Операции по переключению процессов критичны по времени и должны осу вляться с максимальной эффективностью. На процессорах, первоначально не pa F ботанных для многозадачного режима, процедура сохранения и восстановления текста — переключение процессов — реализуется длинной последовательное 2- Управление системными ресурсами 425 стандартных инструкций процессора. В набор команд процессора, спроектированно- го Раб°ты в многозадачном режиме, входят специальные инструкции для сохра- нения и восстановления контекста. Заметим, что переменные процесса не входят в состав контекста и сохранять их специально нет необходимости, поскольку они хранятся в памяти, выделенной процессу и защищенной операционной системой от уступа других процессов. Планировщик вызывается обычно после обработки каждого прерывания. Если используется стратегия переключения процессов на основе квантования времени (рис. 10.5), необходимо иметь внешний по отношению к процессору интервальный таймер, вырабатывающий прерывания по истечении кванта времени (time slice), вы- деленного процессу. При возникновении прерывания исполнение текущего процесса приостанавливается и проверяется, должен ли быть прерван текущий процесс и за- гружен новый. Принудительная приостановка текущего процесса для передачи уп- равления другому процессу называется вытеснением (preemption). Продолжительность кванта времени влияет на производительность системы. При коротком кванте улучшается общее время обслуживания коротких процессов. Если ве- личина кванта сопоставима со временем, необходимым для переключения процессов, то большая часть ресурсов процессора будет уходить на планирование и переключе- ние. Если величина кванта слишком большая, увеличивается время ожидания процес- сов и, соответственно, время реакции. Процесс исполняется до тех пор, пока не произойдет одно из следующих событий: - истек выделенный ему квант времени; - процесс заблокирован, например ждет завершения операции ввода/вывода; - процесс завершился; вытеснен другим процессом, имеющим более высокий приоритет, например обработчиком прерываний. В многозадачной среде процесс может находиться в одном из трех состояний (Рис. 10.6). Готов (ready). Процесс может начать исполнение, как только освободится процессор. Исполнение (running, executing). Процесс исполняется в данный момент, т. е. про- цессор исполняет его код. Ожидание, заблокирован (waiting, locked). Для продолжения работы процессу не хватает какого-либо ресурса, за исключением ЦП, либо он ждет наступления внешнего события. ^Ис. 10.6. Состояния процесса
426 Глава 10. Программирование систем реального вреМ| На рис. 10.6 также показаны возможные переходы из одного состояния в друГо 1. От “Загрузочный модуль на диске” к “Готов”. Программа загружается (/0 .. в оперативную память, настраиваются относительные адреса (relocation), ВЬ1Де ляются рабочие области для данных, кучи и стека с соответствующими указав лями и создается контекст процесса. 2. От “Готов” к “Исполнение”. Планировщик выбирает первый в очереди готовых процессов и передает ему управление. 3. От “Исполнение” к “Готов”. Процесс либо исчерпал свой квант времени, либо появился готовый для исполнения процесс с более высоким приоритетом. 4. От “Исполнение” к “Ожидание”. Для дальнейшего развития процесс должен ждать наступления какого-либо внешнего события (завершения операции вво- да/вывода или освобождения ресурса, например доступа к памяти, заблокиро- ванной другим процессом, или сигнала от другого процесса и т. п.). Иногда про- цесс переводится в состояние ожидания до истечения некоторого интервала времени с помощью явной инструкции в его программе. 5. От “Ожидание” к “Готов”. Когда ожидаемое событие произошло или истекло заданное время, процесс переводится в состояние “Готов” и помещается в оче- редь готовых процессов, откуда затем выбирается планировщиком. 6. После выполнения последней инструкции программы операционная система удаляет процесс из памяти и освобождает все выделенные ему ресурсы, вклю- чая память. 10.2.5. Стратегии выбора процесса Существует несколько возможных стратегий выбора готовых процессов из очереди. Для определения той или иной стратегии приходится принимать во внимание несколько противоречащих друг другу факторов — общее время, необходимое для решения задачи, ограничение на время реакции, важность и т. п. Мы рассмотрим две стратегии аналогия ные тем, которые применяются при арбитраже шины (раздел 8.2.10). Наиболее простой стратегией выбора является циклический (round-robin) ме тод — процессы выбираются последовательно один за другим в фиксированно^ порядке и через равные интервалы времени. Основное достоинство метода п₽^ стота, однако, поскольку процессам с различными требованиями выделяю^ равные ресурсы процессора, некоторые из них обслуживаются неадекватно св потребностям. . . каждой Более сложный принцип выбора основан на приоритетах (priorities). 1 Ри переключении планировщик передает управление готовому процессу с найВ“аетСЯ приоритетом. Приоритет присваивается процессу в момент его создания и о постоянным в течение всего времени - статический приоритет (static priority)- приоритет, как правило, определяется на основе информации, предостав пользователем. пиятнь1>| Планирование на основе статических приоритетов может привести к непри ситуациям. Процесс с наивысшим приоритетом, если он не находится в сост ожидания, будет всегда выбираться для исполнения и практически полностью мать процессор. Нетривиальным является также выбор между процессами с ОД ковым приоритетом. Для исключения подобной ситуации применяется какоИ' 2. Управление системными ресурсами 427 ^[•оритм динамического назначения приоритетов (dynamic priority allocation). На- йриМеР> планировщик снижает приоритет исполняемого процесса на фиксирован- ную величину. В результате его приоритет будет ниже, чем у другого готового про- цесса, который затем и выбирается для исполнения. Таким образом обеспечивается выполнение всех процессов. Через некоторое время ожидающим процессам возвра- щаются номинальные значения их приоритетов. Этот метод обеспечивает исполне- ние процессов даже с низким приоритетом и гарантирует, что процесс с высоким на- чальным приоритетом не будет непрерывно занимать процессор. Разница в первоначально назначенных приоритетах приводит к тому, что процес- сЫ с более высокими приоритетами будут получать управление чаще, чем другие. Процессы, обращение к которым происходит более интенсивно и/или время реакции которых ограничено, получают в начальный момент более высокие приоритеты; ме- нее важным процессам, для которых допустима отложенная реакция, присваиваются более низкие приоритеты. Планирование процессов, основанное на приоритетах, работает хорошо, только если разные процессы имеют неодинаковые приоритеты. Присвоение наивысших приоритетов всем процессам не повышает скорость исполнения, так как это не уве- личивает быстродействие процессора, — каждый процесс будет ждать в очереди до тех пор, пока все остальные не будут выполнены. Система, в которой всем процессам присвоены одинаковые приоритеты, работает по циклическому принципу. Наилуч- шие результаты достигаются в системе реального времени, если относительные при- оритеты тщательно выбраны и сбалансированы. Подробнее вопрос о приоритетах рассматривается в разделе 10.6.7. 10.2.6. Управление оперативной памятью Наиболее важным ресурсом после процессора является оперативная память. Ме- тоды управления, используемые в системах реального времени, обычно проще, чем в многопользовательских системах с разделением времени. В крупных вычислитель- ных системах с множеством пользователей большинство программ и данных хранят- ся во вторичной (внешней) памяти — жесткий диск — и загружаются в оперативную Память только при необходимости. Это приемлемо для систем разделения времени и Па«етной обработки, в которых несущественно, начнется задание минутой раньше или позже. Однако в системах реального времени задержек исполнения быть не дол- Чо, поэтому все необходимые модули предварительно загружаются в оперативную ^амять. Тем не менее в системах реального времени может возникнуть необходи- °С3В в выгрузке содержимого части оперативной памяти на диск. объ еханизм Расширения оперативной памяти сверх физически установленного срамМа 33 СЧеТ вРеменн°й выгрузки на диск не используемых в данный момент про- Hoij М И данных называется виртуальной памятью (virtual memory). Работа виртуаль- памяти основана на предположении, что объем памяти, требуемый для процес- сам ПРевосходит размер доступной оперативной памяти. Устройства массовой 4одЯТИ’ напРимеР жесткий диск, используемые для реализации этого механизма, Жны обладать как достаточной емкостью, так и значительным быстродействием, ерационная система копирует с диска в оперативную память только те части про- са и области его данных, называемые страницами (pages), которые непосред- еНно используются в данный момент, оставляя остальную часть во внешней памя-
428 Глава 10. Программирование систем реального Bpehi1e ти. Для загрузки наиболее часто используемых страниц и для уменьшения Числа ращений к диску применяются различные стратегии оптимизации. Механизм ви альной памяти позволяет процессу иметь адресное пространство больше, чем пя? выделенной ему реальной оперативной памяти. С другой стороны, применение в Р туальной памяти существенно увеличивает накладные расходы и замедляет рабо^ системы из-за многократных обращений к диску. Применение виртуальной памяти в системах реального времени вызвано в основ ном экономическими причинами. Стоимость хранения единицы информации в one ративной памяти выше, чем во вторичной памяти. Еще одной важной причиной яв ляется надежность работы. В случае системного сбоя можно восстановить работ процесса. Если сбой или перерыв в электропитании происходит, когда вся система находится только в оперативной памяти, все процессы и их данные будут потеряны и восстановить их будет невозможно. В системах реального времени представляет интерес только быстрая и эффектив- ная виртуальная память. Чтобы быстро реагировать на внешние сигналы, соответ- ствующие служебные процедуры должны постоянно храниться в оперативной памя- ти. Другим важным соображением, относящимся к использованию вторичной памяти в задачах реального времени, является ее работоспособность в производ- ственной среде — жесткие диски и дискеты нельзя использовать в условиях сильных вибраций, ударов или интенсивных магнитных полей. Одно из существенных различий между многопользовательскими операционны- ми системами и системами реального времени касается управления файлами. В мно- гопользовательских системах наиболее важными проблемами является структура каталогов и защита файлов. Управление и зашита каталогов с соответствующим кон- тролем прав доступа при каждом обращении требуют таких накладных расходов, ко- торые обычно неприемлемы для систем реального времени. Однако, как правило, в системах реального времени эти меры не нужны, поскольку дисковая память ис- пользуется в основном для протоколов и отчетов, а все процессы принадлежат одно- му “пользователю”. Поэтому применение сложных механизмов управления файлами в системах реального времени обычно не оправдано. Наиболее сложные операционные системы для достижения оптимальных харак- теристик позволяют настраивать параметры управления процессором и памятью. Необходимо должным образом подобрать приоритеты процессов, продолжитель ность квантов времени, размер страницы виртуальной памяти и другие параметры операционной системы. 10.3. Взаимные исключения и тупики 10.3.1. Защита ресурсов При мультипрограммировании часто возникают ситуации, в которых процесс соперничают за ресурсы. Если распределение таких ресурсов осуществляется нсчф^ вильно, это может привести к нарушению работы или даже к полной остановке си^ темы. Под ресурсами подразумеваются не обязательно аппаратные компоненты принтеры, интерфейсы или доступ к сети, — это могут быть и области оперативно_ памяти (переменные). Классическим примером программной защиты ресурсов яв-лЯ ется бронирование авиабилетов. Перед полетом места в самолетах существуют толь Взаимные исключения и тупики в памяти системы бронирования. Естественно, одно место не может быть предос- 1(0 дено двум клиентам, даже если они обращаются за билетом в разных кассах в одно о51се время. Таким образом, информация о наличии мест является ресурсом, под- 11 #ашим защите, причем в данном случае этот ресурс существует только в виде об- ласти памяти. ' Часть программы, в которой осуществляется доступ к тем или иным образом за- щищенному ресурсу (protected resource), называется критической секцией (critical section)- Существует прямая аналогия между защитой ресурсов, распределением времени процессора и арбитражем шины (раздел 8.2.10). Во всех этих случаях имеется огра- нИченный ресурс — область памяти, процессорное время или шина, — который дол- жен распределяться между несколькими запрашивающими объектами безопасно, эффективно и справедливо. Критерий распределения ресурсов, будь то простая цик- лическая схема или более сложный алгоритм, основанный на приоритетах, должен предотвращать блокировки и тупики, предоставляя ресурс в течение обозримого времени всем запрашивающим объектам, и обеспечивать максимальную производи- тельность всей системы. Если различные процессы обрабатывают общие переменные, не придерживаясь ка- кой-либо определенной дисциплины, их взаимодействие может привести к нежела- тельным результатам. Это видно на примере двух процессов, работающих с одной пе- ременной, значение которой сначала считывается, а затем изменяется. Если один процесс прерывается непосредственно после считывания и до изменения переменной, то второй процесс может изменить ее значение за время ожидания первого процесса. Когда возобновляется исполнение первого процесса, он “не знает”, что значение пере- менной изменилось, и продолжает работать со старым. Кроме того, в многозадачной среде заранее не известно, когда процесс будет прерван и когда его исполнение возоб- новится. Проблема состоит в том, что доступ обоих процессов к переменной никак не ограничен. При этом контроль формальной корректности различных программ не помогает, если не принимаются во внимание эффекты возможного взаимодействия процессов. Ситуация, в которой результат зависит от случайного порядка выполне- ния процессов, называется ситуацией гонок (race condition). Проблема защиты ресурсов (resourceprotection) является центральной во всей те- ории мультипрограммирования. В результате длительных серьезных исследований или предложены различные стратегии ее решения, которые отличаются механиз- мом и главным образом по скорости доступа к защищаемому ресурсу. В вышеприведенном примере переменная, доступная двум процессам, должна Досматриваться как ресурс, который необходимо защищать от конкурирующих из- еНений. Для исключения ситуации гонок доступ процессов к ресурсам должен быть Ла 1ТР°ИЗВ0ЛЬНЬ1М и не Дискриминационным, а соответствовать определенным прави- t Медленные устройства, которые могут использоваться процессом в течение дли- ^льного времени (принтер, накопитель на магнитной ленте), обычно предоставля- 3ацЯ запРашива1°ЩемУ процессу исключительно в порядке очереди — кто раньше Росил, тот раньше и получает. Для обслуживания медленных устройств с после- ательным доступом иногда применяется механизм спулинга (spooling). Устрой- ° закрепляется монопольно за одним процессом — спулером (spooler). Для осталь- ,х процессов операции с устройством имитируются с помощью временных файлов,
430 Глава 10. Программирование систем реального вре^ из которых организуется очередь. Спулер последовательно выводит файлы из ди на закрепленное за ним устройство очере. Сеть является довольно быстрым аппаратным ресурсом, который, с одной стороНь должен быть защищен от одновременного доступа, а с другой — доступен мнощм пользователям. Методы доступа к среде передачи в локальных сетях рассматривал^ в разделе 9.5. Эти методы имеют много общего с методами защиты ресурсов, использу- емыми в программировании. Однако для защиты ресурсов с очень малым временем доступа, к которым непрерывно обращаются различные процессы, — например, пере- менные в памяти, записи в файле или интерфейсы ввода/вывода на общей шине - Ис. пользуются другие методы, которым в основном и посвящен этот раздел. Цель координации доступа — гарантировать, что в каждый момент времени до- ступ к защищаемому ресурсу имеет один и только один процесс. При определении таких механизмов следует избегать слишком жестких ограничений, поскольку тогда выполнение процессов перестанет быть параллельным и они будут слишком сильно зависеть друг от друга. Основное правило защиты ресурсов — процесс никогда не должен изменять со- стояния общего ресурса, пока другой процесс имеет к нему доступ. Или в более об- щем виде — процесс не должен получать доступа к ресурсу, который в данное время используется другим процессом, независимо от того, собирается ли он изменить его состояние или нет. Второе ограничение является более сильным, но оно упрощает практическое управление, поскольку необязательно следить за тем, какие операции собирается производить с ресурсом каждый процесс. Первым элементарным методом гарантии защиты ресурсов является исключение прерываний процесса, пока он осуществляет доступ к ресурсу. Для этого ЦП запре- щается реагировать на сигналы прерывания с помощью операции маскирования пре- рываний (interrupt masking). Одновременно блокируется переключение процессов, поскольку оно происходит по прерыванию. Таким образом гарантируется работа процесса без прерываний, пока он обращается к общему ресурсу. Такое решение, оче видно, не является лучшим. Прерывания обычно должны быть разрешены постоян но, чтобы обеспечить быструю реакцию на особые условия, которые требуют немед ленного внимания. В системе управления часть программных модулей работает по прерываниям, и если они запрещены, то процессор не будет реагировать на вполн обоснованные запросы. Если к тому же отсутствует механизм буферизации прерыв ний, то они могут быть потеряны. Поэтому запрет прерываний должен использоват^ ся с большой осторожностью и только в случае, когда нет никакого другого решен^^^ В любом случае запрещать прерывания можно только на время выполнения оч короткой последовательности команд процесса. 10.3.2. Взаимное исключение Как отмечено выше, запрет прерываний может носить только исключитель^ характер. Другой подход к защите ресурсов основан на взаимном исклю е (mutual exclusion). Никакой процесс не может получить доступ к ресурсу, пока ресурс не будет явно освобожден процессом, который захватил его первым. 1 Слово spool - это аббревиатура от simultaneous peripheral operations on line - параллеЛ мая работа с периферийными устройствами. 10.3. взаимные включения ту ики ч Корректная защита ресурсов предполагает следующее: 1. В любой момент времени доступ к защищенному ресурсу имеет только од! процесс. 2. Процессы остаются взаимно независимыми. Остановка одного из процессов ] должна препятствовать продолжению других. Сформулированные требования соответствуют двум характеристикам — безопг пости и живучести. Безопасность (safety) означает, что доступ к защищенному р сурсу в любой момент времени возможен только со стороны одного из процесс» Живучесть (liveness) означает, что программа когда-нибудь обязательно будет в: полнена, иными словами, что она не остановится и не будет ждать бесконечно. Без пасность — это статическое свойство, а живучесть — динамическое. Безопасное можно добиться за счет частичного или полного отказа от параллельного исполнен процессов. В действительности наиболее надежными являются строго последот тельные программы, поскольку в этом случае вообще невозможен параллельный / ступ к ресурсу из различных частей программы. Распространенный метод управления доступом к ресурсам — применение nej менных защиты. Простейший метод защиты основан на одной двоичной перемени fl. Эта переменная изменяется обоими процессами таким образом, что один из н имеет доступ к защищенному ресурсу, когда fl = true, а другой — когда fl = false. program protect exampie (* защита ресурса *) var fl: boolean; begin fl := true; cobegin while true do (* бесконечный цикл *) begin (* процесс A *) repeat until fl = true; (* защищенный ресурс *) fl := false; end; (* процесс A *) while true do (* бесконечный цикл *) begin (* процесс В *) repeat until fl - false; (* защищенный ресурс *) fl := true; end; (* процесс В *) coend; end (* protect example *)
433 । лавсх iu. । ipui раммиривание систем реального взаимные исключения и тупики 10-А-_---------------------------- Это решение удовлетворяет принципу взаимного исключения — два проце проверяют переменную fl и входят в критическую секцию только тогда, когда fl иССа ет разные значения. Процесс, находящийся в критической секции, может счит'^' что он владеет ресурсом монопольно. Ь’ С другой стороны, это решение создает новые проблемы. Наиболее медлецц - процесс определяет общую скорость исполнения. Не имеет значения, является ти'д быстрее, чем В или наоборот, поскольку каждый процесс для своего развития додж ждать, когда другой изменит значение fl. Кроме этого, если исполнение процесса той или иной причине будет приостановлено, второй тоже должен быть остановлен даже после одного цикла. Более того, циклы занятого ожидания (busy loop), в кото рых проверяется переменная защиты, напрасно расходуют процессорное время Эти проблемы - - следствие введения управляющей переменной fl, которая для син- хронизации доступа к ресурсу создает дополнительные связи между процессами. Мо- дули, которые должны быть в принципе независимыми, связаны через fl, которая де- лает из двух модулей фактически последовательный процесс. Тот же результат можно получить, исключив fl и выполняя оба процесса последовательно в одном цикле. Другое решение — переустанавливать защитную переменную fl после проверки ее значения и перед доступом к защищенному ресурсу т. е. все процессы должны иметь следующий вид repeat until fl = true; fl := false; (* защищенный ресурс *) fl := true; В этом случае процессы не связаны, и условие живучести выполнено, но решение не является корректным. Если прерывание для переключения процесса останавлива- ет процесс А после контроля fl = true, но перед присваиванием fl = false, а процесс В производит аналогичную проверку fl, то оба процесса получают доступ к защищен- ному ресурсу, что противоречит требованию безопасности. Использование для за- щиты ресурса только одной переменной приводит к необходимости защищать пере- менную, поскольку она сама становится общим ресурсом. Было предложено несколько решений, основанных на нескольких переменных защиты, но они скорее могут считаться курьезами, имеющими мало практического значения. В заключение отметим, что для синхронизации параллельных процессов лучше не вводить новых переменных, поскольку они добавляют новые связи и сами становятся общими ресурсами. Для того чтобы обойти эту проблему, некоторые процессоры имеют команду test_and_set (“проверить_и_установить”), выполняющую проверку значения буле вой переменной и ее переустановку в ходе одной операции, которую нельзя прервать- Смысл команды testandset в том, что на ее базе можно построить процедуры син хронизации и защиты ресурсов. Объединения в одной операции проверки перемен ной и ее модификации достаточно для обеспечения защиты. Команда test_and_set функционально эквивалентна циклу read-modify-write на шине VMEbus (раздел 8.3.2). В обоих случаях гарантируется неразрывность ДВУХ операций — чтения и записи. Если команда test_and_set отсутствует в используемой языке программирования или в наборе команд процессора, то ее можно смоделир0 ать дрУгими средствами при условии, что допустйм запрет прерываний на короткое вреМЯ’ реализация критических секции и взаимного исключения в распределенной систе- 16 сама по себе представляет проблему. Для начала, нет прямого эквивалента команды teSt and_set, поскольку в этом случае имеется более одного процессора. В принципе, дпЯ каждого ресурса можно установить единого координатора. Любой процесс, жела- вший получить доступ к ресурсу, сначала запрашивает координатора, который дает □зрешение только одному из запрашивающих процессов. Однако это решение не яв- ляется столь простым, как кажется. Единый координатор процессов является узким местом — и при его отказе ресурс остается либо заблокированным, либо незащищен- ным. Более того, если ресурс является просто переменной в памяти, то строить целый алгоритм для его защиты нерационально. На самом деле координатор сам является ресурсом, за доступ к которому будет происходить конкуренция, не говоря уже о том, что в распределенной системе для посылки запроса нужно еще получить и доступ к ка- налу связи. Возможной альтернативой, как уже было показано для коммуникационых сетей (раздел 9.5), является использование маркера, который перемещается между про- цессами. При этом в критическую секцию может войти только владелец маркера. Здесь возникают те же проблемы, что и в сетях: в случае сбоя в процессе, являющем- ся владельцем маркера, должен существовать механизм регенерации маркера. По- этому для защиты небольшого числа переменных в памяти этот метод может оказать- ся громоздким и трудно реализуемым. В заключение отметим, что в распределенных системах не существует практично- го, эффективного и простого метода защиты ресурсов, сравнимого с командой test_and_set в однопроцессорных конфигурациях. Каждый случай необходимо оце- нивать индивидуально и выбирать соответствующее практическое решение. 10.3.3. Тупики Рассмотрим ситуацию, в которой два или больше процессов в системе приоста- новлены и ожидают каких-нибудь событий. Если такие события для каждого из ожи- дающих процесса могут быть инициированы только другим ожидающим процессом, т° все процессов окажутся в состоянии бесконечного ожидания. Такая ситуация на- зывается тупиком (deadlock) (рис. 10.7). рис. 10.7. Тупик: а - взаимный; б - циркулярный
1q4. синхронизация процессов — семафоры и иооьпия । лава i и. i |рограммирование систем реального вг>„ ----------------------------------------— Похожая ситуация возникает, когда один или несколько процессов продолжаю полниться фактически на одном месте. Это называется зависанием (starvation) рС' пример, если процесс непрерывно проверяет значение условной переменной, кот а' не изменяется, поскольку все остальные процессы также заняты проверкой. Инь °'’ словами, процессы, оказавшиеся в тупике, находятся в очереди ожидания (т е блокированы), а зависшие процессы исполняются, но фактически на одном месте °НИ Тупик и одновременный доступ к защищенному ресурсу являются двумя симмет ричными проблемами, относящимися к чрезвычайным ситуациям. В одном случае каждый процесс ждет других процессов, во втором — несколько процессов выполня ются параллельно. Можно предложить несколько подходов к решению проблемы тупиков. Простей шим из них является полное игнорирование проблемы и работа в режиме, когда при возникновении тупика некоторые процессы уничтожаются, например оператором или производится ручная перезагрузка системы. Естественно, такое решение непри- емлемо для систем реального времени, в особенности, если они должны работать без участия оператора. Кроме стратегии с привлечением оператора, существуют еще и другие — автома- тического обнаружения и предотвращения. Первая предполагает перераспределение ресурсов для разрешения ситуации или, в крайнем случае, уничтожение одного из процессов. Вторая — распределение ресурсов так, что тупики не возникают вообще. Для обнаружения тупиковой ситуации необходимо непрерывно проверять состоя- ние всех исполняющихся процессов и их взаимодействие для обнаружения циклов типа показанных на рис. 10.7. Такой контроль можно делать с помощью фоновой (background) программы, периодически запускаемой планировщиком. Однако и такая программа не может гарантированно выявить все тупиковые ситуации. В распределен- ных системах информация о состоянии всех процессов на всех ЭВМ также должна по- ступать к программе обнаружения тупиковых ситуаций. Помимо повышенной нагруз- ки на сеть, которая при этом возникает, имеется риск несогласованности сообщений о состоянии процессов, в результате которого может произойти ошибочное выявление тупиковой ситуации с последующим уничтожением соответствующих процессов. Предотвращение означает попытку вообще избежать ситуаций, которые могут привести к тупику. Программы должны быть структурированы и взаимодействие процессов должно быть организовано таким образом, чтобы тупиковые ситуации были исключены вообще. Для возникновения тупика должны выполниться одновременно несколько усл° вий. Если хотя бы одно из них не выполнено, тупик не может возникнуть. 1. Взаимное исключение. Существуют системные ресурсы, к которым разрешея монопольный доступ. 2. Невытесняющее распределение ресурсов. Ресурс может быть освобожден толь ко тем процессом, который его захватил, или, иначе говоря, ресурс не може быть освобожден извне захватившего его процесса. 3. Последовательный захват ресурсов. Процесс запрашивает ресурсы по одномУ' т. е. по мере необходимости. 4. Захват ресурсов в обратном порядке. Эти четыре утверждения косвенно дают ключ к предотвращению тупиковых си туаций. Достаточно, чтобы одно из них не выполнялось, и тупик не возникнет. Первое утверждение выполняется всегда, так как взаимное исключение является принципиальным для гарантии упорядоченного управления общими ресурсами. Второе утверждение требует, чтобы операционная система распознавала тупико- вые ситуации и реагировала соответственно, вынуждая процесс освободить ресурс. дто решение приемлемо лишь в случае, если допускается принудительное уничтоже- ние процесса, и зависит от механизма восстановления. В соответствии с третьим утверждением альтернативой выделению по одному яв- ляется выделение всех необходимых ресурсов одновременно. Практичность этого решения, естественно, зависит от вида этих ресурсов и от того, могут ли без них обой- тись другие процессы, пока не завершится захвативший их процесс. Если процессу выделяется десяток переменных на время выполнения небольшого количества ко- манд, без информации о том, какие из них будут действительно использоваться — это одна ситуация, а если один процесс надолго блокирует доступ к целой базе данных — это совсем другое дело. Если система структурирована в соответствии с моделью “клиент-сервер” и рабо- тает на основе замкнутых транзакций, то проблему тупиков решить проще. В случае возникновения тупика можно просто отменить транзакцию, а не уничтожать один или несколько процессов. Нарушение четвертого запрета чаще всего приводит к тупикам. Если двум про- цессам требуются ресурсы Л и В и первый их запрашивает в порядке А~В, а второй — В-A, то для возникновения тупика достаточно того, чтобы первый процесс был пре- рван после захвата ресурса А и управление было передано второму, который, в свою очередь, захватывает ресурс В. После этого каждый процесс будет бесконечно ждать, пока другой не освободит захваченный ресурс. Четвертое утверждение дает практический способ избежать тупиков. Тупик мож- но предотвратить, если определен точный порядок (последовательность) запроса ре- сурсов, соблюдаемый всеми процессами. В приведенном примере это означает, что “А должен быть распределен перед В’’ и что все процессы строго следуют этому пра- вилу. При этом освобождение ресурсов должно происходить в порядке, обратном их выделению. Этот метод, в принципе, несложно применить при разработке системы Реального времени, пока процессы находятся в руках одного или небольшой группы программистов, но его практическая ценность быстро уменьшается при возрастаю- щем числе ресурсов или разделяемых переменных. Ю.4. Синхронизация процессов — семафоры и события Ю-4.1. Семафоры Организация некоторого порядка исполнения процессов называется синхрониза- иеи (synchronization). Синхронизация процессов является основной функцией мно- задачных операционных систем и используется для защиты ресурсов — с помощью Яханизма синхронизации упорядочивается доступ к ресурсу. То есть процесс может °лучить доступ к ресурсу только после того, как другой процесс освободил его. Как !ло показано выше, введение дополнительных переменных для защиты ресурсов не лУчщий выход, поскольку эти переменные сами становятся общим ресурсом. Суще- ство проблемы состоит в том, что операции проверки и изменения значения перемен- яй защиты разделены во времени и могут быть прерваны в любой момент. Более
436 Глава 10. Программирование систем реального времен того, непрерывный контроль значений этих переменных представляет собой излцщ ние затраты процессорного времени. Семафоры {semaphore) — это основной метод синхронизации, свободный от уКа занных недостатков. Он, в сущности, является наиболее общим методом синхрониза ции процессов. В классическом определении семафор представляет собой целую переменную значение которой больше нуля, т. е. просто счетчик. Обычно семафор инициализиру- ется в начале программы 0 или 1. Семафоры, которые могут принимать лишь значе- ния 0 и 1, называются двоичными. Над семафорами определены две операции - signal и wait. Операция signal увеличивает значение семафора на 1, а вызвавший ее процесс продолжает свою работу. Операция wait приводит к различным результа- там, в зависимости от текущего значения семафора. Если его значение больше 0, оно уменьшается на 1, и процесс, вызвавший операцию wait, может продолжаться. Если семафор имеет значение 0, то процесс, вызвавший операцию wait, приостанавливает- ся (ставится в очередь к семафору) до тех пор, пока значение соответствующего сема- фора не увеличится другим процессом с помощью операции signal. Только после это- го операция wait приостановленного процесса завершается (с уменьшением значения семафора), а приостановленный процесс продолжается. Очень важно, что проверка и уменьшение значения семафора в операции wait вы- полняются за один шаг. Операционная система не может прервать выполнение опе- рации wait между проверкой и уменьшением значения. Операция wait для семафора имеет такое же функциональное значение, что и инструкция test_and_set. Если несколько процессов ждут одного и того же семафора, то после выполнения операции signal только один из них может продолжить свое развитие. В зависимости от реализации процессы могут ждать в очереди, упорядоченной либо по принципу FIFO (Firstln, FirstOut — первым вошел, первым вышел), либо в соответствии с при- оритетами, или выбираться случайным образом. Названия управляющей структуры “семафор" и операций signal и wait имеют оче- видное мнемоническое значение. В литературе вместо signal и wait применяются и другие названия с тем же самым функциональным смыслом. С помощью семафоров проблема защиты ресурсов из раздела 10.3.2 решается просто program sem_example (* защита ресурса *) var Pl: semaphore begin Pl := 1; cobegin while true do (* бесконечный цикл *) begin (* процесс A *) wait(Pl); (* защищенный ресурс *) signal(Pl); end; <* процесс A*)
4 Синхронизация процессов — семафоры и события 437 while true do (* бесконечный цикл *) begin (* процесс В *) wait(Pl); (* защищенный ресурс *) signal(Pl); end; (* процесс В *) coend; end. (* sem_example *) Семафор гарантирует, что два процесса могут получить доступ к защищенному ресурсу только по очереди. При этом не создается никаких дополнительных связей — если один процесс исполняется быстрее другого, то за определенный промежуток времени он будет чаще получать доступ к ресурсу. Процесс вынужден ждать оконча- ния другого только в том случае, когда последний находится в критической секции. Одновременно гарантируется и живучесть. Если исполнение процесса по каким- либо причинам прекращается, то, при условии, что он находился вне критической секции, это не мешает развитию другого процесса. Само по себе применение семафоров не гарантирует предотвращения тупиковых ситуаций. Если два процесса используют семафоры следующим образом wait(Pl) wait(P2) wait(P2) wait(Pl) (* защищенный ресурс *) (* защищенный ресурс *) signal(Pl) signal(P2) signal(P2) signal(Pl) то по-прежнему существует риск возникновения тупика. Если переключение про- цессов происходит между двумя операторами wait первой программы, а вторая про- Фамма выполнит свои операторы wait, то это приводит к тупику, поскольку каждая программа ожидает от другой освобождения семафора. Проблема состоит в том, что, х°Тя семафор гарантирует неразрывность проверки и установки значения, он сам ос- ае1ся защищенным ресурсом. В приведенном примере явно нарушен запрет после- довательного выделения, и это приводит к возможности тупиковых ситуаций. м емафор может помочь при синхронизации взаимосвязанных действий. Напри- с Р> если процесс должен работать с данными только после того, как они считаны вешнего порта, программа может иметь следующий вид: Process “Чтение данных” Process “Обработка данных" while true do while true do begin begin (* чтение новых данных ) wait(data_available); signal(data_available), (* обработка данных *) end; end;
438 Глава 10. Программирование систем реального^*^ Это решение отделяет операцию ввода данных от их обработки. На появление но вых данных указывает значение семафора, отличное от 0. Если существует мехацИзк буферизации (промежуточного хранения) новых данных, то процедура обработку сможет получить все данные, даже если они поступают быстрее, чем она в состоянии их принять. В системах реального времени принято отделять процедуры, требующИе быстрой реакции, например прием данных с внешнего порта, от других процессов Для защиты критических секций, в которые по определению в любой момент вре- мени может входить только один процесс, используются двоичные семафоры, также называемые mutex (от mutual exclusion — взаимное исключение). В этом случае нельзя использовать обычные семафоры, так как их значение может превышать 1 и следовательно, несколько программ могут получить доступ к ресурсу, уменьшая зна- чения семафора. Операция signal над двоичным семафором всегда устанавливает его значение в 1. Операция wait уменьшает это значение с 1 до 0 и разрешает процессу продолжаться дальше. Если семафор имеет значение 0, то процесс, выполняющий wait, должен ждать до тех пор, пока значение семафора не изменится. Ошибки синхронизации, связанные с неправильным использованием семафоров, трудно выявляются. Процесс, не выполняющий операцию wait, может войти в кри- тическую секцию одновременно с другим процессом, что приведет к непредсказуе- мым результатам. Естественно, нельзя говорить, что такая ошибка выявится при тес- тировании; она даже может никогда не произойти за все время существования системы. Легче найти противоположную ошибку — отсутствующая операция signal может в определенный момент привести к остановке по крайней мере одного из про- цессов, что достаточно просто обнаружить. Компилятор не имеет возможности проверить, правильно ли используются сема- форы, т. е. согласованы ли операции wait с операциями signal в других модулях и связаны ли семафоры с соответствующими ресурсами, поскольку это зависит от ло- гики алгоритма. Более того, размещение семафоров в программе, как и других ко манд, произвольно. Забота о проверке правильности программы лежит на програм мисте. Использование структурного программирования существенно облегчает решение этой задачи. В заключение отметим, что семафоры являются удобным средством высоко уровня для замещения операции test_and_set и помогают избежать циклов занят ожидания. Однако их неправильное использование может привести к ситуации нок и к тупикам. 10.4.2. События В некоторых случаях несколько процессов, имеющих доступ к общим Д^льН0 должны работать с ними только при выполнении некоторых условий, неоЬяз связанных с данными и разных для каждого процесса. Условием, например, быть поступление новых данных на входной порт. Все процессы имеют следу - структуру begin wait until condition; modify data; end 9.4 Синхронизация процессов — семафоры и события 43g Программа делится на две основные части. Сначала проверяются условия, азатем производятся операции над данными. Процедура проверки условия не изменяет дан- ных и поэтому не требует какой-либо специальной защиты доступа. Однако доступ к даНным для модификации должен быть координирован между процессами. Если использовать семафоры, то их потребуется два: один — для контроля досту- па в защищенную область с данными, а другой — для индикации изменения общих данных и, соответственно, необходимости повторной проверки условий. Применение первого семафора просто, а для второго необходимо следить за чис- лом ожидающих процессов и обеспечить, что при изменении условия ожидающие процессы будут активизированы с.целью его проверки, т. е. генерацию сигналов се- мафора, число которых равно числу ожидающих процессов. Это решение неудовлет- ворительно из-за большого расхода машинного времени на многочисленные провер- ки, при этом в программе довольно легко ошибиться. Для решения этой проблемы была введена новая переменная синхронизации event (событие), с которой связаны операции await (ждать) и cause (вызвать)1. Про- цесс, выполнивший операцию await (event), остается в состоянии ожидания, пока значение переменной eventпе изменится. Это изменение контролируется с помощью операции cause. При наступлении события, т. е. выполнении операции cause (event), освобождаются все ожидающие его процессы, в то время как в случае семафора осво- бождается лишь один процесс. Операции с событиями можно реализовать либо с по- мощью двоичной переменной, либо с помощью счетчика, при этом основные принци- пы остаются одинаковыми. В противоположность семафору, переменную события нельзя использовать для защиты ресурса от конкурирующего доступа нескольких процессов, поскольку по определению она освобождает все ожидающие процессы. Вышеприведенная пробле- ма решается с помощью переменной события и семафора, если все программы имеют следующий вид var mutex: semaphore; change: event; begin while not condition do await(change)', wait(mwtex); (* обработка общих переменных *) signal(mzztex); cause(c/zange); end; ТОл^Ри кажД°м изменении переменной event все процессы проверяют condition, и ко те из них, для которых condition выполнено, могут продолжаться. Доступ await'/1* \°Л °®огС имеет значение не только ждать”, но и “предстоять”, т. е. конструкцию ’’Инг,-,' ' можно трактовать, как “предстоит событие А". Глагол to cause означает “быть при- ы °И ’ ПобУДительным мотивом, “вызвать что-либо”, т. е. конструкция cause (А) интерпре- РУется как вызвать событие А” (в литературе и в операционных системах иногда исполь- 'тся и другие названия). — Примеч. рео-
440 Глава 10. Программирование систем реального времен к общему ресурсу защищен с помощью семафора mutex, при этом продолжается только один процесс. Это решение проще, чем основанное только на семафорах Оно также более эффективно, поскольку процессы проверяют условия только тог да, когда это имеет смысл, т. е. после изменения значения соответствующих пере менных. Важный тип события в системах реального времени связан с внешними прерыва- ниями. Программа обработки — обработчик прерываний — ждет прерывания. Когда оно происходит, исполнение обработчика возобновляется. 10.5. Обмен информацией между процессами 10.5.1. Общие области памяти Взаимодействующие процессы нуждаются в обмене информацией. Поэтому мно- гозадачная операционная система должна обеспечивать необходимые для этого сред- ства. Обмен данными должен быть прозрачным для процессов, т. е. передаваемые данные не должны изменяться, а сама процедура должна быть легко доступна для каждого процесса. Простейший метод — использование общих областей памяти, к которым разные процессы имеют доступ для чтения/записи. Очевидно, что такая область представ- ляет собой разделяемый ресурс, доступ к которому должен быть защищен, напри- мер, семафором. Главное преимущество общих областей памяти заключается в том, что к ним можно организовать прямой и мгновенный доступ, например один про- цесс может последовательно записывать поля, а другой затем считывать целые бло- ки данных. При программировании на машинном уровне общие области размещаются в опе- ративной памяти по известным адресам. В языках высокого уровня вместо этого ис- пользуются глобальные переменные, доступные нескольким дочерним процессам. Так, например, происходит при порождении потоков, для которых переменные роди- тельского процесса являются глобальными и работают как общие области памяти. В случае возможных конфликтов доступа к общим областям они должны быть защи- щены семафорами. 10.5.2. Почтовые ящики Другой метод, позволяющий одновременно осуществлять обмен данными и синх^ ронизацию процессов, — это почтовые ящики. Почтовый ящик представляет со структуру данных, предназначенную для приема и хранения сообщений (рис. Для обмена сообщениями различного типа можно определить несколько почтовь ящиков. Рис. 10.8. Работа почтового ящика 5. Обмен информацией между процессами 441 Во многих операционных системах почтовые ящики реализованы в виде логичес- ких файлов, доступ к которым аналогичен доступу к физическим файлам. С почто- выми ящиками разрешены следующие операции: создание, открытие, запись/чтение сообщения, закрытие, удаление. В некоторых системах поддерживаются дополни- тедьные служебные функции, например счетчик сообщений в почтовом ящике или чтение сообщения без удаления его из ящика. Почтовые ящики размещаются в оперативной памяти или надиске и существуют чишь до выключения питания или перезагрузки. Если они физически расположены на диске, то считаются временными файлами, уничтожаемыми после выключения системы. Почтовые ящики не имеют имен подобно реальным файлам — при создании им присваиваются логические идентификаторы, которые используются процессами при обращении. Для создания почтового ящика операционная система определяет указатели на область памяти для операций чтения/записи и соответствующие переменные для за- щиты доступа. Основными методами реализации являются либо буфер, размер кото- рого задается при создании ящика, либо связнный список, который, в принципе, не накладывает никаких ограничений на число сообщений в почтовом ящике. В наиболее распространенных реализациях процесс, посылающий сообщение, запи- сывает его в почтовый ящик с помощью оператора, похожего на оператор записи в файл putmailbox (#1, message) Аналогично, для получения сообщения процесс считывает его из почтового ящи- ка с помощью оператора вида get_mailbox (#1, message) Запись сообщения в почтовый ящик означает, что оно просто копируется в ука- занный почтовый ящик. Может случиться, что в почтовом ящике не хватает места Для хранения нового сообщения, т. е. почтовый ящик либо слишком мал, либо храня- щиеся в нем сообщения еще не прочитаны. При чтении из почтового ящика самое старое сообщение пересылается в прини- мающую структуру данных и удаляется из ящика, т. е. почтовый ящик — это пример Классической очереди, организованной по принципу FIFO. Операция чтения из пус- того ящика приводит к различным результатам в зависимости от способа реализа- — либо возвращается пустая строка (нулевой длины), либо операция чтения локируется до получения сообщения. В последнем случае, чтобы избежать нежела- ^льной остановки процесса, необходимо предварительно проверить число сообще- Ии> имеющихся в данный момент в ящике. 10-5-3. Каналы с Канал1 (pipe) представляет собой средство обмена данными между двумя процес- ми, из которых один записывает, а другой считывает символы. Этот механизм был Рвоначально разработан для среды UNIX как средство перенаправления входа и х 1х°Да процесса. В ОС UNIX физические устройства ввода/вывода рассматривают к файлы, а каждая программа имеет стандартное устройство ввода (вход) и стан- В русской литературе также используется термин “конвейер”. — Примеч. ред.
442 Глава 10. Программирование систем реального врегие g Обмен информацией между процессами 443 дартное устройство вывода (выход), клавиатуру и экран монитора — можно перео ределить, например, с помощью файлов. Когда выход одной программы перенап а' ляется на вход другой, создается механизм, называемый каналом (в операцией системах для обозначения канала используется символ Каналы применяются^ операционных системах UNIX, OS/9 и Windows NT в качестве средства связи меж В процессами (программами). Каналы можно рассматривать как частный случай почтового ящика. Различие между ними заключается в организации потока данных — почтовые ящики работают с сообщениями, т. е. данными, для которых известны формат и длина, а каналы прин- ципиально ориентированы на неструктурированные потоки символов. В некоторых операционных системах, однако, возможно определить структуру передаваемых по каналу данных. Обычно процесс, выполняющий операцию чтения из канала, ждет пока в нем не появятся данные. В настоящее время операционные системы включают методы, позволяющие избежать блокировки программы, если это нежелательно с точ- ки зрения ее логики. Операции над каналами эквивалентны чтению/записи физических файлов. Они включают функции, как определить, открыть, читать, записать, закрыть, удалить. Дополнительные операции могут устанавливать флаги режима доступа, определять размер буфера и т. д. Благодаря тому что ввод/вывод в файл и на физические устройства и вход/выход процессов трактуются одинаково, каналы являются естественным средством взаи- модействия между процессами в системах “клиент-сервер”. Механизм каналов в UNIX может в некоторых случаях зависеть от протокола TCP/IP, а в Windows NT каналы работают с любым транспортным протоколом. Следует иметь в виду, что внешне простой механизм каналов может требовать больших накладных расходов при реализации, особенно в сетевых системах (разделы 10.2.3 и 10.6.7). 10.5.4. Удаленный вызов процедур Модель “клиент-сервер” построена на обмене сообщениями “регулярной структуры, которые можно передавать, например, через механизм каналов. Однако основной процедурой обмена данными и синхронизации в среде “кли- ент-сервер” является удаленный вызов процедур {Remote Procedure Call — RPO- Последний может рассматриваться как вызов подпрограммы, при котором опера ционная система отвечает за маршрутизацию и доставку вызова к узлу, где нахо дится эта подпрограмма. Нотация обращения к процедуре не зависит от того, явля ется ли она локальной или удаленной по отношению к вызывающей программ6- Это существенно облегчает программирование. В системе реального времени существенно, является RPC блокирующим или нет. Блокирующий RPC не возвращает управление вызывающему процессу, пока не закончит свою работу, например пока не подготовит данные для ответа. Не блокирующие RPC возвращают управление вызывающей процедуре по истеч^ нии некоторого времени {timeout) независимо от того, завершила ли работу вызЫ ваемая процедура; в любом случае вызывающая программа получает коД> идентифицирующий результат выполнения вызова, — код возврата. Таким обра зом, неблокирующие RPC имеют важное значение с точки зрения гарантии живу' ести системы. Ю.5.5. Сравнение методов синхронизации и обмена данными На первый взгляд может показаться, что основные задачи, связанные с парал- льным программированием, взаимным исключением, синхронизацией и коммуни- ^циями между процессами, имеют мало общего, но в сущности — это просто разные Кц0Собы достижения одной цели. Методы синхронизации можно использовать для гаНизации взаимного исключения и коммуникаций. Аналогично, с помощью тех- 1ики коммуникаций между процессами можно реализовать функции синхронизации взаимного исключения процессов. Например, семафор эквивалентен почтовому ящику, в котором накапливаются сооб- щения нулевой длины, — операции signal и wait эквивалентны операциям put и get по- чтового ящика, а текущее значение семафора эквивалентно числу помещенных в почто- вый ящик сообщений. Аналогично можно организовать взаимное исключение и защиту ресурсов с помощью почтовых ящиков. В этом случае сообщение выполняет функцию ‘маркера”. Процесс, получивший этот “маркер”, приобретает право входить в критичес- кую секцию или распоряжаться ресурсами системы. При выходе из секции или освобож- дении ресурса процесс помещает “маркер” в почтовый ящик. Следующий процесс читает из почтового ящика, получает “маркер” и может войти в критическую секцию. Связь между разными подходами имеет практическое значение в том случае, если в системе применяется только один из них, а все остальные нужно строить на его основе. Современные операционные системы, под держивающие многозадачный режим и опера- ции в реальном времени, применяют все упомянутые методы. Передача сообщений и доступ к общим областям памяти медленнее, чем проверка и обновление семафора и пе- ременной события, и требует дополнительных накладных расходов. Если есть выбор между различными методами синхронизации и взаимодействия, следует использовать ТОТ из них, который лучше решает конкретную проблему — результирующая программа будет понятнее и, возможно, быстрее работать. Кроме того, весьма важно оценить, на- сколько эффективно в имеющейся программной среде реализуются конкретные реше- ния. Следует избегать незнакомых и неестественных конструкций. В распределенных системах всегда существует риск потерять сообщение в сети. Если сетевая система сконфигурирована так, что она контролирует правильность ПеРедачи сообщения и имеются средства для повторной передачи утраченных сооб- щений, то прикладная программа не должна осуществлять дополнительные провер- ни. Обычно нижний уровень операционной системы и процедуры сетевого интер- фейса передают на более высокий уровень код возврата, который прикладная программа должна проверить, чтобы убедиться, была ли попытка успешной или нет, при необходимости повторить ее. Если контроль не предусмотрен, например используется служба IP без транспор- Ного протокола TCP (раздел 9.4.9), то прикладная программа несет ответствен- сть за проверку результата передачи. Эта операция сложнее, чем это кажется. °жно использовать сообщение, подтверждающее прием, но нет гарантии, что оно ^Мо, в свою очередь, не будет потеряно и отправитель не начнет новую передачу. Эта Роблема не имеет общего решения — стратегии передачи сообщений должны в каж- случае рассматриваться индивидуально. Возможным решением является поме- ть и нумеровать каждое сообщение таким образом, чтобы отправитель и получа- ть могли следить за порядком передачи. Этот метод используется в некоторых *Иг1ах коммуникационных протоколов (раздел 9.4).
444 Глава 10. Программирование систем реального вреМбн 10.6. Методы программирования в реальном времени 10.6.1. Что такое программа реального времени? Программирование в реальном времени представляет собой раздел мультип о граммирования, который посвящен не только разработке взаимосвязанных парад лельных процессов, но и временным характеристикам системы, взаимодействующей с внешним миром. Между программами реального времени и обычными последовательными про граммами с четко определенными входом и выходом имеются существенные разли- чия. Некоторые проблемы, возникающие при использовании строго последователь- ной программы для управления параллельными по природе процессами, были описаны в разделе 2.1. Ниже перечислены отличия программ реального времени от последовательных программ. • Логика исполнения программы определяется внешними событиями. • Программа работает не только с данными, но и с сигналами, поступающими из внешнего мира, например, от датчиков. • Логика развития программы может явно зависеть от времени. • Жесткие временные ограничения. Невозможность вычислить результат за опре- деленное время может оказаться такой же ошибкой, как и неверный результат (“правильный ответ, полученный поздно, — это неверный ответ”). • Результат выполнения программы зависит от общего состояния системы, и его нельзя предсказать заранее. • Программа, как правило, работает в многозадачном режиме. Соответственно, не- обходимы процедуры синхронизации и обмена данными между процессами. • Исполнение программы не заканчивается по исчерпании входных данных - она всегда ждет поступления новых данных. Важность фактора времени не следует понимать как требование высокой скорос- ти исполнения программы. Скорость исполнения программы реального времени должны быть достаточной для того, чтобы в рамках установленных ограничении ре агировать на входные данные и сигналы и вырабатывать соответствующие выходные величины. “Медленная” система реального времени может великолепно управлять медленным процессом. Поэтому скорость исполнения программ реального време необходимо рассматривать относительно управляемого процесса или необходи скорости. Типичные приложения автоматизации производственных процессов т буют гарантированное время ответа порядка 1 мс, а в отдельных случаях — пор 0.1 мс. При программировании в реальном времени особенно важными является фективность и время реакции программ. Соответственно, разработка программ * но связана с параметрами операционной системы, а в распределенных система- и локальной сети. й тех- Особенности программирования в реальном времени требуют специально ники и методов, не использующихся при последовательном программировани торые относятся в основном к влиянию на исполнение программы внешней ср временных параметров. Наиболее важными из них являются перехват прерыва^а, обработка исключительных (нештатных) ситуаций и непосредственное испо.льз 1(у6. Методы программирования в реальном времени 445 нце функций операционной системы (вызовы ядра из прикладной программы, ми- луя стандартные средства). Помимо этого при программировании в реальном време- ни используются методика мультипрограммирования и модель “клиент-сервер”, по- скольку отдельный процесс или поток обычно выполняют только некоторую самостоятельную часть всей задачи. Ю.6.2. Среда программирования Прежде чем переходить к вопросам собственно программирования в реальном времени, рассмотрим среду, в которой исполняются программы. Среда выполнения может варьироваться от мини-, персональных и одноплатных микрокомпьютеров и локальных шин, связанных с окружающей средой через аппаратные интерфейсы, до распределенных систем “клиент-сервер” с централизованными базами данных и дос- тупом к системе высокопроизводительных графических рабочих станций. В комп- лексной системе управления промышленными и технологическими процессами мо- жет одновременно использоваться все перечисленное оборудование (раздел 9.6). Разнообразие аппаратной среды отражается и в программном обеспечении, кото- рое включает в себя как программы, записанные в ПЗУ, так и комплексные операци- онные системы, обеспечивающие разработку и исполнение программ. В больших си- стемах создание и исполнение программ осуществляются на одной и той же ЭВМ, а в некоторых случаях даже в одно время. Небольшие системы могут не иметь средств разработки, и программы для них должны создаваться на более мощных ЭВМ с последующей загрузкой в исполняющую систему. То же касается и микро- программ, “зашитых” в ПЗУ оборудования производителем (firmware), — они разра- батываются на ЭВМ, отличной от той, на которой исполняются. Первой задачей программиста является ознакомление с программной средой и доступными инструментальными средствами. Проблемы, с которыми приходится сталкиваться, начинаются, например, с типа представления данных в аппаратуре и программах, поскольку в одних системах применяется прямой, а в других — инверс- НЫИ порядок хранения бит или байт в слове (младшие байты хранятся по старшим ЭДресам). Таких тонкостей очень много, и опытный программист знает, как отделить общую структуру данных и код от технических деталей реализации в конкретной аппаратной среде. Важно как можно раньше выяснить функции, обеспечиваемые имеющейся сре- и возможные альтернативы. Например, микропроцессор Motorola 68000 имеет в °ем наборе команд инструкцию test_and_set, и поэтому связь между задачами мо- п т осуществляться через общие области памяти. Операционная система VAX/VMS Уе?еРЖивает почтовые ящики, и синхронизировать процессы можно с помощью !ие^аНИзма передачи сообщений. В UNIX и других операционных системах связь прОгДУ процессами наиболее удобно осуществлять через каналы. При разработке фе Рамм Для среды UNIX следует стремиться, с одной стороны, максимально эф- ИВно использовать ее особенности, например стандартную обработку входных и ДНых данных, ас другой — обеспечить переносимость (portability) между разны- Персиями UNIX. j З'за того что многозадачные системы и системы реального времени разрабаты- ТСЯ КОллективами программистов, необходимо с самого начала добиваться ясно- ’ какие методы и приемы используются.
446 Глава 10. Программирование систем реального врем6Н|л Структурирование аппаратных и программных ресурсов, т. е. присвоение адресов на шине и приоритетов прерываний для интерфейсных устройств, имеет чрезвычай- но важное значение. Как упоминалось выше, неправильный порядок распределения ресурсов может привести к тупиковым ситуациям. Определение аппаратных адресов и относительных приоритетов прерываний не зависит от разрабатываемой програц. мы. Поэтому оно должно быть произведено на ранней стадии и зафиксировано в тех- ническом задании. Его не следует откладывать до момента непосредственного коди- рования, так как в этом случае неизбежны конфликты между программными модулями и возникает риск тупиковых ситуаций. Правильным практическим решением является использование в программе толь- ко логических имен для физического оборудования и его параметров и таблиц соот- ветствия между ними и реальными физическими устройствами. При этом изменение адреса шины или приоритета устройства требует не модификации, а в худшем случае только новой компиляции программы. Разумно также использовать структуриро- ванное и организационно оформленное соглашение о наименовании системных ре- сурсов и программных переменных. То же относится и к наименованию и определе- нию адресов удаленных устройств в распределенных системах. Программы следует строить по принципам, применяемым в операционных систе- мах, — на основе модульной и многоуровневой структуры, поскольку это существенно упрощает разработку сложных систем. Должна быть определена спецификация от- дельных модулей, начиная с интерфейсов между аппаратными и программными ком- понентами системы. К основной информации об интерфейсах относится и структура сообщений, которыми будут обмениваться программные модули. Это не означает, что изменения в определении интерфейсов не могут вводиться после начала разработки программы. Но чем позже они вносятся, тем больше затрат потребует изменение кода, тестирование и т. д. С другой стороны, следует быть готовым к тому, что некоторые изменения спецификаций все равно будут происходить в процессе разработки про- граммы, поскольку продвижение в работе позволяет лучше увидеть проблему. Следует принимать во внимание эффективность реализации функций операци- онной системы. Нельзя считать, что способ, которым в операционной системе реали- зованы те или иные услуги, дан раз и навсегда, — для проверки того, насколько хоро- шо удовлетворяются временные ограничения, желательно провести оценку, например с помощью эталонных тестовых программ {benchmark). Если результаты тестов неприемлемы, то одним из решений может быть разработка программ, заме щающих соответствующие стандартные модули операционной системы. Такое реше ние требует очень осторожного и дифференцированного подхода, в частности заме щение может выполняться не всегда, а только для определенных процессов. 10.6.3. Структура программы реального времени Разработка программы реального времени начинается с анализа и описания зада- чи. Функции системы делятся на простые части, с каждой из которых связывается программный модуль. Например, задачи для управления движением манипулятора робота (Ра3" дел 2.2.3) можно организовать следующим образом: - считать с диска описание траекторий; - оассчитать следующее положение манипулятора (опорное значение); ^0.6- Методы программирования в реальном времени 447 - считать с помощью датчиков текущее положение; - вычислить необходимый сигнал управления; - выполнить управляющее действие; - проверить, что опорное значение и текущее положение совпадают в пределах заданной точности; - получить данные от оператора; - остановить робота в случае нештатной ситуации (например сигнал прерывания от аварийной кнопки). Другой пример приведен в разделе 2.1. Пресс для производства пластмассовых изделий контролируется двумя программами, управляемыми по прерыванию. При анализе стало ясно, что решение, основанное на применении только одной програм- мы, неприемлемо. Принципиальной особенностью программ реального времени является постоянная готовность и отсутствие условий нормального, а не аварийного завершения. Если про- грамма не исполняется и не обрабатывает данные, она остается в режиме ожидания прерывания/события или истечения некоторого интервала времени. Программы ре- ального времени — это последовательный код, исполняющийся в бесконечном цикле. В каком-то месте программы есть оператор, приостанавливающий исполнение до на- ступления внешнего события или истечения интервала времени. Обычно программа структурируется таким образом, что оператор end никогда не достигается while true do (* бесконечный цикл *) begin (* процедура обработки *) wait event at #2,28 (* внешнее прерывание *) (* код обработки *) end; (* процедура обработки *) end. (* выход из программы; никогда не достигается *) При разработке каждого программного модуля должны быть четко выделены об- лети, в которых происходит обращение к защищенным ресурсам, — критические секции. Вход и выход из этих областей координируется каким-либо методом синхро- низации или межпрограммных коммуникаций, например с помощью семафоров, общем случае, если процесс находится в критической секции, можно считать, что Данные, с которыми он работает, не изменяются каким-либо другим процессом. Пре- рывание исполнения процесса не должно оказывать влияния на защищенные ресур- Ы- Это снижает риск системных ошибок. Аналогичные предосторожности необходимо соблюдать и для потоков, порожда- ix как дочерние процессы главного процесса. Разные потоки могут использовать Щие переменные породившего их процесса, и поэтому программист должен ре- Ть, защищать эти переменные или нет. рОв Ля гаРантии живучести программы нештатные ситуации, которые могут блоки- ать или аварийно завершить процесс, должны своевременно распознаваться и ис- вляться — если это возможно — в рамках самой программы. Этому посвящен сле- УЮщий раздел. В системах реального времени различные процессы могут обращаться к общим -^Программам. При простейшем решении эти подпрограммы связываются с соот-
10.6- Методы программирования в реальном времени 449 448 Глава 10. Программирование систем реального времен ветствующими модулями после компиляции. При этом в памяти хранится несколько копий одной подпрограммы. При другом подходе в память загружается лишь одна копия подпрограммы, Но доступ к ней возможен из разных программ. Такие подпрограммы должны быть ц0. вторно входимыми — реентерабельными (reentrant), т. е. допускать многократные вызовы и приостановку исполнения, которые не влияют друг на друга. Эти програу. мы должны использовать только регистры процессора или память вызывающих про- цессов, т. е. не иметь локальных переменных. В результате реентерабельный модуль разделяемый несколькими процессами, можно прервать в любое время и продол- жить с другой точки программы, поскольку он работает со стеком вызвавшего его процесса. Таким образом, реентерабельная процедура может оказаться одновремен- но в контексте нескольких различных процессов. Эффективность исполнения является одним из наиболее важных параметров си- стем реального времени. Процессы должны выполняться быстро, и часто приходится искать компромисс между ясностью и структурированностью программы и ее быст- родействием. Жизненный опыт показывает, что если для достижения цели нужно чем-то пожертвовать, то это обычно делается. Не всегда возникает противоречие между структурностью и эффективностью, но если первое должно быть принесено в жертву второму, необходимо полностью документировать все принятые решения, иначе существенно осложняется дальнейшее сопровождение программы. 10.6.4. Обработка прерываний и исключений Системы реального времени соединены с внешней средой (физический процесс) через аппаратные интерфейсы. Доступ к интерфейсам и внешним данным осуществ- ляется либо по опросу, либо по прерыванию. При опросе (polling) программа должна циклически последовательно проверять все входные порты на наличие у них новых данных, которые затем считываются и обрабатываются. Очередность и частота опроса определяют время реакции систем реального времени на входные сигналы. Опрос является простым, но неэффект ным методом из-за повторяющихся проверок входных портов. „ Получение данных по прерыванию (interrupt) происходит иначе. Интерфейс устройство, получившее новые данные, привлекает внимание ЦП, посылая ему _ нал прерывания через системную шину. По отношению к текущему процессу пр вания являются асинхронными событиями, требующими немедленной реакци лучив сигнал прерывания, процессор приостанавливает исполнение т®7ыоб. процесса, сохраняет в стеке его контекст, считывает из таблицы адрес прогр работки прерывания и передает ей управление. Эта программа называется о р пиком прерывания (interrupt handler). Другой вариант обработки прерывани йЛл чается в том, что планировщик выбирает из очереди ожидания этого сооы прерывания следующий процесс и переводит его в очередь готовых процессе ~ Когда процессор передает управление обработчику прерывании, он ооы храняет только счетчик команд и указатель на стек текущего процесса. Обра прерываний должен сохранить во временных буферах или в стеке все регистр ’ торые он собирается использовать, и восстановить их в конце. Эта операция кр на по времени и, как правило, требует запрета прерываний для того, чтобы изо переключения процессов во время ее выполнения. При управлении прерываниями время реакции должно быть как можно меньше рно представляет собой сумму времени, необходимого процессору, чтобы среагиро- вать на прерывание (латентность прерывания), и времени, необходимого на пере- ключение контекста до запуска обработчика прерываний. Типичная загрузка систе- мы также играет определенную роль. Если система должна обслуживать много одновременных прерываний, вновь поступающие прерывания будут ждать в очере- ди, пока процессор не освободится. Программы обработки прерывания должны быть предельно компактными (длина кода) и короткими (время выполнения). Если сложное действие, требующее большо- го расхода процессорного времени, например вычисления или доступ к базе данных, необходимо выполнить после возникновения прерывания, то его лучше вынести из обработчика прерывания в процесс. Программа обработки прерывания должна вы- полнять лишь минимально необходимые операции, например считать входные дан- ные, сформировать сообщение и передать другой программе, извещая ее, что про- изошло прерывание и требуется дальнейшая обработка. Хорошим стилем для обработчиков прерываний является использование реентерабельного кода. Это по- зволяет избежать конфликтов в случае, если прерывается сам обработчик и тот же код вызывается для обслуживания нового прерывания прежде, чем закончилась об- работка предыдущего. Реакция на исключения (exceptions)^ похожа на обработку прерываний. Исклю- чениями называются нештатные ситуации, когда процессор не может правильно вы- полнить команду. Примером исключения является деление на ноль или обращение по несуществующему адресу. В англоязычной литературе для разных видов исклю- чений применяются термины trap, fault, abort. Обычно операционная система обрабатывает исключения, прекращая текущий процесс, и выводит сообщение, четко описывающее ситуацию, на устройство отобра- жения, обычно монитор или принтер. Приемлемая при интерактивной многопользова- ельской последовательной обработке, внезапная остановка процесса в системах ре- ального времени должна быть абсолютно исключена. Нельзя допустить, чтобы Управляемые микропроцессором автопилот самолета или автоматическая тормозная ^стема автомобиля (Automatic Braking System — ABS) внезапно прекратили работу из- Дедения на ноль. В системах реального времени все возможные исключения должны авизироваться заранее с определением соответствующих процедур обработки. Нир Л°ЖН0Й пР°блемой при обработке исключений является проверка, что исключе- °6n возникнет снова после того, как оно было обработано. Или иными словами, ситу °ТКа исключений должна заниматься причиной, а не симптомами аномальной 3астааЧИИ СЛИ ИСКЛЮчение обработано некорректно, оно может возникнуть опять, ботч^ЛЯЯ пРоцессоР снова и снова переходить к модулю обработки. Например, обра- НовЛяКДеления на нУль должен проверять и изменять операнды, а не просто возоб- Цикл ИСПОЛнение с места, предшествующего ошибке, что приведет к бесконечно- 3аПускКТИЧеСКИе адРе5а пР°гРаммных модулей известны только после их загрузки. При 3arPv»e СИСТе!Т В таблицу обработки прерываний записываются адреса памяти, куда Ужаются обработчики, которые затем вызываются по ссылкам из этой таблицы. Не путать с “взаимным исключением" - mutual exclusion - из раздела 10.3.2. - Примеч.ре'д. 15 Зак 1021
450 Глава 10. Программирование систем реального вреМе| iQ g Методы программирования в реальном времени 451 10.6.5. Программирование операций ожидания Процесс реального времени может явным образом ждать истечения некотор0г интервала (относительное время) или наступления заданного момента (абсолютное время). Соответствующие функции обычно имеют следующий формат: wait (и) и wait until (время) где п — интервал в секундах или миллисекундах, а переменная “время” имеет формат часы, минуты, секунды, миллисекунды Когда выполняется одна из этих функций, операционная система помещает про- цесс в очередь ожидания. После истечения/наступления заданного времени процесс переводится в очередь готовых процессов. Распространенный, но не лучший метод организации временной задержки - цикл, контроль системного времени в цикле занятого ожидания repeat (* холостой ход *) until (time = 12:00:00); Как правило, подобные активные циклы ожидания представляют собой бесполез- ную трату процессорного времени, и их следует избегать. Однако имеются исключе- ния. В системе, где аналого-цифровое преобразование занимает 20 мкс, а операция переключения процессов — 10 мкс, более экономно организовать ожидание на 20 мкс перед тем, как считать новые данные, чем начинать процедуру переключения процес- сов, неявно подразумеваемую “хорошей” операцией ожидания. Каждый случай тре- бует индивидуального подхода — для этого обычно нужно хорошее знание системы и развитое чутье. Важной особенностью процессов, запускаемых периодически, — например, филь- трация и алгоритмы регулирования, — является накопленная ошибка времени. Это связано с тем, что процесс из очереди ожидания события опять попадает в очередь, но уже готовых процессов и должен ждать некоторый случайный интервал времени прежде, чем получит управление (рис. 10.9 а). Требуемое и фактическое время про- буждения процесса не совпадают. Ошибки ожидания накапливаются, если это время рассчитывается так новое время пробуждения = время начала ожидания + интервал По такому алгоритму работает холостой цикл “ждать 10 секунд”. Накопленная временная ошибка представляет собой сумму времени, проведенного в очереди, и времени, необходимого для непосредственного исполнения. Правильное решение получается, если отсчет ведется от момента предыдущего пробуждения новое время пробуждения = время предыдущего пробуждения + интервал Таким образом, относительное время преобразуется в абсолютное. На практике не обходимы две команды wait until (ref_time); ref time := reftime +10 seconds; Этот принцип проиллюстрирован на рис. 10.96, где номинальное время отложено до горизонтальной оси. Когда абсолютное время принимается в качестве опорного, цаК°пления ошиб°к времени удается избежать. ошибка исполнение f ждать в течение интервала Т 0 IT 2Т ЗТ исполнение | ждать в течение интервала Т ошибка ---------исполнение время б ждать до момента ждать до момента ждать до момента ждать до момента Рис. 10.9. (а) Неправильный способ определения момента очередного запуска перио- дических задач — ошибка времени накапливается; (б) правильное решение — ошибка времени не накапливается 10.6.6. Внутренние подпрограммы операционной системы Типичной ситуацией при программировании в реальном времени является непосред- ственное обращение к подпрограммам операционной системы из-за того, что в использу- емом языке программирования отсутствует эквивалентное средство. Обращения к фун- кциям операционной системы также необходимы при работе в сетевой и распределенной Феде. Операционная система отвечает за все обслуживание прикладных задач, включая Файловые и сетевые операции. Простое обращение к операционной системе может при- вести к сложной последовательности действий для доступа к удаленной базе данных, включая все сопутствующие проверки и операции управления, избавляющие приклад- ную программу от лишних деталей. Интерфейс операционной системы делает выполне- ние таких операций более прозрачным и упрощает написание сложных программ. Многие языки программирования высокого уровня, например С, обеспечивают терфейс с операционной системой для непосредственного вызова ее модулей из сполняемых процессов. Существуют различные виды программных интерфейсов операционной системой — непосредственные вызовы, примитивы и доступ через иблиотечные модули. Непосредственные (системные) вызовы осуществляются с помощью конструк- «и языка высокого уровня, которая передает управление подпрограмме, являющей- Ся частью операционной системы. Нео ходимые параметры передаются списком, как пРи обычном обращении к подпрограмме. После завершения системной процедуры Результат возвращается вызывающей программе.
452 Глава 10. Программирование систем реального Так как в многозадачной среде системные программы и примитивы могут визы ваться одновременно разными процессами, их код всегда реентерабелен. Это Позво ляет избежать конфликтов при прерывании системной программы другим запросе требующим ту же услугу из другого контекста. В некоторых случаях для доступа к внутренним ресурсам операционной систему можно использовать библиотечные модули. Эти модули уже предварительно отко-- пилированы, и их остается только связать с основной программой. Необходимо при верить по документации системы требуемые параметры, а также механизмы их пере- дачи и редактирования связей в языке высокого уровня. 10.6.7. Приоритеты процессов и производительность системы Многозадачная операционная система реального времени должна допускать назна- чение приоритетов исполняемым процессам. Обычно приоритеты являются динамичес- кими, что означает, что во время исполнения они могут изменяться как самими процес- сами, так и операционной системой. Обычно существуют определенные ограничения и механизмы контроля, которые определяют, кто и как может менять приоритеты. Назначение приоритетов оказывает серьезное влияние на работу системы в целом. Наиболее важные процессы или процессы, время реакции которых жестко ограни- чено, получают более высокий приоритет. К последним относятся обработчики преры- ваний. Задачи, выполняющие менее важные действия, например печать, получают бо- лее низкий приоритет. Очевидно, что необходимо обращать внимание на соглашения, используемые в системе относительно того, связан ли более высокий приоритет с боль- шим или меньшим числом. Приоритеты имеют относительное значение и оказывают влияние только тогда, когда существуют процессы с разными приоритетами. В системах реального времени реакция на прерывания отделена от вычислений, требующих значительных ресурсов процессора. Как только происходит событие или прерывание, его обработчик немедленно включается в очередь готовых процессов. Программы обработчиков прерываний обычно компактны, так как они должны обес- печивать быструю реакцию, например ввод новых данных, и передавать управление более сложным процессам, интенсивно потребляющим ресурсы процессора, которые исполняются с более низким приоритетом. В вышеприведенном примере системы управления манипулятором робота (Раз дел 10.6.3) одна задача, которую можно построить как обработчик прерываний, жДеТ поступления от датчика новых данных о текущем положении манипулятора. Когда поступает прерывание от датчика — есть новые данные, — эта задача должна сра3У получить управление. Затем она передает данные о положении программе их о р ботки, требующей больших вычислительных ресурсов. Эта программа не отвечает обработку прерываний и может использовать больше времени для вычислении. Производительность системы реального времени значительно труднее поддав оценке, чем систем, использующих обычные последовательные программы. Если ° „ ная последовательная программа исполняется на конкретном процессоре с извести скоростью, то программа реального времени зависит от поведения окружающей сре т. е. управляемых технических процессов. Общая производительность системы Дол быть достаточной для того, чтобы выполнять все операции и выдавать результаты за^ тановленное время. Иными словами, система реального времени всегда должна быть това к максимальной нагрузке, которую может создать технический процесс. 6. Методы программирования в реальном времени 453 В развитых и сложных операционных системах, таких как UNIX и Windows NT, 0 в еще большей степени в распределенных операционных системах, доступ к большин- ству функций (ввод/вывод, сетевая поддержка и т. д.) происходит через системные вы- зО0ы или механизм удаленного вызова процедур (раздел 10.5.4). В прикладных програм- мах Для вызова системных функций используется довольно простая нотация, за которой, каК правило, стоит длинная последовательность действий операционной системы. Если между Двумя процессами, исполняющимися в разных узлах сети, организован про- граммный канал, то считывание одного символа из этого канала требует целой серии- операций в обоих узлах. Поскольку на эти операции обычно наложены жесткие ограни- чения по времени, необходимо провести глубокий предварительный анализ прежде, чем принимать то или иное проектное решение. Если локальная сеть используется не только задачами реального времени, но и интерактивными пользователями, то от количества и активности последних в значительной мере зависит и ее общая нагрузка. Многозадачные операционные системы имеют команды, показывающие в каж- дый момент все активные процессы, их текущий статус (например, ожидание ввода/ вывода, ожидание прерывания и т. д.) и долю в потреблении ресурсов процессора с момента последней перезагрузки системы или какого-либо иного события. Первый шаг по проверке характеристик системы — анализ ее работы с помощью подобной команды. Выявление процессов, занимающих слишком большую долю процессорно- го времени, может быть хорошей отправной точкой для поиска узких мест и оптими- зации характеристик системы. Нет ничего плохого в том, если некоторые процессы загружают процессор больше, чем другие, однако разработчик системы должен иметь ясное представление о том, когда это происходит и почему. 10.6.8. Тестирование и отладка Доказательство правильности работа, программы является /””/Г“ц“и 6 "з »ее разработке. Необходимо проверить, что программа выполни „гошиченное сшибок. Визуальные и формальные методы позволяют выявить тестирования количество „шибок. На практике ат» означает, что формиьпая т»ри тес^^ имеет мало смысла, а основную роль играет собственный опыт „ ГПГ)ВИЯХ. мистские” предания. Реальное тестирование проводится в °еВЬ1* „„чеСки и их Выявлять ошибки трудно - многие из них проявляются «ельзя воспроизвести по желанию. Никакое доказательство не мо убедить, что Сопрограмма полностью свободна от ошибок, и никакие тесты не м ошибок выявлены все ошибки. Цель тестирования — найти как можно оль создате- и гарантировать, что программа работает с разумной надежностью, Д “Тес- ней теории операционных систем, Эдсгер Дейкстра (Edsger У s га), з „ ТиРование может доказать только наличие ошибок, но не их отсутствие . Тщательный тест требует соответствующей разработки и подготовки *40 сочетание практических и аналитических тестов. Сначала тестовые попессе 4анные и ожидаемые результаты описываются в специальном документ . иифи_ Юстирования ведется журнал испытаний, который затем сравнивае с от КаЦией тестов. Желательно, чтобы коллектив разработчиков системы отл Т°го, который будет определять процедуры испытаний и проводить и слож- к Гря тестиРовании ьза^/о^в/ей^е^кду зад/ч/м п. Вероят- исть из-за большого количеств
454 Глава 10. Программирование систем реального времеНи ность внесения новой ошибки при исправлении старой очень велика — имеющий опыт разработки программ размером свыше 10 000 строк дает вероятность в пред лах от 15 до 50%. Существует два основных метода тестирования — исчерпывающий и на приМ(; рах. При исчерпывающем тестировании проверяются все возможные комбинации входных и выходных данных. Очевидно, что этот метод можно использовать лить в случае, если число таких сочетаний невелико. Метод испытаний на примерах используется наиболее часто. Производится вы- бор репрезентативного числа сочетаний входа и выхода. Тестовые данные должны также включать крайние значения, например находящиеся за пределами допустимо- го диапазона. Тестируемый модуль должен правильно распознать и обработать эти данные. В многозадачных системах программные модули вначале тестируются отдельно. Во время такого тестирования должно быть проверено, что каждая строка програм- мы выполняется хотя бы один раз. Иными словами, если программа содержит коман- ды ветвления типа “if..then..else”, то тестовые данные должны обеспечить выполне- ние обеих ветвей. На этой фазе тестирования обычно полезны отладчики. Они позволяют непосред- ственно просматривать и изменять регистры процессора и области памяти при ис- полнении машинного кода. Отладчик вставляет в машинный код программы точки останова, в которых можно проверить состояние регистров и переменных и сравнить их со значениями, требуемыми логикой процесса. Однако с ростом сложности опера- ционных систем и расширением функциональности системных вызовов, код кото- рых обычно неизвестен программисту, использование отладчика может оказаться мало полезным. Обычные пошаговые отладчики не позволяют полностью оценить взаимодействие между несколькими параллельными процессами. Однако отладчики являются полезными и необходимыми средствами при разработке программ на ас- семблере. Только после того как все модули были проверены по отдельности и все обнару- женные ошибки исправлены, можно приступать к параллельному исполнению для отладки взаимодействия. Многочисленные взаимосвязи программных модулей мо- гут привести к ошибкам в системе, даже если отдельные модули работают правильно. Общая работа системы — время обработки прерываний, производительность при разной нагрузке — проверяется на основе тестовой спецификации. Особое внимание следует обратить на функции, обеспечивающие надежность и безопасность системы. Если система включает в себя обработку прерываний и исключений, то необходи мо проверить корректность соответствующей реакции. Имитация ошибочных ситуа ций позволяет оценить их последствия для системы и ее поведение в этом случае. Результаты тестов отдельных модулей и комплексной отладки заносятся в прото кол испытаний, и на его основе вносятся необходимые исправления. Не следует за- бывать, что ошибки тем труднее исправляются, чем позже они были обнаружены Расходы на тестирование - это инвестиции не только в качество системы, но и в ее общую экономическую эффективность, поскольку значительная часть расходов в те- чение жизненного цикла системы уходит на ее сопровождение, т. е. в конечном счете на выявление и устранение ошибок. Дальнейшее обсуждение надежности программ- ного обеспечения приведено в разделе 12.3.4. ^7. Языки программирования и операционные системы 455 10.7. Языки программирования и операционные системы реального времени Ю.7.1. Требования к языкам и операционным системам реального времени Программирование в реальном времени требует специальных средств, которые не всегда встречаются в обычных языках последовательного программирования. Язык йЛи операционная система для программирования в реальном времени должны пре- доставлять следующие возможности: - описание параллельных процессов; - переключение процессов на основе динамических приоритетов, которые могут изменяться, в том числе и прикладными процессами; - синхронизация процессов; - обмен данными между процессами; - функции, связанные с часами и таймером, абсолютное и относительное время ожидания; - прямой доступ к внешним аппаратным портам; - обработка прерываний; - обработка исключений. Немногие языки обеспечивают все эти возможности. Большинство имеет лишь часть из них, хотя для определенных приложений этого оказывается достаточно. Неко- торые компании разработали специальные языки для поддержки своих собственных аппаратных средств. Эти языки не претендуют на универсальность и ориентированы скорее на конкретные ЭВМ и их интерфейсы. Обычно они базируются на существую- щих языках — FORTRAN, BASIC — с расширениями, включающими функции реаль- ного времени, о чем свидетельствуют их названия типа “Process BASIC” и “Real-time FORTRAN”. Некоторые языки не поддерживают программирования в реальном вре- мени в строгом смысле, но они легко расширяются, например С и C++. В 1970-е годы широкую поддержку получила концепция единого переносимого мно- соцелевого языка программирования. В результате был разработан язык ADA. Его глав- Ная идея состоит в том, что среда программирования, т. е. язык, должна быть полностью отделена от аппаратных средств. Программист не должен сталкиваться с деталями ма- шинного уровня, а работать только в терминах абстрактных структур и типов данных. Опыт показал нереалистичность такого подхода. Универсальные, сильно типизи- тцВаННЬ1е ЯЗЫКи программирования гарантируют определенный уровень надежнос- программы, но в то же время ограничивают гибкость. Быстрое развитие техничес- Их средств предъявляет новые требования, которые не могли быть предусмотрены в й Чествующих языках, и многие программисты чувствуют ограничения, используя. е самые современные языки программирования. Цена надежности языка — слож- °сть и громоздкость, а генерируемый при этом компилятором код — избыточен и Элоэффективен. Открытый язык типа С, основаный на ограниченном количестве азовых идей, обладает большей ги костью и предоставляет опытному программис- У больше возможностей, е существует наилучшего языка — для каждого приложе- Ия и среды необходимо по и средства и при этом учитывать квалифика- цию и предпочтения разраоо
456 Глава 10. Программирование систем реального вре^ен 10.7.2. Язык программирования ADA Первым полным языком программирования в реальном времени является А В середине 1970-х годов Министерство обороны СШАдля сокращения расходовнараз работку и сопровождение своих систем управления реального времени приняло реще ние ввести единый язык программирования в качестве альтернативы сотням использо вавшихся тогда языков. В 1979 году министерство одобрило предложения, выдвинутые французской компанией Honeywell Bull. Язык назван в честь Августы Ады Байрон гра финн Лавлейс (Augusta Ada Byron, Countess of Lovelace, 1815-1852), которую можно считать первым программистом в истории — она писала программы для аналитической машины (механического компьютера, который никогда не был построен), спроектиро- ванной английским изобретателем Чарльзом Бэббиджем (Charles Babbage). Язык ADA является полной средой разработки программ с текстовым редактором отладочными средствами, системой управлениями библиотеками и т. д. Специфика- ции ADA закреплены американским стандартом ANSI/MIL-STD-1815A и включают средства контроля соответствия этому стандарту. Не допускаются диалекты языка - для сертификации компилятор должен правильно выполнить все эталонные тесты. Структура языка ADA похожа на структуру языка Pascal, но его возможности значи- тельно шире, в особенности применительно к системам реального времени. Процессу в ADA соответствует задача, которая выполняет независимо от других задач на выделен- ном виртуальном процессоре, т. е. параллельно с другими задачами. Задачи могут быть связаны с отдельными прерываниями и исключениями и работать как их обработчики. Новым понятием, введенным в ADA, является пакет — модуль со своими собственны- ми описаниями типов данных, переменных и подпрограмм, в котором явно указано, какие из программ и переменных доступны извне. Пакеты могут компилироваться отдельно с последующим объединением в один исполняемый модуль. Это средство поддерживает модульную разработку программ и создание прикладных библиотек. В начале 1990-х го- дов язык ADA был пополнен новыми функциями для объектно-ориентированного про- граммирования и программирования в реальном времени. Машинно-ориентированное программирование низкого уровня поддерживается ADA не достаточно эффективно — это следствие постулата, что все задачи можно решить средствами высокого уровня. Например, для операций ввода/вывода в AU используются прикладные пакеты с заранее определенными функциями для управ ления аппаратными интерфейсами и доступа к внешним данным. Основным недостатком ADA является его сложность, которая делает язык труд ным для изучения и применения. Существующие компиляторы являются дорогосто ящими продуктами и требуют мощных процессоров. До сих пор ADA не полу4 ожидавшейся популярности, и сомнительно, что это когда-нибудь произойдет. 10.7.3. Языки С и C++ Язык программирования С, несмотря на отсутствие в нем многих средств, кото- рые теоретики считают необходимыми для хорошего языка программирования’ пользуется большим успехом начиная с 1980-х годов по настоящее время. ЭтотязЫк стал популярным для всех приложений, требующих высокой эффективности, в час?' ности для программ реального времени. Для обычных микропроцессоров, испоДЬзУ' емых в системах управления, имеются С-компиляторы и системы разработки мй°г11Х ру. Языки программирования и операционные системы 457 производителей. В промышленности существует явная тенденция к широкому при- менению языка С и операционной системы UNIX, которая сама написана на С, по- скольку приложения, написанные на С, машинно-независимы и требуют очень не- больших усилий для адаптации к работе в различной аппаратной среде. философией С является разбиение программ на функции. С — слаботипизиро- вацный язык и позволяет программисту делать почти все вплоть до манипуляции с регистрами и битами. Такая свобода делает язык небезопасным, поскольку компиля- тор не может проверить, являются ли подозрительные операции умышленными или нет. Небольшое количество заранее определенных функций и типов данных делает программы легко переносимыми между разными системами. С поддерживает как хо- роший, структурированный, так и плохой стиль программирования, оставляя ответ- ственность за качество разработки на программисте. Стиль программирования при- обретает особое значения при сопровождении программ: плохо написанная и откомментированная программа на С — такая же загадка, как и ассемблерский код. Язык С регламентирован международным стандартом ISO 9899. Язык С предпочтителен для написания программ с обращениями к функциям опе- рационной системы, так как он обладает отличной совместимостью между логикой оп- ределения переменных и синтаксисом обращения к системе. Поскольку наиболее рас- пространенные операционные системы в приложениях автоматического управления процессами основываются на UNIX, язык С является почти вынужденным выбором при разработке программ. Почти все примеры в современной технической литературе представлены на С, а для примеров в настоящей книге принят Pascal-подобный син- таксис, поскольку по сравнению с С его легче читать неспециалистам. Язык C++ представляет собой значительно более мощный инструмент, чем С, на основе которого он создан. В C++ значительно улучшена абстракция данных с помо- щью понятия класса, похожего на абстрактный тип данных с четким разделением меж- ду данными и операциями. Классы C++ значительно легче использовать на практике, чем аналогичные понятия в других языках, поскольку C++ поддерживает объектно- ориентированное программирование и поэтапное уточнение типов данных. Главным преимуществом языка C++ является его способность поддерживать раз- работку легко используемых библиотек программ. Программирование в реальном вРемени непосредственно в C++ не поддерживается, но может быть реализовано с п°мощью специально разработанных программных модулей и библиотек классов. 1о-7.4. BASIC Язык BASIC является простейшим среди языков программирования высокого Уровня, Этот язык был создан в 1964 году для поддержки интерактивной разработки ’’Рограмм с удаленных терминалов. Из-за своей простоты BASIC часто критикуется Сытными программистами, и несомненно, что этот язык не является хорошим сред- нем дЛя создания больших структурированных систем. С другой стороны, неболь- шие приложения на BASIC можно разработать значительно быстрее, чем на других ,3ь1ках. Кроме того, BASIC имеется почти на всех мини- и микрокомпьютерах. Программа на BASIC может компилироваться, но чаще она интерпретируется, т. е. ЛМая команда транслируется в машинные коды только в момент ее выполнения. “ASlC удобен для разработки небольших прикладных задач в составе крупных сис- Но его не следует использовать для приложений порядка 500—1000 строк или бо-
f 0.7. Языки программирования и операционные системы 459 458 Глава 10. Программирование систем реального врец6н лее. Тем не менее BASIC является наилучшим средством для непрофессионалы^, программистов, которым требуется быстро решить частную задачу. Командные языки основанные на BASIC, имеются во многих системах промышленной автоматики применяются для написания простых программ управления без обращения к более сложным средствам программирования, требующим компиляции и загрузки. 10.7.5. FORTRAN FORTRAN — это первый язык программирования высокого уровня, который по- видимому, способствовал, более чем какой-либо другой язык, распространению и практическому применению ЭВМ. Выпущенный в 1957 году, он до сих пор широко используется, в особенности для математических вычислений. В целом FORTRAN имеет ограниченные возможности определения типа, весьма сложный способ работы с нечисловыми данными и не содержит многих важных функций языков реального времени, чтобы его серьезно рассматривать для этой цели. Новые версии FORTRAN заимствовали некоторые возможности из других языков и поддерживают более раз- витые структуры данных. В этом смысле различия между FORTRAN идругими язы- ками сглаживаются. Благодаря тому что язык имеет устойчивое применение в научных приложениях, не- редко данные в системах реального времени обрабатываются существующими FORTRAN-программами, а новые программы анализа и статистики пишутся на FORTRAN. В подобных случаях основной проблемой является координация передачи информации между базами данных реального времени и прикладными модулями, напи- санными на FORTRAN. Такая координация обычно выполняется операционной систе- мой. FORTRAN не рекомендуется для написания драйверов устройств или модулей на уровне операционной системы, так как для этой цели лучше подходят другие языки. 10.7.6. Pascal и Modula-2 Pascal был разработан швейцарцем Николасом Виртом (Niklaus Wirth) в 1971 году как дидактический язык для обучения хорошей технике программирования. Он быс- тро перерос свои первоначальные рамки и в настоящее время используется во мно- жестве разнообразных приложений. Успех Pascal, как в случае BASIC, основан на распространении микро- и персональных компьютеров, на которых он широко ис- пользуется. Язык Modula-2 был разработан тем же автором в 1975 году специально для программирования встроенных промышленных и научных вычислительных сис- тем реального времени. Pascal и Modula-2 весьма похожи по стилю и структуре, хотя Modula-2 обладает большим количеством функций и синтаксических конструкции- В Pascal и Modula-2 предполагается, что программист постоянно остается в orpaj ниченной среде, предоставляемой программой, что совсем не соответствует реальной практике. Гибкость их использования несколько выше, если некоторые программы для специальных приложений (драйверы устройств, обработчики прерываний) на' писаны на языке ассемблера. Оба языка поддерживают подключение внешних моДУ' лей на ассемблере. Pascal и Modula-2 являются хорошим средством для разработка встроенных систем, но не подходят для сложных приложений в распределений компьютерных системах. Их ориентация на структуру делает программы хорошо чИ' таемыми, что является существенным фактором для последующего сопровожден^' 10.7.7. Операционная система UNIX Операционная система UNIX представляет собой многозадачную, многопользо- вательскУю операционную систему и является в настоящее время одной из наиболее распространенных в мире. Она была первоначально разработана в 1970-е годы в дТ&Т Bell Laboratories. Особое внимание к переносимости, интерфейс пользовате- дя построенный на немногих базовых принципах, и возможность объединения раз- личных UNIX-систем в сети независимо от аппаратной платформы очевидным обра- зом способствовали успеху и распространению UNIX. С момента своего появления система UNIX непрерывно развивалась и в настоя- щее время существует в нескольких модификациях. Основными ее распространи- телями являются компании AT&T Bell Laboratories и Berkeley Software Distribution. Почти все производители вычислительной техники предлагают UNIX либо как коммерческий продукт третьих фирм, либо как специально адаптирован- ную версию для собственной аппаратной платформы. Некоторые специальные предложения отличаются скорее особенностями лицензирования, а не различием в выполняемых ими функциями. Кроме того, для сохранения совместимости и пере- носимости версии UNIX разных производителей не могут слишком сильно отли- чаться друг от друга. В UNIX были введены средства, которые впоследствии были позаимствованы другими операционными системами. На базе UNIX была разработана операционная система OSF/1 (раздел 10.7.8), а многие функции были включены в Windows NT (раздел 10.7.9). UNIX также явилась основной базой для разработки важных комму- никационных интерфейсов, в частности протокола TCP/IP (раздел 9.4.9) и протоко- ла пользовательского терминала X Window (раздел 11.6). UNIX состоит из небольшого ядра, управляющего системными ресурсами (про- цессор, память и ввод/вывод), а остальная часть процедур операционной системы, и в частности управление файловой системой, работают как пользовательские процес- сы. Типичная операционная система UNIX содержит 10 000-20 000 строк на языке С и 1000-2000 строк машинно-ориентированных программ на ассемблере, которые Разрабатываются отдельно для каждой аппаратной платформы. Ядро представляет собой единую резидентную программу размером от 100 Кбайт до 1 Мбайт в зависи- мости от платформы и выполняемых функций. При переносе системы UNIX на кон- кретную платформу требуется, вообще говоря, переписать заново только машинно- зависимую часть ядра. Это означает, что UNIX может работать на многих аппаратных платформах с идентичным системным интерфейсом. Ядро.UNIX имеет недостаточно продуманную структуру. Это следствие ее быст- рого успеха и распространения, поскольку каждая новая версия должна была быть совместима с предыдущими. Первоначально система UNIX была разработана как Миогопользовательская, а не для приложений реального времени. Из-за того что под- программы операционной системы работают как пользовательские процессы, но с ИаИвысшим приоритетом, назначенным системой, невозможно прерывать также те Тотемные вызовы, выполнение которых занимает много времени, что увеличивает 6Ремя реакции системы. Это является существенным недостатком для задач реаль- ного времени, особенно управляемых прерываниями. В UNIX используется доволь- но сложное описание контекста, что увеличивает время переключения процессов, ^з-за того что в UNIX все операции с каналом построены на основе переключения
460 461 Глава 10. П рограммирование систем реального вре^ процессов, применение этого механизма для связи между процессами в приложи X реального времени может приводить к задержкам. Стандартно процессы в UNIX протекают с разделением времени. Для того qTogb дать всем процессам возможность исполняться, применяется динамическое расг[ред(/ ление приоритетов. Процессу, готовому для исполнения, сначала присваивается номинальный приоритет. Во время исполнения значение этого приоритета уменьщ ется до тех пор, пока он не становится меньше приоритета следующего из ожидащщИх процессов, который после этого выбирается для исполнения. В результате процессы с более высоким начальным приоритетом получают большую долю процессорного вре- мени, и при этом все процессы периодически исполняются. Системные обращения синхронизированы с вызывающим процессом — он должен ждать, пока запрошенная операция не выполнится и ему не будет возвращено управление. Важной особенностью, реализованной в UNIX, является одинаковая трактовка всех устройств. Внешние устройства в вода/вы вода рассматриваются как файлы. Это суще- ственно упрощает программы, требующие определенной гибкости, так как можно осу- ществить перенаправление ввода/вывода между файлами или внешними устройствами, такими как локальный или удаленный терминал или принтер, без изменения кода про- граммы. Это также важно и с точки зрения машинной независимости программ. Общим и вызывающим критику недостатком UNIX является его недружественный пользовательский интерфейс. Действительно, все еще в ходу старые и непонятные ко- манды, а если и есть заменяющие их, то с именами или сокращениями, которые столь же неестественны, как и предыдущие. В некоторых системах пользовательские окон- ные интерфейсы и меню способны в основном “транслировать” выбранные действия в стандартные команды UNIX. Положительной особенностью команд UNIX является то, что благодаря стандартизации ввода/вывода и механизму каналов несколько ко- манд можно объединить в одной строке, причем выход одной команды является вхо- дом следующей. Такая техника позволяет для выполнения сложных операций вместо длинных командных файлов использовать всего несколько строк. Хотя в начале UNIX была многозадачной операционной системой, не предназш ченной для работы в реальном времени, из-за широкого распространения в научной и технической среде стала очевидной необходимость ее адаптации и к задачам Реаль но го времени. Поэтому новые версии поддерживают такие функциональные элеме^^ ты систем реального времени, как семафоры, разделяемую память, обмен сигнала^ между процессами, приоритетное управление задачами и прямой доступ к внеш устройствам. u «ойсис- POSIX представляет собой машинно-независимый интерфейс операционн темы, базирующийся на UNIX, определенный стандартом IEEE 1003.1-1988. 10.7.8. OSF/1 и DCE Первоначальные версии UNIX не требовали лицензий и были доступны ^P^fi тески всем для свободного использования, что отчасти объясняет популярно системы. При выпуске System V компания AT&Т решила распространять еет оплатой лицензий. Некоторые наиболее крупные производители ЭВМ ццк’ Equipment, Hewlett Packard, IBM и др. - отреагировали на это, создав органИ Open Software Foundation (OSF) для того, чтобы не зависеть от диктата одН°?т?<.со- сгвенной компании-поставщика операционных систем. OSF разработала Uh1 у Языки программирования и операционные системы ^стимую операционную систему, а также другие продукты без лицензионных ог- орчений со стороны одной компании. 0SF/1 является модульной операционной системой, основанной на Mach, ма- ^рно-независимом мультипроцессорном ядре, разработанном в Carnegie-Mellon diversity (г. Питтсбург, США) в качестве инструмента для эмуляции других опера- торных систем. На основе Mach действительно удается одновременно эксплуати- овать различные операционные системы на одной ЭВМ. Р Для обеспечения переносимости 0SF/1 совместима с AT&T UNIX System V и спецификациями программных интерфейсов Berkeley. Поскольку Mach и 0SF/1 не одержит какого-либо кода UNIX, проблема лицензирования со стороны третьих компаний полностью снята. В дополнение к средствам UNIX 0SF/1 предлагает собственный набор функций, облегчающих разработку и выполнение программ. OSF/1 предназначена для работы в сетевой среде и поддерживает протокол TCP/IP. Файловая система 0SF/1 также совместима со службой NFS протокола TCP/IP (раздел 9.4.9). OSF разработала и другие продукты для распределенной вычислительной среды. OSF/Motif является графическим интерфейсом пользователя, обеспечивающим стандартное взаимодействие приложения с графическим терминалом (раздел 11.6). Распределенная вычислительная среда (Distributed Computing Environment - DCE) представляет собой набор служб и средств для разработки, исполнения и под- держки приложений в распределенной среде. DCE может быть интегрирована с 0SF/1, но является независимой от нее и в действительности может эксплуатиро- ваться на базе других операционных систем. Ю.7.9. MS-DOS, Windows и Windows NT Широкое распространение персональных компьютеров компании IBM (IBM PC) и к клонов обусловили популярность операционных систем MS-DOS и Windows компа- нии Microsoft, которые были специально разработаны для этой аппаратной платформы. MS-DOS была первой широко распространенной операционной системой для персо- кальных компьютеров и продолжает использоваться в настоящее время как простое ^Ро операционной системы. MS-DOS обеспечивает прозрачный и понятный интерфейс *ДУ вызовами прикладных программ и аппаратурой персонального компьютера. ва^ЛЯ MS-DOS написана масса приложений, и имеется даже несколько продуктов зал 6 0CHJ)Be с многозадачными функциями. Хотя MS-DOS не поддерживает много- кйя ЧнЬ1й режим, она обеспечивает некоторые ограниченные возможности для созда- вая ^езидентных программ, получающих управление с помощью прерывания, вклю- •1ейсП₽еРЬ1ВаНИе °Т системного таймера. “Многозадачные” системы используют в 3атемВА1ТеЛЬН°СТИ MS-DOS только как стартовую систему для запуска с дискеты и м Оерут на себя управление всем оборудованием от монитора до драйверов от- gttbixyCTpogCTB> а работа MS-DOS прекращается. ТдеДе^Ствительности 0Дним из преимуществ IBM PC является то, что она допуска- , {^программирование всех микросхем на ПК и таким образом позволяет создать УЮ операционную систему (с другой стороны, не каждый будет писать заново гуЦИонную систему ради двух-трех параллельных задач). ^Шаиболее известной операционной системой для ПК является семейство osoft Windows; она, по-видимому, является наиболее популярным графическим
462 Глава 10. Программирование систем реального времен пользовательским интерфейсом в мире. Windows допускает одновременную раб0 нескольких процессов, хотя лишь один из них может быть активным в каждый мо^ мент и взаимодействовать с пользователем. Однако некоторые процессы управления печатью и сетевыми коммуникациями могут осуществляться в фоновом режиме работать параллельно с активным процессом. Отсутствие вытесняющей многозадач ности (приложение нельзя приостановить другой программой или операционной си стемой), а также других функций реального времени не позволяет использовать Windows в качестве основы для серьезной системы управления производственным процессом. Строго говоря, MS Windows до версии 3.x включительно является не опе- рационной системой, а оболочкой MS DOS. Тем не менее некоторые системы сбора и обработки данных работают под Windows. Основным достоинством Windows является то, что она требует определенной последовательности от прикладных программ, которые должны соблюдать основные правила применения наиболее важных команд, — в итоге приложения легче осваи- вать. Система Windows также включает большое число драйверов устройств для по- чти любого типа персонального компьютера, и это может оказаться полезным при переносе приложений. Система Windows NT (“New Technology”) была выпущена в 1993 году для разных аппаратных платформ. Как и UNIX, ядро в Windows NT отделено от системных про- грамм, которые выполняются как прикладные процессы. Машинно-зависимая, аппа- ратно-ориентированная часть Windows NT называется аппаратный абстрактный уровень (Hardware Abstraction Layer — HAL). Она существует для различных типов аппаратной платформы. Windows NT является обратно совместимой с MS-DOS, Windows, OS/2, а также с UNIX с расширением POSIX. Пользовательский интер- фейс Windows NT остается неизменным на всех системах. Windows NT в полной мере поддерживает технологию “клиент-сервер” в сетевой среде. Windows NT включает несколько возможностей, имеющих значение для прило- жений управления процессами. Среди них — потоки, события, семафоры и асинхрон ный вызов процедур. Связь между процессами осуществляется с помощью каналов (имеется несколько типов каналов с различными характеристиками) и удаленного вызова процедур. Последние рассматриваются как локальные вызовы, и поэтом} приложения не зависят от транспортных протоколов. Другие особенности Wm _ NT направлены на безопасную и отказоустойчивую работу — например, подДеР зеркального диска. 10.7.10. OS-9 Операционная система OS-9 была первоначально разработана в 1977 году к°^0. нией Microware для микропроцессора Motorola 6809 и впоследствии была р д странена на другие процессоры, в частности на процессоры серии 68000-680 является популярной системой — на нее продано несколько сотен тысяч ли11е с0- На первый взгляд, эта система похожа на UNIX — она имеет те же коман ’ вместимые системные вызовы, структуру деревьев, каналы и однородную о Р (1 ввода/вывода. Однако, несмотря на это сходство, OS-9 представляет собой Д _ продукт. OS-9 является аппаратно-зависимой и ориентирована на системы Ре го времени. Целью разработки программы является ее последующий переН°с яС1, бочую платформу, а не использование ее в системе, на которой она разрабатыВ 7. Языки программирования и операционные системы qS-9 имеет модульную структуру, поэтому для исполнения программы в целе системе требуются лишь некоторые части операционной системы. Весь код, генерируемый в OS-9, не зависит от адреса загрузки, реентерабельнь йОжет быть записан в ПЗУ. Однородная обработка ввода/вывода, например, по; ляет при создании программы вместо датчика считывать данные из файла на дис Для связи между процессами можно использовать сигналы, события, канал модули данных. Когда сигнал направляется от одного процесса к другому, проц< адресат вынужденно исполняет определяемую пользователем процедуру црерь ния, которая, в сущности, представляет собой форсированное обращение к подпр рамме. Канал так же, как в UNIX, представляет собой последовательный по данных от одного процесса к другому. Наиболее быстрый обмен данными осущес ляется через модули, т. е. разделяемые области оперативной памяти, к которой мо обращаться все процессы. Среди других функций режима реального времени сис ма также поддерживает аппаратные прерывания. OS-9 предоставляет много возможностей для настройки параметров систем! различными стратегиями установки приоритетов. OS-9 и ее окружения Записаны языке С. Многие программы на языке С, написанные для среды UNIX, могут комт лироваться и исполняться на OS-9 без каких-либо изменений. 10.7.11. VAX/VMS VMS является операционной системой для ЭВМ компании Digital Equipmen 32-разрядным процессором серии VAX. Ее популярность в приложениях управ/ ния связана в основном с качеством техники, на которой она используется, и бог шим количеством предусмотренных средств разработки. VMS может применять как в среде реального времени, так и в многопользовательской среде с соответству! щими средствами защиты. VMS предоставляет широкий набор функций и стандартный и ясный интерфе; Для прямых обращений из программ. Это позволяет по крайней мере в принципе ос Чествлять интеграцию любых языков со всеми функциями операционной систем! Функций реального времени VMS имеет почтовые ящики в форме логически ^стоящих из записей файлов, возможность создания резидентных подпрограмм обработку прерываний. Процесс в VMS может управлять условиями своего соб СТВенного исполнения (приоритет, распределение памяти), создавать другие пронес и управлять их исполнением. Иерархическое управление препятствует процесса Низким приоритетом модифицировать параметры исполнения процессов с высс приоритетом. Как и во всех больших операционных системах, в VMS возникают проблемы ВвГЯХ’ КОгда предъявляются жесткие требования по времени. По этой причине . ПопУляРНости системы VMS, была разработана специальная версия, приспо) сосЛеНная для приложений реального времени, которая называется VAX/ELN. Он Иро °Ит из двух различных продуктов — рабочей среды для исполнения прикладны: Раз ГРамм на Целевой ЭВМ и пакета для разработки программ с компиляторами дл. Личных языков. Разработка программ осуществляется на большом комплексе jp е1оШем ресурсы для подготовки системы, которая в итоге содержит только про |(0 МмНые модули, необходимые для конкретного приложения. Затем в окончателы виде система загружается на рабочую ЭВМ.
464 Глава 10. Программирование система реального (ремен 10.8. Заключение Операционная система предгоставляет процессам логическую среду, состояцу^ времени ЦП и оперативной пам.яти. Операционные системы для мгногопользщательс ких приложений и приложений реального времени имеют много общего, но рехника программирования должна быт ь разной — приложения реального» времени метут Тре бовать времени реакции порядка 1 мс. При программировании в реальном времени ис пользуются специальные функции для координации работы различных процессов Для обычныхпрограммэти фун. кции не требуются. Кроме этого, программы реального времени управляются прерывагаиями и могут явно ссылаться на вдэемя. Центральная проблема многозадачного программирования и программирования в реальном времени — координация доступа к защищенным ресурсам. Существует много общего между распределением процессорного времени, з-ащитой ресурсов и управлением доступом к общей шине. Во всех этих случаях ресурс — процессорное время, память, шина — в определенном смысле ограничен и должен распределяться между различными объектами безопасно, эффективно и справедл иво. Стратешя раз- деления ресурсов, которая мож_ет основываться на простом циклическом илз слож- ном динамическом механизме планирования, должна позволять избегать тузиков и блокировок, обеспечивать выд еление ресурсов всем запрашивающим объектам и максимальную эффективность исполнения процессов. На нижнем уровне наиболее простым средством синхронизации является инструкция testanedset. Наибслее ча- сто используемые методы синхронизации и связи — это семафор: ы и почтовьеящи- ки, которые вразных операционных системах реализуются по-разному. Результаты теории параллельного программирования играют ва_жную роль га прак- тике, так как соответствующие решения подкреплены формальными доказательствами. Это справедливо в особенности для систем реального времени, поскольку тестирование программ в этом случае представляет особую трудность. Примененное проверенгых ме- тодов дает разумную гарантию правильности соответствующих приложений. Рекомендации по дальнейшему чтению [Tanenbaum/Woodhull, 1997 ] является очень авторитетной книгой по операцион- ным системам. Она содержит как устоявшиеся, так и новые идеи! в достаточю под робном изложении. [Tanenbaum, 1995] рассматривает детально те-орию и разработку распределенных операционных -систем. Солидное введение в операционные системы на основе архитектуры VAX можно найти в [Levy/Eckh.ouse, 1980*]. [Young, 1982]1 описывает теоретические основы разработки я зыков программ» рования реального времени, а также языки ADA, Modulan RTL/2- Книга в основ посвящена языковым средствам, а не их применению в прикладных 3£да [Glass, 1983] представляет собой собрание различных материалов, посвящениях темам реального времени, ориентированное на управл ение процессом разра’0 Эта книга является хорошим до полнением к другим учебникам, несмотря нат° некоторые сведения в ней устарели. МИР°' Проблемы и решения в области защиты ресурсов и параллелыного програлМ вания обсуждаются в очерке [Dijkstra, 1968], в котором впервые введены 1 Имеет русский перевод — см. список литературы. — Примеч. ред.
465 ^.8. Заключение 0ажные понятия мультипрограммирования, например семафоры и нотация cobegin- coend. Другими классическими изданиями по мультипрограммированию являются [gen-Ari, 1990] и [Brinch Hansen, 1973]. Проблемы тупиков и их предотвращения об- суждаются в [Coffmann/Elphick/Shoshani, 1971] и [Coffmann/Denning, 1973]. Обзор надежности программного обеспечения приводится в [Littlewood/Strigini, 1992]. Справочники и учебники по языкам программирования насчитываются сотнями ддя каждого языка. По операционным системам, кроме Windows и UNIX, их выбор существенно меньше. Наилучшей (и единственной) справочной литературой может быть оригинальная документация, поставляемая с пакетом программ или системой реального времени. Однако такие материалы не всегда написаны так, что они понят- ны неспециалистам. Информация по Windows NT и ее работе в сетевой среде содержится в [Sinha, 1996]. [Loukides, 1990] рассматривает проблему работы системы UNIX применительно к приложениям реального времени и вопросы ее настройки для повышения произво- дительности.
Человеко-машинный интерфейс Модели поведения. Взаимодействие человека и сложной систе- мы. Принципы проектирования и оборудование человеко-ма- шинного интерфейса Обзор Человеко-машинный интерфейс (Man-Machine Interface — MMI), или интер- йс пользователя (User Interface), - это важнейший элемент технических систем. Как следует из названия, назначение этого интерфейса — обеспечить обмен инфор- мацией между оператором/пользователем и технической системой. Хорошо органи- зованный интерфейс не только делает рабочую обстановку более комфортной, но и помогает уменьшить число ошибок и таким образом ограничить возможный ущерб для управляемой системы. Более того, хороший интерфейс дает человеку возмож- ность понять функции технической системы. Первая часть главы — введение в предмет проектирования человеко-машинного интерфейса. В разделе 11.2 рассмотрены наиболее важные подходы к проблемам вос- приятия информации человеком в их современном понимании. Раздел 11.3 посвя- щен представлениям пользователей о сложных системах и формированию у них мысленных моделей. Понятие мысленных моделей дает некоторые ориентиры при разработке человеко-машинного интерфейса. Обзор оборудования для интерфейса пользователя дан в разделе 11.4; в разделе 11.5 приведены некоторые основные принципы построения интерфейса пользователя в виде коротких практических сове- т°в. Раздел 11.6 дает краткое введение в современное состояние прикладного про- Фаммного обеспечения, связанного с интерфейсом пользователя, и в системный про- т°Кол X Window. 11,1' Человеко-машинный интерфейс как элемент системы управления НИябыда Не долгого времени с момента появления ВТ основным объектом внима- !1вно и СаМаЭВМ- Все усилия их создателей были направлены на то, чтобы эффек- "'10 Удоб°ЛЬЗ°ВаТЬ сУществУюЩие технологии, а не на то, чтобы пользователям ^мог/°- Только специалисты с глубоким знанием внутренних механизмов Что ещИ ИМИ УпРавлять- Постепенно широкое распространение ВТ привело к то- лсто Нев Все чац1е стали пользоваться неспециалисты. В современных условиях ' " наобоЗМ°ЖН0’ что^ы сотни миллионов пользователей стали специалистами по ^еРвое Р°Т’ должны были стать проще. 1|0'1елов(^еТОДОЛОГИЧеское исследование в США по эффективному использова- ЧаукЧеСКИХ спос°бностей в технической среде относится к 1940-м годам — >10гиа Назь’валась “человеческий фактор” (human factors). Разработанная ;|еннЯ Исп°льзовалась для того, чтобы отобрать персонал для выполнения ЫХ задач, например для управления военными самолетами. Позднее
468 Глава 11. Человеко-машинный интерфц^ человеческий фактор стали изучать и в Европе, и одновременно несколько ИзК1е нилось направление исследований. По мере возрастания сложности задач некото рыми системами стало трудно управлять даже специалистам, поэтому вместо раз работки методов подбора обслуживающего персонала обратились к вопроса о том, как поставить задачу и сформировать рабочую среду, чтобы они соответ ствовали возможностям работников. Дисциплина не только сменила подход Но и получила новое название — эргономика (ergonomics). Эргономика — междис- циплинарная наука, которая объединяет знания из области физики, физиологии и психологии. Инженер, занимающийся системой управления, сталкивается с ВТ и другим обо- рудованием и как пользователь, и как разработчик. Как пользователь он должен знать, с чего начать, к чему стремиться, чего ожидать и как быстро разобраться в ос- новных принципах работы. Как разработчик системы управления он должен решить как данные о процессе будут выводиться на терминалы и панели управления, и опре- делить набор команд для оператора. Если система спроектирована на основе после- довательных и логичных правил, человек сможет в ней быстро разобраться и начать работу. Как известно, проблема заключается в том, что ЭВМ исполняют только полу- ченные команды, а не то, что пользователь имел в виду. Интерфейс пользователя вы- полняет свое назначение, если реально позволяет преодолевать барьер между маши- ной и действительными намерениями человека. Интерфейс пользователя — видимая часть системы управления и единственная, с которой реально взаимодействует человек. Его важность проявляется в непосред- ственных действиях по управлению сложным техническим процессом. Операторы больше не должны считывать показания приборов и задавать опорные значения, не- посредственно контактируя с управляемым техническим процессом. Вместо этого, они отвечают целиком за процесс, состояние которого они наблюдают на экранах мониторов в центре управления. Количество персонала уменьшается, а ответствен- ность при этом возрастает. Интерфейс пользователя должен способствовать повы- шению ответственности, облегчать работу, снижать стресс и уменьшить вероятность ущерба от человеческих ошибок. Существует широкораспространенное заблуждение относительно того, что включает понятие “интерфейс пользователя”. “Дружественный интерфейс ста- новится самоцелью и очень часто понимается как “много цветных картинок на эк ране", система “окон” или поддержка диалога с пользователем на национальном языке. На самом деле эргономика подразумевает гораздо большее. Если в системе не учтены основные эргономические принципы, то можно считать, что и вся сис_ тема представляет собой сплошной хаос. Изощренный интерфейс с окнами, пик тограммами и цветной графикой может быть использован для того, чтобы скр плохую функциональность системы. Если же интерфейс пользователя прост понимания и удобен для применения, тогда, скорее всего, и техническая сис которая стоит за ним, хорошо структурирована. Принципы эргономики помо в оценке качества интерфейса пользователя, а в ряде случаев и самого техн кого процесса. к Разработка интерфейса пользователя не сводится просто к применению не ких правил. Эргономика в первую очередь указывает на то, что не нужно делать, бы не перейти границ обычного человеческого восприятия. Разработка интерф
0 J. Человеко-машинный интерфейс как элемент системы управления 469 п Р 0льзователя требует критического мышления и постоянной переоценки принятых ещений для их совершенствования с течением времени. В любом техническом процессе можно выделить три составляющие (рис. 11.1): - цели, задачи; - пользователь/оператор; _ техническая система/процесс (инструмент). Рис. 11.1. Взамосвязи между человеком-пользователем, целями и технической систе- мой (инструментом) Пользователь хочет достичь определенного результата и для этого использует техническую систему (инструмент). Следовательно, инструмент является интер- фейсом между пользователем и целью. Оптимально инструмент должен давать воз- можность пользователю полностью сконцентрироваться на цели и не отвлекаться на то, как инструмент работает, иными словами, инструмент должен быть “прозрачен” для пользователя. Простые механические инструменты, например отвертка и моло- ток, разрабатывались и совершенствовались веками, и поэтому прекрасно соответ- ствуют своему назначению. Обычно, собирая изделие, мы следим не за отверткой, а за винтами и деталями. Однако в автоматизированном процессе управляющее оборудование и ЭВМ не 110 тут по определению быть “прозрачными”, поскольку, хотя они и являются интер- фейсом между пользователем и процессом, в то же время самостоятельно влияют на пРоцесс. Как определить, что вводится с клавиатуры — опорные значения или коман- ДЬ1 Управления? В системах автоматизированного управления пользователь факти- чески работает с новым инструментом, представляющим из себя комбинацию соб- ственно технической системы с управляющим оборудованием. Модель, представленную на рис. 11.1, нужно расширить, чтобы отделить соб- Ют еННо техническую систему от управлящего оборудования - вместе они формиру- Новый инструмент для пользователя (рис. 11.2), т. е. число составляющих равно Ь1Рем:
470 Глава 11. Человеко-машинный интерфе- - цели, задачи; - пользователь/оператор; - техническая система/процесс (инструмент); - управляющее оборудование, управляющая ЭВМ (инструмент). Пользователь по-прежнему добивается достижения цели, но может сделать только опосредованно, с помощью технической системы. Но и на саму техническ ю систему невозможно воздействовать прямо, а только с помощью управляющего обор дования. Таким образом, пользователь имеет дело с совершенно новым комбинирован ным инструментом. Если управляющее оборудование или ЭВМ не соответствуют точ- но технической системе, то работать пользователю сложно, поскольку он должен иметь представление о самой технической системе, инструменте управления и их вза- имодействии. У правляющая система представляет собой “инструмент для использова- ния инструмента” и не должна вступать в противоречие с целями собственно процесса Однако в течение достаточно длительного времени из-за неадекватных и несовершен- ных технологий операторы нередко должны были уделять больше внимания вычисли- тельным системам, чем техническим процессам, которыми эти системы должны уп- равлять. Конечно, пользователь хочет видеть выполнение целевых функций и не желает вникать в проблемы управляющего оборудования. С другой стороны, един- ственный способ взаимодействия с технической системой — это управляющая ЭВМ. Взаимодействие всех составных элементов системы должно быть организовано таким образом, чтобы пользователь в конце концов добивался цели. Если имеется несоответствие между инструментом управления и управляемой системой, например из-за неправильного выбора датчиков и исполнительных меха- низмов, то это приведет к большим нагрузкам на оператора или к сложному интер- фейсу. Таким образом, требования технической системы и знания о познавательных способностях человека должны быть основой, на которой строится интерфейс. С внедрением ЭВМ роль операторов значительно изменилась. Применение авто- матики и аппаратуры управления постепенно отодвинуло операторов далеко от уп- равляемого процесса. Этот эффект особенно важен в системах супервизорного управления, т. е. сочета- ющих мониторинг процесса с функциями автоматического управления. Не всегда внедрение этих систем облегчало работу операторов. Напротив, идея автоматическо го управления иногда имеет обратный эффект, поскольку разработчики, стараясь ис ключить оператора, оставляют ему выполнение тех задач, которые не могут автома тизировать, поэтому оператору приходится управлять не только процессом как таковым, но и тем, что подразумевал под процессом разработчик системы управле ния. Требования к процессу и навыки оператора при разработке интерфейса, как пра вило, не сопоставляются друг с другом, а наибольшее внимание уделяется оборуД^ ванию. Проектировщики обычно оправдываются тем, что они действуют основании позитивных представлений о возможностях автоматизации и использу те подходы, которые им известны. Проблема может считаться и культурной, и о Р зовательной — роль оператора редко рассматривается в инженерных курсах. В заключение следует отметить, что функции операторов по управлению техн ческой системой должны быть элементом системного проектирования, а не рассма риваться как отдельная задача, на которую можно обратить внимание только пос завершения проекта. Техническая система и интерфейс пользователя должны разРа ^.2- Психологические модели 471 ^тываться в соответствии с набором операций, выполняемых пользователем, а не f соответствии с внутренними свойствами технической системы. 11.2. Психологические модели 11.2.1. Физиология и познание Психология — наука о человеческом поведении и опыте и о соответствующих мыслительных процессах. Многие результаты, полученные в ходе психологических исследований, напрямую используются при разработке интерфейса пользователя. Особенно важны те из них, которые касаются познания и восприятия, т. е. постиже- ния чего-либо с помощью чувств, — запоминания и обработки информации. Исполь- зуя эти возможности, человек приобретает знания, решает проблемы и планирует бу- дущее. Экспериментальным путем можно собрать информацию о психологических и познавательных процессах и построить соответствующие модели. Основы теории восприятия и запоминания уже разработаны и проверены экспериментально. Эта те- ория предоставляет фундамент для проектирования интерфейса пользователя и яв- ляется предметом этого раздела. При взаимодействии с ЭВМ и другим оборудованием восприятие является практи- чески полностью зрительным или слуховым. Наиболее важным чувством является зрение, слух важен лишь в случае звуковых сигналов. Важность осязательной инфор- мации проявляется только при использовании некоторых типов манипуляторов (ме- ханические исполнительные механизмы, тормоза, ручка управления самолета), по- скольку они создают своего рода обратную связь. С появлением управляемых ЭВМ силовых приводов этот тип ощущений исчезает или заменяется на зрительные образы, например комбинацию ламп или символов на экране. Объем информации, поступающий к человеку извне, оценивается в 109 бит/с, из которых лишь около 100 бит/с обрабатываются сознанием. Мозг стремится к умень- шению количества обрабатываемой информации. Если количество информации, по- ступающей в единицу времени, возрастает, способность к обработке теряется и вни- мание концентрируется только на ее части. Восприятие цветов — один из важнейших факторов в организации интерфейса. Человеческий глаз лучше всего воспринимает зеленый цвет и хуже — цвета высоко- частотного конца спектра, т. е. голубой и фиолетовый. Глаз фокусируется на разные IIile'ra в зависимости от расстояния — если красный и голубой расположены рядом дРУг с другом, глазу будет казаться, что они находятся на разных расстояниях, и в Результате вся картинка будет восприниматься неверно. Кроме этого, около 8 % муж- чин и 0.5 % женщин в Европе и Америке страдают разной степенью цветовой слепоты 11 не различают некоторых цветов или цветовых сочетаний. Как правило, более высокий уровень внимания соответствует неожиданному РазДражителю и понижается, если раздражитель повторяется. Другие факторы, ко- T°Pbie повышают внимание, — это интенсивность, размер, контрастность и движе- ^Ие- Мозг прекрасно “отфильтровывает” образ или звук из набора цветов и шумов. апример, когда человек смотрит на картину, глаз стремится сосредоточиться на Наиболее важных деталях. Аналогичный эффект существует и для звуков — чело- 6ек может одновременно слышать несколько голосов, но лишь один из них воспри- нимает сознательно.
472 Глава 11. Человеко-машинный ^РФейс 11.2.2. Модель человеческого поведения Модель поведения дает упрощенную основу для описания взаимодействия межл человеком и окружающей средой. Интересная, нашедшая широкое признание мо дель была предложена датским исследователем Йенсом Расмуссеном (Jens Rasmussen). Она относится к решению проблем в управлении инженерными систе мами. В соответствии с этой моделью человеческие действия с точки зрения приня тия решений и поведения можно разделить натри уровня (рис. 11.3). символы Поведение, основанное на знаниях цель чувственная действия информация (признаки) Рис. 11.3. Упрощенная иллюстрация уровней человеческого поведения — модель дей- ствия [Rasmussen, 1983] Основанное на навыках поведение представляет собой автоматические сенсомо торные действия, легко выполняемые без сознательного контроля. Следующий, бо лее высокий уровень — это поведение, основанное на правилах; обычно оно проявля ется в знакомых ситуациях и управляется набором заранее известных правил или процедур, сформированных на основании предыдущего опыта. Очевидно, что индивидуум сталкивается не только со знакомыми ситуациями- В новых условиях, когда предыдущий опыт или правила отсутствуют, управление действиями должно происходить на еще более высоком уровне, на котором поведе ние является целенаправленным и основанным на знаниях. В этой ситуации блиЖаИ шая задача формулируется на основе анализа окружающей среды и конечной цели- На этом уровне структура окружающей среды представляется мысленной модель10, от которой зависит избранный способ действия.
,2. Психологические модели 473 Эту концепцию можно подтвердить рядом практических примеров. При обуче- нии сложным функциям, например управлению автомобилем или игре на рояле, вна- чале включается уровень знаний. Переключение скоростей автомобиля или движе- ние руки по клавиатуре требует значительной концентрации. На этой стадии требуется повышенное внимание, а эффективность и результаты довольно скром- 0ые. По мере накопления опыта действия обучаемого становятся все более и более автоматическими — вначале на уровне правил, например ученик сразу и без анализа понимает, когда нужно переключить передачу, и затем выходят на сенсомоторный уровень, когда выполняются практически без усилий сознания. Для опытного води- теля совсем несложно оценивать дорожную обстановку, переключать передачи и од- новременно поддерживать разговор, поскольку первые два действия выполняются на сенсомоторном уровне и не требуют специального внимания. Опытный музыкант не считывает ноту за нотой, а сразу распознает более сложные объекты — фразы, ин- тервалы, гаммы, арпеджио — и исполняет их соответствующим образом. Действия на самом нижнем уровне являются наиболее эффективными, поскольку не требуют обдумывания в явном виде и реакция следует сразу за раздражителем. Действия на уровне правил выбираются из нескольких хранящихся в памяти образ- цов и, следовательно, выполняются с некоторой задержкой. Для того чтобы опреде- лить новое действие в необычной ситуации, необходимо аналитическое мышление и сравнение с имеющимися знаниями и опытом, что обычно требует большего времени и значительных умственных усилий. Модели поведения могут оказать заметную помощь при создании интерфейса процесса. Разделение поведения на три категории — основанное на навыках, прави- лах и знаниях — облегчает классификацию задач и определяет, какой тип поддержки пользователя должен обеспечивать интерфейс на каждом уровне. 11.2.3. Теория двухуровневой памяти Психологи длительное время исследовали функции памяти и механизм запоминания информации и опыта. Современная психология различает несколько познавательных Функций, т. е. способов восприятия мозгом информации об объектах, получаемой от ор- ганов чувств. Эти функции суть (рис. 11.4): накопление и хранение чувственной информации {sensory storage); кратковременная или оперативная память (short-term memory); Долговременная память (long-term memory). замещенная (забытая) информация рис. 11.4. Модель двухуровневой памяти
474 Глава 11. Человеко-машинный интерф^ Этапы обработки информации мозгом — это восприятие, запоминание в кратко ременной и затем в долговременной памяти. Информация, накопленная органами чувств, попадает в кратковременную па мять, где мозг может сознательно обратить на нее внимание. Из кратковременной памяти информация передается в долговременную, причем в большинстве случаев сознательным усилием воли. Кратковременная память представляет собой то, что мы называем сознанием (consciousness). Ее содержание это то, о чем человек размыш- ляет в данный момент и на чем основываются его действия. Емкость кратковремен- ной памяти ограничена. Исследования показали, что в кратковременной памяти име- ется место приблизительно для 7±2 элементов информации, которые называют брусками (chunk). Бруски не похожи на биты информации — брусок может быть очень сложным и содержательным. Поступающая новая информация стирает или замещает существующие бруски. Информация, которая не обдумывается, быстро “размывается” и исчезает из сознания. Образы в кратковременной памяти имеют приблизительно один уровень абстракции или, по крайней мере, более или менее однородны. Информа- ция из кратковременной памяти быстро извлекается и так же быстро забывается, она легко обозрима, и на ее основе вырабатываются быстрые реакции. Долговременная память обладает практически неисчерпаемой емкостью, но запо- минание и воспроизведение информации занимает больше времени. Информация в долговременной памяти определяет полное знание индивидуума и содержит все от языковых навыков до детских воспоминаний, от таблицы умножения до имени коро- ля Руритании1. Время хранения информации в кратковременной памяти обычно со- ставляет секунды, а в долговременной памяти она может сохраняться в течение всей жизни. Различие между кратковременной и долговременной памятью имеет и психоло- гическое объяснение. В мозге нет анатомического разделения на области памяти - в работе обоих видов памяти участвует весь мозг. Разница заключается в типе про- цесса. Механизм кратковременной памяти можно описать с позиций распределения электрического поля, а долговременная память основана на взаимодействии нейро- нов и связях, имеющих более постоянную, химическую природу. Человеческая память не работает на основе прямой адресации ячеек, как О ЭВМ (в каком состоянии пребывает ваш нейрон № 2 023 965?), а наоборот — работа ет на базе аналогий и ассоциаций. В этом отношении кодирование запоминаемой ин формации играет очень важную роль. Современные исследования показывают, чт запоминаются не формы или шаблоны, а, скорее, понятия и ассоциации. Другим словами, то, что запоминается, — это смысл, а не форма сообщения или символ например, после прочтения текста запоминается содержание, а не дословно предл жения или шрифт, которым текст напечатан. Передача информации в долговрем^ ную память осуществляется не просто усилием воли, как хорошо знают готовяши к экзаменам студенты. м. Информация запоминается легче, если ее можно вставить в существуюши р ки, т. е. соотнести с информацией, уже хранящейся в долговременной памяти. минание различных фактов происходит лучше, если они не разрознены, а находя в причинной взаимосвязи. Аналогично, воспроизведение (извлечение) информан 1 Рудольф IV. 0.2- Психологические модели 475 облегчается ассоциациями — “подсказками”, — тем или иным образом с ней связан- ными. Есть экспериментальные подтверждения того, что информация запоминается навсегда. Нельзя утверждать, что забытая информация потеряна окончательно, — вероятнее, что ее не удается извлечь из-за неверных или утраченных ассоциативных связей. Новую информацию проще воспринимать, если ее можно упорядочить или свя- зать с уже существующей в долговременной памяти. Ключом к эффективному ис- пользованию кратковременной памяти является кодирование, т. е. сколько первич- ной информации вмещается в брусок. Рассмотрим, например, последовательность чисел 88128296306. Она выглядит просто как случайный набор из одиннадцати цифр- Большинство людей неспособны воспроизвести ее без значительных усилий и, скорее всего, очень быстро ее забудут. Однако если представить эту последователь- ность в виде 8-812-829-6306, то воспринимать ее значительно проще — в ней легко узнать (по крайней мере жителям России) телефонный номер в Санкт-Петербурге. Перегруппировка уменьшила число брусков с 11 до 4 — количества, с которым мож- но справиться без больших затруднений. Более того, абстрактные цифры связаны со знакомыми понятиями — название города, номер телефона. Нечто похожее происхо- дит с шахматистами: мастер может запомнить позицию из 20 фигур, новичок — за- метно меньше. Причина, вероятно, в том, что новичок видит 20 различных фигур, а мастер — один или два бруска. 11.2.4. Ошибки Ошибки всегда сопровождают любое человеческое действие, а значит, при разра- ботке интерфейса пользователя необходимо предусмотреть способ борьбы с ними. Ошибки можно рассматривать как действия, которые приводят к нежелательному результату, если человек, совершивший ошибку, мог принять другое решение, соот- ветствующее ситуации и уровню своей компетентности. Теоретически ошибок мож- 110 избежать. Неправильные действия, вызванные ситуацией или недостаточной ком- петентностью для выполнения работы, нельзя считать ошибкой. Различают два типа ошибок — промахи и заблуждения. Промах (slip) — это непра- вильно реализованное верное намерение. Заблуждение (mistake) — правильно вы- полненное действие на основе неверных предпосылок. Промахи и заблужденния легко соотносятся с моделью поведения (рис. 11.3). Ромахи относятся к нижнему, сенсомоторному уровню, а заблуждения — к более й 1Сок°му уровню, на котором принимаются решения. Пример промаха — опечатка ^ли включение не той передачи автомобиля. Заблуждение может произойти на уров- правил — неверное написание слова — или на уровне знаний — использование ^эвильно написанного, но не подходящего по контексту слова. При управлении ав- Мобилем заблуждением является неправильная оценка уклона дороги, которая ве- т к включению несоответствующей ситуации передачи. 8 Интерфейс технической системы должен помогать человеку принимать решения ситуациях, связанных с ошибками. Хорошо организованный интерфейс должен с еньшать число ошибок и их облегчить последствия. Таким образом, борьба ошибками состоит из двух задач предупреждение ошибок и их исправление. Предупреждение ошибок (error avoidance) требует, чтобы управляемое оборудо- нИе тем или иным способом распознавало ошибочную ситуацию или даже ее пред-
476 477 посылки и предупреждало об этом оператора. Оборудование не дол«ц мать команды с возможными опасными последствиями. ° в°спРицц. Исправление ошибок (error correction) означает, что оператор или ляет ошибку и пытается ее исправить. Хорошо знакомый пример из об СИСТеМа вЫяв- команда “Отменить” (“Undo”), которая используется для того, чтобы У уже выполненного действия, т. е. вернуться к предыдущему состоянию Тра3аться °т поминает результат выполнения команды как некое временное, промеж СТемаза' стояние, при этом демонстрирует его пользователю как новое. Наприме С° уничтожается немедленно после выполнения соответствующей команды - ^ЭИЛ Не помечается как удаленный, а его уничтожение происходит позже. Если Поль ЛИШь вдруг захочет отменить удаление файла, он может это сделать в течение неко аТеЛЬ времени после выполнения команды, пока файл физически не стерт. Р°го Очевидно, что команда “Отменить” сработает, если в процессе реально не про изошло никаких изменений. Однако в системе управления нельзя буферизовать вы- полнение команд, как это делается в виртуальной среде ЭВМ. Поэтому в системам мониторинга и управления ошибки должны исключаться — насколько это возмож- но — с самого начала, т. е. система управления процессом должна включать инфор- мацию о возможных опасных состояниях или даже процедуру, моделирующую такие состояния, для того чтобы заранее предусмотреть последствия и необходимое проти- водействие. Парадоксально, но в сложных системах нельзя стремиться полностью избежать всех ошибок — именно ошибки представляют собой прекрасный источник опыта. Не случайно весьма важный метод обучения называется методом “проб и ошибок”. Так же как и при развитии ребенка, собственный опыт вырабатывает чутье, позволяющее выполнить большинство действий на сенсомоторном уровне, которое невозможно заменить теоретическими занятиями. Если эксперименты и “игры” с технической системой нежелательны или просто невозможны, например при управлении ядерным реактором, процедуры моде вания должны помочь набрать необходимый опыт без лишнего риска. ачдва ^уДеТ пилот, который несколько раз врезался в землю на тренажере, вероятнее вс^^киМ,ч лучше управлять машиной в воздухе, чем тот, кто вообще не знаком с ль3уются возможностями и ограничениями своего самолета. Модели постоянно и енеНИя в электроэнергетике для того, чтобы предварительно оценить ^эффект ° рИСку потоков мощности и конфигурации, а также других операций, не под реальную систему. 11.3. Человек в сложной системе 11.3.1. Мысленные модели сложных систем жнойс"' Мысленные модели оказывают решающее влияние на эксплуатацию ПР° стемы и разработку интерфейса пользователя. При управлении те оПераТ цессами, которые в большинстве своем являются сложными систе м°4е принимает решения на базе некоторой мысленной модели. Мы сфор-'(”' (mental model) можно определить как набор абстрактных представл вавшихся у оператора, о том, как техническая система работает и РеагИ ды. Поведение на уровне знаний (раздел 11.2.2) предполагает пали в сложной системе , п челоЦА—.—.----------- ---- „ Q Природе мысленных моделей известно так же мало, как и о природе мыш- ^иявообш6- яько в действительности важна мысленная модель для управления про- па ? Интересное рассуждение о роли моделей в задачах управления приведено аесс0>1' «р[рИЧИна” Айзека Азимова (Isaac Asimov, “Reason”). Робот по имени Кью- зрОманено решил сложную задачу — изменить направление мощной электронной л'УсП топая могла разрушить Землю. Кьюти, который в конечном счете спас на- ланету, следовал понятийной модели, полностью отличной от той, на которую Ш^был запрограммирован. Кьюти не верил в существование Земли — “просто точка 0Н таре” — и все же смог выполнить поставленную задачу, контролируя показа- 83 приборов:“Я держал все показания в равновесии”. Астронавты, которые на- блюдали, как он это делал, реагировали соответственно: “Какая, в конце концов, разница во что он верит!” Наиболее простое и совершенно естественное для инженеров-разработчиков до- пущение заключается в том, что каждый оператор имеет в долговременной памяти модель процесса, которым он управляет. В соответствии с этим допущением инжене- ры-технологи и операторы выучивают все инструкции и чертежи наизусть и всегда знают, что делать для достижения нужного результата, т. е. человек считается систе- мой упреждающего управления, которая знает, как в аварийной ситуации влиять на работу оборудования. Такой же подход в неявном виде характерен и для многих обу- чающих курсов, поскольку в них основное внимание уделяется множеству техничес- кихдеталей и конструкции системы, а не поведению процесса. Предположение о том, что в долговременной памяти оператора существует мо- дель процесса, в значительной мере искусственно и, следовательно, ошибочно — че- ловеческое мышление значительно менее структурировано и детализировано, чем информация в инструкциях. Люди могут перестраивать и адаптировать свои мысли- тмьные стереотипы, а информация, содержащаяся в инструкциях, при этом не меня- 'ГСЯ’ Более того, люди, управляющие сложным процессом, обычно не имеют в долго- een«eHH011 его копию, позволяющую мысленно моделировать процесс и при ^х°Димости вмешиваться. С10 °Снове псих°логических опытов и анализа взаимодействия операторов со иости- МИ техническими системами были получены следующие общие закономер- рХЬШИНСТВ° ЛЮДеЙ В ПерВуЮ очеРедь интересуются не тенденцией и характе- р0ВаРаЗВИТИЯ пР°иесса, а лишь существующим положением и склонны реаги- щ ь —ко на текущие обстоятельства, не планируя свои действия в буду- °б1щщ)Ка реакции отрицательно сказывается на управляемости системы; люди •Чего ° Не Распознают неустойчивость, вызванную запаздыванием управляю- _ воздействия; Полен ооычно возникают трудности, если изменения происходят по экс- ЛяЧйейИаЛЬН°МУ 3аК°Ну’ °НИ’ КаК пРавил°’ пользуются линейной экстрапо- ЧЛя чед0 вДечет Веческого мышления характерны взаимно-однозначные (одно событие ' Hi , ,дРУг°е), а не множественные (сложные сочетания событий влекут дру- тия) причинно-следственные связи;
478 479 ~~~~~дРФейс - люди стремятся избегать трудностей, т. е. заниматься наименее соответственно, менее важной деятельностью; пР°бле\щ0^ и - люди стараются упростить стоящие перед ними проблемы rRn » сЬОдя I-jy к мально возможному числу причин. л к Мини- Формирование мысленной модели — это продолжительный процесс дающийся постоянными изменениями: добавляется новая и переосмы^^080*' старая информация. Мысленная модель процесса, свойственная поведени™361^ нове правил, может иметь формально-теоретический характер, а необхо НЭ °С формация накапливается с помощью упражнений и строится главным одИМаЯ ИН основных фактах из химии, физики и электротехники. На уровне правил **На состоит из утверждений вида “если-то” применительно к предсказуемым режимам процесса. Существует и модель сенсомоторного уровня; эта модель не может по явиться после занятий в обучающем центре, а есть результат опыта и практики Это уже так называемое “чутье” — например, если нажать кнопку, то что-нибудь про- изойдет. Идеальный тренажер должен охватывать все три уровня. Тип мысленной модели, безусловно, зависит от типа управляемой системы — ощущение физичес- кого слияния с машиной, необходимое пилоту, совершенно излишне для диспетче- ра электростанции. Не существует общего мнения о важности мысленной модели для управления. Нет и указаний на то, что люди с определенной теоретической подготовкой могут выполнять работу оператора лучше, чем без нее. В общем, действия, выполняемые на сенсомоторном уровне, являются более быстрыми и гораздо эффективнее, чем требующие любого обдумывания. С другой стороны, мышление высокого уровня необходимо при столкновении с новыми ситуациями, например для выяснения причин отказа какого-либо оборудования и принятия решения о том, как выити из положения. Мысленные модели, относящиеся к одной и той же технической систе ме, могут быть разными в зависимости от их назначения. Мысленная модель мобиля у автомеханика отличается от модели, существующей у автогонщика. & щик, скорее всего, не справился бы со своей задачей, если бы размыш^ неприятностях, которые могут произойти с двигателем, если выжимать максимальную мощность. чеМ тео- В промышленности, значительно более интересующейся результатам^^ св010 рией, давно принят подход, основанный на том, что оператор может вып^ чаСТичных работу при сравнительно коротком обучении и, следовательно, на oCH°cBn03KH1,ix сис- и неполных мысленных моделей. Обслуживающий персонал многИХ стр0Ит сВ°” тем получает лишь небольшую предварительную подготовку, п0ЭТ° [дщцхея 4е® мысленные модели на основе собственных представлений и повт торЬ1 пос1* ствий. В промышленной практике в основном бытует мнение, что 0 затем пеРи пенно строят свои модели процессов на основе опыта работы, эти зн одически объединяются с материалом теоретических курсов. < , шИнстве сЛ^1). Следует добавить, что управление сложными системами в непггатн1Ле ев — это выполнение заранее разработанных процедур. Штатны требУ туации описаны в руководствах оператора и в большинстве слу операТора чтобы оператор проявлял собственную инициативу. Руководств определе|1 жают подход на основе правил, поскольку содержат описания пр процедур. „ок в сложной системе 3 ——------------------------------------------------------- Синтаксическая информация и семантические знания ’ и подход к учету мысленных моделей, причем без явной ссылки на них, — это ^инФ°РмацИИ’ не°бх0Дим°й Для выполнения задачи. Различают синтаксичес- jji1113, оМацию {syntactic information), которая есть форма представления, и семан- знаНИЯ (semanticknowledge), т. е. содержание. Например, географическая ин- вКЛючает названия мировых столиц или высоту гор; географические знания jopMaa способностью ориентироваться на местности и делать выводы о ландшафте Экономике региона по карте. Синтаксическая информация и семантическое зна- ^часто путают друг с другом — причина частично кроется в методике и программах ^•чения которые вместо знаний дают лишь отрывочную информацию. Синтаксическая информация условна, неструктурирована и должна заучиваться. Например, нет правила, которое связывало бы понятие “столица Китая” с названием Пекин”. Условность связей становится еще более очевидной, если вспомнить, что да город также называют “Бейджин”. Разные названия, конечно же, ничего не ме- зяютни в городе, ни в географии. Семантическое знание является проблемно-ориен- крованным и имеет структуру, из которой можно вывести новые факты. Знание на- иий половины мировых столиц — синтаксическая информация — не позволяет сделать предположение о неизвестном названии столицы по названию страны. На- против, зависимость растительности от климата — это объективный факт, имеющий иверсальное значение, — семантическое знание, из которого можно вывести мно- тедругие факты начиная от экономики региона до образа жизни населения. В моде- лповедения, приведенной на рис. 11.3, синтаксис определен на уровне правил, а се- птика - на уровне знаний. При обработке текстов семантические знания относятся к таким понятиям, как «кет, абзац”, “разметка”, “форматирование” и т. д. Команда “Копировать текст” ^принимается как общее понятие, независимо от того, ориентировано ли про- ^ми°е обеспечение редактора на строчный, полноэкранный или графический ре- ‘Сот апРотив> синтаксическая информация связана с принятой формой команд — ^Йгуг?”(Macintosh)’ “<CtrlK><CtrlC>” (редактор WordStar), “CUT/PASTE” Р-Д П ’Кнопки с пиктограммами ножниц в графических программах Windows гаСенгРИ нек°торой практике этот тип знаний об операциях постепенно опускается раНзСОмоторный уровень. 10Димо уЦУ МеЖдУ синтаксической информацией и семантическими знаниями необ- Мно^™ВаТЬ Пр>и пРоектировании системы управления, поскольку от этого за- ^ескольИе ПОдСказки и указания, которые она должна выдавать оператору. есЛцК° ПСИхологических экспериментов показали, что изучение новой задачи ^ВслУчае°На П° Наб°РУ действий ~ синтаксически — похожа на другую задачу, а1,ал0ГИаеСЛИ анал°гия является понятийной — семантической. Другими слова- ку ЧеляМиМчЖДУ действиями на сенсомоторном уровне важнее, чем аналогия М8°л°в для dT° объясняет Успех интерфейса Windows со стандартным набором ит°текСТоаНаЛОГИЧНЬ1х операций, вне зависимости от прикладной программы, ЦМея ВЫИ ИЛИ гРаФический редактор или программа для табличных вычис- г°Раз Павь1к Работы с текстовым редактором — синтаксическую информа- )Чц0 ТД° пР°Ще научиться пользоваться программой для табличных вычисле- (ЧтеомаКИМ Же интеРфейсом, чем текстовым редактором с совершенно новым несмотря на одинаковые задачи.
4«U Глава 11. Человеко-машинный интерфе^с Синтаксическая информация базируется на правилах, а значит, легко зап0МИНа ется, при регулярном применении ее можно использовать немедленно. Отсюда еле дует важный вывод, касающийся интерфейса пользователя, — существующие спосо бы представления информации и ввода команд не должны изменяться, если только это не является абсолютно необходимым, любые изменения должны быть очевидны ми и понятными. Зачастую специалистами считаются люди, знающие некоторые тонкости процес са или свойства оборудования, т. е. обладающие синтаксической информацией или люди с хорошей сенсомоторной реакцией, а не те, которые умеют творчески разре- шить проблему. Этот подход присутствует, к сожалению, и во многих руководствах по вычислительной технике — они декларируют семантические знания, но на самом деле дают в основном синтаксическую информацию. Не объясняя причин, глубин- ных взаимосвязей или структуры, они просто сообщают, “что делать” с информаци- ей. Синтаксическая информация не лучше и не хуже семантического знания, она просто представляет другой уровень понимания. Важно не путать эти два типа ин- формации, и всегда точно знать, что именно необходимо. 11.3.3. Управление уровнем сложности системы Системы автоматического управления должны, с одной стороны, облегчать рабо- ту операторов, а с другой — предохранять технический процесс от их ошибок. Суще- ствует прямая связь между сложностью системы и усилиями, затрачиваемыми на уп- равление, поэтому, чем проще интерфейс, тем легче управлять. Здесь необходимо достичь непростого равновесия. Интерфейс пользователя никогда не должен при- ближаться или превосходить пределы человеческого восприятия в части памяти и концентрации внимания. Бессмысленно выводить на экран сотни характеристик процесса, возлагая на пользователя ответственность за их анализ и выводы. Слож- ность должна быть уменьшена до уровня, не превосходящего предел восприятия. С другой стороны, интерфейс, который является “слишком простым”, тоже плох. Та- кой интерфейс не дает оператору возможности набираться опыта и поддерживать навыки, необходимые для работы в непредвиденной ситуации. Дополнительно one раторы сложных систем должны все время отслеживать правильность функциояи рования системы управления. Это существенно усложняет их работу. Сложность — понятие интуитивное, и найти ее объективное определение и мерУ очень трудно. Оценка сложности в одинаковой мере зависит и от субъективного опы та, и от объективных факторов. и В практических задачах сложность можно рассматривать не как объектив измеряемое свойство физической/технической системы, а скорее как Рез^ьгС. структуры системы и представлений о ней пользователя. Это представление ленная модель — определяется способом взаимодействия пользователя с сист Сложность физической системы может быть связана с числом степеней сВ или числом независимых переменных, описывающих систему, и числом упра щих переменных. Обобщенные параметры могут упростить внешнее представл^ В физике модель идеального газа имеет разные уровни сложности в зависимо того, рассматривается ли каждая молекула, описываемая динамическими пер ними, или масса газа в целом, описываемая термодинамическими параметрами Тна основе физических и статистических свойств.
j1.3. Человек в сложной системе 481 Аналогично, число точек измерения и управления в техническом процессе приблизительно пропорционально сложности системы. Сложность возрастает, если некоторые из параметров системы связаны, но не очевидной зависимостью. Две независимые переменные, например температуру и давление, легче наблю- дать, если они изменяются одинаково, т. е. увеличиваются или уменьшаются од- новременно, чем если они меняются непредсказуемым образом, как в случае, если рост температуры иногда связан с увеличением давления, а иногда и с его пони- жением. Для того чтобы оценить роль ЭВМ в управлении, технический процесс рассмат- ривается здесь как сложная система, а интерфейс системы управления как — инстру- мент, с помощью которого сложность можно регулировать. При таком подходе нет необходимости явно ссылаться на мысленные модели процесса, существующие у операторов. Интерфейс пользователя в определенном смысле как раз и есть интер- фейс между техническим процессом и мысленной моделью оператора. Проблема в том, что все операторы имеют различные мысленные модели, и где гарантии, что их всех можно удовлетворить? Преимущество подхода с позиций сложной системы в том, что оператор может изучить и использовать определенный интерфейс, при этом детали конкретной модели несущественны. Важно только, что оператор может выполнить свою работу должным образом. Следуя этому подходу, проблема взаимодействия между человеком и машиной рассматривается как проблема восприятия при функционировании неизвестной, ча- сто весьма сложной, системы. Пользователь хочет решить задачу или достичь неко- торой цели с помощью технического процесса. Он следует мысленной модели, кото- рая более или менее отражает свойства реального технического процесса, и этого достаточно для управления при соответствующих знаниях и опыте. Конечно, пользо- ватель в состоянии управлять техническим процессом только до тех пор, пока его сложность не превосходит способности восприятия. Снижение уровня сложности Первейшей целью системы управления процессом является снижение уровня сложности (complexity reduction) технического процесса. Иными словами, процесс, Видимый” через интерфейс автоматизированной системы управления, должен быть пРоще, чем процесс, наблюдаемый с помощью обычных измерительных средств. Ав- томатизация не должна добавлять каких-либо сложностей, а обслуживание соответ- ствующего оборудования — приводить к перегрузке способности операторов к вос- "Риятию. Сложная система управления ухудшает управляемость процесса, и о орот. Именно здесь кроются большие возможности применения вычислитель- техники в управлении. Рол аиб°лее часто управляющие ЭВМ используются для простой замены конт- 6е ЬНо'Измерительной аппаратуры по принципу “один датчик — одна наблюдаемая ци Ич11На”- Главное преимущество при этом заключается в более удобной организа- с I, рабочего места и автоматической регистрации данных. При этом, по сравнению .Пользованием обычных контрольно-измерительных приборов, оператор теряет ХанСТв° непосредственного контакта с оборудованием — на экране все приборы и ме- Кц И'1МЬ[ имеют один размер. В реальной жизни разница между граммами и тоннами, л°ваттами и мегаваттами, миллилитрами и литрами является очевидной, а в вир- l<rC Ш-л
482 Глава 11. Человеко-машинный ^Рфейс туальной реальности компьютерного экрана разница часто сводится к изменению положения десятичной запятой. Первый шаг к уменьшению сложности заключается ванализе информации о пр0 цессе, которую должен получать и интерпретировать оператор. Количество датчиков и исполнительных механизмов для управления процессом нельзя выбрать произ вольно — оно зависит от природы процесса и целей управления (наблюдаемость и управляемость процесса были рассмотрены в главе 3). Работа в режиме реального времени также не является абсолютным понятием, а имеет смысл только по отноше- нию к эволюции во времени управляемого процесса. Рассмотрим химический реактор. Обычно процесс характеризуется несколькими десятками переменных — температура, расход реагентов, концентрация и т. д. Если каждая из них выводится на панель управления, регистрируется вручную и является частью каких-либо вычислений, то на оператора ложится значительная нагрузка В чем оператор действительно заинтересован, т. е. его главная цель, насколько теку- щие значения соответствуют опорным. Сравнение текущих значений сотен контро- лируемых величин с опорными ЭВМ легко выполнит несколько раз в секунду. Од- ной логической операции достаточно для общей индикации, работает ли реактор в целом правильно или нет. Оператор освобождается от ручной работы, и в то же вре- мя он в состоянии проверить текущие данные, если это необходимо, с любой степе- нью подробности. В результате один оператор может одновременно управлять не- сколькими реакторами. Компьютер может также учитывать специальные режимы. Например, во время переходного процесса различия между текущими и опорными значениями переменных не должны расцениваться как нештатная ситуация. Анало- гично, границы аварийных ситуаций могут рассматриваться не просто как фиксиро- ванные величины, но в контексте текущего процесса и его состояния. Автоматизация таких задач способствуют уменьшению сложности. Адекватность Второй важной характеристикой наряду с уровнем сложности интерфейса явля- ется его адекватность {complexity matching). Уже на аппаратном уровне интерфейс должен соответствовать количеству и точности передаваемых данных. Именно коли- чество и тип данных диктуют вид интерфейса, а не наоборот. Если процесс характеризуется всего лишь несколькими событиями на протяже нии часа, а число входных и выходных переменных — мало, то для управления впол- не подойдет небольшое печатающее устройство или панель управления. Применение для управления таким процессом не уменьшит сложности, скорее наоборот, посколь ку к сложности самого процесса будет добавлена сложность системы управления- Если технический процесс не порождает достаточного количества данных, дисплеи утомляет и вызывает скуку. Важным параметром при разработке интерфейса являются границы ответствен ности. Необходимо оценить, в какой мере оператор должен следовать предписаниям и в какой - принимать собственные решения, и где проходит граница между одним и другим. Интерфейс должен быть ориентирован на необходимую степень компетент ности пользователя (уровень правил или уровень знаний) и на тип действий при вЫ полнении работы. Сложный интерфейс должен рассматриваться и с позиций необхо- димости обучения. Только когда все звенья цепи “цель-инструмент-оператор
11.3. Человек в сложной системе 483 соответствуют друг другу, результат достигается при оптимальном вкладе и челове- ка, и системы управления. В заключение следует отметить, что сложность не есть вещь в себе, а существует только в контексте, включающем пользователей системы. Сложность и удобство яв- ляются противоречивыми требованиями, которые должны быть сопоставлены друг с другом. Трудности при более сложной организации экрана и аббревиатуре команд можно преодолеть, если есть возможность интенсивного обучения. Дополнительное усложнение структуры экрана за счет большего объема выводимой информации или за счет более мощного (а значит, и изощренного) командного языка может дать выиг- рыш в скорости работы. В качестве примера можно привести операционную систему UNIX и текстовый редактор “vi”. Оба эти продукта часто критикуются за то, что они “недружественны” по отношению к пользователю, однако, когда пользователи при- обретают определенный уровень знаний и навыков, они отказываются переходить на другие программные продукты. 11.3.4. Интерфейс пользователя как средство работы со сложными системами Как показано в предыдущем разделе, не существует общего объективного и ко- личественного описания понятия “сложность”. Сложность — это частично объек- тивное свойство системы и частично субъективный опыт пользователя. Сниже- ния присущего системе уровня сложности можно добиться только в результате целенаправленных интеллектуальных усилий. Это должны быть усилия и проек- тировщика установки, и оператора, и программиста. Проектировщик должен учесть свойства процесса и создать логичную и ясную систему. Оператор, столк- нувшись с определенным уровнем сложности, должен формировать собственные понятия и мысленные модели. Программист отвечает за разработку интерфейса пользователя. Общее количество и тип информации, поступающей от процесса, нужно умень- шить до такой степени, чтобы не превысить порог восприятия оператора. Эта зада- ча должна быть решена либо разработчиками собственно технического процесса, либо разработчиками интерфейса пользователя. Если проектировщики и про- граммисты не учитывают этого, то они перекладывают ответственность на операто- ра. Поэтому рекомендуется проводить структуризацию данных уже на стадии про- ектирования. Наиболее естественной структурой является иерархия. В большинстве приклад- ных задач можно определить иерархию так, что некоторые элементы объединены в структуры, описываемые общими параметрами. Уровни иерархии более или менее соответствуют классам решений, принимаемых при управлении процессом. Обычно все объекты, расположенные на одном уровне иерархии, характеризуются интенсив- ным взаимным обменом данными; обмен данными между уровнями, как правило, Меньше и не является критичным по времени (раздел 9.6.2). Например, в химическом производстве состояние реактора характеризуется де- сятками отслеживаемых параметров. Если внимание сконцентрировано собственно На реакторе, тогда интерес представляют величины опорных и текущих значений Температуры, расхода, концентрации и т. д. Если тот же реактор рассматривается как Элемент производственной цепи, то существенны только входные и выходные пото-
11.4. Оборудование для интерфейса пользователя 485 484 Глава 11. Человеко-машинный интерфейс ки и индикация ш татного или нештатного режима. Только когда система подаст сиг- нал о сбое, имеет смысл просмотреть более детальную информацию о реакторе, что- бы найти его причину. Иерархическая структура упрощает наблюдение за сложным процессом, но скры- вает часть данных. Например, превышение выходного сигнала регулятора по сравне- нию с обычным рабочим значением может служить показателем неправильного по- ведения какой-то части системы, но это никак не отражается на общей панели состояния системы — все лампочки горят зеленым — до тех пор, пока опорные и теку- щие значения параметров одинаковы. Иерархическая модель по необходимости является обобщенной, но она обеспечи- вает полезный подход к анализу и структурированию системы управления. Приме- нение такой модели не ограничивается рамками сборочных или обрабатывающих предприятий — соответствующие уровни мо жно выделить в любой сложной системе управления. Структурный подход применим не толысо к выводу на экран, но и к командному языку. Команды могут быть как очень низкого уровня — для непосредственного уп- равления каждым исполнительным механизмом, так и высокого для выполнения целых задач. Команды низкого уровня редко представляют интерес, особенно в слож- ных установках, где элементы тесно связаны и взаимодействуют сложным образом. Наряду с командами низкого уровня хорош им решением для выполнения крупных функций является подготовка развитых командных файлов, состоящих из набора простых “элементарных” команд. Такие файлы можно подготовить для всех основ ных операций. Основу для проектирования интерфейса дает анализ целей {task analysis). Это анализ технических процессов и операций, которые необходимы для управления. Анализ целей — это поиск ответов на следующие вопросы: - каковы стандартные задачи; - как эти задачи выполняются; - какая информация требуется для выполнения этих задач, какова степень свободы, предоставляемая оператору в случае аварийных ил^ непредвиденных ситуаций (это не то ж:е самое, что действия в нештатныхусл виях, - если поведение в таких случаях регламентировано, то это просто од из возможных режимов работы). Анализ физических процессов, с одной стороны, и познавательных с"ос°бн^ операторов - с другой, обеспечивает подход, на основе которого ин;еРфеИГ исуЧе- вателя определяется не только с аппаратной и программной точек зр том роли, которую играют операторы. 11.4. Оборудование для интерфейса пользователя Для построения интерфейса пользователя применяется не очень устройств. В управлении процессами обычно применяются п0Л Р миналы, включающие монитор и клавиатуру, а также панели с, иу*е контрольными лампами и приборами. Сообщество пользователей ф 03оО' сделало выбор в пользу простых и практичных устройств, а не экзоти ретений. Устройства, обычно используемые для обмена информацией между пользовате- лем и ЭВМ, — это монитор и клавиатура. Распространение персональных компьюте- ров и постоянно растущие требования привели к заметному улучшению качества мониторов. Размер экрана характеризуется длиной его диагонали, выраженной в дюймах, поскольку отношение ширины к высоте всегда одинаково (4 : 3). Разреша- ющая способность монитора, измеряемая количеством точек изображения, пикселей (pixel), связана с размером экрана. Разрешающая способность должна обеспечивать хорошее качество представления текста и графики. Монитор не обязательно должен быть цветным. По техническим причинам качество и резкость изображения у моно- хромных мониторов лучше, чем у цветных, поэтому первые могут в ряде случаев ока- заться дешевле и лучше. Важным эргономическим показателем монитора является скорость регенерации экрана, т. е. частота, с которой электронный луч полностью обходит экран. Эта часто- та должна быть не менее 75 Гц, чтобы даже при наличии неблагоприятных факторов, связанных с размером экрана и освещением рабочего места, пользователь видел сво- бодную от мерцания картинку. Показатель, активно обсуждавшийся в последние годы, — это уровень излучения монитора. Определение не вполне корректно, поскольку монитор в действительнос- ти порождает электростатическое поле, электромагнитные волны и рентгеновские лучи. Современные мониторы имеют очень низкий уровень излучения. Средства массовой информации периодически сообщают об исследованиях, ка- сающихся заболеваний, вызываемых излучениями компьютерного монитора. Не вдаваясь в подробности, можно напомнить, что, хотя излучение от экрана телевизо- ра намного сильнее, его опасность не обсуждается. Расстояние от наблюдателя до экрана определенно играет роль, однако никто пока не жаловался на излучение персональных компьютеров, используемых для блуждания по Интернету или для гр. Достаточно странно, но только мониторы на рабочем месте излучают слишком сильно. в лавиатура (keyboard) — это самое распространенное устройство ввода. Бук- ы ные и цифровые клавиши имеют везде одинаковое значение, исключая некото- национальные особенности. В то же время определение управляющих клавиш 1слави1НДаРТИЗИР0ВаНО’ а ИХ положение меняется в зависимости от конструкции ₽еУчиаТУРЫ ЛРИ пеРех°Де на новую модель клавиатуры пользователь должен пе- 1'опи Ваться зан°во, что приводит к трудностям и ошибкам в действиях на сенсомо- Рном уровне. сЛбдов 1Чные м°нигоры и клавиатуры сконструированы для применения в офисе и, 3аПЫле еЛЬНо’ не ГОДЯТСЯ Для производственных условий с высокой влажностью, п°Двих ностью и вибрацией. Для работы на клавиатуре необходима определенная Для П„ОСТЬ пальцев, которая ограничивается, если оператор работает в перчатках 8cnei,„ еНеНИЯ В промышленных условиях мониторы и клавиатуры выпускаются ^пиалы-юм прочном (промышленном) исполнении. Ча 7? И ЗВУЧИТ стаРОмодно, недорогим и практичным устройством ввода/вы- Т₽0ЙСт;Я Набл1°Дения и управления медленным процессом является печатающее ус- Чт J ° ИЛИ телетайп' Оно используется в тех случаях, когда обмен информацией . Медленно (1-2 события в минуту) и каждое сообщение является законченным связано с другой информацией, и пользователь не должен ждать слишком е.
486 Глава 11. Человеко-машинный интерфц^ долго завершения печати, чтобы получить полную картину ситуации. ПреимущестВо печатающего устройства в том, что носитель информации (бумагу) можно хранцТь в архиве в качестве протокола без какой-либо обработки. Панели (щиты) управления {control panel) были распространены в основном в 1950-70-е годы, когда устройства интерфейса процесса подключались каждое к своему индикатору и устройству управления, расположенным в едином центре. Па- нели управления имели индикаторы в виде ламп и стрелочных приборов для вывода информации и выключатели или цифровую клавиатуру в качестве устройств ввода Панели управления можно использовать при весьма ограниченном количестве вход- ных/выходных данных и жестко определенных командах. Если панели управления используются в основном как устройства отображения, их называют мозаичными {mosaic board) или имитаторными панелями {mimic board). Мозаичные панели применяются в настоящее время для отображения процессов со значительной пространственной протяженностью, например железнодорожных путей или трубопроводов, поскольку во многих случаях рассматривать такую систему по ча- стям на экране монитора неестественно. Мозаичные панели можно использовать для отображения общего состояния технической системы, а на монитор выводить деталь- ную информацию об определенных ее частях. Например, в системе управления желез- нодорожным движением большой мозаичный щит перед глазами диспетчеров показы- вает протяженность дорог, положение поездов и состояние наиболее важных сигналов. По запросу на экран можно выводить более подробную информацию об определенных узлах, поездах и другом оборудовании. Щиты управления оснащаются визуальными и звуковыми индикаторами аварий- ных состояний, которые обычно управляются ЭВМ. Они используются, чтобы немед ленно привлечь внимание оператора, даже если он занят чем-то другим. Параметры звукового устройства (громкость, частота) должны регулироваться. Такие устройства должны обязательно иметь быструю и доступную команду сброса, чтобы излишне не раздражать оператора после того, как он принял аварийный сигнал. Указательные устройства прямого действия — световые перья и сенсорные экра- ны — особой популярностью пока не пользуются. Перемещение руки от рабочего сто- ла к экрану и обратно весьма утомительно, требует времени, а точность движения ограничена. Выбор определенной точки на экране пальцем или световым пером тре- бует больше времени, чем с помощью непрямого управляющего устройства — мыши {mouse) или трэкбола {trackball). К тому же в первом случае имеется эффект ‘ отпе чатка пальца”. Световое перо и сенсорный экран тем не менее полезны в случаях, ког да применение полной клавиатуры неоправдано или невозможно, а диалог можно организовать в виде небольшого набора меню с ограниченным числом альтернатив- но даже и здесь небольшая клавиатура легко заменяет сенсорный экран. Тем не - нее сенсорные экраны весьма популярны в системах управления станками и в о ш доступных информационных системах, например в банкоматах или справочных осках. Для таких приложений характерно, что пользователь стоит, число операн ограничено, а само устройство подвержено риску случайного или преднамеренно^ повреждения, поэтому механическая прочность для таких терминалов является новным требованием. Мыши, трэкболы и джойстики являются указательными устройствами непрям го действия для управления положением маркера или курсора на экране термина71 Выбранный объект или поле подсвечиваются, и в результате возникает немедлеНй
11,5. Проектирование интерфейса пользователя 487 визуальная обратная связь. Выбранный вариант подтверждается нажатием клави- ши, например клавиши мыши. Точность позиционирования намного выше, чем у сенсорного экрана или светового пера. Следует отметить, что джойстик и мышь вначале были предназначены для детей. Позднее их удобство по достоинству оцени- ли и взрослые. Мышь, трэкбол и джойстик (joystick) — это недорогие и простые устройства ввода, которые можно использовать для быстрого управления процессами с немедленной обратной связью: мышь и трэкбол — для указания объектов на экране, джойстик — для дистанционного управления механическим исполнительным устройством, на- пример роботом-манипулятором. Все эти устройства сами по себе неточны, но допус- кают быструю коррекцию. Человек выступает в роли “корректирующей обратной связи” — либо на основе зрительной информации с экрана, либо наблюдая за положе- нием исполнительного механизма. Очевидно, что джойстик не годится для управле- ния химическим реактором, поскольку это устройство не обеспечивает должную точ- ность, а медленная динамика химического процесса не требует использования быстродействующего устройства ввода. Для управления процессом этого типа боль- ше подходит потенциометр или устройство цифрового ввода информации. Производители ВТ вложили значительные средства в развитие систем распозна- вания речи. В последние десятилетия переодически казалось, что решение уже най- дено, но каждый раз выяснялось, что это еще не совсем то. Доступные сегодня систе- мы могут распознать слова, которые произносятся раздельно и соответствуют предварительно записанным образцам. До тех пор пока ЭВМ не сможет декодиро- вать нормальную речь с различными интонациями и акцентами, особенно в небла- гоприятных условиях производства с громкими посторонними шумами, использова- ние интерфейсов с распознаванием речи будет, скорее всего, ограничено. Синтез речи технически проще, чем распознавание, и на рынке предлагаются со- ответствующие продукты. Недостатком систем, использующих речевые синтезато- ры, является то, что их сообщения произносятся внезапно, когда пользователь их не ожидает и, следовательно, может не обратить на них внимание. Синтезированный компьютером голос удивительно похож на человеческий, но все же в нем отсутству- ют интонации, модуляции и ударения, которые являются важными составляющими человеческого голоса и сами по себе передают обширную информацию. Приведенное в следующем разделе описание предполагает, что интерфейс пользователя построен на основе монитора, который позволяет выделять определен- ию группу данных, клавиатуры с функциональными клавишами и устройства ука- зания типа мыши или трэкбола. Это оборудование доступно, дешево и широко рас- пространено. Многие из приведенных ниже рассуждений можно использовать и при Проектировании специальных терминалов и панелей управления. 11 -5. Проектирование интерфейса пользователя 11-5.1. Общие принципы Общие принципы взаимодействия между людьми и машинами, изложенные в Предыдущих разделах, являются фундаментом при проектировании интерфейса Пользователя. Необходимо тщательно проектировать аппаратное и программное обеспечение и подбирать комплектующие. Сегодня ВТ обладает большими воз-
488 Глава 11. Человеко-машинный интерфе< можностями при низкой стоимости. Поэтому вопрос не в том, применять ли тт ледние достижения в области графических технологий, а в том, как их использ^ вать эффективно. °' Основное внимание следует уделить взаимодействию компонентов системы формату и содержанию сообщений и команд. Некоторые из приведенных соображ^ ний остаются в силе и при разработке панелей управления с кнопками или друГИх типов интерфейса. Три основных принципа справедливы для любого прикладного или функци0 нального проектирования и, следовательно, для интерфейсов пользователя Эт принципы — простота, наглядность и последовательность. Их нужно воспринимать как ориентиры, а не как непосредственное руководство для разработки конкретных элементов. Простота Простота (simplicity) — наиболее важный принцип для всех видов проектирова- ния. В задачах управления процессами, в которых используются ЭВМ, каждая кар- тинка на дисплее отображает модель физического процесса и его работу. Простота означает, что вместе с важными данными не выводится бесполезная, несущественная или избыточная информация. С другой стороны, простота вовсе не означает скуд- ность изобразительных средств. Поскольку степень простоты нельзя объективно из- мерить, ее нужно рассматривать как общий принцип в контексте методов проектиро- вания и оценки. Наглядность Наглядность (visibility) — это степень прозрачности функционирования системы. В идеале пользователь должен иметь ощущение прямого контакта с техническим процессом, а не с автоматизированной системой управления. Наглядность позволяет опознавать цели и функции устройств по некоторым визуальным образам интерфей- са (цвет, форма, вид). Наглядность должна обеспечивать связь между техническим процессом, его режимами и мысленной моделью пользователя. Система управления должна поддерживать и улучшать наглядность управляемого процесса. Пример простого и наглядного отображения приведен на рис. 11.5. Очевидно, что нет необходимости обращать внимание на конкретную цифру или использовать ру- ководство, чтобы понять, находится ли контролируемая величина в разрешенном диапазоне. --------------------------v—- о 10 20 30 40 50 60 70 80 90 100 Рис. 11.5. Пример интуитивного представления информации Современные средства отображения измерительной информации — результат не- скольких десятилетий развития. Стрелочные приборы дают немедленную информа-
0.5. Проектирование интерфейса пользователя 489 цию об относительной величине параметров и тенденции их изменения; цифровые приборы показывают информацию с большей точностью, но она не воспринимается таК Же быстро. В некоторых системах наглядность достигается с помощью графических мета- фор — пиктограмм, связанных с повседневным опытом. Пиктограмма на экране ко- дирует операцию на основе очевидных ассоциаций, например ручка обозначает чТо-либо, связанное с записями, а увеличительное стекло — устройство масштабиро- дания для детального просмотра информации. Изображение не обязательно точно соответствует тому, что стоит за ним в обычной жизни, оно создает ассоциации меж- ду назначением известных объектов и похожими операциями в компьютерной сре- де — символы дают визуальные подсказки о функциях и операциях. Важно не переоценить значение зрительных образов особенно в системах управ- ления процессами. Сравнительно неквалифицированный клерк может считать, что применение повседневных символов для обозначения системных функций удобно и прозрачно. Для управления процессом, вероятно, более приемлемо использовать пиктограммы в их прямом значении и не смешивать разные подходы. Применение в одном контексте метафор из разных областей усложняет восприятие и приводит к путанице. Придерживаться известных и отработанных правил и установленных стандартов важнее, чем использовать оригинальные метафоры. Последовательность Последовательность {consistency) означает, что для отображения одинаковых или аналогичных элементов системы применяются однотипные обозначения. Для того чтобы описание или визуализация системы были последовательными, сначала необ- ходимо установить или разработать принципы структурирования. Последовательность можно рассматривать как наглядность, основанную на аналогии. Там, где наглядность необходима для первоначального понимания идеи, последовательность помогает перенести существующие знания в новый контекст. Последовательность, пожалуй, наиболее трудно реализуемая характеристика интерфейса пользователя. Для ее достижения необходимо классифицировать ис- пользуемые сущности, а затем применять одинаковые правила (язык, сокраще- ния, цвет) для идентификации объектов каждого класса. Принцип последова- Тельности, с другой стороны, требует, чтобы количество классов было сведено к минимуму. Например, если клавиша <F4> используется для загрузки файлов в одной части программы, то ее уже нельзя использовать для сброса периферий- ных устройств в другом месте той же программы, а файлы вместо этого загружать Клавишей <F9>. Последовательность трудно дается в случаях, когда в проекте участвуют не- сколько человек, поскольку один программист привык писать предупреждения ^главными буквами, а другой — строчными. В любом групповом проекте имеют- ся несогласованные решения. Например, одно из них — это стиль предупреждаю- щих сообщений, в результате пользователь может прийти к неоправданному вы- воду. Трудность в достижении последовательности проявляется в случае, когда к опре- деленному представлению применимы несколько противоречивых правил и не оче-
490 Глава 11. Человеко-машинный ---------------—---------^1!РФейс видно, какое из них выбрать. Для преодоления такой ситуации используЮтс подхода. Один заключается в том, что каждый элемент связывается только с ДВа зрительным признаком (величина, цвет, форма и т. д.), так что разные ситуац^^ гут отображаться одновременно, например с помощью размера и цвета. ДруГОе И Мо' ние заключается во введении определенной иерархии, когда определенный nfn формации перекрывает другие. Ин' Важный способ обеспечить последовательность — применение стандарТНЫх терфейсов. Первоначальная анархия, связанная с появлением большого количеств программных продуктов, несколько улучшилась после того, как определенные 1 работки Microsoft Windows, IBM Standard Application Architecture обеспечили унТ фицированную основу для интерфейса. Пример 11.1 Устройства дистанционного управления Устройства дистанционного управления для телевизоров, видеомагнито- фонов и CD-плейеров часто являются примерами плохо спроектированного интерфейса пользователя. Нередко можно встретить пульт управления, со- держащий от 30 до 50 кнопок, из которых по-настоящему важны только не- которые (громкость, выбор программы, отключение звука), а другие исполь- зуются от случая к случаю (яркость, контрастность, регулировка тембра у CD-плейера). Большинство кнопок используются крайне редко (програм- мирование таймера или открытия крышки у CD-плейера). В чем смысл дис- танционного управления крышкой проигрывателя, когда все равно пользо- ватель должен быть рядом, чтобы снять или поставить новый диск? Но все же производители полагают — и не без причины, — что количество клавиш на панели и пульте дистанционного управления произведет нужное впечатле- ние на покупателя и повысит показатели продаж. Это действительно завора- живает многих, поскольку они видят, что их друзья восхищаются количе- ством кнопок на последней модели стереопроигрывателя не меньше, чем самой музыкой. Пульт дистанционного управления, спроектированный в соответствии с требованиями простоты и удобства, должен содержать только наиболее важ- ные функции управления (громкость, тембр, переключатель программ и не- многие другие) и оставить на главной панели все клавиши управления функ- циями, которые редко используются на протяжении всего срока службы устройства (например, программирование часов), или те, которые требуют не посредственного участия пользователя (как на магнитофоне, в котором кассе та устанавливается вручную и соответствующие команды можно выдать не посредственно с панели управления устройства)._ 11.5.2. Применение естественного языка в интерфейсе Обмен информацией с системой управления происходит в различной форме - Ус тановка переключателей, показания ламповых индикаторов, ввод аналоговой ИИ формации с помощью манипуляторов непрерывного действия (мышь или дЖ°и
5. Проектирование интерфейса пользователя 491 сТцк), символы и графические изображения на экране. Стандартный способ обмена ^формацией — сообщения на естественном языке, выдаваемые на экран или вводи- мые с клавиатуры. Стиль таких сообщений отличается от обычного общения между ЛЮДЬМИ. В большинстве случаев ответственность за выбор соответствующего текста диа- лога, которым затем будет пользоваться обслуживающий персонал, несет инженер- технологили инженер-проектировщик. Оператор должен принимать решения и дей- ствовать на основе полученной информации. Поэтому язык для этих целей не может быть урезанной версией естественного языка, а должен специально разрабатываться, лтобы обеспечить необходимое взаимодействие оператора и системы. Некоторые за- мечания на этот счет приведены ниже. Типичные сообщения компьютера — это либо информация о текущем значении величины (“ТЕМПЕРАТУРА = 66.2 °C”), либо чисто текстовые сообщения с несколь- кими вариантами (“УСТРОЙСТВО ПОДКЛЮЧЕНО/ОТКЛЮЧЕНО”), либо пре- допределенные фразы (“Процесс будет завершен через 5 мин.”). Язык человеко-ма- шинного общения должен быть лишен большинства черт, присущих естественному языку — намеки, избыточность, использование риторических оборотов и т. д. Этот язык должен быть полностью предсказуем — “ТЕМПЕРАТУРА = 27.9 °C” — в про- тивовес естественному языку — “температура примерно около тридцати”. Например в России в повседневной речи значение температуры иногда приводится без уточне- ния “тепла” или “холода”. В программе “Прогноз погоды” можно услышать: “Завтра в Москве будет 20 °C”, без указания знака, поскольку это определяется месяцем — декабрь или май. Как компьютер отреагировал бы на такую неопределенность ввода данных? Короткое предложение, используемое для отображения ограниченного числа со- стояний, можно разделить на фиксированную часть — ведущий текст, — определяю- щую тип выбора, и переменную, отражающую текущие состояние — динамическая часть. Сам по себе ведущий текст не дает полной информации в грамматичес- ком/ синтаксическом смысле; скорее он должен создать небольшую “зацепку” для ос- мысления динамической информации. Содержание ведущего текста должно быть таким, чтобы он ошибочно не воспринимался как информация о текущем состоянии. Смысл должна иметь только его комбинация с динамической информацией. В боль- шинстве случаев достаточно использовать различные формы существительного и/или глагола. Например, вместо “Устройство Al 1 включено: ДА/НЕТ” следует использовать “Питание устройства АН: ВКЛЮЧЕНО/ВЫКЛЮЧЕНО” “Л В, °6’^ слУчае следует избегать ведущего текста, который требует ответа типа А цли ‘НЕТ”. В особенно плохо спроектированной системе, известной авторам, оявлялись сообщения типа “НЕТ АВАРИЙНОЙ СИТУАЦИИ = ДА”, т. е., выра- жаясь обычным языком, все нормально . Такой вариант сообщения вполне коррек- 611 в смысле формальной логики, но не воспринимается человеком и, скорее всего, Удет интерпретироваться неправильно. Ведущий текст не должен быть ельником общим, а должен содержать указание на °> какова будет динамическая часть. Сравним следующие примеры.
492 Глава 11. Человеко-машинный _!Ц£Рфейс Состояние устройства А12: ВКЛЮЧЕНО/ВЫКЛЮЧЕНО ? НОРМА/АВАРИЯ ? АКТИВНО/РЕЗЕРВ? Или: Питание устройства А12: ВКЛЮЧЕНО/ВЫКЛЮЧЕНО Режим устройства А12: НОРМА/АВАРИЯ Статус устройства А12: АКТИВНО/РЕЗЕРВ Более четкое различие между статической и динамической информацией на экране достигается, когда ведущий текст выводится с обычной, а динамическая часть — с повышенной яркостью. Если динамическая часть используется для вво- да информации, то текущее поле можно выделить, например, инверсией — цвет текста и фона меняются местами. Динамическую часть, включающую в себя ава- рийные значения переменных, можно выделять специальным цветом или инвер- сией. В литературных текстах для большей художественности и передачи тонких от- тенков используются синонимы. В системах управления, напротив, следует строго придерживаться принципа: один термин — одно понятие. В очень неудачной систе- ме управления, с которой пришлось работать одному из авторов, среди прочих не- лепостей в различных частях программы использовалось семь (!) синонимов для понятия “Выход” — “Выход” (“Exit”), “Завершить” (“Quit”), “Выйти” (“Leave”), “Прервать" (“Break”), “Остановить” (“Stop”), “Конец” (“End”), “Прекращение” (“Termination”). Все эти команды делали одно и то же — возвращали управление на более высокий уровень, но при этом так и осталось неясно, в каких случаях автома- тически сохранялись введенные данные, а в каких нет. Пользователи должны были быть постоянно начеку и запоминать последовательности команд после того, как обнаруживалось, что они все же привели к желаемому результату, и в конце концов больше внимания уделять командам, а не поставленной цели. История умалчивает о том, сколько времени и усилий потратили пользователи из-за плохой организа- ции интерфейса. В ведущих текстах следует избегать слов с негативным оттенком (“ТРЕВОГА , “ПРЕДУПРЕЖДЕНИЕ”), если они явно не связаны с текущим состоянием управля- емой системы. Текст должен служить мотивацией действий пользователя, а не пу гать и раздражать его. Довольно часто применяются сокращения и аббревиатуры. Для этого использу ются различные подходы, например сокращенный текст может содержать первые пять букв исходного слова или включать первую гласную и две следующие за ней согласные и т. д. При выборе аббревиатуры существенно быть последовательным и не смешивать разные подходы. Последовательность означает, что пользователь Ы стро понимает принцип и в состоянии распознать полный текст, стоящий за сокраш6 нием, даже не зная соответствующего правила. Что касается выбора фиксированных сообщений, “воспитанная” система буДеТ упрекать в ошибках не пользователя — “Неверный ввод!”, а себя — “Команда 11Е может быть выполнена в указанном виде. Пожалуйста, введите параметр xz.”, иЛи
j1.5. Проектирование интерфейса пользователя 493 сошлется на заданные ограничения — “Ваш лимит составляет сегодня 1000 руб- дей. Пожалуйста, введите нужную сумму в диапазоне 100-1000 рублей”. Второе и третье сообщения указывают, что требуется от пользователя, и обеспечивают ему реальную поддержку. Выражения типа “Если температура превышает 200°С, сле- дует предпринять действие X”, должны быть только в руководствах. На экране требуются ясность и выразительность — “Температура = 226°С. Выполнить дей- ствие X”. Что касается стиля и содержательности, то прекрасным примером являются ин- струкции к настенным огнетушителям или аварийному выходу из самолета. Пример 11.2 Интеллектуальный “полнофункциональный” офисный телефакс Оборудование для офиса часто является примером несоответствия между компонентами интерфейса пользователя, а также того, как неправильное использование естественного языка существенно затрудняет работу. В каче- стве примера рассмотрим новый полнофункциональный телефакс, выпу- щенный всемирно известным американским производителем. Это устрой- ство, которое работает также в качестве принтера, модема и копировального аппарата, имеет в общей сложности 54 клавиши на панели управления (от- сутствует только клавиша “ВКЛ/ВЫКЛ” — чтобы выключить устройство, необходимо выдернуть вилку из розетки). Чтобы преуспеть на мировом рын- ке, инструкция (220 страниц) и надписи на панели управления переведены на язык страны, в которой устройство продается, в данном случае — русский. Проблема в том, что, вероятнее всего, инструкция и надписи на панели пере- водились разными переводчиками, поскольку они практически не совпада- ют. В инструкции описана процедура “Настройка справочника”, при этом неясно, какую клавишу на панели управления надо нажимать: “Список ди- ректории” или “Установка директории”. Две разные клавиши на панели обо- значены “Варианты списков”, тогда как согласно инструкции одна из них есть “Опции отчетов”, а другая — “Опции качества копий”. То. что в инструк- ции названо “Настройка почтового ящика”, на устройстве обозначено как Установка доступ/адрес”. Аналогичные несоответствия обнаруживаются в организации диалога и в процедурах программирования. В результате большинство функций остаются невостребованными, поскольку для их изу- чения требуются несоразмерные усилия. Если вернуться к проблемам управления процессами, то как бы вы себя чувствовали, если такой же подход был бы использован для обозначений на панели управления авиалайнера или атомной электростанции? Компании, которые продают техническое оборудование — от компьюте- ров до телевизоров и стиральных машин, — знают, что инструкции читаются только после покупки, и поэтому не обращают особенного внимания на их подготовку. Инструкции стараются сделать потолще, чтобы произвести впе- чатление на покупателя. Необходимая информация почти всегда содержится в инструкции, но все бы выиграли, если бы некоторые важные вещи были отделены от массы менее существенных деталей.
494 Глава 11. Человеко-машинный интерфе^с Пример 11.3 Телефоны-автоматы и банкоматы Телефоны-автоматы и банкоматы — это обычно примеры хорошего интер- фейса. Они предназначены для массового неподготовленного пользователя который не может пройти специальную подготовку и тратить время на изуче- ние незнакомых устройств. Позвонить за границу или получить деньги из банкомата, в принципе, более сложная операция, чем изготовление ксерокопии или отправка факса, по- скольку подразумевает более развитый диалог с машиной, включая ввод пользователем некоторой информации (пароля, кодов, размера суммы). И все же пользоваться телефоном-автоматом или банкоматом исключительно про- сто. Причина очевидна: если бы с этим устройством возникали хоть малейшие затруднения, значительная часть потенциальных клиентов не смогла бы их использовать и соответствующий бизнес прогорел бы. Если бы прибыль от копировальных аппаратов и телефаксов возрастала пропорционально количеству успешных операций, как бы выглядели их пане- ли управления? Был бы количественный фактор, определяемый числом функ- ций, более важным с точки зрения продаж, чем качественный, определяемый тем, насколько просто пользоваться устройством? 11.5.3. Кодирование Человеко-машинный интерфейс должен привлекать внимание пользователя к важным фактам и обеспечивать быструю и правильную реакцию на основе предос- тавленной информации. В этой задаче решающую роль играет кодирование. Как мы видели в главе 9, в технике связи кодирование — это изменение некоторых характеристик канала (раздел 9.1). Код связывает тип и степень изменения характе- ристик канала с информацией, которая должна передаваться. Несколько кодов мож- но применять одновременно, изменяя различные характеристики и, следовательно, перемещая больше информации в единицу времени. Стандартные способы кодиро- вания визуальной информации на экране — цвет, образ (форма), размер. Для определения скорости человеческой реакции на информацию, переносимую символами на основе разных методов кодирования, проводились специальные пси хологические опыты, в которых было установлено, что кодирование цветом или цве том и формой одновременно дает лучшее время реакции, чем при кодировании толь ко с помощью формы. Отсюда следует, что цвет является важнейшим атрибуте кодирования. Дополнительно проводились опыты по определению влияния на восприятие р личных способов выделения. Выяснилось, что выделение цветом значительно э фективнее, чем мерцание или инверсия. Более того, будучи полезным на этапе ИЗУЧ ния системы, выделение все больше раздражает по мере того, как пользовате приобретает опыт и начинает ориентироваться в расположении нужной информ ции. Особенно следует подчеркнуть, что текст ни в коем случае не должен мерПаТ^ или двигаться по экрану, поскольку это затрудняет чтение. Достаточно, чтобы окоЛ текста мерцал какой-либо служебный символ.
^.5. Проектирование интерфейса пользователя 495 Цветом можно обеспечить общее впечатление о функциональном состоянии. Зе- деный цвет обычно воспринимается как индикатор безопасности, разрешения или штатного режима (например, что оборудование работает нормально). Красный — со- ответствует аварии, опасности или запрету. Желтый — понимается как предупрежде- иие и может указывать на наличие какой-либо небольшой проблемы. Принцип простоты предполагает, что общее число цветов, образов и способов подсветки должно быть сведено к минимуму. Более того, только ограниченное число цветов или образов можно распознать по отдельности; в случае, когда необходимо использовать несколько цветов или образов, на экране должна присутствовать и со- ответствующая легенда. Цвета должны использоваться достаточно осмотрительно: 4-5 цветов распознаются без значительных усилий; есть предположение, что 7 цве- тов — это максимум, который нельзя превышать. Важно не полагаться только на цвет как способ представления важной информа- ции. Много людей страдает дальтонизмом и, следовательно, не в состоянии распоз- нать цветовые атрибуты. Трудности восприятия некоторых цветов на экране могут быть связаны с особенностями освещения на рабочем месте. Поэтому выводимая ин- формация должна обладать определенной избыточностью, например с помощью ме- ток, текстовых вставок или графических символов, для того чтобы гарантировать правильную интерпретацию. Работу устройств можно представить на экране или панели управления с помо- щью символического или функционального кодирования. Например, если переклю- чатель используется для альтернативного присоединения двух устройств или поточ- ных линий между двумя участками, то можно показать положение самого переключателя и выделить активный элемент каким-либо способом (рис. 11.6). Функциональное представление не требует явного объяснения (легенды) на экране. а б Рис. 11.6. Графическое представление: а — символическое, б — функциональное Принцип последовательности требует, чтобы способы кодирования (цвет, форма, за- полнитель) сохранялись во всей системе и не зависели от контекста, т. е. недопустимо, <1т°бы один и тот же атрибут имел разное значение на разных экранах. Если в одном ме- СТе красный цвет означает аварию , то он не должен означать “высокая температура” в ^РУгом или “входной поток — в третьем. Следует добавить, что кодирование должно Ь1ть естественным, т. е. должно восприниматься бессознательно и не требовать допол- нительных объяснений. Кодирование холодного красным цветом, а “горячего” — голу- Ь1м или же “НОРМА” — красным, а ГА — зеленым технически вполне допус- KiMo, но потребует усилий для понимания, так как отличается от общепринятого.
496 Глава 11. Человеко-машинный интерф Может быть, можно утверждать, что после должного обучения операторы 6v состоянии сказать, когда красный цвет означает “тревога”, а когда “входной пото & но тогда теряется одно важное преимущество. В соответствии с моделью делг (раздел 11.2.2) наиболее эффективны реакции на уровне навыков (сенсомоторт " на уровне правил. Если оператор на тренировках заучил, что красный цвет вс соответствует “аварии”, то, когда он увидит этот цвет, его реакция будет мгновенн ' Если же требуется дополнительное мысленное усилие по сопоставлению красного цвета с содержанием текущего экрана и оценке того, что он означает в конкретном контексте, то возникает дополнительное напряжение, а реакция замедляется, и зна чит, возрастает вероятность ошибки. Правильный выбор символов очень часто противоречив. Аварийное состояние процесса, связанное с недопустимым понижением температуры, следует обозначать красным или голубым? Это зависит от того, что в данном случае имеет более высокий приоритет: дать немедленное представление о температуре или же обозначить функ- циональное состояние, в котором естественный цвет для аварии — красный. В любом случае, всегда должна соблюдаться последовательность. Значение кода не очень су- щественно, если он всегда используется для идентификации одного и того же. 11.5.4. Отображение информации о процессе Отображение информации о процессе на экране — один из важнейших моментов организации интерфейса пользователя в системах управления процессами. Картина на экране может рассматриваться с пассивной — сообщить информацию, или с активной точки зрения - направлять оператора при выполнении замыслов разра- ботчика. В общем, цели процесса управления можно определить как, во-первых, вести процесс в соответствии с технологией и, во-вторых, распознавать и выявлять аварийные состояния и предпринимать необходимые меры, чтобы поддерживать безопасность про- цесса. Поэтому информация на экране должна обеспечивать различные типы задач: - нормальный режимы работы: запуск, остановка, управление процессом в нор- мальных условиях, определение параметров, оптимизация; - выявление аварийных состояний; - поддержка при определении стратегии вмешательства. Содержание информации должно быть приведено в соответствие с потребности ми пользователя — специалист не заинтересован в “простой” информации, которая напротив, может быть весьма существенна для начинающего. Поскольку новички ис- пользуют то же оборудование, что и опытные специалисты, то необходимы компр0 миссы. Типичный пользователь считает важным все, что появляется на экране, этому информация должна быть простой и не содержать бесполезных деталеИ' которые могут отвлечь внимание. по Проблема отображения информации на экране — это решение о том, что Д°-' (( быть показано и как. Ответ на первый вопрос дает анализ структуры произволе , цели отображения, т. е. какую информацию необходимо сообщить или какие пр' водственные задачи должны быть выполнены. Если данные носят обычный и мационный характер, то достаточно простой табличной формы. В этом случае Н, убедиться только в том, что использованы соответствующие единицы измерен11*1, дущий текст и код состояния. 1 5. Проектирование интерфейса пользователя 497 Простейший метод структурирования данных сложного производственного ком- плекса вытекает из иерархического разделения информационных потоков, описан- ного в разделе 9.6.1 (рис. 11.7). На каждом экране должна быть представлена только оСновная мысль в наиболее простом виде. Акцент должен быть сделан на наиболее важной информации, касающейся определенного объекта или задачи. Например, при обзоре состояния завода высший приоритет имеют обобщенные показатели хо- зяйственной деятельности. На экране, относящемся к участку, для каждого устрой- ства должны быть приведены лишь несколько основных показателей, например ин- дикация штатного или нештатного состояния и текущая производительность. Все параметры, относящиеся к одному устройству, должны умещаться на одном экране. На более высоком уровне абстракции экран для производственной линии должен представлять основные данные по каждому участку, без детального состояния. Не- смотря на то что основной объект (завод, производственная линия) может быть весь- ма сложным, функциональный смысл каждого экрана должен оставаться простым — нормально или нет работает станок, участок, завод? Рис. 11.7. Структуризация отображения информации по уровням управления 1021
499 498 ГЛЭВа 11 ’ Используя современную систему организации “окон”, пользователь рает” всю необходимую ему информацию в удобном виде (рис. 118) -р16™0 <<соби- каждое окно должно отображать лишь одну основную мысль — пол Не X1efiee организует нужную комбинацию окон. аТель сам Рис. 11.8. Пример разделения на окна для отображения информации о процессе — си стема управления ABB Advant OCS. Разные уровни детализации показаны одновре менно в отдельных окнах по запросу пользователя (с разрешения ABB Autom Products АВ, Швеция) В общем случае правильно организованное отображение информации имее дующие характеристики: - оно адекватно цели, т. е. предоставляет не более и не менее информаЦИИ’ необходимо (простота); - оно, насколько возможно, самодокументировано (наглядность); цве. - оно унифицировано на нескольких уровнях: на разных экранах символы^^^. та имеют одинаковое значение, и пользователь знает, чего ждать в Ра3- ситуациях (последовательность). атедЯ вЫ При определенных условиях цель вывода на экран — заставить пользо ^до- полнить некоторые действия. В этом случае информацию, на основе которо^^ Д°” ватель должен действовать, необходимо выделить. Инструкции по УпРаВЛ гКоЛь1< жны быть сформулированы четко. Если выведенные данные допускают альтернатив, требуемое действие должно быть указано явно. иплектирование интерфейса пользователя djjr-—— тЬ пользователя нельзя перегружать, особенно принимая во внимание, что венное, с чем у ЭВМ нет проблем, — это хранение и воспроизведение инфор- eJ(IflCT в этом она намного превосходит человека. Пользователь не должен запоми- ^^куЮ-либо информацию на одном экране, чтобы затем использовать ее на дру- ваТЬ ущественную информацию проще вывести на разные экраны в соответствии ^'шаемыми задачами. Выполнение любой задачи должно быть сведено к неболь- £!’е числу шагов и минимальному числу команд. ® КарТину отображения процесса на графическом дисплее можно проектировать исходя из разных принципов. В географическом или физическом представлении лан предприятия или агрегата изображается специальными символами (боль- шинство технических символов стандартизировано). В этом случае картинка раз- рабатывается в соответствии с принципами черчения; результат может оказаться довольно запутанным и сложным для понимания. Альтернативой является линей- ное представление физических процессов без учета их действительного простран- ственного размещения. В последнем случае обычно наиболее предпочтительно раз- мещать изображения слева направо и сверху вниз. Применение принципов простоты, наглядности и последовательности при разра- ботке экранов, вероятно, наиболее удачный метод снижения сложности отображе- ния информации. Любое изменение дизайна экрана, улучшающее одну из этих ха- рактеристик и не ухудшающее другие, должно приветствоваться. На рис. 11.9 и 11.10 показано, как структурирование помогает сделать информа- цию более понятной. Хотя информация одна и та же, разница очевидна. 4.5.5. Команды оператора Взаимодействие между оператором и оборудованием происходит не только в на- правлении от машины к человеку, но и от человека к машине, если необходимо его !1|ешательство. Пользователь вводит данные, набирая команды на клавиатуре, на- *и«ая кнопки на панели управления или манипулируя устройствами типа мыши ^Джойстика. Ниже приведены некоторые соображения, касающиеся организации в°Да информации, главным образом с клавиатуры. чень важно, чтобы пользователь получал немедленное “ощущение”, что команда ощу еНЭ И пРинята’ даже если соответствующая обработка не происходит сразу. Это Яы(ПиенИе начинается со “щелчка” клавиши или с движения курсора под действием !о,|аль^Р“Г0^ пРимеР непосредственной обратной связи — это звуки, сопровождающие на(ч°Р номера нателефоне. Эта чисто интуитивная обратная связь — мало кто Распознать набираемый номер по звуку, но информации достаточно для того, М к°Пределить, что все цифры номера набраны и случайное движение пальца не при- П“’СКУ цифры или повторению ее набора. Если же после нажатия клавиш ''Зад N> ИЛИ ^NTEIO ничего ощутимого не происходит из-за большой времен- ^°Ман КИ прОцесса>то может возникнуть вопрос, работает ли система правильно. ,|ецц0^Да Задает опорное значение для некоторого состояния; текущее значение пе- Мц3м Станет равным опорному, только если система управления, исполнительные мо0 Ь1, Датчики и физический процесс — все вместе работают правильно. Необхо- "Ми Леленное время, чтобы команды достигли исполнительных механизмов, вы- П, ч и результат был сообщен оператору. Текущие и опорные значения должны К° Идентифицированы, чтобы их нельзя было перепутать друг с другом.
500 ^11^5222^^ Water Treatment Plant [24] Chemical Precipitation Section - ---------------------------------------------------------------------14:18:04 105 118 127 132 138 139 143 154 166 221 226 232 237 242 SILO OUTPUT STATE=ON ALARM=NO OVERHEAT=YES FINAL OUTPUT STATE=OFF ALARM=NO OVERHEAT=NO FILTERING STATE=ON ALARM=NO OVERHEAT=NO WASTE STATE=ON ALARM=NO OVERHEAT=NO FILTRATION STATE=ON ALARM=NO OVERHEAT=NO INLET STATE=ON ALARM=NO OVERHEAT=NO PROCESS WATER STATE=ON ALARM=NO OVERHEAT=NO WASHWATER STATE=ON ALARM=NO OVERHEAT=NO REACTION VESSEL OUTPUT STATE=ON ALARM=YES OVERHEAT=NO SLUDGE SILO FEED STATE=ON ALARM=NO OVERHEAT=NO SLUDGE " ....... SLUDGE VACUUM LIQUID LIQUID ALKALI NA-SULPHIDE INLET STATE=ON ALARM=NO OVERHEAT=NO POLYMER PROC.A INLET STATE=ON ALARM=NO OVERHEATING POLYMER PROC.В INLET STATE=OFF ALARM=NO OVERHEAT=NO POLYMER PROC.C INLET STATE=ON ALARMING OVERHEAT=NO VESSEL OUTPUT /127/ (m3/h) = 53 PUMP PUMP PUMP PUMP PUMP PUMP PUMP PUMP PUMP PUMP PUMP PUMP PUMP PUMP REACTION SLUDGE SILO FEED /132/ (m3/h) = 92 SLUDGE SILO OUTPUT /138/ (m3/h) = 74 NA-SULPHIDE INLET FLOW /226/ (m3/h) = 68 Input Command » Рис. 11.9. Пример плохо структурированного экрана Water Treatment Plant [24] Chemical Precipitation Section 14:18:04 Main reaction Operation Function Overheat Flow Rate PUMP 105 PROCESS WATER ON OK OK PUMP 118 WASHWATER ON OK OK PUMP 127 REACTION VESSEL OUTPUT ON ALARM OK 53 mj/ii PUMP 132 SLUDGE SILO FEED ON OK ОК Уб nlJ/i' Main reaction Operation Function Overheat Flow Rate PUMP 138 SLUDGE SILO OUTPUT ON OK ALARM "IJ/ PUMP 139 SLUDGE FINAL OUTPUT OFF OK OK PUMP 143 VACUUM FILTERING ON OK OK PUMP 154 LIQUID WASTE ON OK OK PUMP 166 LIQUID FILTRATION ON OK OK Main reaction Operation Function Overheat Flow Rate PUMP 221 ALKALI INLET ON OK S- 68 m3/h PUMP 226 NA-SULPHIDE INLET ON OK UK PUMP 232 POLYMER PROC. A INLET ON OK UK PUMP 237 POLYMER PROC. В INLET OFF OK UK nk' PUMP 242 POLYMER PROC. C INLET ON OK UK (Input Command » — Рис. 11.10. Та же информация, что и на рис. 11.9, но в . вИде структурированно
501 проектирование интерфейса пользователя 0дПР,-------------- сиСтема не отрабатывает команду немедленно, то должна быть предусмотре- ‘"с‘ я-либо предварительная реакция для индикации того, что команда принята и ть1вается. Это может быть сообщение с подтверждением или изменение на эк- ^атрибутов введенной информации. Действие команды должно быть очевидным, должна быть возможность ее отменить. В случае процессов с большими вре- йВС ми задержками первой реакцией может быть сообщение типа: "Новая уставка ме(!1ературы составляет 66 °C. Расчетное время достижения уставки — 18 минут [в 14:28]-’ Иерархический подход к структурированию, аналогичный применяемому для пессов и их потоков информации, возможен и для команд. Нижний уровень — это команды прямого управления исполнительными устройствами, верхний — это ко- манды инициирующие последовательность операций для выполнения сложных процедур- Последние являются по сути пакетными (batch) или командными файла- ми (command file). Принцип последовательности важен не только при отображении процессов, но и в организации ввода команд. Аналогично выводу данных ввод команд должен быть контекстно-независимым и приводить к одинаковым результатам безотноси- тельно к предыдущим'действиям, истории процесса и текущему состоянию про- граммы. Командные строки, которые вводятся с клавиатуры, должны быть как можно ко- роче, не теряя при этом своего смысла. Хороший метод — использовать первые буквы функционального имени команды при условии, что различные сокращения не конф- ликтуют. В операционной системе V АХ/VMS этот способ используется для всех ко- манд и параметров, причем всегда достаточно первых четырех букв (безусловно, ко- манды могут вводиться и в полном виде). В полях, где требуется ввод алфавитно-цифровой информации, обычно имеют смысл лишь несколько комбинаций. “ЗПС” и “ПРАВ” являются такими же буквен- ными комбинациями, как “ВКЛ" и “ВЫКЛ”, но они не воспринимаются бинарным исполнительным механизмом. Возможные способы избежать бессмысленных вход- ных данных: U) показывать правильные значения в качестве фоновой информации; (2) организовать выбор возможных значений из меню; 1 выдавать сообщение, если введенные данные не поняты системой. 1кт ”Oc°6 (О неудобен, если число возможных команд велико; он быстро приво- 3ап°ЛНению экрана избыточной статической информацией. Способ (3) мо- ’’Ч'и.м ВаТЬ 3апазДывания, зависящие от частоты ошибок. Решение (2) близко к ^йсаиЬН°Му; это пРеДпОчтительный метод при пользовании оконного интер- ес ПоРаскРывающихся меню. Новую величину можно либо набрать на клавиа- авЛе Краиней мере, часть знаков, либо выбирать из меню с помощью клавиш ще НИя курсором или мыши. Выбор подтверждается клавишей <ENTER> ’^'ЧУк)Ч1<С)М мыши' Система может предлагать выбор по умолчанию, например ацд ’ "РеДыдущую, наиболее часто используемую или наиболее безопасную Молчание может быть принято системой, если пользователь явно не Фи ег°' a aаДекватной сложности справедлив и для ввода информации. Если ко- мически устанавливает нескольких бит, тогда диалог с помощью клавиату-
502 503 1дРфейс ры излишен. Зачем писать “УСТАНОВИТЬ УСТРОЙСТВО №2=ВКгг если простейший выключатель выполнит ту же функцию? Если проце жен и включает несколько параметров, тогда разумно использовать ^°Лее ВО- ССТАНОВИТЬ УСТРОЙСТВО №2=ВКЛЮЧЕНО, МОЩностЬ^сТ^ ' ТАВКА=3224”. УС- Набор команды на клавиатуре требует определенного обдумывания и вести к ошибкам. Рекомендуется запросить подтверждение перед испо М°Жет При' ветственных команд, например “Вы действительно хотите загрузить °Т' [ДА/НЕТ]?” Здесь может возникнуть проблема, поскольку когтя СИстем? j некоторое дей- ствие заучено, оно выполняется автоматически на сенсомоторном уровне и без нейшего обдумывания. Сам по себе вопрос еще не гарантирует точных нам ДЭЛЬ' пользователя, который может набрать “ДА” и только потом задуматься о воп ИИ Можно предложить и другие стратегии. В некоторых технических системах потенциально опасные команды преднаме- ренно оформлены так, что их трудно ввести. Это не обязательно лучший подход Специфические команды, которые должны выполняться только в определенных критических ситуациях, вместо этого можно защитить паролем. Хорошие систе- мы управления должны быть одновременно безопасны и просты в эксплуатации. Если существуют процедуры моделирования управляющей системы и процесса, то потенциально опасные команды должны восприниматься только после оценки результатов моделирования и лишь затем передаваться реальному техническому процессу. Безусловно, такая стратегия применима только для систем определен- ного класса и в зависимости от требуемой скорости ввода управляющих дей- ствий. Очень важно иметь способ немедленно остановить управляемую систему в случае аварии. В такой ситуации никто не будет терпеливо набирать на клавиатуре предпи санную последовательность команд. Четко обозначенная кнопка аварийного откж чения “ОТКЛ” должна быть установлена в пределах досягаемости оператору правило, такие кнопки раскрашиваются красным на желтом поле. Кнопка обычно выполняется достаточно большой, чтобы можно было работать в спе ных защитных перчатках и не промахнуться. „ ОНа Настоятельно рекомендуется применение системы оперативной г^)М°аченНОй. должна вызываться всегда одной и той же клавишей, отчетливо и ясно о оз Современные системы предлагают проблемно-ориентированную помошь^ ^^дЯ. познают текущую ситуацию — данные или программы, которые ра отаю щий момент, — и формируют соответствующие указания. 11.5.6. Меню Принципы наглядности и последовательности, которые необходимо CO^H(O при разработке экранов и команд, должны применяться и при организанииме^ Прежде всего, структура меню должна быть такой, чтобы пользоват • ^аГ0. мог в ней разобраться. Каждое меню должно идентифицироваться назван! нЯ>цз ловком), как правило, совпадающим с текстом пункта меню предыдушеГ° У которого оно вызвано. ф\Н*" Элементы меню должны иметь один и тот же уровень абстракции до-'1’*'11' ции, как “удалить символ”, “напечатать файл” и “перегрузить систему - н проектирование интерфейса пользователя . пежать к одному меню. Элементы меню должны располагаться не случайно, некоторому логическому принципу. Принцип упорядочения должен быть >СЛ идей длЯ пользователя- Если нет разумной альтернативы, то, в крайнем случае -че о использовать алфавитный порядок. 1,0 В идеале- число элементов меню не должно быть слишком велико. При большом элементов на экране пользователь успевает забыть первые из них, пока он про- ает список. Если система имеет очень много возможностей, нужно найти оп- ленный компромисс между средним числом элементов в каждом меню и числом Ровней иерархии. Аналогичные функции в различных меню должны быть привязаны к тем же са- мым клавишам (последовательность). Команды “ПРЕРВАТЬ” (break) и “НАЗАД” (go back) должны быть доступны из любого меню, возможно, в виде определенной комбинации клавиш. Должна быть предусмотрена возможность в любой момент вре- мени прервать текущую работу и вернуться к меню предыдущего уровня и даже кюриевому или главному меню. Должны быть исключены ситуации, когда для того, чтобы просто выйти из меню или диалога, приходится проходить через серию экра- нов или отвечать на дополнительные вопросы. 11.5.7. Оценка интерфейса пользователя После реализации интерфейса пользователя необходимо проверить, удовлетво- ряет ли он установленным требованиям. Одно из них является абсолютно формаль- ным - соответствует ли результат программирования проектной документации. Бо- ке важно, однако, проверить, что интерфейс в целом — проект и его воплощение — помогает работе технической системы и, соответственно, удалось ли достичь адек- ’атности и уменьшения степени сложности с точки зрения пользователя. Предварительно должны быть сформулированы критерии оценки. Определение Ютовых задач является сложной, иногда весьма трудоемкой проблемой. Более того, !СИЛия должны быть соразмерны целям. Очевидно, что уровень тестирования дол- *ен бЫть различным для очень специфической системы управления, построенной № жестких бюджетных ограничениях, и для массового продукта с огромным потен- ^ьным числом потребителей. 1т₽оц Д^еТ Отметить- что> поскольку тестирование происходит при участии людей и ьттеН0СЯ На ИХ сУжлениях и оценках, результат всегда носит заметный субъективный !Ииек°К' ^°’ Что одному покажется отличным, может раздражать другого. Следую- ТеРии лля оценки интерфейса более или менее объективны и могут быть ре- . снДованы в общем случае. • К0°Р0СТЬ Раб°ты- Сколько времени занимает выполнение набора тестовых задач? пРи в ество ошибок пользователей. Как много и какого сорта ошибки сделаны • субъ олнении набора тестовых задач? ‘ ВРемеКТИВНОе Удовлетворение. Насколько пользователям нравится система? * СОх Я ^'Учения. Как быстро типичный пользователь осваивает основные команды? есдц ение навыков. Насколько хорошо пользователи сохраняют свои знания, ц °ни не работают с системой в течение часа, дня или недели? ! ,еТвРеЧИСЛеННЫХ кРитеРиев для скорости работы, количества ошибок и степени °Рения Оценку можно получить сравнительно быстро и, следовательно,
11-6. Графический интерфейс пользователя. Системах Window 505 504 Глава 11. Человеко-машинный интерфе^с обеспечить хороший выбор тестовых задач. Для оценки скорости обучения и сохра- нения навыков требуется больше времени. Поэтому эти показатели вряд ли могут быть реально включены в число параметров, непосредственно принимаемых во вни- мание. Однако они могут играть важную роль в периодических переоценках продук- та, занимающего значительную долю на рынке и не ограниченного только одной ка- тегорией пользователей. В общем случае невозможно утверждать, что хороший интерфейс легко изучает- ся. Скорее, необходимо рассматривать соотношение между конечной целью и усили- ями по ее достижению: ставилась ли задача сделать интерфейс простым в изучении, гибким, понятным или нет? Только выполнение поставленной цели может дать меру качества интерфейса. Это прозвучит странно, но наилучшие интерфейсы пользователя быстрее всего забываются. Дело в том, что естественный интерфейс не требует каких-либо специ- альных усилий для изучения. 11.6. Графический интерфейс пользователя. Система X Window Графический интерфейс пользователя {Graphical User Interface — GUI) широко распространен на персональных компьютерах и рабочих станциях. Независимо от не должен платформы принцип всегда один и тот же — пользователь не должен фиксировать свое внимание на действии и соответствующем объекте, как при ко- манде “ВЫПОЛНИТЬ ПРОГРАММУ”. Вместо этого действие уже неявно подра- зумевается объектом, потому что программа не может делать ничего другого, как выполняться, текст может только редактироваться и т. д. Объекты представлены на экране в графическом виде пиктограммами — они выбираются с помощью указа- тельного устройства и активизируются так называемым способом “укажи-и-щелк- ни” {“Point-and-Click”)^. Очевидное преимущество стандартных графических интерфейсов в том, что они обеспечивают принцип последовательности во взаимодействии с ЭВМ. Небольшой набор индикаторов и управляющих элементов интерфейса используется одинаково в разных программах. Навыки, сформированные у опытного пользователя на сенсомо 1 Тем не менее, хотя для большинства пользователей это не очевидно, графический^^ терфейс позволяет обойтись и без мыши. Переходить от окна к окну, выбирать ° ^н. или элементы меню можно с помощью комбинаций соответствующих клавиш. Ьст g но, для того чтобы выучить многочисленные управляющие клавиши разных про у^° потребуются значительные усилия, однако результат стоит того как с точки зрения кла- сти работы, так и с точки зрения удобства и снижения утомляемости: переключен виатуры на указательное устройство требует времени и отвлекает от выполняемо Г ты; с клавиатурой можно работать вслепую, а мышь требует концентрации вним точного позиционирования; при работе с мышью значительно сложнее организова ^здЯ0 чее место, так как для нее требуется много свободного места на столе, и рано ил с вы начнете испытывать физический дискомфорт; наконец, однообразные манипу е, мышью более утомительны, чем “игра” на клавиатуре. Если разработчики были ьы ь3у довательны при назначении функциональных клавиш, то выбор, очевидно, не в мыши. — Примеч. ред. торном уровне и уровне правил, упрощают переход от одной программы к другой и освоение новых программ. На рынке существует большое количество пакетов программ для сбора и обработ- ки данных, основанных на современном интерфейсе пользователя. Пользователь строит систему в виде блок-схемы на экране, в соответствии с которой ЭВМ генери- рует процедуру решения задачи. Такая методика, с одной стороны, позволяет стро- ить весьма сложные отношения, а с другой — серьезно повышает эффективность ра- боты, потому что при этом исключается программирование в классическом понимании. Наиболее известными типами графических интерфейсов являются User Interface Guidelines (UIG), он же “Apple Macintosh Interface”, интерфейс Microsoft Windows и Common User Access (CUA) для IBM Systems Application Architecture (SAA). В сфе- ре промышленных приложений в основном используются Open Look (AT&T), Open Windows (Sun Microsystems Inc.) и OSF/Motif Display Standard (Open Software Foundation Inc.). Последний особенно широко распространен в системах управления и сегодня может рассматриваться как стандарт де-факто для таких приложений. Этот интерфейс сочетает в себе черты, характерные как для персональных компью- теров, так и для мира мейнфреймов, обеспечивая тем самым привычную среду на раз- личных платформах. При использовании графического интерфейса программист может сосредоточить- ся на конкретном приложении, поскольку основные средства для организации окон уже включены в систему. Это команды типа “Изменить положение окна”, “Изменить размер окна , “Открыть выпадающее меню”, “Переместить курсор по меню и выбрать” и т. д. С точки зрения программиста, многие довольно сложные операции интерфейса можно выполнить с помощью обращения к функциям пакета GUI. Безусловно, содер- жание меню и само приложение пишется программистом, и именно оно есть область реального взаимодействия пользователя, ЭВМ и задачи. Системы организации окон, роде OSF/Motif или Open Look, могут улучшить качество и функциональность хоро- ю продуманных диалогов, но ничего не добавят хаотичной системе. Работа GUI основана на идее “виртуального терминала” (раздел 9.2.3). Наиболее важным прикладным результатом является, вероятно, система X Window — сетевая оконная система, разработанная в Massachusetts Institute of Technology как метод уп- авления расширенным графическим оконным интерфейсом. Система X Window еализована для нескольких операционных систем. 60„ спользуя систему X Window, пользователь получает стандартный доступ к лю- сцИ пРогРамме> которая выдает результаты в соответствии с протоколом “X”, незави- И0М° от ТОгО’ на какой платформе эта программа исполняется. Х-протокол — это пол- описание функций,, которые поддерживают вывод на экран терминала окон, ЛИНИЙ’ КРУГ°В И ДРУГИХ °бъектов, связанных с графикой и текста- ми” КН° На Раб°чей станции может принадлежать программе, исполняемой на са- Вйи Станцииили ДРУГОМ узле сети и под другой операционной системой, но при усло- ВЫй’ ЧТ0 0На имеет И1ГгеРФеис она может посылать информацию для °Да На экРан первой станции. indow поддерживает устройства ввода — кла- атУРУ и мышь. У Собственно, система X Window - это протокол обмена сообщениями между сервером и Х-клиентом, где сервером является станция пользователя, а клиен-
506 Глава 11. Человеко-машинной том — станция, на которой исполняется прикладная задача. В системе X \Хг клиент генерирует инструкции по выводу изображений, а Х-сервер управл миналом, рисуя графические объекты и текст как реакцию на сообщения ^Яет ТеР' та. Сервер также передает действия пользователя — нажатия на клавиши и КЛИен' ния мыши — любому Х-клиенту, т. е. прикладным программам соотдр ДВИзке' управляяими. ’ СТвен«о Каждая станция имеет менеджера окон — специального Х-клиента, который тролирует вид всех графических объектов на экране. Менеджер окон устанавл К°Н~ стиль окна, т. е. внешний вид и поведение (look and feel) оконной системы и следоваТ тельно, управляет наложением окон, изменением размеров, масштабированием и зиционированием в соответствии с командами пользователя. Работа системы X Window не привязана к какому-либо определенному сетевому протоколу, но до сих пор она в основном использовалась с операционной системой UNIX, т. е. с протоколом TCP/IP, поэтому эти продукты часто ассоциируются один с другим, однако это разные решения для разных, хотя и связанных, задач. 11.7. Заключение Разработка ориентированного на пользователя интерфейса процесса должна быть сосредоточена на возможностях человеческого восприятия. Вместо того чтобы подменять людей при решении тех задач, с которыми они вполне справляются, ЭВМ должна применяться там, где человеческие возможности ограничены. С этой точки зрения ее можно рассматривать как инструмент управления сложностью. Если слож- ность управления техническим процессом превышает пределы человеческих способ- ностей, то система управления должна помочь снизить эту сложность до приемлемо- го уровня. Следует добавить, что уровень сложности должен соответствовать решаемой задаче. Автоматизированные системы мониторинга и управления сами по себе не явля- ются ни “хорошими”, ни “плохими” — их нужно оценивать относительно решаемых задач. Если продукт снижает сложность управляемой технической системы, то его внедрение оправдано. Плохой продукт обладает собственной внутренней сложнос- тью, которая ложится дополнительным грузом на пользователя, — такая система не может помочь в решении задач управления. Как много систем — так много и пользователей. Типичного пользователя не суще- ствует. Часть людей хорошо знают ВТ, позитивно настроены и всегда хотят узнать больше. Другие боятся компьютеров или просто не имеют стимулов и ничем не инте- ресуются. Очень часто, особенно когда система управления строится вокруг суще- ствующего технического процесса, пользователи — это хорошо подготовленные при- кладные специалисты. Нередко они не доверяют программистам, которые не вникают в детали процесса, и по любому поводу отпускают замечания о том, “как все хорошо было раньше”. Проектировщик отвечает за систему, пользователь — за выполняемую системой задачу. Автоматизированная система управления принимается пользователем тог- да, когда он видит в ней инструмент, способный улучшить, а не нарушить управле- ние предприятием. Правильное проектирование человеко-машинного интерфейса имеет для этого фундаментальное значение. Для неподготовленного пользователя особенно важны эргономические характеристики. Здесь необходим определенный 0 7. Заключение ^ромисс межДУ предположением, что пользователи ничего не знают и ничего не состоянии выучить, и требованием, чтобы пользователи все-таки изучили кое-что 8 сИстеме управления. Второй путь требует большего внимания и планирования, 9 оН и окупается в большей мере. Обучение — всегда хорошее вложение капитала: одготовленный пользователь по крайней мере знает, чего хочет, и менее склонен ошибаться. рекомендации по дальнейшему чтению Некоторые базовые знания по психологии могут оказаться полезными для пони- мания основных идей по разработке дружественных пользователю программных продуктов. Введение в психологию, с солидным разделом, посвященным восприя- тию, обучению и теории двухуровневой памяти, содержится в [Atkinson et al., 1990]. Книга рекомендуется тем, кто заинтересован более подробно заниматься этими про- блемами. Теория двухуровневой памяти описана также в [Atkinson/Shiffrin, 1971]. Еще более глубокиеизыскания, касающиеся проблемы распознавания в психологии, приведены в [Solso, 1993]. [Sanders/McCormick, 1993] является содержательным справочником по различ- ным сторонам практической эргономики; она может быть рекомендована читателям, заинтересованным в расширении кругозора. Сборник [Salvendy, 1987] содержит ма- териалы различных авторов и посвящен главным образом рассмотрению психологи- ческих и познавательных проблем при работе со сложными системами. Прекрасная книга, позволяющая взглянуть на веши с точки зрения пользовате- ля, — это [Norman, 1988]. Она содержит несколько примеров того, как не нужно про- ектировать устройства и инструменты, — это захватывающая лекция о здравом смысле в технике. Книга уделяет особое внимание принципам проектирования (про- стота, наглядность и последовательность), на нескольких примерах демонстрируя хорошо или плохо выполненные разработки. Парадоксы в обращении пользователей с ЭВМ описаны в [Bainbridge, 1983]. Вопросы эргономики программного обеспечения рассмотрены в [Shneider- п>ап, 1998], особенно в части, касающейся организации объектов на экране и интер- активных командных языков для поиска информации в базах данных. Общим вве- дением в проблемы интерфейса пользователя являются [Norman/Draper, 1986] и [Preece/Keller, 1990]. Модели человеческих действий на уровне навыков, правил и знаний впервые описаны в [Rasmussen, 1983]. Ошибки и их последствия в сложных системах рассмотрены в [Rasmussen/Duncan/Leplat, 1987]. Руководства и стандарты для интерфейсов пользователя Ниже приведены наиболее распространенные руководящие докумен лоКУ1 Работке интерфейсов пользователя в системах управления процессами Менты можно использовать как справочники при проектировании и РФ пользователя. . ANSI/IEEE 845-1988, “Guide to Evaluation of Man-Machine Performance in 1 Power Generating Stations, Control Rooms and Other Peripheries”. ANSI/IEEE 1023-1988, “Guide for the Application of Human Factors hnginee & Systems, Equipment and Facilities of Nuclear Power Generating Stations”.
508 Глава 11. Человеко-машини. Sun Microsystems Inc., “OPEN LOOK Graphical User Interface- Specifications” и “OPEN LOOK Graphical User Interface: Application Stvf г Unct’°nal Addison-Wesley, Reading, MA, December 1989. e U1^elines”; Open Software Foundation, “OSF/Motif Style Guide” и “OSF/Motif U ’ Prentice Hall, Englewood Cliffs, NJ, 1990. Ser s Guide”, Существуют и несколько руководств по наиболее распространенным сам пользователя в среде Windows и UNIX. ИНтеРфей-
12 Системная интеграция Взаимодействие компонентов системы управления и подходы к их интеграции Обзор g предыдущих главах рассмотрены идеи и понятия, касающиеся управления тех- ническими процессами. Эта глава посвящена объединению отдельных составляю- щих в законченную систему. В сложных системах все компоненты должны соответ- ствовать друг другу. Достаточно одного не слишком удачного решения, касающегося какой-либо части или компонента, чтобы поставить под угрозу работу всей системы. Не существует готового рецепта, как построить и структурировать систему. Матема- тический анализ и моделирование помогают определить физические пределы, одна- ко, в конечном итоге, проектирование системы — больше искусство, подкрепленное опытом, чем наука. Для того чтобы понять, “что такое хорошо, а что такое плохо”, в первую очередь необходим опыт! История развития систем управления рассматривается в разделе 12.1. В разде- ле 12.2 обсуждается системная интеграция. Надежность системы играет основопола- гающую роль. Ее можно описать с. помощью специально разработанных математи- ческих методов, которые, однако, годятся только для конкретных ситуаций; эти «оды рассмотрены в разделе 12.3. Функции системы управления процессом — это тема раздела 12.4. В этом разделе совместно рассмотрен материал главы 7 (комбинационное и последовательностное Управление) и главы 10 (программирование в реальном времени) и дополнительно сУЖдается программирование для баз данных реального времени и интеграция лР°граммного обеспечения. Хотя описание ориентировано на большие промышлен- ^системы, многие идеи можно использовать в менее масштабных проектах. реальных приложениях имеют значение не только технические решения — Роль°МИЧеСКИе’ оРганизаиионные и психологические факторы играют решающую 4eCKQB Признании любой сложной технологии и, следовательно, в системах автомати- iei2 5° УПравления процессами. Эти факторы коротко рассматриваются в разде- вцде' К этому моменту у читателя должно возникнуть глубокое и реалистичное ^атедьПР°блем и возможностей применения автоматизации. Авторы надеются, что Засели В0СпРимет ЭТУ главу как очередной шаг на пути к новым знаниям и опыту, как просто заключительную часть книги. Структурирование систем управления процессами "Ия Про^е Деся™летия короткой истории развития автоматизированного управле- ессами позволили извлечь некоторые важные уроки. Ясно, что две главные Мц0Гие СИль: в этой сфере — это технология и рынок. Как е НОваторские проекты были вызваны к жизни появлением новых техноло- 1,1 Отменилось во вводной главе (раздел 1.2), некоторые технические процес- Слищком сложны по сравнению с уровнем развития вычислительной техники,
510 Глава 12. Системная -^тЛРация а соответствующие решения не были адекватно структурированы с точки зрения п 0 граммного и аппаратного обеспечения. Примером может служить разработка пр0 граммного обеспечения космической программы “Apollo”. Небольшой объем памяти бортового компьютера (64 Кбайт) пришлось использовать до последнего бита, и в ре зультате задача программирования потребовала колоссальных усилий — в конечном счете это вылилось почти в 1000 человеко-лет работы. Сегодня даже самые дешевые ЭВМ имеют в сотни раз больший объем памяти, которая быстро “пожирается” громоздкими офисными или игровыми программами. Две области успешного применения автоматизированного управления в начале 1960-х годов — это химические процессы и производство и передача электроэнергии В управлении химическим производством ЭВМ просто заменили аналоговые ПИД-регуляторы. Стратегия управления была уже хорошо отработана, и цифровые устройства делали в основном то же самое, что и их предшественники. В электроэнер- гетических системах структурирование также имело давние традиции. Инженеры- энергетики хорошо понимали, как использовать ЭВМ для анализа и проектирования энергосистем, и поэтому могли сформулировать адекватные требования к производи- тельности и спецификации, освободив тем самым от этого производителей ВТ. Инженер-технолог представляет свое производство в виде отдельных систем и процессов. Программист, который часто незнаком со спецификой производствен- ной задачи, предпочитает мыслить в терминах абстрактных структур, которые обыч- но представляют собой иерархию. Именно в этом заключается основная проблема. Критическим моментом является отображение процесса в соответствующую про- граммную структуру; ЭВМ и ее программное обеспечение должны быть адаптирова- ны к процессу, а не наоборот. Структурирование является самым важным этапом в управлении процессом. Оно влияет как на конфигурацию аппаратных средств, так и на модульную структуру программного обеспечения. В химической и энергетической промышленности стан- дарты установлены уже давно. Потребности операторов были достаточно очевидны с самого начала — переместить интерфейс управления с панелей и стоек на экраны терминалов. Они хотели видеть ту же самую информацию, что и на старых ПИД-ре' гуляторах, те же самые кривые, которые чертились на старых графопостроителях, и те же схемы процессов, которые у них уже были в диспетчерских. Это привело к развитию языков программирования типа “fill-in-the-blank” (“заполни готовый бланк”), в которых регуляторы описывались в параметрической форме. Для логических цепей и последовательностных сетей решение было очевидно заменить старые реле цифровыми технологиями (глава 7). Старые принципиальные схемы можно было вывести на экран на основе тех же самых обозначений, с той лишь разницей, что логические операции выполняются программным обеспечением. Пер вые ПЛК действительно являлись лишь заменой релейной технологии. Рост потр ности в структурировании привел сегодня к постоянному обновлению функцио нальной части ПЛК, а также к созданию коммуникационных интерфейсов ДлЯ включения их в более крупные сети управления. Эта же потребность в структурир0 вании привела к развитию языков для управления последовательностью. Довольно быстро стала очевидна необходимость интеграции обратной связи с последовательностным управлением. Некоторые шаги в этом направлении преД принимались уже в первых системах, хотя недостаточно методично и без структур кого подхода. Сегодняшние системы промышленного управления объединены на ос
2.2. Интеграция автоматизированных систем управления 511 । ове более глубокого структурирования и содержат функциональные блоки как ре- уляторов с обратной связью, так и логических цепей. В течение нескольких лет много внимания было уделено автоматизированным системам управления производством. К сожалению, на сегодняшний день успешных внедрений таких систем не так много. Повторим еще раз — основной трудностью яв- ляется адекватное структурирование системы. В отличие от химической промыш- ленности, обычные производства не имеют устоявшейся методологии описания и структурирования основных процессов. К тому же промышленность характеризует- ся чрезвычайным многообразием производственных процессов, поэтому довольно сложно сформулировать универсальные критерии интегрированного управления. Сегодня существуют только ограниченные решения — для некоторых элементов производственного процесса, например станков с числовым программным управле- нием, роботов и участков. В целом проблема управления производственным пред- приятием остается, к сожалению, довольно плохо структурированной. На основании имеющегося на сегодня опыта можно сделать следующие выводы. Сравнительно легко создать адекватную аппаратуру или программные модули для задач автоматизированного управления. Однако реальные проблемы возникают вез- де, где приходится иметь дело с глобальными задачами, с трудностями унифициро- ванного представления системы и структурированием управляющего оборудования и программного обеспечения адекватным конечной цели образом. Желание помочь в формировании такого общего взгляда и побудило авторов написать эту книгу. 12.2. Интеграция автоматизированных систем управления 12.2.1. Уровни интеграции Решения в системах управления реального времени зависят от сложности про- блемы и поставленной цели. Хотя большинство понятий и подходов похожи, суще- ствующие многочисленные средства и технологии позволяют получать совершенно разные реализации автоматизированных систем. Так же как и в других технических областях, здесь не существует универсального решения, и для каждой конкретной задачи требуется свой подход. Достаточно трудно разделить уровни интеграции систем управления, так как чет- ких границ нет. Тем не менее существуют большие области, которые характеризуют- ся своей технологией, своей промышленной базой и долей рынка. Приведенный здесь обзор не претендует на полноту. Интегральные и гибридные микросхемы содержат логику обработки данных, по- зволяющую реализовать сложные алгоритмы на основе либо комбинационного уп- равления, либо программного микрокода (firmware), “зашитого” в микросхему. Мик- ропроцессоры общего назначения также базируются на простых, программно Управляемых логических схемах. Кроме серийно выпускаемых, возможно примене- ние специальных заказных микросхем для конкретных приложений, однако из-за вЫсоких издержек на проектирование и запуск в производство это становится эконо- мически эффективным, если объем выпуска превышает несколько тысяч штук. Ти- пичная область применения интегральных микросхем - продукция массового спро- са, которая не нуждается в замене программного обеспечения в течение всего срока службы, а управляющее устройств должно занимать очень мало места, например
512 Глава 12. Системная ^Рация регуляторы для микроволновых печей или система зажигания двигателей внутрен него сгорания. Альтернативой заказным микросхемам или электронным устройствам на базе се рийных микросхем является применение плат управления общего назначения с уста новленным на них процессором и программным обеспечением, записанным в ПЗУ Логические функции можно также реализовать с помощью программируемых логи- ческих устройств, рассмотренных в разделе 7.1.5. Такие решения эффективны в слу- чае небольших затрат на производство и если имеется необходимое место для уста- новки таких плат. Благодаря тому что эта технология обходится достаточно дешево и не слишком сложна, ее используют многие небольшие компании, специализиру- ющиеся на оборудовании для автоматического управления. Платы контроллеров — это более крупные устройства, применяемые в приложе- ниях, в которых характер данных или программная логика могут меняться в течение жизненного цикла. Типичный пример — управляющие устройства для станков с ЧПУ. Эти компактные одноплатные устройства обычно включают в себя интер- фейс с шиной локального управления либо локальной сетью. Контроллеры, как правило, программируются непосредственно как целевые систе- мы, т. е. такие системы, где выполняется конечное приложение, но в некоторых случа- ях применяется технология кросс-компиляции на другой ЭВМ, обладающей больши- ми ресурсами, например в случае, если среда разработки (компилятор) требует много памяти. Готовые программы затем загружаются и исполняются на целевой машине. Следующий уровень интеграции — это подключение периферийных плат с помо- щью системной шины (глава 8), позволяющей создавать конфигурации аппаратной части системы управления в точном соответствии с требованиями технического про- цесса. Платы на шине можно заменить в любое время с минимальными усилиями. Разработка программного обеспечения для эффективного использования системной шины — сложная задача, которая значительно упрощается с помощью специальных операционных систем, поддерживающих управление шинами. Программируемые логические контроллеры (глава 7) — это автономные устрой- ства для задач автоматизации, у которых входные и выходные данные суть цифровые сигналы. Для несложных приложений с небольшим числом параметров ПЛК — эко- номически эффективное решение. ПЛК можно присоединять к шинам локального управления и коммуникационным сетям для создания интегрированных систем управления. Современные ПЛК также имеют аналоговые входы/выходы и могут выполнять более сложные функции, например управлять ПИД-регуляторами. При объединении локальных элементов управления (ПЛК, шины, контроллеры) в сеть можно организовать сбор и хранение информации со всего производства и ко- ординировать управление непосредственно не связанными устройствами. Интегри- рованные системы такого типа называются системами мониторинга и управления (monitoring and control system — M&C). При внедрении этих систем на сложном про- изводстве настоятельно рекомендуется структурировать задачу управления и соот- ветствующие решения для аппаратного и программного обеспечения; следует при- держиваться принципов иерархического структурирования уровней управления, как описано в разделе 9.6.1. Сложные системы строятся по модульному принципу и могут разрабатываться на основе готовых компонентов. При создании систем автоматизации не требуется, чтобы все программное обеспе- чение каждый раз переписывалось заново. Для систем управления и автоматизации
12.2. Интеграция автоматизированных систем управления 513 -шествуют пакеты программ, которые используют не процедурное программирова- ло, а описание параметров конкретной задачи (программирование способом “запол- ни готовый бланк”). 12.2.2. Монтажные стойки и шкафы При объединении различных устройств в систему необходимо привести в соот- ветствие много характеристик — от физических размеров до типа передаваемой ин- формации. Совместимость различных частей гарантируется при использовании об- щепринятых интерфейсов. В этой книге рассмотрены различные типы интерфейсов, показаны их эволюция во времени и современное состояние, представляющее собой результат комбинации традиций, новейших разработок и прогнозирования. При построении системы необходимо согласовать следующие характеристики компонентов: - механические (физические размеры); - электрические (частота и уровень сигналов, питание, кабели); - тепловые (рассеяние мощности, требования к охлаждению); - информационные (коммуникации, мониторинг и управление); - функциональные (выполняемые задачи). С точки зрения механических размеров наиболее распространенным промышлен- ным стандартом являются 19-дюймовые монтажные (объединительные) шкафы и стойки. Размер 19 дюймов, или 482.6 мм, — это ширина шкафа. Высота компонен- тов измеряется в условных монтажных единицах, обозначаемых буквой U (44.45 мм или 1.75 дюйма). На практике используются только высоты, кратные трем, напри- мер, 3U, т. е. 133.35 мм или 5.25 дюйм. На профессиональном жаргоне используются выражения “одинарная высота” и “двойная высота”. Однако следует иметь в виду, что “одинарная высота” значит 3U, а не U. Эти размеры совместимы с форматом плат, предназначенных для установки в разъемы системных шин (раздел 8.2.2). Вы- сота плат формата Eurocard, разработанных для установки в стандартную стойку, на- чинается со 100 мм и увеличивается с шагом 133.35 мм, или 3U. На рис. 12.1 показан типовой 19-дюймовый шкаф. Формат 19 дюймов регламентирован международным стандартом ISO/IEC 297, в Германии — DIN 41494 и в США — ANSI/IEEE 1101. Немецкий стандарт DIN 41494 охватывает не только шкафы, стойки и стеллажи, но и печатные платы, разъемы и т- и. Формат 19 дюймов поддерживается большинством производителей вычисли- тельной техники и периферийных устройств для промышленных приложений. Су- ществуют реализации некоторых системных шин в формате, специально предназна- ченном для установки в 19-дюймовые стойки, например VMEbus и Compact PCI. Формат 19 дюймов неудобен — по крайней мере для европейцев — тем, что ис- пользует американскую систему мер, а стандарт IEC 297 совмещает две различные системы единиц, что тоже не улучшает ситуацию. Из-за этого был определен новый стандарт IEC 917 “Metric rack components, multimodule 25 mm” (“Метрические ком- поненты несущих элементов,'база 25 мм”), в котором размеры высоты, ширины и глу- бины кратны 2.5 или 25 мм. овыи стандарт учитывает большую популярность фор- мата 19 дюймов — компоненты этого формата можно устанавливать в стойках Метрического стандарта с помощью простых переходников.
Глава 12. Системная интегряцИя Рис. 12.1. Монтажный шкаф формата 19 дюймов для промышленных приложений (с разрешением компании Schroff, Германия) Соединительные и питающие кабели монтируются на задней стенке стойки; пере- дние панели используются для управления и поэтому обычно свободны от соедини- тельных кабелей. Источники питания или силовые распределительные устройства, как правило, тоже устанавливаются в стойках, причем обычно в их основании — из- за веса трансформаторов и потому, что доступ для их обслуживания нужен достаточ- но редко. Циркуляция воздуха для поддержки температурного режима обеспечива- ется либо свободной конвекцией, либо с помощью дополнительных вентиляторов и охлаждающих поверхностей; очевидно, что средств вентиляции должно быть до- статочно для отведения выделяемого тепла. Для более эффективной вентиляции не- которые слоты между установленными платами по возможности оставляют свободны- ми. Узлы, требующие постоянного обслуживания, устанавливают на средней высоте, чтобы облегчить к ним доступ. При необходимости на видном и легкодоступном ме- сте устанавливают кнопку аварийного отключения всей стойки, окрашенную в крас- ный цвет на желтом фоне. Отдельные компоненты могут представлять из себя как серийное покупное обо- рудование, так и заказное, вплоть до уровня микросхем. Стандартное оборудование — измерительные приборы, цифровые регуляторы и модемы - поставляется многи- ми производителями. Эти устройства обычно имеют интерфейс допускающий дис-
12.2. Интеграция автоматизированных систем управления 515 танционное управление, либо могут быть оснащены им. Новые компоненты и узлы проектируются автономно, а затем совмещаются с уже имеющимся оборудованием. 12.2.3. Проектирование интерфейсов Существенную роль во взаимодействии различных элементов системы играют интерфейсы. В хорошо сконструированной системе все компоненты работают по принципу черного ящика, т. е. их можно заменить другими элементами с такими же спецификациями — и система при этом будет работать, как прежде. Спецификации интерфейса должны учитывать совместимость по всем парамет- рам, которые требуются для выполнения целевой функции. То, насколько запутаны и сложны могут быть спецификации, было показано на примере модели ВОС (раз- дел 9.2). Требования обычного проекта необязательно должны быть сложными, хотя необходимо удостовериться, что не упущено ни одного важного фактора. В зависи- мости от специфики задачи описание интерфейса должно включать все — от механи- ческой и электрической спецификаций до перечня и интерпретации данных. В большинстве случаев при соединении различных устройств можно придержи- ваться уже имеющихся требований, например коммуникационных стандартов, опи- санных в главе 9. При спецификации интерфейсов желательно применять существу- ющие стандарты или, в крайнем случае, использовать такие стандарты как отправную точку для новых разработок. Так, не имеет смысла определять рабочий диапазон датчика как 5-28 мА или новый способ кодирования символов в байте, ког- да уже существует диапазон 4-20 мА и хорошо себя зарекомендовавшие коды ASCII и EBCDIC. В большинстве случаев конкретное решение определяют доступные ком- поненты. 12.2.4. Выбор уровня интеграции Существует много способов автоматизации, и невозможно определить несколько простых универсальных решений. Большинство задач можно решить на основе раз- ных подходов и на разном оборудовании. Важно четко различать уровни системной Интеграции и выбрать правильные аппаратное и программное решения в соответ- ствии с конкретной проблемой. Оборудование и компоненты, выполняющие одина- ковые функции, могут существенно отличаться. Например, для измерения напряже- ния и выдачи значений в цифровой форме существует широкий набор аппаратуры — °т АЦП на базе микросхем до экзотических программируемых цифровых вольтмет- ров с дистанционным сбором данных. Автомобильная система управления впрыском топлива должна быть прочной, Малогабаритной и недорогой. Такая система, выпускаемая многотысячными партия- ми, может быть экономически эффективна и при использовании заказных интег- ральных микросхем. С другой стороны, например, для большого химического завода с тысячами датчиков и приводов маловероятно, что компания, владеющая заводом, дожила бы гигантские суммы и сотни человеко-лет в создание стопроцентно опти- мальной системы мониторинга и управления. На таком заводе можно установить стандартную систему мониторинга и пакет программного обеспечения, в котором на- стройка осуществляется описанием датчиков, приводов и контуров управления в па- раметрической форме, а пользовательский интерфейс определяется содержанием
516 Глава 12. Системная интеграцИя диалогов ввода/вывода. В нестандартных случаях следует использовать специализи- рованное оборудование и программные средства. Внешние ограничения и экономические соображения влияют на окончательное решение. Необходимо взвесить все относительные преимущества и недостатки того или иного решения с учетом его стоимости. Высокая гибкость и перспективы даль- нейшего расширения могут потребовать дополнительных затрат, которые, однако обычно окупаются при модернизации системы в будущем. Решения по автоматиза- ции — это не только технические, но в значительной степени экономические и страте- гические решения. При рассмотрении множества противоречивых факторов необхо- димо концентрировать внимание на системе поставленных целей и долгосрочной перспективе. Сегодняшние решения определяют перспективу развития завтрашних решений. 12.3. Надежность системы 12.3.1. Надежность оборудования Технология автоматизации придает новое значение концепции надежности (reliability). Все хотят иметь надежные устройства и системы. Автоматизированные системы функционируют без вмешательства человека, а различные механизмы и компоненты влияют друг на друга. Последствия зависимости больших систем от их компонентов хорошо видны на примере отказа какого-нибудь реле, вызывающего пе- ребой в электроснабжении целых городских кварталов. Часто неправильное функци- онирование или отказ системы вызваны выходом из строя одного простейшего ком- понента. Конечно, такая проблема может возникнуть и в системах, контролируемых человеком, но автоматизация только усугубляет ее. Важнейшим параметром системы является коэффициент готовности (availability), который определяется как вероятность того, что элемент, устройство или система ь данный момент времени работает правильно. Эта вероятность представляет собой отношение времени, в течение которого элемент исправен, ко всему сроку службы. Коэффициент готовности элемента или устройства — это функция вероятности от- каза в течение заданного периода времени и времени, за которое элемент или устрой- ство приводится в рабочее состояние после отказа. Из-за взаимодействия между частями и компонентами полная надежность систе- мы может оказаться достаточно малой, если не все составляющие имеют высокую надежность. В качестве примера рассмотрим производственную линию, включаю- щую десять последовательно соединенных станков. Если каждый станок все время повторяет одни и те же операции и делает одну ошибку в среднем на каждую сотню операций, то вероятность того, что станок не сделает ошибку за цикл, равна 99 %. ДлЯ получения приемлемого конечного продукта все станки должны работать правиль- но, так что общая вероятность O.9910 = 0.904 т. е. вероятность безошибочной работы всей линии всего лишь около 90 %. Широко используемый метод улучшения суммарной надежности на конвейерах — это созда- ние промежуточных складов между станками. В этом случае удается избежать оста новки всего конвейера при отказе одного станка.
1-2.3. Надежность системы 517 12.3.2. Модели для расчета надежности При расчетах надежности сложной системы обычно полагают, что возможные ошибки не коррелируют, т. е. являются независимыми событиями. Это предположе- ние верно при условии, что неисправный элемент не влияет на другие. Для п элементов п = nh(t) + Иу(7) где n^{t) — число правильно функционирующих элементов, a nj{t) — число неисправ- ных элементов. Оба слагаемых суть функции времени, а их сумма п при этом посто- янна. Функция надежности {reliability function, survival function) определяется следу- ющим образом nh{t) nAt) R(f) = = 1 - -AY- n n Интересно анализировать относительное число отказов как функцию времени. Для этого вводится понятие интенсивности отказов /(£) 1 d = -----~R(t) (12.1) R{t) R{t) dt Если элемент остается в работе до времени £, интенсивность отказа показывает вероятность того, что этот элемент откажет сразу после момента t. Функцию интен- сивности отказов z{t) можно оценить, наблюдая большое число элементов в течение Длительного периода времени. Несколько упрощенный вид функции z{t) представ- лен на рис. 12.2. Из-за своей формы эта кривая называется “корытообразной” функ- цией {“bathtub” function). Рис. 12.2. Интенсивность отказов элементов z{t) как функция времени (“корытооб- разная” функция): а — отказы на первоначальных этапах работы; б — случайные отка- зы (участок с постоянной интенсивностью X); в — отказы, связанные со старением. Обычно рассматривается лучшее время”, т. е. центральная часть кривой интен- сивности отказов. При этом полагают что система функционировала достаточное время для того, чтобы изжить детские олезни”. С другой стороны, система не долж- на находиться в эксплуатации так долго, что ее компоненты уже износились и уро-
518 Глава 12. Системная интеграцИя _—.—. вень отказов снова увеличился. С этими ограничениями z{t) можно принять за кон- станту, т. е. z(f)= X. Тогда решением уравнения (12.1) будет = (12.2) Основной интерес для пользователя или производителя системных компонентов представляет собой время, в течение которого компонент может функционировать в нормальных условиях до появления неисправности. Мерой этого является среднее время наработки на отказ {Mean Time to Failure — MTTF), т. e. математическое ожи- дание экспоненциального распределения ОС | MTTF = jR(;)^ = ? (12.3) о Мера готовности системы получается на основе среднего значения промежутка вре- мени, в течение которого система функционирует правильно. Это значение называется средним временем между отказами {Mean Time Between Failures — MTBF). Аналогично, мера времени, в течение которого система не функционирует, называется средним вре- менем восстановления {Mean Time То Repair — MTTR) и представляет собой время от появления неисправности до восстановления работоспособности системы. Коэффициент готовности А элемента или подсистемы можно определить выра- жением MTBF А =-------------- MTBF + MTTR Для систем, состоящих из одного устройства или элемента, коэффициент готов- ности легко подсчитать. Для более сложных систем характерны совершенно другие проблемы. Мы коротко рассмотрели только последовательное соединение элементов и его влияние на надежность системы. Аналогичные вычисления можно произвести для систем с параллельным соединением; в общем случае параллельное соединение одинаковых элементов увеличивает надежность, потому что, только если все компо- ненты, соединенные параллельно, неисправны, функция системы больше не обеспе- чивается. 12.3.3. Надежность систем управления процессами Одна из причин успеха цифровых систем управления процессами — их высокая надежность, которая в целом не зависит от того, каким образом и как долго эти систе- мы используются. Например, для ПЛК, построенного только на полупроводниках без подвижных частей, в отличие от электромеханических реле, время жизни не зави- сит от числа операций переключения. Частота отказов существенно влияет на надежность системы, однако не меньшую роль играют ремонты. И с этой точки зрения электронные системы лучше, чем ста- рые электромеханические. В случае отказа релейного оборудования поиск неисправ- ности с помощью вольтметра занимает длительное время; наоборот, тестирование ПЛК с помощью ручного программатора и соответствующих программных средств гораздо быстрее и проще. С другой стороны, обслуживающий персонал должен иметь более серьезную подготовку и квалификацию. Отметим, что все чаще вместо
12.3. Надежность системы 519 ремонта электронных систем заменяют крупные и сложные системные компоненты целиком, что иногда довольно расточительно. В системах управления процессами суммарная надежность зависит от структу- ры системы. При прямом цифровом управлении единственная центральная ЭВМ, на которой установлено разнородное программное обеспечение, решает все задачи сбора данных, управления и регулирования. Как следствие, ее отказ вызывает пол- ную остановку выполнения всех функций. При распределенном прямом цифровом управлении (раздел 12.4.3) функции управления и регулирования выполняются локальными устройствами, расположенными в непосредственной близости от тех- нологических процессов. ЭВМ более высоких уровней иерархии (см. рис. 9.24) пе- редают нижестоящим устройствам вместо управляющих сигналов только опорные значения. Поломка локальной или даже центральной ЭВМ влияет только на часть функций, потому что системные компоненты независимы. Разница в надежности между этими двумя подходами явно проявилась уже при первых применениях уп- равляющих ЭВМ — в те времена среднее время между отказами измерялось не го- дами, а часами. Отказы вызываются либо неправильным функционированием отдельных эле- ментов, либо — в сложных системах — нарушением взаимодействия между элемента- ми. В больших системах со множеством элементов вероятность того, что некоторые из них откажут, высока и, если это влияет на работу системы как целого, ее надеж- ность снижается. Отказоустойчивое (fault-tolerant) решение должно гарантировать, что система как целое будет продолжать функционировать даже при наличии неисправностей. Это означает не только применение высоконадежных элементов, а скорее проектиро- вание системы таким образом, чтобы отдельные неисправности не влияли на работу в целом. Более того, автоматизированная система состоит не только из аппаратной час- ти, а включает также программное обеспечение, которое может содержать ошибки, либо реагировать непредсказуемым образом на непредусмотренную входную инфор- мацию, несогласованные протоколы обмена данными, внешние коммуникации и т. д. В простейшем случае отказоустойчивая технология основывается на некоторой из-; быточности (redundancy). Если какая-то часть, аппаратная либо программная, не рабо- тает, то ее заменяет другой компонент. Существуют разные типы избыточности: - физическая избыточность; - информационная избыточность; - избыточность по времени. Физическая избыточность (physical redundancy) обычно достигается дублирова нием некоторых элементов. Когда элемент перестает работать должным образом, ег< заменяет другой. Если стоимость играет решающую роль, то дублируются толью наиболее важные или более всего подверженные отказам компоненты. Этот принци: Использован, например, в сети FDDI (раздел 9.5.7), в которой два канала данных нс строены таким образом, чтобы минимизировать влияние неисправностей, будь т Пробой кабеля, отказ узла или его FDDI интерфейса. Общепринятый принцип пре ектирования в системах реального времени — это физическое дублирование главне го сервера и локальной сети. зависимости от специфики системы обе ЛВС могу работать с половинной затру-* и ли о только одна постоянно находится в работ а другая немедленно акти в случае сбоя первой.
520 Глава 12. Системная интеграцИя Важными особенностями механизма физической избыточности является ин- терфейс между дублирующими друг друга компонентами, представляющий собой новый элемент, который может выйти из строя, и принцип выбора основного ра- бочего компонента. Главными проблемами являются: во-первых, как однозначно определить, что компонент или подсистема неисправны, и, во-вторых, как пере- ключиться на дублера. Информационная избыточность (information redundancy) используется, напри- мер, в коммуникационных протоколах в виде служебной информации, добавляемой к пакету для того, чтобы обеспечить восстановление искаженных сообщений. Резер- вирование данных на внешних (съемных) носителях или теневое хранение перемен- ных (переменная храниться одновременно на двух различных дисковых устрой- ствах) — это другие примеры информационной избыточности. Избыточность по времени (time redundancy) заключается в том, что сначала вы- полняется действие, а затем оценивается его результат. Если результат неудачен, то действие выполняется заново. Таймауты и ограничения максимального количества повторений помогают избежать бесконечных циклов. Отказоустойчивость в коммуникационных протоколах (раздел 9.4) достигается комбинацией информационной и временной избыточности. Контрольные суммы в пакетах данных обеспечивают информационную избыточность, а процедуры под- тверждения приема сообщения и, при необходимости, запросы на новую передачу являются примерами избыточности по времени. Если избыточность необходима для создания отказоустойчивой системы, то долж- ны учитываться все составные элементы, а не только самые очевидные. Например, две ЭВМ должны быть подсоединены к двум независимым источникам питания, в противном случае выход из строя источника питания, то есть однократный сбой, приведет к выходу из строя обеих ЭВМ и, таким образом, перерастет в аварию обще- системного масштаба. 12.3.4. Надежность программного обеспечения Ошибки в программах часто могут вводить в заблуждение, и их труднее найти, чем неисправности аппаратной части. И они далеко не безобидны. В разделе 2.3 было упомянуто, как одна программная ошибка привела к серьезной аварии в американс- кой телефонной сети. Проблемы с программными ошибками зависят от сложности системы; ошибки, сделанные в процессе разработки программы, могут многократно воспроизводиться и остаться незамеченными в конечном продукте. Программные ошибки являются обычным делом в сложных проектах, в частности в автоматизированных системах, а сообщается о них только в некоторых очень громких случаях. В отличие от аппаратной части, программное обеспечение не изнашивается. Дефекты программы возникают на стадии разработки, так что, по крайней мере тео ретически, все ошибки можно устранить с самого начала. Проблема в том, как их о наружить. Математические и логические методы помогают разрабатывать не содер жащие ошибок программы. На практике, однако, несмотря на интенсивные и обстоятельные тесты, большая часть программ все-таки содержит ошибки на началь- ном этапе их эксплуатации. В случае непредусмотренных входных данных и сигна-
12.3. Надежность системы 521 лов прерывания программа может повести себя не так, как планировалось при ее раз- работке и тестировании. Достаточно часто требования к программе меняются в процессе разработки по мере того, как ее функции становятся яснее и понятнее. Позднейшие изменения могут ока- зать значительное влияние на всю работу программы. Полностью готовая и протести- рованная программа может быть, в свою очередь, использована иначе, чем предполага- лось разработчиками, что, естественно, увеличивает вероятность ошибок. Если идеальная программа — это иллюзия, то как выяснить, что программа доста- точно надежна? Во-первых, необходимо определить требования к безопасности лю- бой Конкретной задачи. Система управления полетами является хорошим примером чрезвычайно жестких требований к безопасности. Например, новая система управле- ния всем североамериканским воздушным пространством может быть неисправна в среднем только три секунды в году. Надежность программы в соответствии с функциональными требованиями дол- жна быть определена, например, с помощью тестов, как описано в разделе 10.6. В конце концов программа должна быть в разумной степени свободна от ошибок. Программа проходит опытную эксплуатацию в течение определенного времени под наблюдением разработчиков. Все обнаруженные ошибки необходимо проана- лизировать и исправить. Однако этот метод применим, только если требования не являются очень строгими (порядка нескольких ошибок в год). С другой стороны, в таких сложных системах, как самолет гражданской авиации, специфика требует надежности, выражаемой цифрой порядка 10-9 серьезных ошибок в час. Для про- верки и демонстрации выполнения таких требований число прогонов должно быть кратно 109 часов, т. е. порядка 100 000 лет, что, естественно, является неразреши- мой задачей. Другая глобальная проблема во время тестирования возникает благо- даря действию закона “уменьшения отдачи”. Если программа испытывалась в тече- ние очень длительного времени, серьезность ошибок убывает настолько, что их исправление оказывает весьма незначительный эффект на общую надежность про- граммы. Лучших результатов можно достигнуть, если при разработке программы приме- няются специальные методы повышения надежности. Эти методы основаны на фор- мальной математической теории и работают только в случаях, когда требования к программе также описаны математически формальным образом. Это означает, что требования должны быть сформулированы, что не всегда просто. Метод, который применяется для повышения показателей надежности в технике Управления авиационным и железнодорожным движением, — это использование из- быточных систем. Несколько одинаковых систем создаются параллельно разными рабочими группами. Основное допущение заключается в том, что ошибки, которые Делают разные группы, не могут быть одинаковыми. Результат — это комбинация нескольких решений. Например, на бортовой ЭВМ полностью управляемого элект- роникой аэробуса А-320 установлено пять разных систем, которые были разработа- ны на основе одинаковых требований пятью независимыми рабочими группами на пяти разных языках программирования. Эти системы работают параллельно и неза- висимо друг от друга. Окончательные управляющие воздействия, задающие положе- ние аэродинамических поверхностей, выбираются из выходных сигналов нескол1 - ких систем с помощью электромеханического селектора.
522 Глава 12. Системная интеграцИя 12.4. Функции автоматизированных систем управления Система управления процессом обычно выполняет много различных функций которые можно разделить на три большие группы (рис. 12.3): - сбор и оценка данных технического процесса — мониторинг; - управление некоторыми параметрами технического процесса; - связь входных и выходных данных — обратная связь, автоматическое управле- ние. Рис. 12.3. Основные функции системы управления 12.4.1. Мониторинг Мониторинг процесса или сбор информации о процессе — это основная функция, присущая всем системам управления. Мониторинг — это сбор значений переменных процесса, их хранение и отображение в подходящей для человека-оператора форме. Мониторинг является фундаментальным свойством всех систем обработки данных. Мониторинг может быть ограничен лишь выводом первичных или обработан- ных данных на экран монитора или на бумагу, а может включать более сложные функции анализа и отображения. Например, переменные, которые нельзя непос- редственно измерить, должны рассчитываться или оцениваться на основе имею- щихся измерений (раздел 3.5.2). Другой классической чертой мониторинга являет- ся проверка, что измеренные или рассчитанные значения находятся в допустимых пределах. Когда функции системы управления процессом ограничены сбором и отображе нием данных, все решения об управляющих действиях принимаются оператором- Этот вид управления, называемый супервизорным или дистанционным управлени- ем (supervisory control), был очень распространен в первых системах компьютерного управления процессами. Он до сих пор применяется, особенно для очень сложных и относительно медленных процессов, где важно вмешательство человека. Примером являются биологические процессы, где определенную часть наблюдений нельзя вы полнить с помощью автоматики. При поступлении новых данных их значение оценивается относительно допусти мых границ. В более развитой системе контроля несколько результатов могут комби-
12.4. Функции автоматизированных систем управления 523 нироваться на основе более или менее сложных правил для проверки, находится ли процесс в нормальном состоянии или вышел за какие-либо допустимые пределы. В еще более современных решениях, в особенности построенных на экспертных сис- темах или базах знаний, комбинированная оперативная информация от датчиков объединяется с оценками, сделанными операторами. 12.4.2. Управление Управление — это функция, обратная мониторингу. В прямом смысле управление означает, что команды ЭВМ поступают к исполнительным механизмам для воздей- ствия на физический процесс. Во многих случаях на параметры процесса можно воз- действовать только опосредованно через другие параметры управления (раз- дел 3.5.1). 12.4.3. Автоматическое управление Система, которая действует автономно и без прямого вмешательства оператора, называется автоматической. Система автоматического управления может состоять из простых контуров управления (одного для каждой пары входных и выходных пе- ременных процесса) или из более сложных регуляторов со многими входами и выхо- дами. Существуют два основных подхода к реализации обратной связи в вычислитель- ных системах. При традиционном прямом цифровом управлении (ПЦУ, Direct Digital Control — DDC) центральная ЭВМ рассчитывает управляющие сигналы для исполнительных устройств. Все данные наблюдения передаются в полном объеме от датчиков к центру управления, а управляющие сигналы — обратно к исполнитель- ным устройствам. В системах распределенного прямого цифрового управления {Distributed Direct Digital Control — DDDC) вычислительная система имеет распределенную архитекту- ру, а цифровые регуляторы реализованы на основе локальных процессоров, т. е. рас- положены вблизи технического процесса (раздел 9.6.1). ЭВМ верхних уровней уп- равления рассчитывают опорные значения, а локальные процессоры ответственны главным образом за непосредственное управление техническим процессом, т. е. вы- работку управляющих сигналов для исполнительных механизмов на основе данных локального мониторинга. Эти локальные ЭВМ включают в себя цифровые контуры Управления. С точки зрения структурирования уровней управления и обработки различие ^ежду прямым цифровым управлением и распределенным прямым цифровым уп- равлением заключается в том, что в первом случае, даже при наличии нескольких ЭВМ, они занимаются только передачей информации и не принимают решений (кроме центрального) об управляющих действиях. Напротив, в распределенной структуре ЭВМ на уровнях процесса, участка и общего управления могут действо- Вать более или менее автономно и не зависят от центральной ЭВМ. Как уже указыва- лось, это различие влияет и на надежность сложной системы. При отказе централь- ной ЭВМ управляющая система типа ПЦУ останавливается, а распределенная система, даже при отказе одного или нескольких элементов, хотя и утратит часть функций, но будет продолжать работу.
524 Глава 12. Системная интегрЭцИя Более простая и архаичная форма автоматизированного управления — это так на- зываемое управление опорными значениями {setpoint control). ЭВМ рассчитывает опорные значения, которые затем передаются обычным аналоговым регуляторам В этом случае ЭВМ применяется только для вычислений, а не для измерений или генерации управляющих воздействий. 12.4.4. SCADA Системы дистанционного мониторинга и управления обычно определяют общим на- званием SCAD А (от Supervisory Control And Data Acquisition — Дистанционное управле- ние и сбор данных). SCADA — это очень широкое понятие и может относиться как к достаточно простому устройству, реализованному на одном компьютере, так и к слож- ной, распределенной системе, включающей центр управления, периферийные устрой- ства и систему связи. Идея SCADA включает применение совершенных средств отобра- жения, накопления данных и дистанционного управления, чаще всего понимаемого как диспетчерское, т. е. “ручное” управление, но не включает процедур регулирования или управления; последние, однако, очень часто входят в поставляемые системы SCADA в качестве основных функций или в качестве функций по выбору заказчика. 12.4.5. Применение базы данных процесса для мониторинга и управления Система управления среднего или большого размера имеет несколько сотен или тысяч точек взаимодействия с техническим процессом. Практически невозможно обработать всю соответствующую информацию с помощью программных модулей, написанных спе- циально для каждой из этих точек. Вместо этого необходим систематический подход к об- работке всех входных данных. Простое структурирование параметров процесса можно выполнить на основе записей, а для более сложных случаев необходимо применение ап- парата полноценной базы данных с соответствующими методами доступа. Для систематизации и уменьшения объема данных о процессе нужно рассмотреть природу соответствующей информации. Обычно это измеряемые величины или би- нарные входные/выходные данные типа “включено/выключено” или “норма/ава- рия”. Благодаря регулярности такого представления входные данные можно обраба- тывать универсальной программой сбора и интерпретации данных, которая работает на основе определенных параметров для каждого объекта. Параметры описания объектов хранятся в базе данных процесса, которая представляет собой центральный элемент программного обеспечения управляющей системы. Пример структуры базы данных процесса показан на рис. 12.4. База данных для автоматического управления процессом содержит структуры для обработки следующей информации: - параметры всех датчиков и исполнительных механизмов; - параметры для расчета производных величин; определение возможных событий и соответствующих им реакций управляю- щих воздействий; таблица, содержащая управляющие воздействия как функции времени; - параметры цифровых регуляторов.
12.4. Функции автоматизированных систем управления 525 — программы — данные Рис. 12.4, Структура базы данных процесса реального времени и модули для доступа к данным Программы для доступа к информации, хранящейся в базе данных, включают В числе прочего следующие подсистемы: - ввод данных и интерфейс с базой данных; - вывод данных, т. е. интерфейс между базой данных и выходом управляющей ЭВМ или исполнительных механизмов; - отображение данных, - интерфейс для вв°Да команд. Развитые базы данных м°гут включать до двадцати параметров-описателей для Каждого объекта ввода/выв . которые из этих описателей обязательны и ветре-
526 Глава 12. Системная интеграцИя чаются в каждой реализации базы данных; остальные применяются только при опре- деленных обстоятельствах. Главные параметры — поля записей — для описания объектов приведены ниже (необходимо отметить, что терминология для обозначения одинаковых понятий в разных системах может не совпадать): - код; - название/описание; - тип; - адрес или физическая ссылка: канал/сообщение; - класс события; - класс аварии; - интервал выборки; - первичное (необработанное) значение; - преобразованное значение; - аварийное состояние. Для преобразования первичной информации от объектов с аналоговыми сигнала- ми в рабочие значения необходимы следующие дополнительные параметры: - масштабные коэффициенты; - единицы измерения; - минимальное и максимальное значения; а для величин в цифровом формате: - текстовое описание состояния; - условие выработки аварийного сигнала. Запись в базе данных процесса для аналогового входа может иметь следующий вид: Имя поля CODE DESCRIPTION TYPE ADDRESS EVENT CLASS ALARM CLASS SAMPLE (SEC) RAW VALUE CONVERTED VALUE ALARM STATE A-COEFFICIENT B-COEFFICIENT UNITS MINIMUM VALUE MAXIMUM VALUE Значение Комментарий T439 Код PRIMARY CIRCUIT Описание: первичная цепь, TEMP.IN Входная температура AI Тип: аналоговый ввод #7.12.2 Адрес 0 Класс события 3 Класс аварий 30 Интервал выборки 3228 Первичное значение 78.8 Преобразованное значение (°C) YES Аварийное состояние 0.0 Коэффициент преобразования 0.0244 Коэффициент преобразования “°C” Единицы измерения 50.0 Минимальное значение 75.0 Максимальное значение
| к!.4. Функции автоматизированных систем управления 527 Код используется для однозначной идентификации объекта; в базе данных он служи' как ключ и указатель соответствующей записи. Название (или описание) — это ясный г мнемонический текст, который применяется для идентификации устройства при выводе на печать и экран монитора. Тип показывает, является ли объект входом или выходом, и определяет характер информации — аналоговая, цифровая, счетчик и т. д. В примере тип Al показывает, что объект представляет собой аналоговый вход (Al — Analog Input). Объект должен быть привязан к определенному входному каналу и позиции во входящих сообщениях от периферийных устройств. Адрес в рассмотренном примере может означать — канал #7, устройство #12, точка измерения #2. Класс события показывает, инициирует ли рассматриваемый объект запуск неко- торой автоматизированной функции при изменении значения, а класс аварии — дол- жно ли некоторое состояние пониматься как аварийное. Класс аварии можно струк- турировать для индикации степени серьезности аварийной ситуации. Аварийные сообщения могут быть просто предупреждениями или могут указывать на нештат- ную ситуацию, требующую немедленного внимания и реакции; очевидно, что эти типы сообщений должны различаться. ] В структуру записи, описывающей обработку входных данных (раздел 5.5.4)J включаются такие параметры, как интервал выборки, масштабные коэффициенты, предельные и аварийные значения. Эти параметры необходимы для первичной обра- ботки сигнала на уровне, максимально приближенном к датчикам и процессу; пред- варительная обработка должна выполняться сразу после выборки. В случае упомянутого выше объекта с аналоговым входом масштабные коэффи- циенты для линейного преобразования от первичных данных к значению температу- ры следующие: а = 0 и b = 100/4095 = 0.0244. Предполагается, что аналоговая вели- чина преобразуется в цифровую форму 12-разрядным АЦП, причем 0 соответствует О °C, а4095 — 100 °C. Таким образом, первичная входная величина3228 преобразует- ся в 3228 0.0244 = 78.8 °C. Поскольку это выше, чем максимально допустимое зна- чение 75°С, выдается сигнал аварийного состояния. Для входной величины в цифровом формате (тип DI — Digital Input) некоторые параметры записи изменяются: Имя поля Значение Комментарий CODE K010 Код description PRIMARY CIRCUIT PUMP Описание: насос первичного контура TYPE DI Тип: цифровой ввод address #7.45.01 Адрес EVENT CLASS 0 Класс события ALARM CLASS 0 Класс аварий SAMPLE (SEC) 0 Интервал выборки RAW VALUE 1 Первичное значение CONVERTED VALUE “ON” Преобразованное значение STATE=0 “OFF” Текст для состояния 0 STATE=1 “ON” Текст для состояния 1 ALARM GENERATION NO NO Флаг генерации аварийных сообщений ALARM STATE Аварийное состояние
12.4. Функции автоматизированных систем управления 529 528 Глава 12. Системная интеграцИя —-----__ _ - — _—— Для объекта, определенного как цифровой вход, состояния 0 и 1 связаны с тексто- выми описаниями, например 0 = “OFF” и 1 = “ON” или 0 = “ОК” и 1 = “ALARM" Чтобы избежать неопределенности и облегчить программирование, генерация ава- рийного сигнала управляется не исходными значениями 0/1, а преобразованными - “ON”/“OFF”. База данных процесса придает однородность и структуру хранимым данным. Дат- чики и исполнительные механизмы в системе управления процессом могут быть са- мых разнообразных типов. Температуры могут измеряться резистором с положи- тельным температурным коэффициентом, термопарой и цифровым устройством. Соответственно, информация от датчиков может поступать к центральному процес- сору как в исходном формате, так и в виде пакетов данных, возможно, уже преобра- зованных к ASCII кодам. С помощью базы данных процесса каждое измеренное значение обрабатывается независимо и преобразуется к единой форме. Модули при- кладных программ должны лишь обращаться к базе данных и не нуждаются в инфор- мации об особенностях датчиков и исполнительных механизмов. Замена одного дат- чика другим или же новой моделью не потребует перепрограммирования каких-либо модулей — достаточно введения новых управляющих параметров в базу данных. Об- новление базы данных можно выполнять в оперативном режиме без отключения си- стемы управления. Абстрактное описание и отделения результатов измерений от методов, с помо- щью которых они получены, полезно, если некоторые характеристики этих величин могут меняться. При этом нет необходимости модифицировать программы или оста- навливать систему управления — достаточно всего лишь переопределить параметры преобразования, хранящиеся в базе данных. 12.4.6. Производные величины Для любой системы управления идеальной является ситуация, когда все перемен- ные состояния можно непосредственно измерить с помощью соответствующих дат- чиков. На практике часто бывает затруднительно или пр осто невозможно измерить некоторые из необходимых переменных, поэтому их приходится рассчитывать или оценивать на основе других данных. Нет датчиков для “энергии” или “коэффициента полезного действия”, хотя эти величины имеют физический смысл и часто необходи- мы практически. Проблема оценки неизмеряемых переменных состояния была рассмотрена в раз- деле 3.5.2. Программное обеспечение системы управлении должно вычислять произ- водные переменные на основе тех, которые измеряются непосредственно. Как только поступают новые данные хотя бы для нескольких измеряемых величин, производные величины нужно пересчитать заново. Производные величины могут зависеть от дрУ гих производных величин. Принципы расчета перемени лях практически не отлича ются от используемых в электронных таблицах, в которые значение в каждой ячейке таблицы может сложным образом зависеть от значений в других ячейках. Важным типом производных переменных являются я статистические данные, предназначенные для разных иерархических уровней у правления и мониторинга. Обобщенные показатели, например объем производства день, расход материалов, потребление энергии, необходимы для верхних уровней управления. Другие важные обобщенные показатели, например удельное потребление энергии на единицу про- дукции или на станок, можно легко вычислить из интегральных величин. Эти пока- затели позволяют лучше оценить состояние производства, чем текущие необрабо- танные данные от датчиков, и важны для анализа работы отдельных станков. Таким способом можно выявить, например, повышенное удельное потребление энергии ка- ким-либо станком, которое указывает на определенные проблемы и которое иначе могло бы остаться незамеченным. Обобщенные данные и другие производные вели- чины (показатели качества, эффективности и др.) можно выводить на печать в виде статистических таблиц. 12.4.7. Доступ к базе данных процесса, запросы и протоколы Доступ к информации, содержащейся в базе данных, выполняется с помощью трех основных операций, которые могут комбинироваться, — выбора, проекции и сортиров- ки. Строго говоря, эти операции формально определены лишь для реляционных баз данных, тем не менее их можно использовать и для баз данных другой структуры. Выбор (selection) определяет операцию для извлечения из базы данных только записей, удовлетворяющих заданным критериям, например все записи, в которых значение поля “Код” начинается с буквы “А”. Удобным свойством операции выбора является возможность комбинации критериев, например можно запросить выбрать все объекты типа цифрового входа с названием, начинающимся на букву “А”, и рас- положенные в определенном месте. Проекция (projection) — это список интересующих полей записи базы данных. На- пример, из записей базы данных, структура которых описана в разделе 12.4.5, можно спроецировать (выбрать) только “Код”, “Описание”, “Преобразованное значение” и “Единицы измерения” для отображения в табличной форме. Строка вывода будет иметь такой вид Т439 PRIMARY CIRCUIT TEMP.IN = 78.8 “С Сортировка (sorting) означает упорядочение выбранных записей в соответствии с каким-нибудь критерием, например алфавитным порядком кодов или возраста- нием/убыванием значений некоторой величины, по типу устройства и т. д. Сорти- ровка выполняется по одному или нескольким полям, выбранным в операции про- ецирования. Сочетание трех основных операций порождает большое число вариантов обра- ботки и анализа данных. Обычно база данных содержит слишком много информа- ции, воспринимать и анализировать которую целиком невозможно, однако при нали- чии соответствующих инструментов можно извлечь любую необходимую проблемно-ориентированную информацию. Операции доступа к базе данных и есть эти инструменты. Операция по извлечению информации из базы данных называется запросом (query). Существуют несколько языков запросов, но основные операции почти все- гда похожи, а различия в синтаксисе не очень существенны. Вот пример запроса FOR ALL WITH CODE = A*, B* AND TYPE = Al ordered bEy“sdCeRIPTION' VALUE-UNITS END 18 Зак. 1021
530 Глава 12. Системная интеграция --.----- - - - • - — — — — .------------------------------------------- Очевидно, что конструкция “WITH CODE = А*, В* AND TYPE = AI” соответ- ствует операции выбора, “PRINT CODE, DESCRIPTION, VALUE, UNITS” - ЭТо проекция, a “ORDERED BY CODE” — сортировка. Для неопытных пользователей необходимо отметить, что сортировка может потребовать достаточно много времени в зависимости от количества сортируемых записей, качества программного обеспече- ния и производительности ЭВМ. Большие запросы к базе данных не рекомендуется делать в спешке. Применение системного подхода при структурировании кода объекта существен- но увеличивает гибкость базы данных. Для этого необходимо рассмотреть наиболее существенные критерии выбора. Важнейшими, например, являются географический (в смысле расположения в определенном месте), принадлежность к системе/подсис- теме/производственному участку и по типу датчика. При определении структуры кода объекта каждой позиции должно быть приписано точное значение. В базе дан- ных все объекты трактуются одинаково, но разумное структурирование значительно помогает операторам в организации и выполнении их работы. Для эффективного использования программ доступа к базе данных необходимо заранее выбрать подмножество интересующих данных. Бессмысленно выводить список состояния всех объектов системы, если заранее известно, где сосредоточена интересующая информация. Обычно для каждой конкретной ситуации интерес может представлять лишь очень ограниченное число выборок из базы данных, по- этому заранее можно определить небольшой набор стандартных запросов. Такие запросы называются протоколами (не путать с протоколами как наборами правил и процедур для обмена информацией, описанными в главах 8 и 9; могут быть и дру- гие названия). Протоколы — это обычно запросы, в которых предопределены опе- рации проекции и сортировки (какую информацию вывести и в каком порядке), а перед их запуском требуется указать только конкретные параметры (рис. 12.5). Отметим, что поля вывода и порядок сортировки при запуске запроса явно не ука- зываются. STATE PROTOCOL SELECTION = Ку —=- BEGIN ON 01-APR-01 10:30:05 , T* PRIMARY CIRCUIT PUMP = PRIMARY CIRCUIT PUMP = ON NORMAL DI DI K010 K012 DI K014 SECUNDARY CIRCUIT PUMP = ON DI KOI 6 SECUNDARY CIRCUIT PUMP = NORMAL DI KO23 SAFETY SWITCH 1 = OFF DI K024 SAFETY SWITCH 2 = OFF DI K025 SAFETY SWITCH 3 = OFF DI K098 FIRE SENSOR = OK DI K099 PLANT VENTILATION = OK AI T439 PRIMARY CIRCUIT TEMP.IN = 78.8 (75) °C AI T442 PRIMARY CIRCUIT TEMP.OUT = 59.4 (60) °C AI T444 SECUNDARY CIRCUIT TEMP.IN = 38.8 (45) °C AI T445 SECUNDARY CIRCUIT TEMP.OUT = 54.0 (60) °C STATE PROTOCOL END ON 01-APR-01 10:30:12 Рис. 12.5. Пример протокола состояния процесса
12.4. Функции автоматизированных систем управления 531 Протоколы аварийной сигнализации Важнейшей функцией системы управления является быстрое выявление недопу- стимых режимов и оповещение об этом оператора. Каждое изменение состояния, классифицированное как аварийное, должно быть зафиксировано в специальном файле — журнале аварий — с указанием времени события. Специальный запрос — аварийный протокол — используется для поиска и вывода всех объектов базы данных, которые находятся в данный момент времени в аварий- ном состоянии. Этот протокол чрезвычайно важен для обслуживания и ремонта. Протоколы обслуживания Еще одной важной составляющей работы производственного предприятия является техническое обслуживание приборов и оборудования. Примеры обслуживания — заме- на изношенных инструментов, калибровка датчиков, контроль уровней горючего и смаз- ки. Операции по обслуживанию могут быть еще сложнее, вплоть до разборки целых аг- регатов для проверки состояния и очистки их узлов. Этот тип обслуживания называется предупредительным ремонтом (preventive maintenance) и выполняется для поддержания оборудования в оптимальном рабочем состоянии. Ремонт дефектных или вышедших из строя устройств называется восстановительным ремонтом (corrective maintenance). В зависимости от типа устройства предупредительный ремонт выполняется либо в соответствии с определенным расписанием, например каждые тридцать дней, или после определенного времени работы, например, инструмент должен быть заменен после 200 рабочих часов. На больших производствах требуется обслуживать сотни или даже тысячи устройств. Вести вручную график обслуживания — сложная и не- благодарная задача. Очевидным решением является подготовка графиков планового обслуживания на каждый день или другой период исходя из информации, хранящейся в базе дан- ных процесса. Ремонт узла, вышедшего из строя, конечно, нельзя предвидеть зара- нее, но информацию по незапланированным мероприятиям можно фиксировать в базе данных, чтобы впоследствии избавиться от избыточных операций. Если ка- кой-либо агрегат был отремонтирован после поломки в понедельник, то вряд ли есть необходимость в выполнении планового годового технического осмотра в среду. Пример графика предупредительного обслуживания приведен на рис. 12.6. MAINTENANCE PLAN FOR: THU 05-APR-01 BEGIN ON 01-APR-01 09:05:12 K022 DRILL VERIFY TOOLS (200 HRS). ACCTD = 228.4 HRS MA12 DIESEL GEN. VERIFY OIL LEVEL (50 HRS).ACCTD = 47.2 HRS LA05 LATHE MAIN REVISION (1500 HRS). ACCTD = 1502.0 HRS C037 COMPRESSOR 01 XCHG AIR FILTER (1 MTH). LATEST = 28-FEB-01 C038 COMPRESSOR 02 XCHG AIR FILTER (1 MTH). LATEST = 28-FEB-01 P101 WATER PUMP MAIN INLET, CHECK (100 HRS). ACCTD = 98.2 HRS P102 WATER PUMP MAIN INLET, CHECK (100 HRS). ACCTD = 102.7 HRS MAINTENANCE PLAN END ON 01-APR-01 09:05:18 Рис. 12.6. Пример графика обслуживания
532 Глава 12. Системная интеграция Анализ данных и тренды Важной задачей в промышленном производстве является учет производительно- сти и статистических показателей. Информация, содержащаяся в базе данных, может служить первичным источником для процедур статистической обработки. Основной статистической операцией является суммирование показателей по времени, т. е. вы- числение нарастающих итоговых величин для заданных интервалов времени — день неделя, месяц. Суммарные показатели можно выводить в виде статистических таб- лиц, содержащих и другие величины, рассчитанные на их основе, — показатели эф- фективности и качества. 12.4.8. Операции управления, выполняемые с использованием базы данных В некоторых системах управления в базе данных хранятся указания на автомати- ческие действия, которые выполняются в определенных ситуациях. Специальная таблица базы данных указывает, при каком значении некоторого параметра вызыва- ется исполнительная команда. Эта таблица работает подобно ПЛК, хотя данные, ко- торые она использует, находятся на более высоком уровне абстракции и могут вклю- чать производные величины. Поля в таблице имеют формат when (variable = value) -> action. [когда (переменная = значение) -> выполнить действие] Частным случаем события является наступление некоторого момента времени (абсолютного) или истечение заданного интервала. Таблица действий имеет вид when time(predefined) -> action [когда время (заданное) -> выполнить действие] Таким образом, например, можно включить освещение и подать питание к станкам перед началом рабочего дня. В базе данных можно использовать дополнительные па- раметры для более точной интерпретации. Например, список праздничных дней, кото- рые будут восприниматься как воскресенье, чтобы не включать отопление предприя- тия и не запускать автоматически оборудование в 6:30 в понедельник 8 марта. В базу данных можно включить описание параметров цифровых регуляторов. Наиболее типичный вид цифровых регуляторов — это дискретные ПИД-регулято- ров, для которых операции интегрирования и дифференцирования аппроксимиру- ются численными методами. В системах прямого цифрового управления регуляторы встроены в базу данных. Программное обеспечение ПЦУ реализовано в виде одного модуля, который исполняется для каждого контура управления на основе парамет- ров, хранящихся в базе данных. Примеры таких структур данных и программа для ПИД-регулятора были приведены в главе 6. Существует важное практическое различие в автоматизированных функциях и управлении процессом с использованием базы данных и системами на основе ПЛК или местных регуляторов. Последние установлены непосредственно возле входов и выходов процесса и могут быстро реагировать на изменения во входных данных. База данных иерархической системы управления, напротив, имеет большое время реакции, поскольку информация должна проследовать по коммуникационным кана-
12.5. Внедрение проектов и управление качеством 533 лам вверх и вниз и пройти через несколько этапов обработки. Поэтому целесообраз- но программировать автоматические реакции на уровне центральной ЭВМ только в том случае, когда нужно сравнить несколько параметров и эту операцию нельзя вы- полнить локально. Связанные контуры управления нельзя реализовать в виде систе- мы распределенного прямого цифрового управления. В этом случае нужно прини- мать во внимание вероятность значительной перегрузки каналов связи. 12.4.9. Расширенные языки для управления процессами Долгое время программное обеспечение для систем управления писалось почти исключительно на ассемблере. Две главные причины этого — необходимость макси- мально эффективно использовать все ограниченные ресурсы ЭВМ и отсутствие со- ответствующих языков для программирования систем реального времени. Современные языки программирования для систем управления можно разделить на два основных типа — процедурные и описательные. Процедурные языки (procedure language) — к этому типу относится большинство обычных языков про- граммирования — требуют, чтобы была явно указана каждая команда, которую ЦП должен выполнить. Описательные языки (descriptive language) требуют только опре- деления данных, отношений и параметров, которые будут храниться в разных базах данных. Отношения вход/выход описываются в табличной форме, а внутренние де- тали исполнения программы определяются компилятором или интерпретатором. Пример описательного языка — это база данных, рассмотренная выше в этом разде- ле; другой пример — это языки последовательностного программирования для ПЛК (раздел 7.4). Использовать описательные языки в общем случае проще, чем проце- дурные. С другой стороны, они являются менее гибкими, но это можно компенсиро- вать применением небольших программ, разработанных для специальных задач с по- мощью процедурных языков. Для программирования и эксплуатации системы управления на основе описа- тельного языка не требуется детальных знаний ВТ. Гораздо важнее хорошее понима- ние управляемого процесса и представление о том, что управляющая система может, а что нет. Успех конкретной реализации во многом зависит от качества модели физи- ческого процесса и определения входных/выходных параметров. Описательное про- граммирование требует также правильной настройки рабочих параметров для того, чтобы система управления как можно лучше соответствовала управляемому процес- су. В этом может помочь распределение приоритетов между задачами. Не имеет смысла пытаться собрать сотни данных в секунду для ЭВМ с ограниченными воз- можностями, задавая для каждой переменной очень малый интервал выборки. Такая система в конце концов будет работать в режиме “карусели” (раздел 10.2.5), а почти вся информация будет собираться напрасно. Именно производительность ЭВМ Устанавливает практическую величину интервала выборки. 12.5. Внедрение проектов и управление качеством 12.5.1. Организация работы над проектом Система управления состоит не только ет процессоры, сети, терминалы, датчики, из программного обеспечения, авключа- исполнительные механизмы и массу дру-
534 Глава 12. Системная интеграЦИя - - . . _ гих элементов. В ряде случаев поставщики систем промышленной автоматики тре- буют, чтобы все комплектующие приобретались только у них — от программ до гаек и болтов. Другие демонстрируют более системный и дружественный подход к клиенту и поставляют по запросу отдельные модули. Существующая тенденция заключается в поддержке стандартизации, т. е. совместимости и взаимозаменяемо- сти компонентов. Специалисту в области автоматизации придется посвятить значительную часть времени создания системы решению специфических проблем. Поскольку проблемы имеют тенденцию становиться все более сложными и специализиро- ванными, то шансы найти полностью готовое решение являются весьма призрач- ными. К сожалению, нет “оптимальных” решений; они существуют только как математи- ческие идеи, которые можно использовать лишь в специальных случаях для конкрет- ных задач. Внешние факторы — многие из них носят весьма неочевидный, эзотери- ческий характер: от климата до доступности запасных частей и возможности повышения квалификации обслуживающего персонала — тем не менее влияют на успех всего комплексного решения. Необходимо учитывать все, во избежание сбоев в работе и непредвиденных затрат на завершающей стадии проекта. Среди нетехнических факторов, непосредственно определяющих успех автомати- зации, следует назвать общую организацию работы, которая должна быть тем лучше, чем более масштабным является проект. Обычно работы по проекту подразделяются на планирование (planning), разработку (implementation), документирование (documentation), испытания (testing) и эксплуатацию (operation). Каждая стадия важ- на для успеха разработки в целом. Фаза планирования включает общий анализ проблемы. В завершение планирова- ния выпускается документ, называемый техническим заданием проекта (ТЗ, project specification). Обычно ему предшествует предпроектное обследование — анализ на- личия и способов решения проблемы и предварительная оценка стоимости возмож- ных вариантов, — которое завершается выпуском технико-экономического обосно- вания (ТЭО, feasibility study) предлагаемого решения. Отчет о предпроектном обследовании ТЭО обычно не столь детализирован, как техническое задание: он предназначен для руководства компании, а техническое задание — в основном для внешних поставщиков и разработчиков. Окончательные контракты должны точно определять, что из себя представляет система. Если они основаны на слишком общих определениях типа “мониторинг , “управление процессом” и тому подобных, то обязательно возникнут неудовлетво- ренность и конфликты. Общие идеи должны быть сформулированы как можно рань- ше и как можно яснее. Вместо “мониторинг процесса” должно быть указано, какие именно величины должны обрабатываться, в какой именно форме они должны быть представлены, должны ли данные отображаться в “исходном” виде или с помощью определенных графических интерфейсов и т. д. За рабочие спецификации в первую очередь отвечает покупатель системы управ- ления, и лишь во вторую — поставщик. Чтобы избежать конфликтов, лучше заранее определить соответствующие сферы ответственности. Полезно, если ответственное лицо или группа, представляющие заказчика, следят за выполнением проекта. По- ставщик предлагает общую информацию о системах управления, а заказчик должен проверить, что все его запросы и требования выполняются.
12.5. Внедрение проектов и управление качеством 535 Решение должно удовлетворять одновременно нескольким требованиям, многие из которых противоречат друг другу. Наиболее важными являются: - выполнение цели; - надежность; - безопасность (система в непредвиденных обстоятельствах не должна вести себя угрожающим образом); - ремонтопригодность (практически все системы нуждаются в периодическом вмешательстве человека для проверки, калибровки, пополнения расходных ма- териалов и т. д.; эти операции должны быть предусмотрены); - экономичность (более в смысле реальной отдачи вложений, чем в стремлении потратить как можно меньше). Абсолютно необходимо, чтобы вся система была снабжена полноценной докумен- тацией как для аппаратного и программного обеспечения, так и для выполняемых функций. Документация является интерфейсом между различными группами персо- нала, работающего над проектом. Документация должна рассматриваться не как об- ременительная обязанность поставщика, которая может быть выполнена после того, как система разработана и поставлена, а как ключевое условие проектирования сис- темы и ее успешной эксплуатации. Испытания системы являются очень важным этапом. Должно быть точно уста- новлено, что рабочие характеристики удовлетворяют планировавшимся показате- лям и инструкциям. Испытания необходимы для выявления и немедленного исправ- ления ошибок на возможно более ранних стадиях. Теоретически фазы планирования, проектирования, внедрения и испытаний дол- жны быть разделены, но в действительности между ними существуют взаимосвязь и взаимное влияние. Во время проектирования могут появиться новые факты, которые потребуют изменений в планировании. Практические, заранее не известные, ограни- чения на этапе реального внедрения могут также повлиять на выполнение проекта. После приобретения опыта практической работы системы может возникнуть необхо- димость снова внести изменения в элементы, которые считались завершенными. К сожалению, чем позже вносятся изменения в описания и спецификации, тем труд- нее и дороже это обходится, но с другой стороны, любая сложная система постоянно находится в состоянии модификации. Окончательного варианта системы как таково- го не существует, а есть только разные степени функциональности. Разработчик и инженер, проводящие испытания, имеют противоположные цели. Первый должен создать устойчивую и эффективную систему. Второй должен приду- мать всевозможные тесты, чтобы выявить как можно больше ошибок. Оба должны следовать руководящим документам, хотя и в них могут быть внесены изменения, Диктуемые практикой и здравым смыслом. 12.5.2. Управление качеством как часть проектирования системы В последние годы существенно возросло внимание к управлению качеством про- мышленной продукции- сновные причины этого — международная конкуренция, высокие требования потре ителеи и необходимость оптимального использования истощающихся материаль Ba»ePr?TW4ecKHX Ресурсов. Таким образом, управле- ние качеством превратилос жнеищую составляющую технических процессов
536 Глава 12. Системная интеграция ------ — , . ---------------------------------------------------------_ и решающий фактор экономической эффективности производств. Производства, на которых из-за проблем качества бракуется большая часть продукции или товар не находит спроса у потребителей, не имеют шансов на выживание. Международный стандарт ISO 9000 касается управления качеством в различных технических процессах. Этот стандарт не определяет, как должно обеспечиваться качество, — для этой цели имеются тысячи других стандартов; в конце концов эта проблема решается только на основе применения отработанных технологий и других знаний. Стандарт ISO 9000 касается вопросов, как можно определить качество при разработке проекта и в контрактах между производителями и заказчиками. Стандарт ISO 9000 “Управление качеством и стандарты обеспечения качества” в действительности является набором из пяти стандартов (ISO 9000-9004), в кото- рых определен порядок контроля и управления на различных фазах организации ра- бот по проекту1. Эти стандарты определяют также, в какой степени производитель и заказчик делят ответственность на разных этапах выполнения проекта и правила контрактных отношений. Стандарт относится не только к технической продукции или проектированию предприятий, а описывает также соответствующее обслужива- ние и организационные мероприятия со стороны поставщика. Другими словами, по- ставщик, стремящийся обеспечить качество своей продукции, может следовать ука- заниям стандарта ISO 9000 в организации собственного производства и предъявлять заказчикам соответствующие сертификаты. 12.5.3. Путь к автоматизированным заводам? Автоматизированная система управления производством (АСУП, Computer Integrated Manufacturing — CIM) стала ключевой концепцией автоматизации произ- водственных процессов. Подразумевается объединение всех потоков информации, связанной с производственной деятельностью предприятия. Следует, конечно, заме- тить, что далеко еще то время, когда целый завод можно будет включить нажатием одной кнопки (и даже еще не ясно, необходимо ли добиваться этого). Реализация АСУП — не простая задача. Автоматизация не значит “все или ниче- го”, это — постоянное усовершенствование и развитие. И такое развитие не ограниче- но рамками фабрики или завода. В качестве примера весьма показательно сравнить изменения в производстве автомобилей за последние десять лет в США, Европе и Японии. В Японии параллельно с внедрением автоматизации новые модели автомо- билей проектировались так, чтобы их было проще производить. В Европе прогрес- сивные изменения вводились на существующих заводах. В США подход заключался в том, чтобы автоматизировать все и сразу и чтобы старые операции выполнялись машинами вместо рабочих. Результат конкуренции был следующим: на заводах Toyota около 100 000 рабочих выпускали почти столько же автомобилей в год, сколь- ко более полумиллиона — на заводах General Motors (и тем не менее в Японии цифры безработицы держатся ниже, чем в Европе и США). Позднее и европейские, и амери- канские производители хорошо усвоили японские уроки. К сегодняшнему дню кон- куренция между всеми производителями усилилась. Мораль истории заключается в том, что “системное мышление” не ограничивает- ся технологией производства, а включает огромное множество других факторов, ко- 1 В России эта область регулируется группой стандартов ГОСТ 40.900х-88. — Примеч. ред.
12.5. Внедрение проектов и управление качеством 537 торые, возможно, более трудно определить и описать, но которые не менее важны для конечного результата. Постоянное сравнение предполагаемого решения с поставлен- ными целями является обязательной процедурой. Другим примером является производство широко известных швейцарских наруч- ных часов Swatch, где решающую роль сыграло изменение конструкции. Вначале было резко сокращено количество монтируемых деталей, что в свою очередь сделало возможным массовое производство и, следовательно, существенное снижение цены этого высококачественного изделия. АСУП — это не набор программ, который можно приобрести в готовом виде или специально адаптировать к определенной производственной ситуации. Вся деятель- ность предприятия должна быть спланирована и организована таким образом, чтобы технологии автоматического управления были сначала внедрены на уровне произ- водственных участков и затем постепенно распространялись бы в другие области. Внедрение АСУП не является быстрым решением — его следует рассматривать ско- рее как эволюцию, нежели революцию. Японский принцип организации производства сконцентрирован в знаменитом лозунге “Точно в срок” (Just-in-Time — JIT). Такая организация производства приме- няется для снижения объема запасов и складов, т. е. промежуточных накопителей между станками и между предприятиями. Этот принцип основан на поставке ком- понентов точно в тот момент, когда они необходимы. Крупные компании, особенно в автомобильной промышленности, могут, таким образом, обходиться без больших и дорогостоящих складских помещений. Впервые JIT-принцип был применен на заводах Toyota. Он сочетает социально- экономические факторы с техническими методами и принимает во внимание как ин- формационные технологии, так и распределение ответственности между персоналом предприятия и поставщиками. Воплощение принципов JIT — это продолжительный и дорогостоящий процесс, на конвейерах Toyota он занял около десяти лет. Дополнительным аргументом внедрения метода JIT было то, что накопление за- пасов на складах скрывает проблемы производства. Для объяснения этого подхода японские специалисты использовали следующую аналогию. Буферные склады по- добны воде в гавани, а дно представляет собой проблемы. Буфер-вода скрывает про- филь дна, и корабль может налететь на невидимые скалы. Если же уровень воды низ- кий, то дно легко просматривается, и при необходимости можно выполнить обходные маневры. Подобным образом, если промежуточные хранилища исключены из производственного процесса, то проблемные области становятся яснее, поэтому необходимое решение найти проще. Для европейских и американских компаний основной целью является извлечение быстрой прибыли на существующих рынках. Проектирование и маркетинг сфокуси- рованы на этой цели, а главный объект внимания — это производимые товары. В Японии, напротив, учитывается и производственный процесс. Стратегия компа- ний ориентирована не только на извлечение быстрой прибыли, а скорее на долго- срочный рост и стабильность. Наряду с развитием производства японские специали- сты предпринимают усилия по созданию связанных с ним рынков с долгосрочными тенденциями. Это не всегда соответствует более жесткой, ориентированной на при- ус» оягтядньтх компании. Трм оыль политике запад „ м не менее японские взгляды постепенно при- жились во многих европейских и аМериканских компаниях.
538 Глава 12. Системная интеграция Каждая медаль имеет оборотную сторону. Благодаря внедрению JIT склады ком- паний-заказчиков сократились, однако склады поставщиков увеличились. Посколь- ку склады частично переместились на улицы (транспортировка), то возросла интен- сивность дорожного движения. Проблемы доставки, связанные с перемещением по городу, настолько сильно влияют на транспортные связи, что лозунг “Точно в срок” все больше и больше превращается во что-то вроде “Точно в пробку” (Just-in-Line). Так что приведенное выше сравнение можно продолжить — когда уровень воды низ- кий и морское дно обозримо, возникает несудоходное мелководье. Фактически высо- кая зависимость концепции JIT от внешних факторов с течением времени привела к тому, что компании Toyota, Nissan и их последователи опять стали сооружать скла- ды на новых заводах. Вычислительная техника работает как усилитель информации и, следовательно, усугубляет и положительные и отрицательные стороны процесса или системы. При помощи ЭВМ то, что работает удовлетворительно, будет работать лучше, но то, что работало плохо, перестанет работать вообще. Техника никогда не должна становить- ся самоцелью, замыкаться сама на себя. Кофеварку можно снабдить микропроцессо- ром, но это не означает, что кофе будут пить иначе, чем если вода для его приготовле- ния кипятилась на плите. Главным является точное определение достижимых целей и проектирование соответствующего инструментария или автоматизированной фаб- рики. Цели должны быть ясно обозначены, например: - снижение времени на производство единицы продукции с 2 часов до 45 минут; - снижение затрат на производство единицы продукции на 10 %; - управление качеством: снижение брака с 20 % до 5 %; - снижение времени простоев (когда станок не используется, поскольку преды- дущий не закончил операцию) на 50 %. Если таких целей нельзя достигнуть с помощью автоматизации, или существуют другие, не связанные с автоматизацией решения, то лучше и не “автоматизировать”! 12.6. Заключение ЭВМ применяется в управлении процессами для сбора, анализа и архивирования информации, однако других приложений помимо собственно регулирования доволь- но мало. Предстоит еще много сделать для расширения их функций. В системах цифрового управления сравнительно просто испытывать новые стра- тегии управления, поскольку работа ЭВМ полностью изменяется при модификации программного обеспечения и при этом не требуется переоснащения или перепроек- тирования аппаратной части. Поэтому цифровые системы управления представляют собой не просто новый способ применения отработанных принципов управления, но скорее полностью новую технологию, более гибкую и обладающую новыми возмож- ностями. Внедрение систем управления происходит на многих уровнях. Окончательный выбор конкретного решения диктуется не только техническими соображениями, но и такими разнообразными факторами, как наличие персонала, рабочая среда и т. Д- Для крупных проектов, типичных для производства, имеются универсальные пакеты программного обеспечения для организации мониторинга и управления, настраивае- мые с помощью таблиц параметров. Преимущество таких готовых решений в том, что
12.6. Заключение 539 они проще в настройке и эксплуатации, чем заказные разработки. Часто такие систе- мы поддерживают ведение документации проекта. Автоматизация является важнейшей технологией, обеспечивающей качество и эффективность производства, а ВТ — важнейшая составная часть автоматизации. Будущее автоматизации не ограничено производством — ей отведена решающая роль и в эффективном использовании природных ресурсов, и в защите окружающей среды от слишком быстрого и неконтролируемого промышленного развития. Авто- матизация — одно из реалистичных решений проблемы достижения высокого каче- ства жизни в мире, в котором стоит жить. Рекомендации по дальнейшему чтению В дискретном производстве встречаются разнообразные задачи цифрового управ- ления. Описательный материал по этим проблемам можно найти в [Groover, 1987], а более аналитический подход содержится в [Gershwin, 1994]. [Brooks, 1975] — это остроумная и насыщенная брошюра, посвященная реальным сторонам (читай: задержкам) планирования разработок в области программного обес- печения. Может быть рекомендована для менеджеров в области разработки программ- ного обеспечения, особенно если у них нет собственного опыта программирования. Общее введение в надежность программ дано в [Littlewood/Strigini, 1992]. Требо- вания к надежности сложных и распределенных компьютерных систем, рассматри- ваемые с позиций аппаратного и программного обеспечения, а также систем связи, обсуждается в [Tanenbaum, 1995]. В [Ullman, 1988] на высоком уровне описаны базы данных различных типов (ре- ляционные, иерархические и т. д.) как частные случаи общей идеи базы данных. При- менених экспертных систем для диагностики сбоев обсуждается в [ Hayes- Ro th/Waterman/Lenat, 1983]. Важным источником информации являются каталоги изделий, выпускаемые производителями аппаратуры и программного обеспечения для промышленной ав- томатики. Некоторые из них очень содержательны и написаны вполне в педагоги- tecKOM стиле.

„ Стандарты и организации Приложение по стаНдартИЗацИИ Необходимость стандартизации интерфейсов между различными компонентами и системами давно осознана и промышленностью, и пользователями. Эта книга по- стоянно ссылается на стандарты. Основное назначение стандартов — обеспечить совместимость различных компо- нентов и требуемое качество продукции. Стандарты разрабатываются национальны- ми и международными комитетами, а также многочисленными профессиональными и правительственными организациями, в работе которых обычно участвуют предста- вители компаний-производителей, научных организаций, университетов, прави- тельственных учреждений. Выпущенные ими документы используются в качестве руководства при создании новых компонентов и услуг. Тем не менее во многих слу- чаях действующие стандарты не обязательно представляют собой лучшие техничес- кие решения, поскольку они описывают уже существующие реализации и таким об- разом создают “области совместимости”. Иногда организации по стандартизации пытаются определить общие рамки, на базе которых должны создаваться конкрет- ные стандарты и технические решения. С другой стороны, некоторые разработки отдельных компаний получили столь широкое одобрение в промышленности, что стали стандартами де-факто. В этом отношении “анархия”, свойственная промышленности и свободному рынку, дает лучшие результаты, которые хотя и не являются стандартами в полном смысле, но имеют большее распространение и признание, чем то, что создается заорганизован- ной и медлительной международной бюрократией. Наиболее успешными оказались те решения, которые оставляют известную свободу производителям и позволяют выпускать продукцию с разумными затратами на базе имеющихся механических и электрических разработок. В различном контексте используется разная терминология - “стандарты” {standards'), “рекомендации” {recommendations), “руководящие указания” {guide- lines) и т. п. Официальный статус стандартов имеют только те документы, которые выпущены правительственными или общепризнанными профессиональными организациями. Любые другие рекомендации, руководства и прочие документы не носят официального характера и их применение зависит исключительно от пользователя. Стандарты могут быть либо официальными - де-юре, либо фактическими - де-факто. Официальные {legal) стандарты выпускаются либо государственными, либо межправительственными организациями, либо общепризнанными организаци- ями, созданными производителями. Фактические стандарты, часто называемые про- мышленными, возникают достаточно спонтанно, когда на практике почти все делают одно и то же или используют один и тот же продукт, но официально никто не форму- лирует соответствующее решение. Так было, например, с “промышленным стан- дартом персонального компьютера , что означало IBM PC и его клоны, с модемным протоколом компании ayes, языком управления принтером компании Epson и дру- гими. Многие фактические стандарты позднее были одобрены официальными орга- низациями. Характерно что актическими стандартами пользуются все, хотя никто не обязывает это делать.
542 Приложение. Стандарты и организации по стандартизации С официальными стандартами дело обстоит совсем по-другому. Поскольку в больших международных группах экспертов всегда существуют разные мнения о том, что необходимо делать, во многих случаях по одному и тому же поводу разны- ми организациями выпускаются несколько несовместимых стандартов, как, напри- мер, в случае с форматами сетевых пакетов, описанных в разделе 9.5. И все же это лучше, чем ничего. Следует отметить, что необходимость сближения существующих стандартов и перехода на единые стандарты осознается все больше и больше и что сотрудничество между различными организациями по стандартизации постоянно улучшается. Ниже приведен краткий список важнейших организаций, ответствен- ных за выпуск стандартов, признаваемых и применяемых в промышленности. Наиболее важной международной организацией по стандартизации является International Organization for Standardization — ISO. Сокращенное название восходит к греческому корню “isos”, что значит “равный”, и это позволяет использовать его в разных языках независимо от того, как звучит в них полное название и соответству- ющая аббревиатура этой организации. Например, по-французски она называется Organisation Internationale de Normalisation, а по-русски - Международная организа- ция по стандартизации. В состав ISO входят около 90 национальных комитетов и организаций по стандартизации, включая ANSI (США), Госстандарт (Россия), DIN (Германия), AFNOR (Франция), BSI (Великобритания), UNI (Италия), SS (Швеция) и другие, которые выпускают стандарты для всех отраслей и, в частности, для промышленности и вычислительной техники. В принципе, все страны-участни- цы должны придерживаться стандартов ISO. С другой стороны, некоторые нацио- нальные стандарты оказались настолько удачными, что они целиком “импортирова- лись” другими странами; например, так было с немецкими стандартами DIN. Подразделение ISO, разрабатывающее стандарты в области электротехники и электроники, — это International Electrotechnical Commission (IEC, Международная электротехническая комиссия — МЭК). В состав МЭК входит технический комитет ТС65, который занимается вопросами измерений и управления в промышленных процессах {Industrial Process Measurement and Control). Комитет TC65, в свою очередь, состоит из нескольких рабочих групп, каждая из которых отвечает за наиболее важ- ные направления технологии управления процессами, от системных вопросов и про- граммного обеспечения до программируемых логических контроллеров и цифровых коммуникаций. Страны, члены Европейского Союза (ЕС), кроме участия в ISO, имеют в его структуре собственные организации — ComiteЕигорёеп de Normalisation (CEN, Евро- пейский комитет по стандартизации) и Comite Еигорёеп de Normalisation Electro- technique (CENELEC, Европейский комитет по стандартизации в области электро- техники). Эти комитеты были организованы в 1960-х годах, чтобы продолжать работы ISO и МЭК на европейском уровне. Комиссия Европейского Союза наделена правом вводить единые стандарты в рамках политической и экономической интегра- ции, поэтому в последние годы деятельность CEN и CENELEC приобрела особое значение. В области телекоммуникаций и связи важнейшую роль играют рекомендации International Telecommunications Union (ITU, Международный союз электросвязи - МСЭ) и его подразделения International Telecommunications Union - Telecommunica- tion Standardization sector (ITU-T, Международный союз электросвязи - Сектор теле-
Приложение. Стандарты и организации по стандартизации 543 коммуникаций), которое раньше называлось Comite Consultatif International de Telegraphic et de Telephonic (CCITT, Международный консультативный комитет no телеграфии и телефонии — МККТТ). До сих пор многие рекомендации последнего сохранили в названии аббревиатуру CCITT (в русской нотации — МККТТ). Все страны — члены Организации Объединенных Наций — представлены в ITU государ- ственными телекоммуникационными компаниями, за исключением США, где нет государственной монополии на услуги связи, и поэтому их представляет Госдепарта- мент (т. е. Министерство Иностранных дел). ITU выпускает не стандарты, а лишь рекомендации. В принципе, каждая нацио- нальная компания может действовать на территории своей страны по собственно- му усмотрению, но очевидно, что для международной телефонной связи и передачи данных необходима совместимость национальных стандартов. Поэтому в этой об- ласти существует тенденция к выработке общих правил. Например, цифровые сети с интеграцией услуг внедряются во всем мире в соответствии с однотипными тре- бованиями. Стандарты ISO охватывают все области техники и поэтому наряду с соответ- ствующими национальными стандартами являются основными для промышленно- сти. Рекомендации ITU относятся, в первую очередь, к передаче голоса и данных. Если области действий этих организаций пересекаются, например при определе- нии коммуникационных интерфейсов или оборудования информационных сетей, общий стандарт публикуется дважды от имени каждой из них, и имеет разные обо- значения. В США существует Electronics Industries Alliance (EIA, Ассоциация электронной промышленности), которая объединяет производителей электронного оборудования и разрабатывает соответствующие электрические и функциональные стандарты. Выпускаемые этой ассоциацией документы имеют идентификатор RS или EIA. Не- которые из разработок EIА получили широкое распространение за пределами США, в частности интерфейс коммуникационного порта RS-232, который сейчас также на- зывают EIA-232. Расположенный в США Institute of Electrical and Electronics Engineers (IEEE, Ин- ститут инженеров no электротехнике и радиоэлектронике — ИИЭР) — это профес- сиональное объединение технических специалистов более чем 100 стран, имеющее национальные отделения по всему миру. Эта организация выпускает свои собствен- ные стандарты, касающиеся принципов работы, производительности и качества электротехнического и электронного оборудования. Стандарты IEEE признаны во всем мире, а в США они выпускаются совместно с American National Standards Institute (ANSI, Американский национальный институт стандартов). The Instrumentation Systems and Automation Society (ISA), бывшая Instrument Society of America, — это организация, занимающаяся стандартами в области приборов и уп- равления, как правило, по поручению ANSI. Эти стандарты относятся не только к разработке оборудования, но и к его эксплуатации. Две организации активно поддерживают развитие и применение системных шин в промышленных приложениях. VME International Trade Organization (VITA) зани- мается развитием дхт^тП^ТСТвую1цих стандартов; большинство стандар- тов VITA выпуше»0 Commiter М азвитием технологии Compact PCI занимается консорциум Industrial Computer Manufacturing Group.
544 Приложение. Стандарты и организации по стандартизации Адреса для справок Официальные публикации стандартов можно заказать в соответствующих орга- низациях; некоторые адреса приведены здесь просто для удобства. Национальные организации по стандартизации выступают в качестве центров по продаже литерату- ры, выпускаемой аналогичными организациями других стран. При оформлении за- казов следует иметь в виду, что одни стандарты состоят из несколько страниц, а дру- гие - из сотен и тысяч страниц. Поскольку документы такого рода должны быть четкими и однозначными, они написаны сухим стилем и напоминают статьи из сло- варей. Такие публикации предназначены в основном для справок, а не для чтения. Ниже перечислены адреса основных организаций по стандартизации, по которым можно заказать соответствующие стандарты. Большинство из этих организаций тоже предлагают свои документы в электронной форме через Интернет. ISO Central Secr6tariat 1, rue de Varembd CH-1211 Geneve 20, Switzerland http://www.iso.ch/ IEC Central Office 3, rue de Varembd CH-1211 Geneve 20, Switzerland http://www.iec.ch/ International Telecommunications Union Place des Nations CH-1211 Geneve 20, Switzerland http://www.itu.int/ American National Standards Institute (ANSI) http://www.ansi.org/ Electronics Industries Alliance (EIA) http://www.eia.org/ The Institute of Electrical and Electronics Engineers, Inc. (IEEE) http://www.ieee.org/ The Instrumentation, Systems, and Automation Society (ISA) http://www.isa.org/ Государственный комитет по стандартам РФ 117049 Россия, Москва Ленинский пр., д. 9 http:// www.gost. ru / DIN Deutsches Institut fur Normung Burggrafenstra|3e 6 10787 Berlin, Germany http://www.din.de/
Дополнение С середины 1998 года в средствах массовой информации всего мира стали появляться сообщения о всевозможных грядущих катастро- фах, связанных с компьютерными ошибками при смене даты с 1999 года на 2000-й. В СМИ практически исключительно приводились про- гнозы некомпетентных самозванных “экспертов”, в то время как мне- нием настоящих специалистов, не поддерживающих версию “конца света”, просто никто не интересовался. Целые страны были объявле- ны зоной особого риска, и в этой ситуации США, естественно, не мог- ли обойти вниманием Россию: американское правительство выступи- ло с предупреждением, рекомендующим своим гражданам не посещать Россию в период рождественских и новогодних праздников 2000 года. Настоящая статья — просто реакция на всю эту несуразицу; ника- ких практических последствий она не имела, но писать ее было при- ятно. Разумеется, уже 2 января 2000 года все делали вид, что и поня- тия не имели о бессмысленных затратах огромных финансовых и технических ресурсов на попытки решения “проблемы 2000” (Y2K). Джакгуидо Пиаки “Проблема 2000” и ее решение в России1 Одной из самых приятных сторон грядущего Нового года будет прекращение по- тока бессмысленных предсказаний о хаосе, который породит в России “проблема 2000” (“millennium bug”). Недавно опубликованные Госдепартаментом США и анг- лийским Foreign Office (т. е. Министерствами иностранных дел Америки и Велико- британии) материалы о мерах, предпринимаемых различными странами в целях пре- дотвращения “проблемы 2000”, справедливым образом произвели фурор. Не пощадили никого: кроме многих западных стран, таких как Италия и Германия, в группу риска попали даже Россия и Украина: им предрекается развал энергосисте- мы, услуг коммунального хозяйства, финансовых рынков, здравоохранения и т. д., который затянется на месяцы. Но именно комментарии в отношении данных стран помогут успокоить жителей Западной Европы, поскольку они заставят усомниться в достоверности информации, предоставленной англо-американскими источниками. Особенно следует отметить предлагаемые западными экспертами для России ава- рийные меры (например слить воду из радиаторов или использовать солнечные бата- 1 Статья была в ге й manifesto (Рим): “Il millennium bug fermato sugli Urali” (“Как останави у на урале») 4 декабря 1999 года. Главные ее аргумен- ты также опубликованы в The Moscow rlmes, .<Y2K а Bluff jn Russia„ _ обман pQc сии”), 11 ноября 1999 года.
546____________________________________________________________Дополнение — реи в середине российской зимы), которые настолько абсурдны, что всякое обсужде ние их заведомо бессмысленно. Опасения, высказываемые Англией и Америкой относительно последствий “про- блемы 2000” в России, оставляют, однако, в стороне две фундаментальные особенно- сти этой страны: значительная часть технологий в России не предусматривает ис- пользования компьютеров, и России приходится постоянно сталкиваться с исключительными ситуациями. Поэтому парадоксальным (точнее сказать — есте- ственным) образом Россия гораздо лучше других стран готова к работе в непредви- денных обстоятельствах, поскольку ей приходится постоянно существовать в таких условиях. То, что для Запада — исключение, в России — норма. Основной предмет западных опасений — российская электроэнергетика. Запад- ные аналитики настаивают, что любой более или менее длительный сбой энергоси- стемы может породить цепную реакцию в коммунальном хозяйстве и повлечет за со- бой остановку служб тепло-, водо- и газоснабжения. Однако в любой энергосистеме для возникновения сбоя, связанного с “проблемой 2000”, необходимо наличие нескольких взаимосвязанных факторов. Различные ком- поненты системы прежде всего должны определить, что наступила полночь 1 января 2000 года. Затем они должны принять решение о дальнейших действиях, например, либо о своем отключении, либо об отключении управляемого оборудования. И нако- нец, они должны выдать информацию о принятых решениях другим частям системы для того, чтобы те могли соответственно отреагировать. В сложной системе, каковой является энергетика, отказы подобного типа могут многократно размножиться и вза- имодействовать самым непредсказуемым образом. Для основного тяжелого энергетического оборудования — турбин, трансформа- тор и линий электропередач — дата и время значения не имеют. Единственное, что может затронуть “проблема 2000", — это оборудование управления и защиты, вместе с каналами связи. Но, в отличие от западных предприятий, где оборудование контро- ля и безопасности основано на цифровой технологии, и которая подвержена, по крайней мере — потенциальному, риску “проблемы 2000”, в России то же оборудова- ние действует на основе технологии электромеханической или аналоговой. И глав- ная проблема — это износ оборудования, а уж, конечно, не сбой в компьютерной сис- теме, ожидаемый 1 января. Кроме того, системы управления в российской энергетике в действительности мало чем управляют. Такие системы представляют собой не многим более, нежели системы мониторинга, основанные на старой вычислительной технике советского периода (которые зачастую просто не работают), соединенные с современными пер сональными компьютерами. В лучшем случае эти системы показывают то, что проис ходит в работе энергосети, и вовсе не запрограммированы для выполнения каких либо автоматических действий. Но даже, если бы они были запрограммированными таким образом, в России нет дистанционно управляемых механизмов, которые Mor^ бы выполнить надлежащие действия. Управление российской энергосистемой до ci _ пор осуществляется в основном вручную, и за небольшим исключением все распору жения отдаются по телефону операторам-диспетчерам, находящимся непосред ственно рядом с кнопками на панелах управления. Даже цифровые каналы связи между отдельними энергосистемами настоль примитивны, что их вряд ли может затронуть “проблема 2000”. В России не су
Проблема 2000” и ее решение в России 547 ствует стандартного формата обмена информацией между энергосистемами, и для связи необходимо множественно интерфейсов. Уже передача обычных данных по этим линиям — сама по себе непростая задача. Так называемая “проблема 2000” не имеет никакого шанса распространяться по сети. Единственные и по крайне мере потенциально зависящие от “проблемы 2000” ус- тройства — компьютерные микросхемы, которые в роковую полночь могут решить, что управляемое оборудование выработало свой срок, и поэтому просто отключить его. Но поскольку в России абсолютно недостаточно распространено понятие перио- дического предтворительного ремонта, зависимого от срока службы оборудования, то и контролировать особенно нечего. Здесь необходимо отметить, что мифология “проблемы 2000” основана на предпо- ложении, что огромное количество часов в множестве отдельных микросхем идут синхронно, даже если они не связанны друг с другом. Но на самом деле микросхемы, которые — как нам говорят — остановят работу лифтов на Западе и отключат энерго- систему в России, не могут знать, когда конкретно пробьет полночь. Для этого они должны были бы быть синхронизированы с каким-либо внешним источником време- ни, например, со спутниковой системой стандарта времени (которая, впрочем, будет показывать правильное время даже 1-го января). Но обычные устройства имеют внутренние часы, отсчитывающие время с момента первого включения. Если эти часы спешат или отстают, то нарушения, связанные с “проблемой 2000”, могут воз- никнуть в любой момент, начиная с сегодняшнего дня и вплоть до следующей весны, но они определенно не произойдут все одновременно. Таким образом, если “проблема 2000” и затронет Россию, то это выразится лишь в большем, чем обычно, количестве сбоев второстепенного компьютерного оборудова- ния в течение нескольких недель до и после Нового года. Жители не заметят ничего необычного, поскольку любые нарушения будут исправляться вручную, как обычно. Еще один сектор, которому, по мнению английских и американских “экспертов”, грозит опасность — это банковская система и финансовый рынок, но и здесь нельзя обойтись без иронических замечаний. С момента кризиса рубля в августе 1998 рос- сийские банки если и избежали полного краха, то практически прекратили действо- вать. Даже без “проблемы 2000” они испытывают значительные трудности с исполне- нием своих основных функций. Финансовые рынки, хотя бы в чем-то достойные так называться, просто не существуют, а экономика вновь частично ориентирована на натуральный обмен или на использование альтернативных эквивалентов рубля, от долларов до векселей. В банках компьютеры часто ломаются, но и это имеет относи- тельно небольшое значение в стране, где бумаги как носители информации использу- ются гораздо чаще, чем магнитные носители: чтобы осуществить, например, простой Денежный перевод, требуется иметь, как минимум, три или четыре справки. Но “про- блема 2000” сможет удобно послужить оправданием первых бухгалтерских и кассо- вых несоответствий в 2000 году; и кто сможет доказать обратное? Можно простить самопровозглашенным “экспертам” по “проблеме 2000” незна- ние вышеупомянутых фактов, так как, скорее всего, ни один из них ни разу не пере- ступил порог российского энергопредприятия. И это не первый раз, когда на Западе неверно истолковывается ситуация в России. Менее чем за 10 лет эту страну называ- ли и демократической, и диктаторской, открытым рынком и олигополией, быстро- Развивающейся и еще быстрее приходящей в упадок. Очень серьезные исследования,
548 _________________________________________________________Дополнение в результате которых выдвигались те или иные точки зрения, осуществлялись в свое время теми же фирмами и организациями, которые теперь занимаются “проблемой 2000”. Естественно, даже если методы подобного анализа формально были абсолют- но корректными, в нем все же ощущается недостаточная связь с реальной ситуацией Единственная практическая цель, конечно, не бескорыстная, проведения подобного рода исследования — способствовать созданию атмосферы беззащитности и подгото- вить почву для определенного бизнеса. Помимо этого, западные менеджеры будучи в командировке в России могут потребовать большие зарплаты и пособия из-за по- вышенного риска! Не случайно идея “проблемы 2000” особенно поддерживается фирмами-консультантами и организациями (которые — как это неожиданно! — в большинстве своем являются английскими или американскими), занимающимися вопросами менеджмента предприятий и бухгалтерского контроля; поскольку эта “проблема 2000” модная-современная, недостаточно ясная, и результаты борьбы с ней невозможно полностью проверить. В то же время она дает простор для разгово- ров (эти абстрактные предположения стали даже называться компьютерным терми- ном vaporware, т. е. “дымом’’-ware). Основной результат, к которому приводит “проблема 2000”, это то, что она отвле- кает внимание от более насущных задач, до сих пор не решенных. В российской энер- гетике это: нехватка мощности на ТЭЦ, выброс загрязнений, износ сетей энергоснаб- жения, эксплуатация АЭС (некоторые из них подобны Чернобыльской) и проблема неплатежей. Те же самые западные фирмы-консультанты и государственные учреж- дения, которые знают все о “проблеме 2000”, отстраняются от этих и других подоб- ных задач, поскольку они не знают, что предпринять для их разрешения. Будем наде- яться, что когда в январе интерес к “проблеме 2000” спадет, появится больше ресурсов для решения основных вопросов российской энергетики и экономики.
Список литературы [Alloca/Stuart, 1984] AllocaJ. and Stuart A. Transducers — Theory and Applications’, Region, VA: Reston Publishing Company, 1984. [Asada/Slotine, 1986] Asada, Haruhiko, and Jean-Jacques E. Slotine: Robot Analysis and Control', New York: Wiley, 1986. [Astrom/Hagglund, 1988] Astrom, Karl Johan, and Tore Hagglund: Automatic Tuningof P1D Controllers-, Research Triangle Park, NC: Instrument Society of America, 1988. [Astrom/Wittenmark, 1990] Astrom, Karl Johan, and Bjorn Wittenmark: Computer Controlled Systems — Theory and Design (2nd edition); Englewood Cliffs, NJ: Prentice Hall, 1990. [Astrom/Wittenmark, 1995] Astrom, Karl Johan, and Bjorn Wittenmark: Adaptive Control (2nd edition); Reading, MA: Addison-Wesley, 1995. [Atkinson/Shiffrin, 1971] Atkinson, Richard C. and R. M. Shiffrin: “The Control of Short- term Memory”; Scientific American. Vol. 224. Pp.82-90.1971 [Atkinson et al., 1990] Atkinson, Rita L., Richard C. Atkinson, Edward E. Smith and Ernest R. Hilgard: Introduction to Psychology (10th edition); San Diego, CA: Harcourt Brace Jovanovich, 1990. [Bainbridge, 1983] Bainbridge, Lisanne: “Ironies of Automation”; Automatica, Vol. 19 № 6. Pp. 775-779,1983. [Barney, 1988] Barney, George C. Intelligent Instrumentation: Microprocessor Applications in Measurement and Control (2nd edition); Englewood Cliffs, NJ: Prentice Hall, 1988. [Bellman/Kalaba, 1964] Bellman, Richard E. and Robert Kalaba (Eds.): Selected Papers on Mathematical Trends in Control Theory, New York: Dover Publications, 1964. [Ben-Ari, 1990] Ben-Ari, M. Principles of Concurrent and Distributed Programming: New York: Prentice Hall, 1990. [Bendat/Piersol, 1986] Bendat, Julius S. and Allan G. Piersol: Random Data — Analysis and Measurement Procedures (2nd edition); New York: Wiley, 1986. [Bendat/Piersol, 1993] Bendat, Julius, and Allan Piersol: Engineering Application of Correlation and Spectral Analysis (2nd edition); New York: Wiley, 1993. [Bender, 1990] Bender, Klaus (Ed.): PROFIBUS (in German); Munchen and Wien: Carl HanserVerlag, 1990. [Black, 1989] Black, Uyless D. Data Networks — Concepts, Theory and Practice: Englewood Cliffs, NJ: Prentice Hall, 1989. Русский перевод — [Блэк, 1990] [Bode, 1960] Bode, Hendrik Wade: “Feedback — the History of an Idea”, lecture given at the Conference on Circuits and Systems, New York, 1960, reprinted in [Bellman / Kalaba 1964]. [Brinch Hansen, 1973] Brinch Hansen, Per: Operating Systems Principles: Englewood Cliffs, NJ: Prentice Hall, 1973. [Brooks, 1975] Brooks, Frederick P. The Mythical Man-Month: Reading, MA: Addison- Wesley, 1975.
550 Список литературЬ1 [Buckley, 1964 J Buckley, Page S. Techniques of Process Control; New York: Wiley, 1964, [Cannon, 1967] Cannon, R.H. Jr. Dynamics of Physical Systems; New York: McGraw-Hill, 1967 [Coffmann/Denning, 1973] Coffmann, Edward G. and Peter J. Denning: Operating Systems Theory; Englewood Cliffs, NJ: Prentice Hall, 1973. [Coffmann/Elphick/Shoshani, 1971] Coffmann, E. G., M.J. Elphick and A. Shoshani: “System Deadlocks”; Computing Surveys. Vol. 3. № 2. Pp. 67-78, June 1971. [Craig, 1989] Craig, John J. Introduction to Robotics — Mechanics and Control (2nd edition)- Reading, MA: Addison-Wesley, 1989. [Derenzo, 1990] Derenzo, Stephen E. Interfacing — A Laboratory Approach Using the Microcomputer for Instrumentation, Data Analysis, and Control; Englewood Cliffs, NJ: Prentice Hall, 1990. [de Silva, 1989] de Silva, Clarence W. Control Sensors and Actuators; Englewood Cliffs, NJ: Prentice Hall, 1989. [Desrochers, 1990] Desrochers, Alan A. Modeling and Control of Automated Manufacturing Systems; Washington DC: IEEE Computer Society Press, 1990. [Dijkstra, 1968] Dijkstra, Edsger W. “Co-operating Sequential Processes”, in F. Genuys (Ed.), Programming Languages; London and New York: Academic Press, 1968. [Doebelin, 1990] Doebelin, Ernest O. Measurement Systems — Application and Design (4th edition); New York: McGraw-Hill, 1990. [Driankov /Hellendoorn /Reinfrank, 1993] Driankov Dimiter, Hans Hellendoom and Michael Rein- frank: An Introduction to Fuzzy Control (2nd edition); Berlin, New York: Springer-Verlag, 1993. [Elgerd, 1982] Elgerd, Olle I. Electric Energy Systems Theory — An Introduction (2nd edition); New York: McGraw-Hill, 1982. [Elmqvist, 1978] Elmqvist, Hilding: “A Structured Model Language for Large Continuous Systems”, Ph.D. Thesis, TFRT-1015; Lund, Sweden; Department of Automatic Control, Lund Institute of Technology, 1978. [Elmqvist, 1995] Elmqvist, Hilding: Dymola — User’s Manual; Lund, Sweden: Dynasim AB, Ideon Research Park, 1995. [Farowich, 1986] Farowich, Steven A. “Communicating in the technical office”; IEEE Spectrum Pp. 63-67, April 1986. [Fitzgerald/Kingsley/Umans, 1990] Fitzgerald, Arthur E., Charles Kingsley Jr. and Stephen D. Umans: Electric Machinery (5th edition); New York: McGraw-Hill, 1990. [Fletcher, 1980] Fletcher, W. I. An Engineering Approach to Digital Design; Englewood Cliffs, NJ- Prentice Hall, 1980. [Franklin/Powell/Emami-Naeimi, 1994] Franklin, Gene F., J. David Powell, and Abbas Emanii- Naeimi: Feedback Control of Dynamic Systems (3rd edition); Reading, MA: Addison-Wesley, 1994. [Franklin/Powell/Workman, 1990] Franklin, Gene F., J. David Powell, and Michael L. Work man: Digital Control of Dynamic Systems (2nd edition); Reading, MA: Addison-Wesley, 19 [Fuller, 1976] Fuller, A.T. “The early development of control theory” (Parts 1 and 2); Transactions of ASME — Journal of Dynamical Systems Measurement and Control. Vol. 98. Pp- 1^- 224-235 (1976). [Gershwin, 1994] Gershwin, Stanley B. Manufacturing Systems Engineering; Englewood Cliffs, NJ Prentice Hall, 1994. [Ginzberg, 1982] Ginzberg, Eli: “The Mechanization of Work”; Scientific American. Vol. 247 № 3- Pp. 38-47, September 1982.
Список литературы 551 [Glasford, 1986] Glasford, Glenn M. Analog Electronic Circuits- Englewood Cliffs, NJ: Prentice Hall, 1986. [Glass, 1983] Glass, Robert L. (Ed.): Real-Time Software-, Englewood Cliffs, NJ: Prentice Hall, 1983. [Groover, 1987] Groover, Mikell P. Automation, Production Systems, and Computer Integrated Manufacturing-, Englewood Cliffs, NJ: Prentice Hall, 1987. [Hassel/Tuvstedt, 1978] Hassel, K., and G. Tuvstedt: “Microcomputer Problems in Real-Time” (in Swedish); Elteknik med aktuell elektronik. № 14 (1978). [Hayes-Roth/Waterman/Lenat, 1983] Hayes-Roth, Frederick, Donald A. Waterman, and Douglas B. Lenat (Eds.): Building Expert Systems-, Reading, MA: Addison-Wesley, 1983. [Held, 1989] Held, Gilbert: Data Communication Networking Devices-, New York: Wiley, 1989. [Henze et al., 1987] Henze, Mogens, С. P. Lesley Grady, Willi Gujer, and G.v.R. Marais: Activated Sludge Model № 1, Scientific and Technical Report; London: IAWPRC (International Association for Water Pollution and Control), 1987. [Hofstadter, 1979] Hofstadter, Douglas R. Goedel, Escher, Bach — An Eternal Golden Braid; New York: Basic Books Publishers, 1979. [Hufault, 1986] Hufault, John R. Op Amp Network Design; New York: Wiley, 1986. [Irvine, 1994] Irvine, Robert G. Operational Amplifier Characteristics and Applications (3rd edition); Englewood Cliffs, NJ: Prentice Hall, 1994. f Jones, 1986] Jones, Brian K. Electronics for Experimentation and Research; Englewood Cliffs, NJ: Prentice Hall, 1986. JJuds, 1988] Juds, Scott M. Photoelectric Sensors and Controls — Selection and Application; New York: Dekker, 1988. [Kaminski, 1986] Kaminski, Michael A. Jr. “Protocols for communicating in the factory”; IEEE Spectrum. Pp. 56-62, April 1986. [Kay, 1977] Kay, Alan: “Microelectronics and the Personal Computer”; Scientific American. Vol. 237. № 3. Pp. 230-244, September 1977. [Kay, 1984] Kay, Alan: “Computer Software”; Scientific American. Vol. 251. № 3. Pp. 41-47, September 1984. [Kenjo/Sugawara, 1994] Kenjo, Takashi, and Akira Sugawara: Stepping Motors and their Microprocessor Controls (2nd edition); Oxford: Clarendon Press, and New York: Oxford University Press, 1994. [Klir/Folger, 1988] Kiir, George J., and Tina A. Folger: Fuzzy Sets, Uncertainty and Information; Englewood Cliffs, NJ: Prentice Hall, 1988. [Kosko, 1990] Kosko, Bart: Neural Networks and Fuzzy Systems — A Dynamical Systems Approach to Machine Intelligence; Englewood Cliffs, NJ: Prentice Hall, 1990. [Kreutzer, 1986] Kreutzer, Wolfgang: System Simulation — Programming Styles and Languages; Reading, MA: Addison-Wesley, 1986. [Kuo, 1995] Kuo, Benjamin C. Automatic Control Systems (7th edition); Englewood Cliffs, NJ: Prentice Hall, 1995. [Lee, 1978] Lee, Samuel C. Modem Switching Theory and Digital Design; Englewood Cliffs, NT: Prentice Hall, 1978. [Leonhard, 1985] Leonhard, Werner. Control of Electrical Drives; Berlin and New York: Springer Verlag, 1985. Levy/Eckhouse, 1980] Levy, Henry M. and Richard H. Eckhouse: Computer Programming and Architecture — The VAX-11; Bedford, MA: Digital Press, 1980.
552 Список литературы [Littlewood/Strigini, 1992] Littlewood, Bev, and Lorenzo Strigini: “The Risks of Software”; Scientific American. Vol. 267. № 5. Pp. 38-43, November 1992. [Ljung, 1987] Ljung, Lennart: System Identification — Theory for the User, Englewood Cliffs, NJ: Prentice Hall, 1987. [Ljung/Glad, 1994] Ljung, Lennart, and Torkel Glad: Modeling of Dynamic Systems; Englewood Cliffs, NJ: Prentice Hall, 1994. [Ljung/Soderstrom, 1983] Ljung, Lennart, and Torsten Soderstrom: Theory and Practice of Recursive Identification; Cambridge, MA: MIT Press, 1983. [Loukides, 1990] Loukides, Michael: System Performance Tuning; Sebastopol, CA: O'Reilly, 1990. [Luenberger, 1979] Luenberger, David G. Introduction to Dynamic Systems — Theory, Models and Applications; New York: Wiley, 1979. [Luyben, 1990] Luyben, William L. Process Modelling, Simulation and Control for Chemical Engineers (2nd edition); New York: McGraw-Hill, 1990. [Mayr, 1970] Mayr, Otto: The Origins of Feedback Control; Cambridge, MA: M.I.T. Press, 1970. [Mohan/Undeland/Robbins, 1995] Mohan, Ned, Tore M. Undeland, and William P. Robbins: Power Electronics — Converters, Applications, and Design (2nd edition); New York: Wiley, 1995. [Morrison, 1986] Morrison, Ralph: Grounding and Shielding Techniques in Instrumentation (3rd edition); New York: Wiley, 1986. [Newsweek, 1990] “Can We Trust Our Software?”; Newsweek Inti., January 29,1990. [Norman, 1988] Norman, Donald A. The Psychology of Everyday Things; New York: Basic Books Publishers, 1988. [Norman/Draper, 1986] Norman, Donald A. and Stephen W. Draper (Eds.): User Centered System Design — New Perspectives on Human-Computer Interaction; London and Hillsdale, NJ: Lawrence Erlbaurn Associates, 1986. [Norton, 1989] Norton, Harry N. Handbook of Transducers; Englewood Cliffs, NJ: Prentice Hall, 1989. [Olsson, 1985] Olsso n, Gustaf: “Control Strategies for the activated sludge process” (Chapter 65), in Cooney, Charles E. and Arthur E. Humphrey (Eds.): Comprehensive Biotechnology — The Principles of Biotechnology; New York: Pergamon Press, 1985. [Ott, 1988] Ott, Henry: Noise Reduction Techniques in Electronic Systems (2nd edition); New York: Wiley, 1988. [Pessen, 1989] Pessen, David W. Industrial Automation; Circuit Design and Components; New York: Wiley, 1989. [Peterson, 1989] Peterson, Wade D. The VMEbusHandbook; Scottsdale, AZ: VMEbus Inti. Trade Association (VITA), 1989. [Pirsig, 1974] Pirsig, Robert M. Zen and the Art of Motorcycle Maintenance — An Inquiry into Values; New York: Bantam, and New York: Morrow, 1974. [Preece/Keller, 199OJ Preece, Jenny, and Laurie Keller (Eds.): Human-Computer Interaction; Englewood Cliffs, NJ: Prentice Hall, and The Open University, 1990. [Rasmussen, 1983] Rasmussen, Jens: “Skills, Rules, and Knowledge; Signals, Signs and Symbols, and Other Distinctions in Human Performance Models”; IEEE Transactions on Systems, Man and Cybernetics, Vol. 13 № 3. Pp. 257-266, 1983. [Rasmussen/Duncan/Leplat, 1987] Rasmussen, Jens, Keith Duncan, and Jacques Leplat (Eds.): New Technology and Human Error; New York: Wiley, 1987. [Salvendy, 1987] Sal vendy, Gavriel (Ed.): Handbook of Human Factors; New York: Wiley, 1987.
Список литературы [Sanders/McCormick, 1993] Sanders, Mark S. and Ernest J. McCormick: Human Fatten Engineering and Design (7th edition); New York: McGraw-Hill, 1993. [Sargent/Shoemaker, 1995] Sargent, Murray III, and Richard L. Shoemaker: The Pers Computer from the Inside Out — The Programmer’s Guide to Low-level PC Hardware Software (3rd edition); Reading, MA: Addison-Wesley, 1995. [Seborg/Edgar/Mellichamp, 1989] Seborg, Dale E., Thomas F. Edgar, and Duncan A. M champ: Process Dynamics and Control, New York: Wiley, 1989. [Shannon/Weaver, 1949] Shannon, Claude E. and Warren Weaver: The Mathematical Theor Communication; Urbana, IL: University of Illinois Press, 1949, with later reprints. [Sheingold, 1986] Sheingold, Daniel H. (Ed.): Analog-Digital Conversion Handbook; Englew Cliffs, NJ: Prentice Hall, 1986. [Shinskey, 1996] Shinskey, F. Greg: Process Control Systems — Application, Design, and Tu (4th edition); New York: McGraw-Hill, 1996. [Shneiderman, 1998] Shneiderman, Ben: Designing the User Interface — Strategies for Effet Human-Computer Interaction (3rd edition); Reading, MA: Addison-Wesley Longman, 19f [Sinha, 1996] Sinha, Alok K. Network programming in Windows NT; Reading, MA: Addi: Wesley, 1996. [Smith, 1957] Smith, Otto J. M. “Close Control of Loops with Deadtime”; Chem. Eng- Progr. 217-219(1957). [Soderstrom/Stoica, 1989] Soderstrom, Torsten, and Petre Stoica: System identificai Englewood Cliffs, NJ: Prentice Hall, 1989. [Solso, 1993] Solso, Robert L. Cognitive Psychology (3rd edition); Boston, MA: Allyn and Ba 1993. [Spector, 1984] Spector, Alfred Z. “Computer Software for Process Control”, Scientific Ameri Vol. 251. № 3. Pp. 127-138, September 1984. [Spong/Vidyasagar, 1989] Spong, Mark W. and M. Vidyasagar: Robot Dynamics and Con, New York: Wiley, 1989. [Stearns/David, 1988] Stearns, Samuel D. and Ruth A. David: System Identification; Englew Cliffs, NJ: Prentice Hall, 1988. [Stephanopoulos, 1984] Stephanopoulos, George: Chemical Process Control — An Introductio Theory and Practice; Englewood Cliffs, NJ: Prentice Hall, 1984. [Stroustrup, 1997] Stroustrup, Bjarne: The C+ + Programming Language (3rd edition); Read MA: Addison-Wesley, 1997. [Tanenbaum, 1990] Tanenbaum, Andrew S. Structured Computer Organization (3rd editii Englewood Cliffs, NJ: Prentice Hall, 1990. [Tanenbaum, 1995] Tanenbaum, Andrew S. Distributed Operating Systems; Englewood Cliffs, Prentice Hall, 1995. [Tanenbaum, 1996] Tanenbaum, Andrew S. Computer Networks (3rd edition); Upper Sac River, NJ: Prentice Hall, 1996. [Tanenbaum/Woodhull, 1997] Tanenbaum, Andrew S. and Alfred Woodhull: Operating System Design and Implementation (2nd edition); Upper Saddle River, NJ: Prentice Hall, 1997. [Ullman, 1988] Ullman, Jeffrey D. Principles of Database and Knowledge-base Systems; Rockv. MD: Computer Science Press, 1988. [Voelcker, 1986] Voelcker, John. Helping computers communicate”; IEEE Spectrum. Pp. 61- March 1986.
554 Список литературы [Vogtlin/Tschabold, 1990] Vogtlin, В. and Р. Tschabold: Direct Measurement of Mass Flow Using the Coriolis Force; Reinach, Switzerland: Flowtec AG, 1990. [Warnock, 1988] Warnock, Ian G. Programmable Controllers Operation and Application- Englewood Cliffs, NJ: Prentice Hall, 1988. (Warrior/Cobb, 1988] Warrior, Jay, and Jim Cobb: “Structure and Flexibility for Fieldbus Messaging”; Control Engineering. Pp. 18-20, October 1988. [Washburn/Evans, 1996] Washburn, Kevin and Jim Evans: TCP/IP; Running a Successful Network (2nd edition); Harlow, England and Reading, MA: Addison-Wesley, 1996. [Wilson/Hawkes, 1989] Wilson, J. and J. F. B. Hawkes: Optoelectronics — An Introduction (2nd edition); Englewood Cliffs, NJ: Prentice Hall, 1989. [Wolfram, 1991] Wolfram, Stephen: Mathematica — A System for Doing Mathematics by Computer (2nd edition); Reading, MA: Addison-Wesley, 1991. [Wood, 1988] Wood, G. G. “International Standards Emerging for Fieldbus”; Control Engineering. Pp. 22-25, October 1988. [Yager/Zadeh, 1987] Yager, Ronald R. (Ed.): Fuzzy Sets and Applications — Selected Papers by L[otfi]A. Zadeh; New York: Wiley, 1987. [Young, 1982] Young, Stephen J. Real-Time Languages — Design and Development; Chichester, England: Ellis Horwood Ltd., and New York: Wiley, 1982. Русский перевод — [Янг, 1985] [Аничкин и др., 1990] Аничкин С. А., Белов С. А., Бернштейн В. А. и др. Протоколы информа- ционно-вычислительных сетей. Справочник. М.: Радио и связь, 1990. [Белоногов/Кузнецов, 1983] Белоногов Г. Г., Кузнецов Б. А. Языковые средства автомати- зированных информационных систем. М.: Наука, 1983. [Блэк, 1990] Блэк Ю. Сети ЭВМ: протоколы, стандарты, интерфейсы/ Пер. с англ. М.: Мир, 1990. [Буч, 1999] Буч Г. Объектно-ориентированный анализ и проектирование с примерами на C++/ Пер. с англ. СПб.-M.: Невский Диалект - Издательство “Бином”, 1999. [ВанТассел, 1985] Ван Тассел Д. Стиль, разработки, эффективность, отладка и испытана" программ. 2-е изд., испр. М.: Мир, 1985. [Вирт, 1989] Вирт Н. Алгоритмы и структуры данных/ Пер. с англ. М.: Мир, 1989. [Воронов, 1965; 1966] Воронов А. А. Основы теории автоматического управления. М.: Энер- гия, 1965-1966. [Гласс/Науэо, 1983] Гласс Р., Наузо Р. Сопровождение программного обеспечения. М.: Мир, 1983. [Голд/Рэйдер, 1983] Голд Б., Рэйдер Ч. Цифровая обработка сигналов/ Пер. с англ. М.: Сов. радио, 1973. [Девис, 1980] Девис У. Операционные системы. Функциональный подход. М.: Мир, 1980. [Дейт, 1980] Дейт К. Введение в системы баз данных. М.: Наука, 1980. [Залмаизон, 1981] Залманзон Л. А. Беседы об автоматике и кибернетике. М.: Наука., 1981. [Зейденберг/Зимарев/Степанов/Масловский, 1990] Зейденберг В. К., Зимарев А. Н., С те панов А. М., Масловский Е. К. Англо-русский словарь по вычислительной технике. М- Русский язык, 1990. [Зелковиц/Шоу/Гэннон, 1982] Зелковиц М., Шоу А., Гэннон Дж. Принципы разработки программного обеспечения. М.: Мир, 1982.
Список литературы 555 [Зиглер, 1985] Зиглер К. Методы проектирования программы*: систем. М.: Мир, 1985. [Иллингоуоти др., 1990] Толковый словарь по вычислительным системам/ Под ред. Иллинго- урта и др. М.: Машиностроение, 1990. [Кейлингерт, 1985] Кейлингерт П. Элементы операционных систем/ Пер. с англ. М.: Мир, 1985. [Керниган/Ритчи, 2001] Керниган Б. В., Ритчи Д. Язык программирования Си/ Пер. с англ. СПб.: Невский Диалект, 2001. [Керниган/Пайк, 2001] Керниган Б. В., Пайк Р. Практика программирования/ Пер. с англ. СПб.: Невский Диалект, 2001. [Кнут, 1977, 1978] Кнут Д. Искусство программирования для ЭВМ. Т. 1—3/ Пер. с англ. М.: Мир, 1977- 1978.1 [Ковчин/Сабинин, 1994] Ковчин С. А., Сабинин Ю. А. Теория электропривода. Учебник для вузов. СПб.: Энергоатомиздат, 1994. [Коутс/Влейминг, 1990] Коутс Р., Влейминг И. Интерфейс “человек-компьютер’’/ Пер. с англ. М.: Мир, 1990. [Левшина/Новицкий, 1983] Левшина Е. С., Новицкий П. В. Электрические измерения физи- ческих величин — измерительные преобразователи: Учеб, пособие для вузов. Л.: Энерго- атомиздат, 1983. [Липпман/Лажойе, 2001] Липпман С. Б., Лажойе Ж.. Язык программирования C++. Вводный курс/ Пер. с англ. СПб.-M.: Невский Диалект - ДМК Пресс, 2001. [Лисовский/Калугин, 1984] Лисовский Ф. В., Калугин И. К. Англо-русский словать по ра- диоэлектронике. М.: Русский язык, 1984. [Ляпунов, 1950] Ляпунов А. М. Общая задача об устойчивости движения. М.: Гостехиздат, 1950. [Малкин, 1952] Малкин И. Г. Теория устойчивости движения. М.; Л.: Гостехтеоретиздат, 1952. [Навроцкий, 1991] Навроцкий К. Л. Теория и проектирование гидро-и пневмоприводов: Учеб- ник для вузов. М.: Машиностроение, 1991. [Новицкий/Зограф, 1991] Новицкий П. В., Зограф И. А. Оценка погрешностей результатов измерений. 2-е изд., перераб. и доп. Л.: Энергоатомиздат, 1991. [Оппенгейм/Шафер, 1979] Оппенгейм А. В., Шафер Р. В. Цифровая обработка сигналов/ Пер. с англ. М.: Связь, 1979. [Оппенгейм, 1980] Применение цифровой обработки сигналов/ Под редакцией А. Оппенгей- ма/ Пер. с англ. М.: Мир, 1980. [Орлов, 2000] Орлов С. Б. Современный англо-русский словарь по вычислительной технике. Издание 2-е., переработанное и дополненное М.: РадиоСофт, 2000. [Пройдаков/Теплицкий, 1998] Пройдаков Э. М., Теплицкий Л. А. Англо-русский словарь терминов и сокращений по ВТ, Интернет и программированию. М.: “СК Пресс”, 1998. [Рабинер/Гоулд, 1978] РабинерЛ., Гоулд Б. Теория и применение цифровой обработки сигна- лов/ Пер. с англ. М.: Мир, 1978. [Роджерс, 1989] Роджерс Д. Алгоритмические основы машинной графики/ Пер. с англ. М.: Мир, 1989. 1 Перевод первого англ, издания, третье англ, издание вышло: М.: Издательский дом “Ви- льямс”, 2000
556 Список литературы [Солодовников, 1967] Теория автоматического регулирования - Техническая кибернетика / Под ред. Солодовникова. Кн. 1, 2. М.: Машиностроение, 1967. [Страуструп, 1999] Страуструп Б. Язык программирования C++, 3-е издание/ Пер. с англ. СПб.-M.: Невский Диалект - Издательство “Бином”, 1999. [Сю/Мейер, 1972] Сю Д., Мейер А. Современная теория автоматического управления и ее применение: Пер. с англ. / Под ред. Ю. И. Топчеева. М.: Машиностроение, 1972. [Технологии..., 1991-1993] Технологии электронных коммуникаций. В 31 т. / Науч, рук Ю. Н. Горностаев. М.: “СП Эко-Трейдз”, 1991-1993. [Фельдбаум, 1957] Фельдбаум А. А. Электрические системы автоматического регулирова- ния. М.: Оборонгиз, 1957. [Халсалл, 1995] Халсалл Ф. Передача данных, сети компьютеров и взаимосвязь открытых систем: Пер. с англ. М.: Радио и связь, 1995. [Цикритзис/Бернстайн, 1977] Цикритзис Д., Бернстайн Ф. Операционные системы: Пер. с англ. М.: Мир, 1977. [Цыпкин, 1977] Цыпкин Я.З. Основы теории автоматических систем. М.: Наука., 1977. [Шлеер/Меллор, 1993] Шлеер С., МеллорС. Объектно-ориентированный анализ:моделиро- вание мира в состояниях/ Пер. с англ. Киев: Диалектика, 1993. [Шоу, 1981] Шоу А. Логическое проектирование оперрационных систем: Пер. с англ. М.: Мир, 1981. [Якубайтнс, 1990] Архитектура, протоколы и тестирование информационных сетей. Толко- вый словарь по вычислительным системам / Под ред. Э. А. Якубайтиса М.: Финансы и статистика, 1990. [Янг, 1985] Янг С. Алгоритмические языки реального времени/ Пер. с англ. М.: Мир, 1985.
Научное издание Густав Олесон, Джангуидо Пиани Цифровые системы автоматизации и управления Издательство “Невский Диалект” 195220, Санкт-Петербург, Гражданский пр., 14 Лицензия на издательскую деятельность серия ЛР № 065012 от 18. 02. 97 Подписано в печать 21.05.2001. Формат 70х100‘/)6. Бумага офсетная. Печать офсетная. Гарнитура PetersburgC. Усл. печ. л. 8,0. Тираж 3000 экз. Заказ № 1021 Отпечатано с готовых диапозитивов в Академической типографии «Наука» РАН 199034,Санкт-Петербург.Э линия, 12