Author: Денисенко В.В.
Tags: автоматика системы автоматического управления и регулирования интеллектуальная техника технология управления оборудование систем управления техническая кибернетика прикладные информационные (компьютерные) технологии методы основанные на применении компьютеров промышленность автоматизация
ISBN: 978-5-9912-0060-8
Year: 2009
В. В. Денисенко ЮМПЬИТЕРНПЕ УПРАВЛЕНИЕ технологическим процессом, экспериментом, оборудованием Москва Горячая линия - Телеком 2009
УДК 681.5:004.9 ББК 32.965 ДЗЗ Рецензенты: доктор техн, наук, профессор В. В. Топорков] доктор техн, наук, профессор В. И. Финаев Денисенко В.В. ДЗЗ Компьютерное управление технологическим процессом, экспериментом, оборудованием. — М.: Горячая линия-Телеком, 2009. — 608 с., ил. ISBN 978-5-9912-0060-8. Книга содержит систематическое изложение основных вопросов совре- менной теории и практики промышленной и лабораторной автоматиза- ции. Представлены только самые необходимые для практики сведения с акцентом на детальный анализ наиболее сложных и часто неправильно понимаемых вопросов. Рассмотрены широко распространенные в России промышленные интерфейсы и сети, архитектура систем автоматизации и методы их защиты от помех, тонкие нюансы техники автоматизированных измерений, ПИД-регуляторы с автоматической настройкой и адаптаци- ей, структура и характеристики управляющих контроллеров, современ- ные методы резервирования, средства программирования контроллеров, SCADA-пакеты и ОРС серверы, юридические вопросы внедрения средств автоматизации, в том числе на опасных промышленных объектах. Для специалистов по промышленной автоматизации, а также инжене- ров и научных работников, которые хотят автоматизировать свою работу с помощью компьютера. Может быть полезна студентам старших кур- сов технических университетов. ББК 32.965 Адрес издательства в Интернет WWW.TECHBOOK.RU Научное издание Денисенко Виктор Васильевич Компьютерное управление технологическим процессом, экспериментом, оборудованием Редактор Ю.Н. Чернышов Компьютерная верстка Ю.Н. Чернышов Обложка художника В.Г. Ситникова Подписано в печать 24.06.08. Формат 70x100/16. Усл. пен. л. 38. Тираж 1000 экз. Изд. Xе 8060 ООО «Научно-техническое издательство «Горячая линия-Телеком» Зак. 3733. Отпечатано в ООО ПФ «Полиграфист», 160001, г. Вологда, ул. Челюскинцев, 3. ISBN 978-5-9912-0060-8 © В.В. Денисенко, 2009 © Оформление издательства «Горячая линия-Телеком», 2009
Оглавление Предисловие............................................. 11 Введение................................................ 13 Глава 1. Архитектура автоматизированной системы............... 16 1.1. Разновидности архитектур.............................. 16 1.1.1. Требования к архитектуре......................... 18 1.1.2. Простейшая система............................... 21 1.1.3. Распределенные системы автоматизации............. 23 1.1.4. Многоуровневая архитектура....................... 29 1.2. Применение Интернет-технологий........................ 33 1.2.1. Проблемы и их решение............................ 34 1.2.2. Основные понятия технологии Интернета............ 35 1.2.3. Принципы управления через Интернет............... 36 1.2.4. Микро-веб-серверы................................ 38 1.2.5. Примеры применения............................... 39 1.3. Понятие открытой системы.............................. 40 1.3.1. Свойства открытых систем......................... 43 1.3.2. Средства достижения открытости................... 45 1.3.3. Достоинства и недостатки......................... 47 1.4. Заключение............................................ 49 1.5. Обзор публикаций...................................... 49 Глава 2. Промышленные сети и интерфейсы....................... 51 2.1. Общие сведения о промышленных сетях................... 52 2.2. Модель OSI............................................ 55 2.2.1. Физический уровень............................... 56 2.2.2. Канальный уровень................................ 57 2.2.3. Сетевой уровень.................................. 57 2.2.4. Транспортный уровень............................. 57 2.2.5. Сеансовый уровень................................ 57 2.2.6. Уровень представления............................ 58
4 Оглавление 2.2.7. Прикладной уровень................................. 58 2.2.8. Критика модели OSI................................. 58 2.3. Интерфейсы RS-485, RS-422 и RS-232...................... 59 2.3.1. Принципы построения................................ 59 2.3.2. Стандартные параметры.............................. 61 2.3.3. Согласование линии с передатчиком и приемником..... 61 2.3.4. Топология сети на основе интерфейса RS-485......... 65 2.3.5. Устранение состояния неопределенности линии........ 65 2.3.6. Сквозные токи...................................... 66 2.3.7. Выбор кабеля....................................... 67 2.3.8. Расширение предельных возможностей................. 69 2.3.9. Интерфейсы RS-232 и RS-422......................... 69 2.4. Интерфейс «токовая петля»............................... 70 2.5. HART-протокол........................................... 74 2.6. CAN..................................................... 83 2.6.1. Физический уровень................................. 85 2.6.2. Канальный уровень.................................. 90 2.6.3. Прикладной уровень: CANopen........................ 94 2.6.4. Электронные спецификации устройств CANopen......... 96 2.7. Profibus................................................ 96 2.7.1. Физический уровень................................. 98 2.7.2. Канальный уровень Profibus DP...................... 99 2.7.3. Резервирование.................................... 104 2.7.4. Описание устройств................................ 104 2.8. Modbus................................................. 105 2.8.1. Физический уровень................................ 107 2.8.2. Канальный уровень................................. 108 2.8.3. Прикладной уровень................................ 110 2.9. Промышленный Ethernet.................................. 112 2.9.1. Особенности Ethernet.............................. 114 2.9.2. Физический уровень................................ 115 2.9.3. Канальный уровень................................. 121 2.9.4. Modbus TCP........................................ 121 2.9.5. Profinet.......................................... 123 2.10. Протокол DCON......................................... 123 2.11. Беспроводные локальные сети........................... 126 2.11.1. Проблемы беспроводных сетей и пути их решения.... 127 2.11.2. Bluetooth........................................ 137 2.11.3. ZigBee и IEEE 802.15.4....................?...... 139 2.11.4. Wi-Fi и IEEE 802.11.............................. 149 2.11.5. Сравнение беспроводных сетей............. 152
Оглавление 5 2.12. Сетевое оборудование.................................. 153 2.12.1. Повторители интерфейса........................... 153 2.12.2. Концентраторы (хабы)............................. 155 2.12.3. Преобразователи интерфейса....................... 155 2.12.4. Адресуемые преобразователи интерфейса............ 158 2.12.5. Межсетевые шлюзы................................. 159 2.12.6. Другое сетевое оборудование...................... 160 2.12.7. Кабели для промышленных сетей.................... 161 2.13. Заключение............................................ 165 Глава 3. Защита от помех...................................... 166 3.1. Источники помех....................................... 167 3.1.1. Характеристики помех............................. 168 3.1.2. Помехи из сети электроснабжения.................. 170 3.1.3. Молния и атмосферное электричество............... 173 3.1.4. Статическое электричество........................ 176 3.1.5. Помехи через кондуктивные связи.................. 178 3.1.6. Электромагнитные помехи.......................... 178 3.1.7. Другие типы помех................................ 180 3.2. Заземление............................................ 180 3.2.1. Определения...................................... 181 3.2.2. Цели заземления.................................. 182 3.2.3. Защитное заземление зданий....................... 183 3.2.4. Автономное заземление............................ 185 3.2.5. Заземляющие проводники........................... 185 3.2.6. Модель «земли»................................... 185 3.2.7. Виды заземлений.................................. 187 3.3. Проводные каналы передачи сигналов.................... 189 3.3.1. Источники сигнала................................ 189 3.3.2. Приемники сигнала................................ 191 3.3.3. Прием сигнала заземленного источника............. 194 3.3.4. Прием сигнала незаземленных источников........... 195 3.3.5. Дифференциальные каналы передачи сигнала......... 196 3.4. Паразитные связи...................................... 198 3.4.1. Модели компонентов систем автоматизации.......... 199 3.4.2. Паразитные кондуктивные связи.................... 200 3.4.3. Индуктивные и емкостные связи.................... 201 3.5. Методы экранирования и заземления..................... 204 3.5.1. Гальванически связанные цепи..................... 204 3.5.2. Экранирование сигнальных кабелей................. 206 3.5.3. Гальванически развязанные цепи................... 210 3.5.4. Экраны кабелей на электрических подстанциях...... 211
6 Оглавление 3.5.5. Экраны кабелей для защиты от молнии............. 211 3.5.6. Заземление при дифференциальных измерениях...... 212 3.5.7. Интеллектуальные датчики........................ 212 3.5.8. Монтажные шкафы................................. 213 3.5.9. Распределенные системы управления............... 215 3.5.10. Чувствительные измерительные цепи............... 216 3.5.11. Исполнительное оборудование и приводы........... 216 3.5.12. Заземление на взрывоопасных объектах............ 217 3.6. Гальваническая развязка.............................. 218 3.7. Защита промышленных сетей от молнии.................. 219 3.7.1. Пути прохождения импульса молнии................ 220 3.7.2. Средства защиты................................. 222 3.8. Стандарты и методы испытаний по ЭМС.................. 224 3.9. Верификация заземления и экранирования............... 225 3.10. Заключение........................................... 226 Глава 4. Измерительные каналы................................ 229 4.1. Основные понятия..................................... 229 4.1.1. Определения основных терминов................... 229 4.1.2. Точность, разрешающая способность и порог чувстви- тельности ............................................. 234 4.1.3. Функция автокорреляции.......................... 236 4.1.4. Коэффициент корреляции.......................... 240 4.1.5. Точечные и интервальные оценки погрешности...... 243 4.1.6. Погрешность метода измерений.................... 245 4.1.7. Погрешность программного обеспечения............ 246 4.1.8. Достоверность измерений......................... 246 4.2. Многократные измерения............................... 248 4.2.1. Повышение точности путем усреднения результатов измерений.............................................. 248 4.2.2. Точность и продолжительность измерений.......... 252 4.3. Динамические измерения............................... 258 4.3.1. Теорема Котельникова............................ 258 4.3.2. Фильтр и динамическая погрешность............... 260 4.3.3. Алиасные частоты, антиалиасные фильтры.......... 270 4.4. Суммирование погрешностей измерений.................. 275 4.4.1. Исходные данные для расчета..................... 275 4.4.2. Методы суммирования погрешностей................ 276 4.4.3. Систематические погрешности..................... 278 4.4.4. Случайные погрешности........................... 279 4.4.5. Дополнительные погрешности...................... 280
Оглавление 7 4.4.6. Динамические погрешности........................ 280 4.4.7. Нахождение итоговой погрешности................. 281 4.5. Заключение........................................... 282 4.6. Обзор литературы..................................... 283 Глава 5. ПИД-регуляторы...................................... 284 5.1. Идентификация моделей динамических систем............ 285 5.1.1. Модели объектов управления...................... 287 5.1.2. Выбор тестовых сигналов......................... 294 5.1.3. Частотная идентификация в режиме релейного регули- рования ............................................... 301 5.1.4. Идентификация в замкнутом и разомкнутом контурах. 309 5.1.5. Аналитическая идентификация..................... 312 5.1.6. Методы минимизации критериальной функции........ 315 5.2. Классический ПИД-регулятор........................... 318 5.2.1. П-регулятор..................................... 319 5.2.2. И-регулятор..................................... 321 5.2.3. ПИ-регулятор.................................... 322 5.2.4. ПД-регулятор.................................... 324 5.2.5. ПИД-регулятор................................... 324 5.3. Модификации ПИД-регуляторов.......................... 325 5.3.1. Регулятор с весовыми коэффициентами при уставке.. 325 5.3.2. Регулятор с формирующим фильтром для сигнала уставки. 327 5.3.3. Принцип разомкнутого управления................. 328 5.3.4. Регулятор отношений............................. 334 5.3.5. Регулятор с внутренней моделью.................. 334 5.3.6. Эквивалентные преобразования структур ПИД-регуляторов 338 5.3.7. ПИД-регуляторы для систем с транспортной задержкой .... 339 5.4. Особенности реальных регуляторов..................... 342 5.4.1. Погрешность дифференцирования и шум............. 343 5.4.2. Интегральное насыщение.......................... 344 5.4.3. Запас устойчивости и робастность................ 348 5.4.4. Сокращение нулей и полюсов...................... 356 5.4.5. Безударное переключение режимов регулирования.... 356 5.4.6. Дискретная форма регулятора..................... 357 5.5. Расчет параметров.................................... 361 5.5.1. Качество регулирования.......................... 361 5.5.2. Выбор параметров регулятора..................... 364 5.5.3. Ручная настройка, основанная на правилах........ 367 5.5.4. Методы оптимизации.............................. 368 5.6. Автоматическая настройка и адаптация................. 368
8 Оглавление 5.6.1. Основные принципы................................ 369 5.6.2. Табличное управление............................. 370 5.6.3. Обзор коммерческих продуктов..................... 371 5.6.4. Программные средства настройки................... 375 5.7. Нечеткая логика, нейронные сети и генетические алгоритмы. 376 5.7.1. Нечеткая логика в ПИД-регуляторах................ 377 5.7.2. Искусственные нейронные сети........................ 382 5.7.3. Генетические алгоритмы........................... 384 5.8. Заключение............................................ 386 5.9. Обзор публикаций...................................... 387 Глава 6. Контроллеры для систем автоматизации................. 391 6.1. Программируемые логические контроллеры................ 393 6.1.1. Типы ПЛК......................................... 393 6.1.2. Архитектура...................................... 395 6.1.3. Характеристики................................... 399 6.1.4. Пример ПЛК....................................... 403 6.1.5. Устройства сбора данных.......................... 406 6.2. Компьютер в системах автоматизации.................... 408 6.2.1. Компьютер в качестве контроллера................. 409 6.2.2. Компьютер для общения с оператором............... 410 6.2.3. Промышленные компьютеры.......................... 411 6.3. Устройства ввода-вывода............................... 414 6.3.1. Ввод аналоговых сигналов......................... 415 6.3.2. Модули ввода тока и напряжения................... 419 6.3.3. Термопары........................................ 421 6.3.4. Термопреобразователи сопротивления............... 425 6.3.5. Тензорезисторы................................... 432 6.3.6. Вывод аналоговых сигналов........................ 439 6.3.7. Ввод дискретных сигналов......................... 443 6.3.8. Вывод дискретных сигналов........................ 445 6.3.9. Ввод частоты, периода и счет импульсов........... 447 6.3.10. Модули управления движением..................... 449 6.4. Заключение............................................ 452 Глава 7. Автоматизация опасных объектов....................... 454 7.1. Искробезопасная электрическая цепь.................... 455 7.2. Блоки искрозащиты..................................... 458 7.4. Правила применения искробезопасных устройств.......... 460 7.4. Функциональная безопасность........................... 461 7.5. Выбор аппаратных средств.............................. 464
Оглавление 9 7.5.1. Виды опасных промышленных объектов................ 464 7.5.2. Классификация взрывоопасных зон................... 466 7.5.3. Классификация взрывоопасности технологических блоков.. 468 7.5.4. Взрывопожарная и пожарная опасность............... 469 7.5.5. Требования к техническим устройствам.............. 471 7.5.6. Маркировка взрывозащищенного оборудования......... 471 7.5.7. Монтаж взрывоопасного технологического оборудования.... 474 7.6. Заключение............................................. 475 Глава 8. Аппаратное резервирование............................. 477 8.1. Основные понятия и определения......................... 477 8.2. Резервирование ПЛК и устройств ввода-вывода............ 482 8.2.1. Общие принципы резервирования..................... 483 8.2.2. Модули ввода и датчики............................ 487 8.2.3. Модули вывода..................................... 491 8.2.4. Процессорные модули............................... 495 8.2.5. Резервирование источников питания................. 500 8.3. Резервирование промышленных сетей...................... 501 8.3.1. Сети Profibus, Modbus, CAN........................ 501 8.3.2. Сети Ethernet..................................... 502 8.3.3. Резервирование беспроводных сетей................. 508 8.4. Оценка надежности резервированных систем............... 509 8.5. Заключение............................................. 514 Глава 9. Программное обеспечение............................... 516 9.1. Развитие программных средств автоматизации............. 516 9.1.1. Графическое программирование...................... 518 9.1.2. Графический интерфейс............................. 519 9.1.3. Открытость программного обеспечения............... 519 9.1.4. Связь с физическими устройствами.................. 520 9.1.5. Базы данных....................................... 521 9.1.6. Операционные системы реального времени............ 521 9.2. ОРС-сервер............................................. 524 9.2.1. Обзор стандарта ОРС............................... 524 9.2.2. ОРС DA-сервер..................................... 526 9.2.3. ОРС HDA-сервер.................................... 530 9.2.4. Спецификация ОРС UA............................... 530 9.2.5. ОРС DA-сервер в среде MS Excel.................... 535 9.2.6. Применение ОРС-сервера с MATLAB и Lab VIEW........ 539 9.3. Системы программирования на языках МЭК 61131-3......... 540 9.3.1. Язык релейно-контактных схем LD................... 542 9.3.2. Список инструкций IL.............................. 543
10 Оглавление 9.3.3. Структурированный текст ST...................... 543 9.3.4. Диаграммы функциональных блоков FBD............. 544 9.3.5. Функциональные блоки стандартов МЭК 61499 и МЭК 61804 544 9.3.6. Последовательные функциональные схемы SFC....... 546 9.3.7. Программное обеспечение......................... 547 9.4. Пользовательский интерфейс, SCADA-пакеты............. 549 9.4.1. Функции SCAD А.................................. 549 9.4.2. Свойства SCADA.................................. 553 9.4.3. Программное обеспечение......................... 555 9.5. Заключение........................................... 556 Литература............................................ 558 Предметный указатель.................................. 593
Предисловие Идея написания этой книги появилась, когда Научно-исследовательская лаборатория автоматизации проектирования (НИЛ АП, www.RealLab.ru), в ко- торой автор много лет работал в должности главного инженера, начала быстро расти и возникла потребность в обучении новых сотрудников, принимаемых на должность системных интеграторов. В обязанности системных интеграто- ров входило проектирование, сборка, наладка, монтаж у заказчика и пуско- наладка систем автоматизации, включая программирование контроллеров и SCADA-пакетов, установленных на персональных компьютерах. Появилась за- дача в кратчайший срок обучить сотрудников самому важному, что необходимо знать для успешной реализации проектов. Эта задача определила содержание настоящей книги, широту охвата темы и глубину ее освещения. В книге пред- ставлены только самые актуальные темы современной автоматизации, необ- ходимые для практики. Вторым толчком к написанию книги явились тысячи вопросов, которые задавали покупатели продукции НИЛ АП серии «RealLab!», пытающиеся са- мостоятельно приспособить компьютер для автоматизации своей деятельности в цехе, лаборатории, у себя дома или создать автоматизированную систему управления технологическим процессом, испытанием, измерением. В связи с бурным расцветом промышленного производства в России в по- следние годы появилась огромная потребность в специалистах, которые могли бы создавать системы промышленной автоматизации для химических и нефте- химических заводов, нефтедобывающих предприятий, для магистральных газо- и нефтепроводов, для элеваторов, мельниц, промышленных теплиц, комбикор- мовых, бетоносмесительных и металлургических заводов, испытательных ла- бораторий, для автоматизации зданий («умного дома») и т.д. Очень часто та- кими специалистами выступают технологи и инженеры КИПиА* соответствую- щих производств, не являющиеся специалистами по автоматизации технологи- ческих процессов (АСУ ТП). Они могут самостоятельно создавать необходимые им системы из готовых компонентов — компьютеров, контроллеров, модулей ввода-вывода, датчиков и исполнительных устройств. Литература по современным системам автоматизации в момент написания книги имелась только в виде статей зарубежных журналов и рекламных про- * КИПиА — контрольноизмерительные приборы и автоматика.
12 Предисловие спектов фирм-производителей. Отсутствовали книги с обобщением и систе- матическим изложением знаний, необходимых для специалистов по системной интеграции. Автору пришлось изучить более тысячи зарубежных статей и книг по указанной тематике, чтобы представить в систематизированном виде, при- годном для самостоятельного изучения, самые современные знания в области лабораторной и промышленной автоматизации, необходимые для перечислен- ного выше круга специалистов. При написании книги использован опыт, накопленный автором и коллек- тивом НИЛ АП при проектировании и внедрении множества систем промыш- ленной автоматизации, а также обширная библиография, приведенная в кон- це книги. Во многих местах автор не смог указать первоисточник, поскольку сделанные им обобщения или выводы формул, систематизация материала или трактовка результатов хотя и были инициированы этими работами, но суще- ственно отличаются от них, так что указать корректную ссылку было просто невозможно. Ссылки не сделаны также на результаты, полученные автором, и на информацию, которая имеется во множестве широко доступных источников. Автор выражает благодарность своим учителям — докторам технических наук Г.М. Балиму и В.П. Попову за их доброжелательность и поддержку автора в начале жизненного пути, друзьям и коллегам по работе к.т.н. А.Н. Халявко, д.т.н. В.Б. Дмитриеву-Здорову, к.т.н. В.Н. Бирюкову и к.т.н. Н.И. Мережину за плодотворные дискуссии в стенах НИЛ АП, а также замечательному коллек- тиву НИЛ АП, в окружении которого была написана эта книга. Книга рассчитана на лиц с высшим техническим образованием и предна- значена для технологов, метрологов, инженеров КИПиА и АСУ ТП, научных работников, студентов и всех, кто желает расширить сферы применения пер- сонального компьютера или автоматизировать эксперимент, технологический процесс, офис, рабочее место.
Введение Компьютер вошел в нашу жизнь как средство для компьютерных игр, про- смотра фильмов и глобального общения через Интернет, для инженерных рас- четов и проектирования, для редактирования текста, графики и музыки. Одна- ко есть еще одна великолепная возможность применения компьютера — авто- матизация различных сфер деятельности человека. Автоматизировать мож- но предприятие, цех, технологический процесс или оборудование, дом, офис, лабораторию. Для этого компьютер нужно оснастить датчиками и исполни- тельными механизмами, чтобы он обрел способность заменить или расширить возможности человека везде, где это возможно. В лаборатории компьютер может автоматически управлять последователь- ностью измерительных процедур, поддерживать стабильную температуру в ка- мере тепла и холода или изменять ее по заранее заданному закону, прини- мать и обрабатывать сигналы от датчиков скорости, ускорения, давления и др., измерять напряжение, ток, сопротивление, скорость вращения вала дви- гателя, частоту, массу, вычислять параметры электронных приборов, стро- ить графики вольтамперных характеристик, отображать динамику физических процессов в химических реакциях. Исследовательские процедуры, выполняе- мые по определенному алгоритму, могут быть запрограммированы и выпол- няться многократно без внесения в процесс измерения ошибок, свойственных человеку. В производственном или жилом помещении автоматизированная система может выполнять роль охранной и пожарной сигнализации, регулятора тем- пературы, влажности, управлять освещением и системой кондиционирования, используя для этого компьютер, соответствующие датчики, исполнительные устройства — кондиционер, отопительную систему, сирену, освещение и мно- гое другое. В производственном процессе компьютер может автоматически распечаты- вать результаты приемо-сдаточных испытаний серийной продукции, управлять станками, технологическими линиями и агрегатами; выводить для просмотра оператором состояние каждой единицы оборудования, задействованного в про- изводственном процессе, поддерживать температуру или давление в паровом котле, управлять работой механизмов, сигнализировать об аварийных ситуа- циях или о приближении параметра к аварийному значению, выполнять тех- нологические защиты и блокировки.
14 Введение Компьютер может иметь в тысячи раз более чувствительные органы, чем человек, и быстрее реагировать на поступающие воздействия. Поэтому он спо- собен выполнять операции, которые невозможно реализовать иными средства- ми. Например, компьютер может с точностью до нескольких миллисекунд уловить момент времени, в который температура в зоне химической реакции изменилась на 0,001 °C, или за несколько секунд построить изотермы испы- тательной термокамеры, график зависимости эффективной разрядности АЦП от температуры или отмерять количество компонента, поступающего для при- готовления медицинского препарата. На самом деле спектр применения компьютера в сочетании с датчиками и исполнительными устройствами практически ограничен только фантазией пользователя. В настоящей книге описываются принципы применения компьютера для описанных выше целей. В конкретных примерах использованы модули ввода- вывода аналоговой и дискретной информации серии RealLab!, которая широко распространена на отечественном рынке средств лабораторной и промышлен- ной автоматизации и выполнена в соответствии с Российскими и международ- ными стандартами в области промышленной автоматизации. Серия RealLab! позволяет строить современные распределенные системы управления лабора- торными и технологическими процессами и включает в себя не только аппа- ратуру, но и программное обеспечение, ориентированное не на программистов, а на рядовых пользователей персонального компьютера. Несмотря на слож- ность выполняемых задач, сама система достаточно проста в эксплуатации и не требует специальных знаний. Она выполнена в виде отдельных модулей, которые объединены между собой промышленной сетью на основе интерфейса RS-485 и обладает возможностью практически неограниченного наращивания. Пользователь может подсоединить к одному порту компьютера множество мо- дулей нужного назначения. Данные из модулей могут поступать на различ- ные компьютеры локальной сети. В настоящее время для создания автоматизированной системы управления не нужно быть специалистом по АСУ ТП, достаточно быть специалистом в той предметной области, для которой создается система. Это было невозможно еще 15-20 лет назад, когда персональные компьютеры не были так широко рас- пространены, их программирование выполнялось на ассемблере или в машин- ных кодах, а для выполнения операций ввода-вывода нужно было разработать электрическую схему и спаять печатную плату. С появлением модульного принципа построения систем управления, SCADA-пакетов, стандарта ОРС и языка программирования контроллеров МЭК 61131-3 стало возможным сделать автоматизацию такой же простой и ин- тересной, как работу с персональным компьютером и офисными программами. В книге не рассматриваются частнофирменные технические и программные решения, не соответствующие открытым международным стандартам. При- менение таких средств приводит к тому, что заказчик становится «заложни- ком» конкретного программиста или конкретной фирмы-производителя, кото- рые начинают диктовать ему свои финансовые условия. В отличие от этого, применение решений, основанных на открытых международных стандартах,
Введение 15 позволяет заказчику в любой момент отказаться от одного подрядчика (си- стемного интегратора) в пользу другого или использовать оборудование раз- ных производителей. Хочется обратить внимание читателя на то, что часто он может даже не по- дозревать, что его задачи можно автоматизировать. Во многих случаях нужно предпринять некоторые усилия для активизации воображения. Однако когда идея автоматизации созрела, она легко реализуется и оказывается очень эф- фективной, а ее воплощение — увлекательным. По убеждению автора, ни одну формулу нельзя понять и правильно при- менить на практике до тех пор, пока не станет понятен ее вывод из очевидных посылок. Поэтому все формулы в книге даны с выводом, который читатель может повторить самостоятельно. В книге много английских сокращений и терминов, не переведенных на русский язык. Это связано с отсутствием русскоязычных аналогов, а также с тем, что в области промышленной автоматизации общепринято использовать международные (англоязычные) сокращения и некоторые термины. Тексты описанных программ и руководства по эксплуатации аппаратных средств можно скачать с Интернет-сайта www.RealLab.ru или заказать по ад- ресу info@RLDA.ru. Автор с благодарностью примет все пожелания по улучшению книги и со- общения об ошибках, которые можно присылать по адресу victor@RLDA.ru или НИЛ АП, ул. Зои Космодемьянской, 2, Таганрог, 347924. Тел. (8634) 324-140.
Глава 1 Архитектура автоматизированной системы Автоматизированная система призвана облегчить труд человека, расши- рить его функциональные возможности или заменить полностью, если это воз- можно. Поэтому архитектура систем автоматизации во многом напоминает строение человека: роль органов чувств выполняют датчики, роль рук, ног и органов речи — исполнительные устройства, роль мозга — компьютер или контроллер. Благодаря такой аналогии архитектура системы автоматизации становится понятной любому человеку на интуитивном уровне. Однако при разработке конкретной системы возникает множество сложных практических вопросов, касающихся стандартизации, безопасности, коммерческой эффектив- ности, технологичности, точности, надежности, совместимости, технического сопровождения и т.п., которым посвящены последующие главы книги. В настоящей главе рассмотрены только самые общие (архитектурные) принципы построения систем промышленной и лабораторной автоматизации. 1.1. Разновидности архитектур Существует огромное разнообразие датчиков (температуры, влажности, давления, потока, скорости, ускорения, вибрации, веса, натяжения, частоты, момента, освещенности, шума, объема, количества теплоты, тока, уровня и др.) [1], которые преобразуют физическую величину в электрический сигнал. Если параметры сигнала не согласуются с параметрами входа аналого-цифрового преобразователя (АЦП) или не соответствуют стандарту (например, входной величиной АЦП является напряжение в диапазоне 0...10 В, а датчик (термопа- ра) имеет выходное напряжение в диапазоне от 0 до 100 мВ), то используют из- мерительный преобразователь (рис. 1.1), который обеспечивает нормализацию сигнала сигнала датчика (приведение к стандартным диапазонам изменения, обеспечение линейности, компенсацию погрешности, усиление и т.п.). Измери- тельные преобразователи обычно совмещают с модулями аналогового ввода. Измерительные преобразователи могут иметь встроенный АЦП или ЦАП (цифро-аналоговый преобразователь), а также микропроцессор для линеари- зации характеристик датчика и компенсации погрешностей аналоговой части системы. В последнее время получили распространение цифровые датчики, объединяющие в себе первичный преобразователь физической величины в элек- трический сигнал, измерительный преобразователь и АЦП. Примером могут
Архитектура автоматизированной системы 17 Рис. 1.1. Простейший вариант автоматизированной системы с одним компьютером, од- ним устройством ввода и одним устройством вывода служить датчики температуры DS18B20 фирмы Dallas Semiconductor, у кото- рых выходной сигнал является цифровым и соответствует спецификации ин- терфейса 1-Wire (www.maxim-ic.com). Для ввода в компьютер аналоговых сигналов служат модули аналогового ввода (рис. 1.1). Модули ввода могут быть общего применения (универсальные) или специализированные. Примером универсального модуля ввода является NL-8AI (www.RealLab.ru), который воспринимает сигналы напряжения в диа- пазонах ±150 мВ, ±500 мВ, ±1 В, ±5 В, ±10 В и тока в диапазоне ±20 мА. При- мером специализированного модуля является модуль ввода сигналов термопар NL-8TI (www.RealLab.ru), который работает только с термопарами и содержит встроенные во внутреннюю память модуля таблицы поправок для компенсации нелинейностей термопар и температуры холодного спая. Кроме модулей аналогового ввода широко распространены модули дис- кретного ввода, которые не содержат АЦП и позволяют вводить сигналы, име- ющие два уровня (например, сигналы от концевых выключателей, датчиков открывания двери, пожарных датчиков, охранных датчиков движения и т. п.). Уровни входных сигналов модулей дискретного ввода могут изменяться в диа- пазоне, как правило, 0...24 В или 0...220 В. Модули с входом 220 В использу- ются, например, для регистрации наличия напряжения на клеммах электро- двигателя или нагревательного прибора. Отдельное место занимают устройства счетного ввода, которые имеют дис- кретный вход и позволяют считать количество или частоту следования им- пульсов. Их используют, например, для измерения скорости вращения вала электродвигателя или подсчета продукции на конвейере. Компьютер обычно является «мозгом» автоматизированной системы. Он принимает сигналы датчиков, исполняет записанную в него программу и вы- дает необходимую информацию в устройство вывода. Коммуникации между
18 Глава 1 компьютером и устройствами ввода-вывода выполняются через последователь- ные интерфейсы, например, USB, CAN, RS-232, RS-485, RS-422, Ethernet или параллельный интерфейс LPT. Иногда устройства ввода-вывода выполняют в виде плат, которые вставляют непосредственно в компьютер, в разъемы шины PCI или ISA. Достоинством плат является возможность получения вы- сокой пропускной способности каналов ввода-вывода (свыше 10 Мбит/с), что трудно достижимо при использовании внешних устройств с последовательным портом. Недостатком является более высокий уровень электромагнитных на- водок от компьютера и конструктивные ограничения на количество каналов ввода-вывода. В автоматизированных системах вместо компьютера или одновременно с ним часто используют программируемый логический контроллер (ПЛК). Ти- повыми отличиями ПЛК от компьютера является специальное конструктивное исполнение (для монтажа в стойку, панель, на стену или в технологическое обо- рудование), отсутствие механического жесткого диска, дисплея и клавиатуры. Контроллеры также имеют малые размеры, расширенный температурный диа- пазон, повышенную стойкость к вибрации и электромагнитным излучениям, низкое энергопотребление, защищены от воздействий пыли и воды, содержат сторожевой таймер и платы аналогового и дискретного ввода-вывода, имеют увеличенное количество коммуникационных портов. В контролерах, в отличие от компьютеров, как правило, используется операционная система реального времени (например, Windows СЕ, QNX). В последнее время наметилась тенденция стирания грани между компью- тером и контроллером. С одной стороны, контроллеры (например, NLcon-CE фирмы НИЛ АП или WinCon фирмы ICP DAS) позволяют подключить мо- нитор, мышь и клавиатуру, с другой стороны, появилось большое количество промышленных компьютеров, которые имеют специальное конструктивное ис- полнение и другие свойства, характерные для контроллеров. В связи с этим в дальнейшем мы будем употреблять термины «компьютер» и «контроллер» как синонимы, и это будет ясно из контекста. Устройства вывода (модули вывода) позволяют выводить дискретные, ча- стотные или аналоговые сигналы. Дискретные сигналы используются, на- пример, для включения электродвигателей, электрических нагревателей, для управления клапанами, фрамугами, насосами и другими исполнительными устройствами. Частотный сигнал используется обычно для управления сред- ней мощностью устройств с большой инерционностью с помощью широтно- импульсной модуляции. 1.1.1. Требования к архитектуре Архитектура автоматизированной системы — это наиболее абстрактное ее представление, которое включает в себя идеализированные модели компонен- тов системы, а также модели взаимодействий между компонентами. Элемен- ты* архитектуры находятся во взаимосвязи, образуя единую автоматизирован- ную систему и обеспечивая решение поставленной задачи автоматизации на * «Компонент» и «элемент» в данном контексте являются синонимами.
Архитектура автоматизированной системы 19 архитектурном уровне. В то же время архитектура оставляет достаточно сво- боды для выбора конкретных технических решений [2]. Поэтому правильно спроектированная архитектура допускает множество технических реализа- ций путем выбора различных компонентов архитектуры и методов взаимодей- ствия между ними. Элементами архитектуры являются модели (абстракции) датчиков, уст- ройств ввода-вывода, измерительных преобразователей, ПЛК, компьютеров, интерфейсов, протоколов, промышленных сетей, исполнительных устройств, драйверов, каналов передачи информации. Архитектуру создает архитектор [2]. Основным требованием к архитектору является знание предметной области (принципов функционирования объекта автоматизации) и знание технических характеристик аппаратных и программ- ных средств, используемых для построения системы. При построении архитектуры должны быть заложены следующие свойства будущей автоматизированной системы: • слабая связанность элементов архитектуры между собой (т.е. декомпози- цию системы на части следует производить так, чтобы поток информации через связи был минимален и через них не замыкались контуры автома- тического регулирования); • тестируемость (возможность установления факта правильного функци- онирования); • диагностируемость (возможность нахождения неисправной части систе- мы); • ремонтопригодность (возможность восстановления работоспособности за минимальное время при экономически оправданной стоимости ремонта); • надежность (например, путем резервирования); • простота обслуживания и эксплуатации (минимальные требования к ква- лификации и дополнительному обучению эксплуатирующего персонала); • безопасность (соответствие требованиям промышленной безопасности и технике безопасности); • защищенность системы от вандалов и неквалифицированных пользова- телей; • экономичность (экономическая эффективность в процессе функциониро- вания); • модифицируемость (возможность перенастройки для работы с другими технологическими процессами); • функциональная расширяемость (возможность ввода в систему дополни- тельных функциональных возможностей, не предусмотренных в техниче- ском задании); • наращиваемость (возможность увеличения размера автоматизированной системы при увеличении размера объекта автоматизации); • открытость (см. п. 1.3); • возможность переконфигурирования системы для работы с новыми техно- логическими процессами; максимальная длительность жизненного цикла
20 Глава 1 системы без существенного морального старения, достигаемая путем пери- одического обновления аппаратных и программных компонентов, а также путем выбора долгоживущих промышленных стандартов; • минимальное время на монтаж и пуско-наладку (развертывание) системы. Архитектура системы может быть различной в зависимости от решаемой задачи автоматизации. Такими задачами могут быть: • мониторинг (продолжительные измерение и контроль с архивированием по- лученной информации); • автоматическое управление (в системе с обратной связью или без нее); • диспетчерское управление (управление с помощью человека-диспетчера, который взаимодействует с системой через человеко-машинный интер- фейс); • обеспечение безопасности. Любая из перечисленных задач может выполняться на большом рассто- янии между объектом автоматизации и системой. В этом случае говорят о задачах телемеханики (дистанционные измерение, управление, сигнализация). Однако в связи с тем, что каналы дистанционной связи (Интернет, радиока- нал, оптико-волоконный канал, проводной канал) органично входят практи- чески в любую систему автоматизации, задачу телемеханики все реже выде- ляют как самостоятельную. Построение любой АСУ* начинается с декомпозиции (деления на части) системы на подсистемы. Декомпозиция может быть функциональной (алго- ритмической) или объектной. При объектной декомпозиции используются распределенные системы уп- равления (см. 1.1.3), когда каждый объект автоматизации оборудуется локаль- ным технологическим контроллером, решающим задачи в пределах этого объ- екта. При функциональной декомпозиции систему автоматизации делят на части, группируя сходные функции, и для каждой группы функций использу- ют отдельный контролер. Оба вида декомпозиции могут быть использованы совместно. Выбор способов декомпозиции является творческим процессом и во многом определяет эффективность будущей системы. Объектная декомпозиция объекта автоматизации используется в современ- ных SCADA-пакетах, см., например, [13]. Она аналогична объектной декомпо- зиции, используемой в объектно-ориентированном программировании (ООП), основными признаками которой являются абстрагирование, инкапсуляция, мо- дульность, иерархическая организация [3]. Классам ООП соответствуют кон- троллеры (ПЛК), объектам — контроллеры с заданными свойствами (парамет- рами), инкапсуляция соответствует сокрытию конкретной реализации (напри- мер, с помощью функциональных блоков языка IEC 61131-3, см. гл. 9); благода- ря инкапсуляции существенно упрощается структура системы с точки зрения системного интегратора и тем самым уменьшается количество возможных оши- бок. Модульность обеспечивается модульностью аппаратного обеспечения си- стемы, иерархичность естественным путем вытекает из требований заказчика. * АСУ — автоматизированная система управления
Архитектура автоматизированной системы 21 Независимо от метода декомпозиции, основным ее результатом должно быть представление системы в виде набора слабо связанных частей. Слабая связь между частями системы означает отсутствие между ними обратных свя- зей или малость модуля петлевого усиления при наличии таких связей, а также отсутствие интенсивного обмена информацией. Программные модули, реализующие отдельные функции в разных контрол- лерах, могут взаимодействовать между собой по промышленной сети с помощью технологии СОМ фирмы Microsoft, CORBA консорциума OMG [4] или SOAP консорциума W3C [5]. Для разработки заказного программного обеспечения распределенных систем управления используют специальную среду разработ- ки систем реального времени [8] или стандартное программное обеспечение на основе технологии DCOM фирмы Microsoft (см. главу 9). В статье [6] приво- дится пример системы, в которой разные функции управления представлены в виде компонентов, написанных с помощью CORBA, распределенных между разными контроллерами либо сгруппированных в одном из них. В работе [7] предлагается способ построения архитектуры системы на основе «ячеек авто- матизации», при котором на разных уровнях иерархии используются одни и те же ячейки с одним и тем же программным обеспечением, что делает систе- му однородной несмотря на иерархичность и поэтому снижает трудоемкость ее проектирования и обслуживания. Более подробно программное обеспечение систем автоматизации будет рас- смотрено в главе 9. 1.1.2. Простейшая система Изображенная на рис. 1.1 система в зависимости от ее назначения и про- граммного обеспечения может быть системой сбора данных, системой диспет- черского или автоматического управления, системой контроля, испытаний, ди- агностики и т.д. Это простейший вариант автоматизированной системы, по- строенной на основе одного компьютера, устройств ввода-вывода, датчиков и исполнительных устройств (актуаторов). На рис. 1.1 датчики подсоединены к одному многоканальному измеритель- ному преобразователю. Однако различные типы датчиков могут требовать раз- личных типов преобразователей или работать вообще без них. Некоторые типы интеллектуальных датчиков имеют интерфейс RS-485 и могут подключаться непосредственно к компьютеру (контроллеру), как, например, датчики серии NL-1S фирмы НИЛ АП (www.ReaiLab.ru). Системы мониторинга (наблюдения) за физическими процессами не содер- жат исполнительных устройств или используют электромагнитные (реже по- лупроводниковые) реле для коммутации измерительных цепей. Обычный офисный компьютер в стандартной конфигурации имеет два пор- та USB, один СОМ-порт, один принтерный порт LPT и порт Ethernet, который появляется после установки в компьютер Ethernet-платы. Количество USB портов можно увеличить с помощью USB хабов, а количество СОМ-портов — с помощью преобразователя USB в СОМ (см. www.RealLab.ru). Промышленные компьютеры и контроллеры обычно имеют несколько портов RS-485, RS-422 и
22 Глава 1 Рис. 1.2. Для подключения устройств ввода-вывода могут быть использованы все порты компьютера оптоволоконный порт. Для применения оптического канала с офисным ком- пьютером к нему можно подключить оптоволоконный преобразователь интер- фейса. Все перечисленные порты можно использовать для обмена информацией межу компьютером и внешними устройствами (рис. 1.2). Для увеличения дальности передачи сигнала по линии связи до 1,2 км мож- но использовать преобразователи интерфейсов RS-232 в RS-485 или RS-422, а также интерфейс «токовая петля» (см. главу 2). Внешние устройства, не имеющие гальванически изолированного порта, обычно подключают к компьютеру через изолирующие преобразователи ин- терфейсов, которые защищают компьютер от случайного попадания высокого напряжения в случае аварии или небрежного обращения. Примером изоли- рующего преобразователя для порта RS-232 может быть оптический изолятор 01-232-1000 (www.RealLab.ru) с напряжением изоляции 1000 В. Если к компьютеру необходимо подключить еще одно устройство, а сво- бодных портов не осталось, то можно использовать разветвители интерфей- сов. Распространены разветвители интерфейсов USB (их еще называют USB- хабами) и RS-232. Устройство, имеющее интерфейс RS-232, можно подключить к USB-порту компьютера, если использовать преобразователь USB в RS-232. К компьютеру могут быть подключены не только специализированные мо- дули ввода-вывода, но и многие измерительные приборы широкого примене- ния. Например, вольтметр HP 34401А имеет интерфейс RS-232 и может быть подключен к компьютеру и программам, поддерживающим СОМ-технологию (например, MS Excel) с помощью COM-объекта RL232man фирмы НИЛ АП (рис. 1.2), подробнее см. главу 9. Типовыми применениями описанной системы может быть домашняя авто-
Архитектура автоматизированной системы 23 матизация [15], испытательный стенд для тестирования серийной продукции [16], лабораторные работы в вузах, локальное управление технологическим про- цессом, контроль температуры в теплице или элеваторе (см. www.RealLab.ru). 1.1.3. Распределенные системы автоматизации С ростом количества датчиков, увеличением площади территории, на ко- торой расположена автоматизированная система и усложнением алгоритмов управления становится более эффективным применение распределенныхснстем [14, 17-22]. Распределенные системы состоят из множества территориально раз- несенных контроллеров и модулей ввода-вывода. При таком подходе структура распределенной системы и структура алгоритма ее работы становятся подоб- ны структуре самого объекта автоматизации, а функции сбора, обработки дан- ных, управления и вычисления оказываются распределенными среди множе- ства контроллеров. Каждый контроллер работает со своей группой устройств ввода-вывода и обслуживает определенную часть объекта управления. В част- ности, технологическое оборудование, как правило, выпускается с уже встро- енными ПЛК. Тенденция децентрализации управления и приближения кон- троллеров к объектам управления является общей для всех систем автомати- зации и отчасти навеяна успехами объектно-ориентированного программиро- вания. Кроме того, сосредоточенная система является частью или частным случаем распределенной, поэтому появление распределенных систем является следствием естественного развития от частного к общему. Распределенную систему управления (РСУ, DCS — Distributed Control System) можно определить как систему, состоящую из множества устройств, разнесенных в пространстве, каждое из которых не зависит от остальных, но взаимодействует с ними для выполнения общей задачи [19]. В предельном случае элементы системы могут находиться на разных континентах земного шара, а связь между ними может выполняться через Интернет. В качестве «множества устройств» могут выступать любые микропроцессорные устрой- ства, например ПЛК или разнесенные в пространстве модули ввода-вывода одного контроллера. Однако в последнем случае только сбор данных можно рассматривать как распределенный, в то время как функция управления яв- ляется сосредоточенной в одном контроллере. Максимальные преимущества распределенной системы достигаются, когда контроллеры работают автономно, а обмен информацией между ними сведен до минимума. Распределенная система имеет следующие характеристики, отличающие ее от сосредоточенной: • большее быстродействие благодаря распределению задач между парал- лельно работающими процессорами; • повышенную надежность (отказ одного из контролеров не влияет на ра- ботоспособность других); • большую устойчивость к сбоям; • более простое наращивание или реконфигурирование системы; • упрощенную процедуру модернизации;
24 Глава 1 • большую простоту проектирования, настройки, диагностики и обслужи- вания благодаря соответствию архитектуры системы архитектуре объекта управления, а также относительной простоте каждого из модулей системы; • улучшенную помехоустойчивость и точность благодаря уменьшению длины линий передачи аналоговых сигналов от датчиков к устройствам ввода; • меньший объем кабельной продукции, пониженные требования к кабелю и более низкая его стоимость; • меньшие расходы на монтаж и обслуживание кабельного хозяйства. Распределенная система смягчает также требования к операционным си- стемам (ОС) реального времени (см. главу 9), поскольку задачи распределе- ны между параллельно работающими контроллерами, на каждом из которых установлена отдельная ОС. Для эффективного проектирования распределенных систем автоматизации необходимы строгие методы их описания. Необходимо также обеспечить сов- местимость и взаимозаменяемость между собой всех устройств, входящих в си- стему и выпускаемых разными производителями. Для этих целей был раз- работан международный стандарт МЭК 61499 «Функциональные блоки для индустриальных систем управления» [20] (см. также главу 9). Он исполь- зует три уровня иерархии моделей при разработке распределенных систем: мо- дель системы, модель физических устройств и модель функциональных бло- ков. Модели всех уровней в соответствии со стандартом представляются в виде функциональных блоков, которые описывают процесс передачи и обработки информации в системе. Особенностью функциональных блоков стандарта МЭК 61499 является то, что они учитывают не только традиционное инициирование выполнения алго- ритма с помощью тактирования или временного расписания, но и по признаку наступления некоторых событий (событийное управление). Событийное управ- ление является более общим, а тактирование можно рассматривать как его частный случай, заключающийся в периодическом появлении одного и того же события (сигнала тактирования). Функциональные блоки (ФБ) могут быть использованы также для поддер- жания всего жизненного цикла системы, включая проектирование, изготовле- ние, функционирование, валидацию* и обслуживание. Примеры применения стандарта и дальнейшая разработка методики проектирования распределен- ных систем с его помощью описываются в работах [9-12]. Модель распределенной системы автоматизации в соответствии со стандартом МЭК 61499 может быть представлена как набор физических устройств (например, ПЛК), взаимодействующих между собой с помощью од- ной или нескольких промышленных сетей (рис. 1.3). Сети могут иметь иерар- хическую структуру. Функции, выполняемые системой автоматизации, моделируются с помощью программного приложения, которое может располагаться в одном устройстве * Валидация (термин стандарта ИСО 9001)— подтверждение соответствия системы требованиям ее назначения. Выполняется с участием потребителя. Не путать с вери- фикацией — доказательством достоверности.
Архитектура автоматизированной системы 25 Промышленная сеть Рис. 1.3. Модель распределенной системы автоматизации в соответствии со стандартом МЭК 61499 (например, ПЛК), как, например, приложение В на рис. 1.3, или может быть распределено между несколькими ПЛК, как приложения А и Б. Например, приложение, выполняющее ПИД-регулирование, может располагаться в трех устройствах, из которых первое выполняет функцию ввода данных от датчи- ков (является модулем ввода), второе выполняет алгоритм регулирования, тре- тье выполняет функцию вывода данных в исполнительное устройство. Вторым примером может быть клиент-серверное приложение, в котором клиент распо- ложен в одном устройстве, сервер — в другом. Модель физического устройства. Каждое физическое устройство в распределенной системе должно содержать по крайней мере один интерфейс к объекту управления или к промышленной сети и может содержать несколь- ко (в том числе ноль) ресурсов (определение ресурса см. ниже), см. рис. 1.4. При этом устройство по МЭК 61499 рассматривается как конкретный экзем- пляр определенного типа устройств, по аналогии с объектно-ориентированным программированием. Интерфейс с объектом управления обеспечивает отобра- жение* данных и событий физического процесса (например, аналоговых или дискретных сигналов) в ресурсы и обратно. В одном устройстве может быть несколько ресурсов и несколько программ- ных приложений. Каждое приложение может исполняться на нескольких устройствах (см. рис. 1.3) и может занимать часть ресурсов в одном устрой- стве (рис. 1.4). Коммуникационные интерфейсы выполняют отображение между ресурса- ми и промышленной сетью. Они могут предоставлять информацию ресурсу в виде данных или событий, а также выполнять дополнительные функции для поддержки программирования, конфигурирования, диагностики и т.д. Модель ресурса. Ресурс рассматривается как функциональная едини- ца, которая содержится в устройстве (например, в ПЛК), имеет независимое управление своими операциями и обеспечивает различные сервисные функции * Отображение — закон, по которому каждому элементу одного множества ставится в соответствие единственный элемент другого множества.
26 Глава 1 Объект управления Рис. 1.4. Пример модели одного из устройств, показанных на рис. 1.3 (например, ПЛК 2) по стандарту МЭК 61499. Стрелками показаны потоки данных и событий (сервисы) для программного приложения, включая планирование и исполне- ние алгоритмов. Ресурс может быть создан, сконфигурирован, параметризо- ван, стартовав, удален и т.п. без воздействия на другие ресурсы устройства. Примером ресурса может быть память и время, выделенные для выполнения задачи в центральном процессоре. В функции ресурса входит прием данных или событий от объекта управле- ния или коммуникационного интерфейса, обработка данных и событий и воз- врат данных и событий в процесс или промышленную сеть, в соответствии с алгоритмом работы программного приложения, использующего данный ресурс. В соответствии с рис. 1.5, ресурс моделируется следующими элементами: • локальным приложением, расположенным в данном физическом устрой- стве, или частью распределенного приложения. Данные и события, об- рабатываемые в локальном приложении, принимаются со входов функци- ональных блоков (ФБ), которые выполняют операции, необходимые про- граммному приложению; • отображение событий и данных между программным приложением и объ- ектом управления выполняется специальным функциональным блоком ин- терфейса (рис. 1.5); • отображение событий и данных между программным приложением и ком- муникационным интерфейсом выполняется таким же специальным функ- циональным блоком интерфейса (рис. 1.5); • функция планирования выполняет передачу информации и исполнение программного приложения в соответствии с временными требованиями и очередностью, определяемой появлением событий, взаимодействием меж- ду функциональными блоками, а также приоритетами или периодом ис- полнения задач. Модель программного приложения. Программное приложение состоит из сети функциональных блоков (подробнее см. главу 9), ветви которой перено- сят данные и события (рис. 1.6). Поток событий определяет выполнение алго- ритмов, содержащихся в функциональных блоках. В состав функциональных
Архитектура автоматизированной системы 27 Рис. 1.5. Модель ресурса распределенной системы по стандарту МЭК 61499 Поток событий Поток данных Рис. 1.6. Модель приложения распределенной системы по стандарту МЭК 61499 блоков могут входить и другие программные приложения (субприложения). Программные приложения могут быть распределены между несколькими ресурсами в одном или в нескольких устройствах (ПЛК). Ресурс реагирует на события, поступающие из интерфейсов, следующими способами: • планированием и исполнением алгоритма; • модифицированием переменных; • генерацией ответных событий; • взаимодействием с интерфейсами. Модель функциональных блоков распределенной системы автоматизации подробно описана в главе 9. Архитектура системы с общей шиной. Архитектура распределен- ной системы промышленной автоматизации на основе общей шины показана на рис. 1.7. Для того чтобы получить данные из модуля или контроллера, компьютер (или контроллер) посылает в шину его адрес и команду запроса данных. Микропроцессор, входящий в состав каждого модуля или контролле-
28 Глава 1 Рис. 1.7. Пример архитектуры распределенной системы сбора данных и управления на модулях RealLab!. Расшифровка обозначений см. во введении к разд. 1.1 и в п. 1.1.1 ра, сверяет адрес на шине с его собственным адресом, записанным в ПЗУ, и, если адреса совпадают, исполняет следующую за адресом команду. Команда позволяет считать данные, поступающие на вход устройства, или установить необходимые данные на его выходе. Распределенная система с общей шиной порождает две новые проблемы по сравнению с топологией «точка-точка» (когда соединяются только два устрой- ства, как на рис. 1.1): необходимость адресации устройств и необходимость ожидания в очереди. Добавление адреса в коммуникационный пакет снижает скорость обмена при коротких сообщениях, а обмен по общей шине приводит к тому, что каждое устройство для передачи сообщения должно ждать, когда шина станет свободной. Это замедляет скорость обмена между устройствами по сравнению с топологией «точка-точка». Задержка в сетях с большим ко- личеством устройств становится существенным ограничением на применение топологии с общей шиной [21] в некоторых приложениях, в частности в случае ПИД-регулирования, когда задержка в сети ограничивает тактовую частоту
Архитектура автоматизированной системы 29 работы контура регулирования. Для таких случаев используют локальные подсети или локальные технологические контроллеры. Распределенные системы позволяют решить также следующую проблему. С ростом количества датчиков в системе, показанной на рис. 1.1, увеличива- ется число и суммарная длина проводов, соединяющих датчики с устройством ввода. Это приводит не только к росту стоимости кабельного оборудования, но и к проблемам, связанным с электромагнитными наводками, особенно ес- ли датчики распределены по большой площади (например, в промышленной теплице датчики распределены по площади около 6 Га, а в элеваторе число датчиков достигает 3...5 тыс. шт.). В распределенной системе модули ввода- вывода изготавливаются с небольшим количеством входов (обычно от 1 до 16), а сами модули располагаются вблизи места установки датчиков. Увеличение количества датчиков (входов) достигается путем наращивания числа модулей и объединения их с помощью общей шины. Это сокращает общую длину проводов в системе, а также длину проводов с аналоговыми сигналами. Связь отдельных устройств в распределенной системе может осуществлять- ся с помощью любой промышленной сети (см. главу 2). Наиболее распро- странены в России сети Profibus, что связано с популярностью изделий фир- мы Siemens, а также сети Modbus с физической шиной RS-485 благодаря рас- пространенности модулей и контроллеров фирм TCP DAS, Advantech и НИЛ АП. За последние годы стремительно возросло количество используемых се- тей Ethernet (точнее, Industrial Ethernet) в качестве промышленных сетей при скорости передачи 10, 100 и 1000 Мбит/с. Некоторые модули ввода-вывода, входящие в состав распределенных си- стем, позволяют по команде из компьютера выполнять функции автоматиче- ского регулирования (например, модули NL-8TI, NL-16AI фирмы НИЛ АП). Для этого в них посылают значение уставки и параметры ПИД-регулятора (пропорциональный, дифференциальный и интегральный коэффициенты), за- тем команду запуска процесса регулирования. Наличие ПИД-регулятора в мо- дулях распределенной системы позволяет осуществить локальное регулирова- ние (например, поддержание стабильной температуры в камере тепла и холо- да), разгрузив общую шину для выполнения других задач. Распределенные системы строятся, как правило, из коммерчески доступ- ных компонентов (ПЛК, модулей ввода-вывода, датчиков, исполнительных устройств). Однако для однотипных тиражируемых систем может быть выгод- но строить специализированные системы, состоящие из полностью заказных (вновь спроектированных) аппаратных и программных средств [24]. Граница целесообразности такого подхода определяется объемом выпуска изделий. Программирование распределенных систем автоматизации выполняется стандартными средствами, рассмотренными в главе 9. 1.1.4. Многоуровневая архитектура Промышленная сеть может быть подключена не только к одному компью- теру, как показано на рис. 1.7, но и к сети компьютеров, например к локальной сети Ethernet (рис. 1.8) или глобальной сети «Интернет». Такая архитектура
30 Глава 1 Операторские станции Рис. 1.8. Типовая современная распределенная система автоматизации, включающая три уровня иерархии (см. также рис. 1.9) автоматизированной системы удобна при коллективной работе с системой ав- томатизации или для связи технологического уровня АСУ с управленческим. Например, при использовании системы с архитектурой, показанной на рис. 1.8, температуру в теплице или в силосах элеватора одновременно могут наблюдать дежурный оператор, главный инженер и директор хозяйства. На алюминиевом заводе [22] информация о ходе протекания процесса электролиза алюминия ис- пользуется на 50 рабочих местах локальной компьютерной сети. Доступ любого компьютера сети к устройствам ввода-вывода или контрол- лерам осуществляется с помощью ОРС-сервера (см. главу 9 и [25]). ОРС- серверы могут располагаться на нескольких компьютерах или контроллерах, и доступ к любому из них может осуществляться с любого компьютера сети. Пример архитектуры такой системы показан на рис. 1.8. Она является до- статочно общей и широко используется как для лабораторной автоматизации, так и для автоматизации технологических процессов. Отдельные промышлен- ные сети могут иметь различные протоколы и содержать оборудование разных производителей, а также различную физическую среду передачи данных — оптоволокно, медные провода, радиоэфир (через радио- или GSM-модемы) и
Архитектура автоматизированной системы 31 др. Обычно ОРС-сервер работает только с одним или несколькими портами ввода-вывода компьютера, к каждому из которых подключена одна промыш- ленная сеть, поэтому количество ОРС-серверов в системе меньше или равно количеству промышленных сетей. Благодаря наличию сети Ethernet в систему легко могут быть включены серверы баз данных, коммуникационные серверы, веб-серверы, принтеры, плоттеры, АТС, факсы, технологическое оборудование и другие устройства с Ethemet-интерфейсом [26]. Основой программного обеспечения, установленного на компьютерах сети, являются SCADA-пакеты — программные средства диспетчерского управле- ния и сбора данных. В контроллерах исполняются загрузочные модули про- грамм, генерируемые средствами визуального программирования ПЛК на язы- ках стандарта МЭК 61131-3 (см. главу 9). Системы управления с многоуровневой архитектурой обычно строятся по объектному принципу, когда структура системы выбирается подобной струк- туре объекта автоматизации, а каждая подсистема является локальной, т.е. все обратные связи замкнуты в пределах этой подсистемы. Каждая локаль- ная подсистема выполняет отдельную функцию, задаваемую логикой функ- ционирования всей системы. Объектный принцип построения позволяет упро- стить проектирование многоуровневой системы и обеспечить ее структурную (архитектурную) надежность. Анализ сложных систем управления позволяет выделить в них несколько однородных уровней иерархии, показанных на рис. 1.9. Здесь WAN (Wide Area Network) — глобальная сеть, LAN (Local Area Network) — локальная сеть. Низший (нулевой) уровень включает в себя датчики и исполнительные устройства (актуаторы): датчики температуры, давления, концевые выклю- чатели, дискретные датчики наличия напряжения, измерительные трансфор- маторы, реле-пускатели, контакторы, электромагнитные клапаны, электропри- воды и др. Датчики и актуаторы могут иметь интерфейсы типа AS-интерфейс (ASI), 1-Wire или CAN, HART и др. Морально устаревшими интерфейсами нулевого уровня являются аналоговые интерфейсы 4...20 мА, 0...20 мА, 0...5 В и др. В настоящее время наметилась устойчивая тенденция к использованию интеллектуальных датчиков, которые имеют цифровой интерфейс, встроенный микроконтроллер, память, сетевой адрес и выполняют автоматическую калиб- ровку и компенсацию нелинейностей датчика. Интеллектуальные датчики в пределах сети должны обладать свойством взаимозаменяемости, в частности иметь один и тот же протокол обмена и физический интерфейс связи, а также нормированные метрологические характеристики и возможность смены адре- са перед заменой датчика. Первый уровень состоит из программируемых логических контроллеров и модулей аналого-цифрового и дискретного ввода-вывода, которые обменивают- ся информацией по промышленной сети (Fieldbus) типа Modbus RTU, Modbus TCP, Profibus и др. Иногда модули ввода-вывода выделяют в отдельный уро- вень иерархии. Второй (диспетчерский) уровень состоит из рабочих станций — ком- пьютеров с человеко-машинным интерфейсом (ЧМИ, HMI — Human Machine
32 Глава 1 Глобальная сеть Интернет, WAN, LAN Промышленная сеть Fieldbus Сеть сенсоров Sensorbus Локальная сеть LAN 0. Уровень датчиков и актуаторов AS-интерфейс 1-Wire CAN 1. Уровень технологического оборудования (контроллерный уровень) Modbus (RTU, ASCII, TCP) Profibus 2. Диспетчерский уровень Ethernet, TCP/IP 4. Уровень высшего руководства Цеховая локальная сеть LAN 3. Уровень управления цехом Ethernet, TCP/IP Рис. 1.9. Уровни иерархии современной АСУ [23] Interface), наиболее распространенными вариантами которого являются SCA- DA-пакеты. Диспетчер (оператор) осуществляет наблюдение за ходом техно- логического процесса или управление им с помощью мнемосхемы на экране монитора компьютера. Диспетчерский компьютер выполняет также архиви- рование собранных данных, записывает действия оператора, анализирует сиг- налы системы технической диагностики, данные аварийной и технологической сигнализации, сигналы срабатывания устройств противоаварийных защит, а также выполняет часть алгоритмов управления технологическим процессом. Благодаря объединению диспетчерских компьютеров в сеть наблюдение за про- цессами может быть выполнено с любого компьютера сети, но управление, во избежание конфликтов, допускается только с одного компьютера или функ- ции управления разделяются между несколькими компьютерами. Права опе- раторов устанавливаются средствами ограничения доступа сетевого сервера. Важной частью второго уровня являются также базы данных реального вре- мени, являющиеся хранилищами информации и средством обмена с третьим уровнем иерархии системы управления. Третий уровень (уровень управления цехом) появляется как средство инте- грации системы АСУ ТП с АСУП — автоматизированной системой управления предприятием. АСУП в зависимости от размеров корпорации может включать еще более высокий (четвертый) уровень и обеспечивать интеграцию с высшим руководством, которое может быть расположено в различных странах и на
Архитектура автоматизированной системы 33 разных континентах земного шара. На уровне АСУП решаются следующие задачи: • ERP (Enterprise Resource Planning) — планирование ресурсов предприятия; • MRP (Manufacturing Resource Planning) — планирование ресурсов техно- логических подразделений предприятия; • MES (Manufacturing Execution Systems) — управление производственны- ми ресурсами; • HRM (Human Resource Management) — управление человеческими ресур- сами; • EAM (Enterprise Asset Management) — управление основными фондами, техническим обслуживанием и ремонтами. Количество уровней АСУ зависит от величины предприятия. В последние годы большой интерес вызывало использование Интернет- технологий в задачах управления, причем не только на уровне корпоративного управления, но даже на уровне технологического оборудования. Для этих це- лей используются web-серверы, которые могут быть расположены как на обыч- ных персональных компьютерах, так и непосредственно в контроллерах или мо- дулях ввода-вывода (так называемые микро-web-серверы). С помощью любого web-браузера, например Internet Explorer, можно управлять технологическими процессами, открыв на микро-web-cepBepe Интернет-страничку с мнемосхемой технологического процесса (см. следующий раздел). 1.2. Применение Интернет-технологий Когда часть компонентов системы автоматизации выходит за границы ло- кальной сети и переходит на уровень глобальной сети WAN*, стоимость каналов связи резко возрастает вследствие высоких тарифов на дальнюю телефонную связь. В этих условиях наиболее экономически выгодным оказывается приме- нение Интернета [27-33]. Стоимость его оказывается на порядки ниже благо- даря коммутации пакетов, а не каналов, что позволяет существенно улучшить эффективность использования пропускной способности сети связи. Вторым существенным преимуществом применения Интернет-технологий в АСУ ТП является возможность использования на компьютере диспетчера любого веб-браузера (например, Internet Explorer), независимо от его произ- водителя, типа аппаратной платформы или операционной системы. Напри- мер, компьютер диспетчера может работать под Windows, Linux, Unix, QNX, Windows СЕ и др. Управление и мониторинг через Интернет привлекательны еще тем, что могут осуществляться из любой точки земного шара с помощью компьютера или мобильного телефона (коммуникатора). Такая возможность особенно важ- на для высшего руководства, которое часто бывает в командировках, а также для корпораций, имеющих подразделения в разных городах или странах. * WAN (Wide Spread Area Network) — технология построения сетей, которая обеспе- чивает передачу информации на значительные расстояния с использованием коммутиру- емых и выделенных линий, специальных каналов связи и Интернета. 2-3733
34 Глава 1 Другими достоинствами автоматизированных систем, использующих Ин- тернет, являются: • снижение стоимости функционирования АСУ ТП вследствие удаленного управления (отсутствует необходимость присутствия человека на трудно доступном объекте); • снижение стоимости обслуживания благодаря удаленной диагностике, от- ладке и обновлению программного обеспечения через Интернет — умень- шаются затраты на командировки; • возможность контроля состояния производственного или технологического процесса или управления им через мобильный телефон; • возможность автоматического вызова аварийной службы в случае сраба- тывания датчиков газа, дыма, пламени, затопления и пр.; • широкий выбор готовых (имеющихся в продаже) технических решений, ап- паратных и программных продуктов для работы с Интернетом. Этот же подход может использоваться и в интранете (интранет — это ло- кальная сеть, которая содержит веб-сервер и работает по тем же протоколам, что и Интернет). 1.2.1. Проблемы и их решение При коммутации пакетов, используемой в Интернете, необходима проме- жуточная буферизация данных, которая вносит в процесс доставки сообщений задержку неопределенной величины, а при переполнении промежуточных бу- феров возможны потери данных. Интернет имеет также низкую надежность связи и плохую защищенность от несанкционированного доступа. В настоящее время активно разрабатываются методы обеспечения качества обслуживания QoS (Quality of Service), призванные ослабить остроту перечис- ленных проблем. Тем не менее неопределенность времени доставки сообщений и наличие задержки являются основными недостатками связи через Интернет. Частичным решением этой проблемы в системах мониторинга является посыл- ка данных вместе с метками времени [28]. Синхронизировать метки можно с помощью системы GPS (Global Positioning System). Однако это не решает проблемы в задачах с реальным временем, например когда Интернет-канал входит в контур обратной связи. Существует достаточно много областей, где указанные ограничения не яв- ляются существенными. Кроме того, в правильно спроектированной распре- деленной системе управления интенсивность информационного обмена между ее компонентами спадает по мере удаления компонентов друг от друга, до- стигая минимума для случая удаленного обмена через Интернет. Обратные связи в такой системе являются только локальными, за исключением кон- тура управления с диспетчером, где время доставки сообщений сравнимо со временем реакции человека. Примером задачи управления, в которой не требуется гарантированное вре- мя доставки сообщений, является дистанционное управление системами венти- ляции, кондиционирования и обогрева зданий [29]. В системе устанавливают датчики температуры наружного воздуха, температуры в комнатах, датчики
Архитектура автоматизированной системы 35 тока исполнительных устройств, датчики влажности, датчики света, а также исполнительные устройства для подачи электроэнергии в здание, для вклю- чения/выключения вентиляторов, обогревателей, кондиционеров, осушителей, увлажнителей, приточной вентиляции, вентиляции внутри помещения. Наиболее безопасным применением Интернета являются системы монито- ринга, например публикация на веб-страничке информации о параметрах тех- нологического процесса, действиях оператора, а также сводных отчетов и гра- фиков. Такая Интернет-система может быть полностью автономной, поскольку перечисленные данные могут быть взяты непосредственно из базы данных АСУ ТП без воздействия на сам технологический процесс. Возможность работы с ба- зами данных поддерживается всеми современными веб-серверами. 1.2.2. Основные понятия технологии Интернета Основными компонентами Интернета являются веб-серверы и веб-клиенты (браузеры). На жестком диске сервера может находиться множество веб- сайтов или FTP (File Transfer Protocol) каталогов с уникальными адресами URL (Universal Resource Locator). Данные между клиентом и сервером передаются с помощью протокола HTTP (Hyper Text Transfer Protocol) или FTP. Маршрути- зация (передача в нужном направлении) данных в Интернете осуществляется с помощью 32-битной IP (Internet Protocol) адресации. Веб-страницы создаются с помощью языка разметки документа HTML (Hyper Text Markup Language) или его расширенной версии XML (extensible Markup Language), а также WML (Wireless Markup Language), который используется для мобильных телефонов, смартфонов, записных книжек PDA (Personal Digital Assistant), работающих с Интернетом по протоколу WAP (Wireless Applications Protocol). Связь между клиентами и серверами Интернета выполняется по телефон- ным каналам связи, которые могут быть проводными, оптоволоконными или радио (в том числе сотовыми). Аналоговые каналы связи обычно имеют ско- рость передачи информации не более 56 кбит/с, поэтому используют циф- ровую связь ISDN (Integrated System Digital Network) co скоростью переда- чи до 128 кбит/с и DSL (Digital Subscriber Lines) co скоростью передачи до 8 Мбит/с. Разновидностями DSL являются асимметричный цифровой канал ADSL (Asymmetric DSL), в котором данные в одном направлении (абоненту) пе- редаются со скоростью до 8 Мбит/с, а в обратном направлении — до 1 Мбит/с. Другими модификациями DSL являются ADSL2+, SHDSL, RDSL, VDSL, предо- ставляющие различные возможности абонентам. Общим обозначением различ- ных модификаций DSL каналов является xDSL. Беспроводной доступ в Интернет можно обеспечить с помощью сото- вых GSM (Global System for Mobile communications) модемов, беспроводного Ethernet, называемого еще WLAN (Wireless LAN), или Wi-Fi (Wireless Fidelity), оборудования Bluetooth, ZigBee, WiMax, инфракрасного порта компьютера или спутниковой связи. Спутниковый Интернет обеспечивает одностороннюю связь (прием инфор- мации от спутника) с очень высокой скоростью (до 48 Мбит/с). При этом пе- редача информации обеспечивается любыми другими видами связи.
36 Глава 1 Доступ по каналам сотовой связи выполняется с помощью системы пакет- ной передачи данных GPRS (General Packet Radio Service). Система GPRS обес- печивает скорость передачи в среднем около 20 кбит/с (теоретический предел составляет 171,2 кбит/с) и оптимально приспособлена для прерывистого тра- фика, характерного для сетей Интернет/интранет. Она обеспечивает пакетную коммутацию на всем протяжении канала связи, существенно снижая стоимость связи в сетях стандарта GSM. Соединение в системе GPRS устанавливается практически мгновенно, и она поддерживает все самые распространенные сете- вые протоколы передачи данных, в том числе Интернет-протокол IP. Важным преимуществом GPRS по сравнению с голосовыми каналами сотовой связи яв- ляется то, что плата берется не за время соединения, а за объем переданной информации. В сотовых телефонах основной сферой применения GPRS явля- ется просмотр WAP-страниц. Также возможна отсылка SMS (Short Message Service) через сеть GPRS. При подключении GSM модема в режиме GPRS к компьютеру можно выходить в Интернет, при этом Интернет-провайдером яв- ляется оператор сотовой связи. Усовершенствованием GPRS является система EDGE (Enhanced Data rates for Global Evolution), позволяющая обеспечить передачу данных со скоростью до 474 кбит/с. Реально достижимая средняя скорость передачи данных состав- ляет 100...120 кбит/с, с пиковыми значениями до 230 кбит/с. 1.2.3. Принципы управления через Интернет Существует два различных способа управления через Интернет, на основе которых построен ряд коммерческих продуктов: способ удаленного терминала и способ деления SCADA-пакета на серверную и клиентскую части. Удаленный терминал можно представить себе как удлинение проводов мы- ши, клавиатуры и монитора с помощью Интернета, при этом визуализация вы- полняется в окне веб-браузера, а на компьютер через Интернет передаются только сигналы от мыши и клавиатуры. Управляемая программа исполняется на удаленном от пользователя компьютере, на котором устанавливается специ- ализированный веб-сервер. Прямо из веб-браузера можно работать с запущен- ными на веб-сервере программами, с файловой системой и реестром сервера, запускать программы, контролировать выполняющиеся приложения и служ- бы, устанавливать права доступа к системе, получать информацию о загрузке процессора и оперативной памяти. Примерами таких программ могут служить пакеты Remotely Any where фир- мы 3am Labs (www.remotelyanywhere.com), GoToMyPC (www.gotomypc.com) и Spy Anywhere (www.spyanywhere.com). Удаленный терминал можно использовать для управления любой програм- мой, в том числе SCADA. Его недостатком является требование большой про- пускной способности Интернет-канала, поскольку через Интернет передается вся информация, отображаемая на экране удаленного компьютера. Второй способ удаленного управления через Интернет основан на делении SCADA-пакета на серверную и клиентскую части. Клиентская часть пред- ставляет собой веб-браузер, который просматривает специализированную веб-
Архитектура автоматизированной системы 37 страницу, находящуюся на веб-сервере. На этой странице создается специа- лизированный интерфейс с графикой и анимацией. Анимация выполняется с помощью JScript, VBScript, Java-апплетов, Flash и анимированных GIF-файлов. Поскольку основная часть визуальной динамики пользовательского интерфей- са исполняется на клиентском компьютере, а с сервера передаются только дан- ные об объекте автоматизации, существенно снижаются требования к пропуск- ной способности Интернет-канала. JavaScript или VBScript применяются в таких системах для создания дина- мических веб-страниц (с вращающимися лопастями вентиляторов, с движением жидкости в трубах и т.п.), для оперативной проверки правильности действий пользователя при заполнении форм до передачи страницы на сервер, для вза- имодействия с пользователем при решении таких задач, которые не требуют обращения к серверу. Веб-страница может воспринимать действия пользователя, например нажа- тие кнопок, заполнение форм, и передавать их серверу. Сервер в ответ фор- мирует новую веб-страницу с элементами, измененными в соответствии с дей- ствиями пользователя. Выполняется это с помощью CGI-сценария (Common Gateway Interface), который пишется обычно на языке Perl и располагается на сервере (подробнее см. в книге [34]). Название «сценарий» или «скрипт» связа- но с тем, что программа не транслируется в исполняемый код, а выполняется непосредственно, с помощью интерпретатора языка [34]. Язык Perl использует- ся только на серверах, работающих под операционной системой Unix, поэтому программистам, работающим с Windows, он обычно незнаком. Для среды Windows фирма Microsoft предложила технологию ASP.NET (Active Server Pages) [35], которая позволяет создавать веб-страницы, находя- щиеся на сервере и содержащие код сценариев VBScript. Результаты выполне- ния сценариев VBScript передаются от сервера клиенту. Технологию ASP.NET можно использовать на Internet Information Server (IIS), который работает под управлением Microsoft Windows Server. Отметим, что JScript и VBScript, ActiveX, Flash и анимированные GIF ис- полняются только на стороне клиента без взаимодействия с сервером, в то время как CGI и ASP.NET исполняются на стороне веб-сервера и именно они извлекают данные из ОРС сервера или базы данных SCADA-системы, что- бы отослать их клиенту. Данные между клиентом и сервером могут пересылаться в виде сообщений SOAP (Simple Object Access Protocol) [35], которые используют транспортный протокол HTTP. Сообщения SOAP используют гибкую грамматику языка XML. SOAP активизирует два процесса, которые могут находиться на разных ком- пьютерах, но взаимодействуют друг с другом независимо от программных и аппаратных платформ, на которых они реализованы. Взаимодействие между клиентской и серверной частью SCAD А (рис. 1.10) выглядит следующим образом [36]. Когда пользователь хочет получить данные от контроллера через Интернет, он нажимает некоторую командную кнопку в окне веб-браузера. Этот запрос посылается серверу через Интернет в формате SOAP-сообщения. Когда веб-сервер получает SOAP-сообщение через ТСР-порт
38 Глава 1 Рис. 1.10. Архитектура автоматизированной системы, использующей Интернет 80, запрос направляется обработчику скрипта ASP.NET, который также распо- лагается на веб-сервере. Веб-сервис (Web service) [35] создает запрашиваемые данные или передает управление программе (например, на языке VB.NET), ко- торая общается с контроллером через ОРС-сервер. Полученные таким образом данные выкладываются на веб-страницу, которую видит пользователь с помо- щью веб-браузера. При входе на веб-сервер операционная система (Windows или Linux) производит идентификацию пользователя и предоставляет доступ к информации в соответствии с его правами. В случае удаленного управления на основе WAP пользователь получает доступ к управляемой системе через мобильный телефон (GSM-модем). WAP поддерживается стандартами GSM, TDMA, CDMA, GPRS. 1.2.4. Микро-веб-серверы Веб-серверы для Интернета обычно располагаются на мощных компьюте- рах и содержат жесткие диски большой емкости. Однако для удаленного управ- ления в АСУ ТП часто достаточно иметь на сервере всего одну несложную
Архитектура автоматизированной системы 39 веб-страницу. Для этой цели используют микро-веб-серверы [37, 38] (встраи- ваемые веб-серверы, Embedded Web Server), выполненные в виде микросхемы, которая располагается на печатной плате ПЛК или интеллектуального датчи- ка [38], в холодильнике, кондиционере, в офисном оборудовании и др. Каждый микро-веб сервер доступен по своему Интернет-адресу. В предыдущие годы проблемой технической реализации микро веб-серверов была необходимость большой вычислительной мощности для реализации про- токола TCP/IP. В настоящее время появились дешевые однокристальные мик- роконтроллеры фирм Crystal Semiconductor, Winbond, Realtek, Seiko Instru- ments, младшие модели микроконтроллеров фирм Microchip (PIC12C509), Atmel (микроконтроллеры линейки Tiny AVR), Fairchild (ACE1101) co встро- енной реализацией протокола TCP/IP. Это позволило применять веб-серверы даже внутри датчика. Технологию применения микро-веб-серверов называют «встроенным Интернетом» (Embedded Internet). 1.2.5. Примеры применения В литературе описано множество примеров применения Интернета для уда- ленного управления и мониторинга [39-49]. В [39] описана виртуальная ла- боратория в вузе, доступ к которой студенты могут осуществить, не выходя из общежития. Дистанционно можно задать исходные параметры для прове- дения эксперимента, включить экспериментальную установку и получить ре- зультат. Экспериментальная установка подключается к Интернету с помощью веб-сервера, который взаимодействует с управляющим контроллером (ПЛК). Студенты могут дистанционно загружать в контроллер исполняемый код про- граммы для автоматического выполнения эксперимента. При дистанционной работе с микроскопом [50] удаленный пользователь че- рез Интернет может наблюдать изображение, передвигать камеру микроскопа, изменять увеличения, подстраивать фокус. В [28] описана система управления катером через Интернет. Управляе- мыми параметрами являются: положение руля, скорость, состояние вклю- чено/выключено прожектора и гудка. Положение катера находится с помо- щью GPS (Global Positioning System). Контроллер с беспроводным Ethernet- интерфейсом, установленный на катере, и беспроводная Ethernet-видеокамера обмениваются информацией по беспроводному Ethernet-радиоканалу с веб- сервером, установленным неподалеку на персональном компьютере. Управ- ление катером может осуществляться из любой точки земного шара с помо- щью обычного Internet Explorer. Калифорнийский университет в Беркли (США) разработал систему авто- матизированного проектирования и изготовления металлических деталей [51], которая позволяет из заготовки вырезать тела произвольной формы с помощью стандартных операций обработки металла. Все операции выполняются уда- ленно (например, с другого континента), через Интернет. Система включает в себя подсистему моделирования технологических процессов для оптимизации технологических режимов обработки, которая также доступна через Интернет. Дистанционно доступны методы оптимизации режимов для фрезеровки, свер- ления, нарезания резьбы, проектирования арматуры и оценки качества смазки.
40 Глава 1 Входными данными являются геометрия резки, средство резки и материал, ре- жимы работы машины и типы смазки, выходными величинами являются силы, моменты, мощность, упругая деформация инструмента, динамика процесса и шероховатость поверхности. С помощью видеокамеры можно наблюдать про- цесс изготовления детали и управлять им. Доступ к производственным воз- можностям через Интернет исключает необходимость иметь собственное доро- гостоящее экспериментальное оборудование. В настоящее время большинство коммерческих SCADA-пакетов имеют средства построения web-интерфейса. 1.3. Понятие открытой системы Одна из важнейших проблем, возникающих в АСУ ТП, при автоматизации измерений и в других областях, заключается в резком увеличении стоимости системы с ростом ее сложности. Объективная причина этого явления состоит в том, что сложные системы часто изготавливаются в единичных экземплярах, а это не позволяет сделать их дешевыми. Распространенный метод решения указанной проблемы состоит в делении системы на модули таким образом, чтобы каждый из них становился коммер- чески эффективным изделием и мог изготавливаться несколькими конкуриру- ющими производителями в больших количествах. Однако при этом возникает проблема аппаратной и программной совместимости модулей. Для дости- жения совместимости интерфейс, конструктив и выполняемые функции таких модулей должны быть стандартизованы. Открытой называется модульная система, которая допускает замену лю- бого модуля на аналогичный модуль другого производителя, имеющийся в сво- бодной продаже по конкурентоспособным ценам, а интеграция системы с други- ми системами (в том числе с пользователем) выполняется без преодоления чрез- мерных проблем. Понятие открытости обсуждается на веб-сайтах ОМАС (Open Modular Architecture Controls, www.omac.org), ISA* и в работах [44, 53-56]. Открытость можно рассматривать на разных уровнях иерархии программ- ного и аппаратного обеспечения системы или ее составных частей. Открыты- ми, например, могут быть: • физические интерфейсы, протоколы обмена, методы контроля ошибок, си- стемы адресации, форматы данных, типы организации сети, интерфейсы между программами, диапазоны изменения аналоговых сигналов; • пользовательские интерфейсы, языки программирования контроллеров, управляющие команды модулей ввода-вывода, языки управления базами данных, операционные системы, средства связи аппаратуры с программ- ным обеспечением; • конструкционные элементы (шкафы, стойки, корпуса, разъемы, крепеж- ные элементы); * ISA (Instrument Society of America) основана в 1945 г., имеет 30 тыс. членов и зани- мается разработкой стандартов в области автоматизации, см. www.isa.org.
Архитектура автоматизированной системы 41 • системы, включающие в себя перечисленные выше элементы. Под открытостью системы иногда понимают ее соответствие современным промышленным стандартам, которое обеспечивает возможность интеграции с другими открытыми системами [55, 57]. Однако понятие открытости нужно трактовать шире: оно должно подразумевать, что система не только удовле- творяет стандартам, но стандарт является общепризнанным, а в свободной про- даже имеются аналогичные системы других производителей по конкуренто- способным ценам. Как следует из определения, необходимыми условиями открытости яв- ляются: • модульность; • соответствие стандартам [57] (необязательно официальным, но обязательно общепринятым и легко доступным по цене, компенсирующей только затра- ты на его разработку, поддержку и распространение); • наличие в свободной продаже аналогичных систем других производителей (подсистем, модулей) по конкурентоспособным ценам. Требование модульности вытекает из требования возможности замены ча- сти системы (т.е. модуля) аналогичными изделиями других производителей. Для этого система должна состоять из модулей. Соответствие стандартам необходимо для обеспечения совместимости. Наличие в свободной продаже и конкурентоспособность цен являются тре- бованиями, вытекающими из практического аспекта: без выполнения этого условия открытая система может существовать только «на бумаге». Понятие открытости достаточно многогранно и не стандартизовано. По- этому практически можно говорить только о степени открытости системы, указывая, что именно понимается под открытостью в каждом конкретном слу- чае. Степень открытости можно оценить количеством реализованных призна- ков открытости. Для SCADA-системы признаками открытости являются совместимость со стандартом ОРС [25], совместимость с широко доступными компьютерами с раз- личными операционными системами (желательно), совместимость с ActiveX, СОМ и DLL компонентами других производителей, подцержка языков стандар- та МЭК 61131-3, наличие встроенного стандартного алгоритмического языка (например, Visual Basic) для реализации функций, которые невозможно реали- зовать другими средствами SCADA-пакета, возможность работы как с малым, так и большим количеством тегов без необходимости переобучения обслужи- вающего персонала, возможность применения веб-браузера в качестве пользо- вательского интерфейса для увеличения количества подключаемых рабочих станций, наличие пользовательского интерфейса, аналогичного интерфейсам других производителей, совместимость со стандартными базами данных и дру- гими приложениями (например, Microsoft Office), расположенными на любых компьютерах сети. Для промышленных сетей открытость означает наличие в свободной про- даже сетевой аппаратуры от разных производителей по конкурентоспособным ценам, совместимой с открытыми стандартами.
42 Глава 1 Примером открытых систем являются системы, построенные на модулях и контроллерах RealLab! фирмы НИЛ АП (www.reallab.ru), которые имеют стан- дартный протокол Modbus RTU или стандартный де-факто протокол DECON, стандартный интерфейс RS-485, стандартный конструктив (крепление на ДИН- рейку, разъемные клеммники), стандартные диапазоны аналоговых сигналов и стандартные уровни дискретных сигналов, стандартный ОРС сервер, позво- ляющий использовать модули с любой стандартной SCADA. Любой модуль в такой системе может быть заменен на модули других производителей, которых в настоящее время насчитывается около десятка. Идеальным примером открытой системы является современный офисный компьютер. Огромное число производителей в разных странах изготавливают множество аппаратных и программных компонентов, которые можно собрать в единую систему, заменить один компонент на другой, нарастить функциональ- ные возможности. Любой компонент можно найти по достаточно низкой цене; отсутствуют производители, которые могли бы диктовать монопольные цены. Понятие открытости не подразумевает открытость программного кода, как, например, в ОС Linux, хотя открытость кода позволяет добавлять в систему мо- дули других производителей, что является признаком открытости. Однако от- крытость исходного кода существенно снижает надежность системы вследствие потенциальной возможности появления в ней дополнительных ошибок, внесен- ных во время модификации и компиляции. Поэтому открытость программного кода является спорным признаком открытости системы. В отличие от открытых, закрытые системы разрабатываются по внутрен- ним стандартам отдельных предприятий. Части (модули) закрытых систем не могут быть заменены аналогичными изделиями других производителей, а заказчик, однажды применив закрытую систему, навсегда оказывается при- вязанным к ее разработчику. Наиболее подробное и ясное изложение требований к контроллерам с от- крытой архитектурой изложено в документе международной организации ISA под названием «Requirements of Open, Modular Architecture Controllers for Applications in the Automotive Industry» (cm. www.isa.org) «Требования к кон- троллерам с открытой модульной архитектурой для приложений в автомобиль- ной индустрии». Во время написания этого документа в 1994 г. были распро- странены частно-фирменные решения. Это приводило к тому, что потреби- тель средств автоматизации, однажды купив изделие одной фирмы, попадал в ценовую зависимость от нее, поскольку интерфейсы средств автоматизации разных фирм были различными и их сопряжение резко увеличивало общую стоимость системы. Расширение такой системы было дорогим, а обслужи- вающий персонал должен был проходить дополнительное обучение работе с нестандартным оборудованием. Разновидностью и предельным случаем открытых систем являются систе- мы, удовлетворяющие идеологии Plug&Play («вставил — и заиграло»), когда вообще не требуется усилий для конфигурирования или настройки модулей по- сле их подключения или замены на модули других производителей [52]. Идео- логия Plug&Play существенно снижает требования к квалификации системных
Архитектура автоматизированной системы 43 интеграторов, сокращает срок ввода системы в эксплуатацию, а также издерж- ки потребителей на техническую поддержку и эксплуатацию. 1.3.1. Свойства открытых систем Открытые системы обладают следующими положительными свойствами [53, 58, 56], благодаря которым системные интеграторы проявляют к ним боль- шой интерес: • модульность; • платформенная независимость; • взаимозаменяемость с компонентами других производителей; • интероперабельность (возможность совместной работы) с компонентами других производителей; • масштабируемость. Отметим, что закрытые системы тоже могут быть модульными, интеропе- рабельными, масштабируемыми. Отличие открытых систем состоит в том, что все перечисленные свойства должны выполняться для компонентов, изготов- ленных разными производителями и имеющихся в свободной продаже. К системам с открытой архитектурой предъявляют также общепринятые требования: экономичности, безопасности, надежности, грубости (робастно- сти), простоты обслуживания и соответствия условиям эксплуатации, способ- ности к самодиагностике и наличию рекомендаций по ремонту [1.35]. Система должна обеспечивать максимальное время работы без сбоя и отказа, а так- же минимальное время, необходимое для выполнения технического обслужи- вания или ремонта. Модульность — это способность аппаратного или программного обеспе- чения к модификации путем добавления, удаления или замены отдельных мо- дулей (компонентов системы) без воздействия на оставшуюся ее часть. Модульность обеспечивается при проектировании системы на архитектур- ном уровне. Базой для построения модульного программного обеспечения яв- ляется объектно-ориентированное программирование. Главным достижением в направлении развития модульности программного обеспечения АСУ ТП явля- ется выделение в нем независимых подсистем: программы в ПЛК, ОРС серве- ра, баз данных, операторского интерфейса и алгоритмической части, реализу- емой на языках стандарта IEC 61131-3, а также деление SCADA на сервер- ную и клиентскую части. Платформенная независимость. Возможность выполнения программ на разных аппаратно-программных платформах обеспечивает независимость от поставщика этих платформ и дает следующие преимущества: • расширение выбора оборудования путем увеличения числа поставщиков; • независимость от поставщика аппаратного и программного обеспечения. Отсутствие этих свойств приводит к тому, что система, зависящая от одного производителя, прекращает свое развитие в случаях, когда фирма- производитель внезапно уходит с рынка, увеличивает стоимость продукта или снимает его с производства.
44 Глава 1 Применение ОС Windows является одним из путей повышения открытости систем, поскольку эта операционная система может быть установлена на макси- мальное число типов производимых компьютеров. В данном случае монополия фирмы Microsoft компенсируется ее размерами и стабильностью. Платформенную независимость программных средств и, как следствие, по- вышение открытости обеспечивает также язык Java, хотя он и уступает С++ по быстродействию приложений. Для улучшения открытости при компиляции исполняемых модулей про- грамм важно избегать «улучшений» компилятора, применения плагинов, над- строек, скачанных «откуда-то из Интернета», поскольку они могут сделать невозможным выполнение программы на других платформах. Важным шагом на пути обеспечения платформенной независимости яви- лось применение интранет-технологий в автоматизации, когда передача инфор- мации к рабочей станции осуществляется с помощью языка xml, а ее представ- ление пользователю выполняется с помощью любого веб-браузера. Веб-браузер позволяет в качестве рабочей станции АСУ ТП использовать компьютер и опе- рационную систему любого производителя из имеющихся в свободной продаже. Платформенной независимостью обладает также база данных с языком запросов SQL (Structured Query Language), если исключить из него по воз- можности все нестандартные расширения. Доступ к базе данных с помощью SQL осуществим независимо от программно-аппаратной платформы, на кото- рой она находятся. Взаимозаменяемость — это возможность замены любого модуля (компо- нента) системы на аналогичный компонент другого производителя, имеющийся в свободной продаже, и возможность обратной замены. Это свойство позволя- ет ускорить замену отказавшего модуля, улучшить качество уже работающей системы, исключить ценовую зависимость от поставщика. Интероперабельность (аппаратно-программная совместимость). Интероперабельность — это способность открытых систем использовать про- граммы, выполняющиеся одновременно на различных платформах в общей се- ти, с возможностью обмена информацией между ними. Иначе говоря, про- граммные компоненты системы, расположенные на разных аппаратных плат- формах в общей сети, должны быть способны работать как часть единой си- стемы. Интероперабельность трудно достижима, но она обеспечивает возможность выбора аппаратных и программных средств из огромного разнообразия, пред- ставленного на рынке, вместо ограниченного выбора компонентов монопольно- го производителя закрытой системы. Открытая интероперабельная система должна обладать способностью ком- муникации и с другими уровнями АСУ предприятия, обеспечивая одновременно безопасность поступающей извне информации. Одним из методов обеспечения интероперабельности Windows и Unix плат- форм может быть применение стандарта CORBA (Common Object Request Broker Architecture) [59].
Архитектура автоматизированной системы 45 Масштабируемость — это возможность применения одного и того же аппаратного и программного обеспечения (баз данных, пользовательских ин- терфейсов, средств коммуникации) для систем разного размера (больших и малых). Для обеспечения масштабируемости достаточно, чтобы программное обеспечение больших и малых систем было совместимо по операторскому ин- терфейсу, языкам программирования, а также интерфейсу с аппаратными сред- ствами и не требовало дополнительного обучения персонала. Масштабируемая система должна обеспечивать возможность простого наращивания функцио- нальных возможностей и размеров путем включения новых компонентов как в аппаратную, так и программную часть системы без модификации старых, опробованных программных и аппаратных модулей [57]. Масштабируемость позволяет применять одни и те же аппаратные и про- граммные средства как для больших, так и для малых систем в пределах од- ной организации. Примером масштабируемых программных систем являются современные SCADA-пакеты TraceMode и MasterSCADA, которые продаются как единый пакет, но имеющий градации в зависимости от количества тегов. До появления открытых систем обеспечение масштабируемости достига- лось путем проектирования системы с большим запасом по габаритам, коли- честву слотов, интерфейсов. Наращиваемость открытой системы подразумева- ет иной путь, не требующий запаса ресурсов (и связанных с ним избыточных финансовых вложений). В частности, система, обладающая свойством плат- форменной независимости и интероперабельности, уже является расширяемой, поскольку она позволяет добавлять новое оборудование или заменять старое новыми модификациями, в том числе оборудованием других производителей. Стандартность пользовательского интерфейса. Открытые системы должны иметь стандартный пользовательский интерфейс, чтобы выполнить требование о возможности интеграции с другими системами (в данном случае под «другой системой» понимается человек). Стандартизация пользователь- ского интерфейса снимает необходимость обучения операторов при переходе от одной открытой системы к другой. 1.3.2. Средства достижения открытости Для обеспечения возможности построения открытых систем рынок дол- жен быть наполнен программными и аппаратными средствами, которые явля- ются взаимозаменяемыми, производятся независимыми предприятиями и удо- влетворяют требованиям общепринятых стандартов. Ниже мы кратко опишем такие продукты. Промышленные сети и протоколы. Наиболее распространенными в России являются сети Modbus, Profibus, CAN, Ethernet. Оборудование, совме- стимое с ними, выпускается сотнями конкурирующих предприятий в разных странах мира, что обеспечивает отсутствие монопольных цен. Интерфейсы. Наибольшая часть средств промышленной автоматизации, представленных на российском рынке, имеет интерфейсы RS-232, RS-485, RS- 422, CAN, Ethernet, USB. Большое значение для повышения степени открыто- сти имеют преобразователи интерфейсов и межсетевые шлюзы, которые поз-
46 Глава 1 воляют объединять в единую систему несовместимое по интерфейсам и про- токолам оборудование. Программные интерфейсы. Для взаимодействия открытых систем на программном уровне наибольшее распространение получила DCOM-техноло- гия фирмы Microsoft, ставшая промышленным стандартом ОРС (OLE for Pro- cess Control) [25], который пришел на смену устаревшей технологии DDE (Dynamic Data Exchange). Стандарт ОРС обеспечил возможность примене- ния оборудования различных производителей практически с любыми SCADA, имеющимися на рынке, поскольку большинство из них поддерживает стан- дарт ОРС. Аналогичная задача может быть решена также с помощью технологии Jini фирмы SUN и CORBA фирмы OMG [58], однако воплощение в международ- ный стандарт ОРС получила только технология DCOM, ориентированная на Windows-платформы (подробнее см. главу 9). Интерфейс пользователя. Интерфейс между SCADA и пользователем в настоящее время выполняется примерно одними и теми же визуальными сред- ствами, которые стали стандартом де-факто: кнопки пуск/стоп, цифровое таб- ло, линейный или радиальный индикатор уровня, цветовая сигнализация, окна с текстовыми сообщениями, окна ввода данных, графики и т.п. Такой интер- фейс легко осваивается операторами АСУ ТП. Программирование контроллеров поддерживается тремя международны- ми стандартами: стандартом МЭК 61131-3 [55] на языки программирования и стандартами МЭК 61499 [60, 61] и МЭК 61804 (см. главу 9) на функци- ональные блоки. Стандарты поддерживаются большинством производителей программного обеспечения. Примером могут быть системы ISaGRAF фирмы ICS Triplex (www.isagraf.ru) и CoDeSys фирмы 3S (www.codesys.ru). Поддерж- ку открытости обеспечивают также конверторы блоков UML (Unifid Modeling Language [62]) в функциональные блоки стандарта МЭК 61499, а также UML в xml (extended Markup Language). В последние годы появилось много SCADA-систем, которые поддержива- ют веб-технологию, когда пользовательский интерфейс SCADA выполняется в виде веб-страницы и располагается на сервере локальной сети. При этом любой пользователь, обладающий достаточными правами доступа, с помощью стандартного веб-браузера (например, Internet Explorer) может управлять тех- нологическим процессом. Такой подход является значительным прогрессом в направлении открытости SCADA-пакетов, поскольку предоставляет пользо- вателю широкий выбор хорошо валидированных веб-браузеров по достаточ- но низкой цене и обеспечивает применение практически любой аппаратно- программной платформы для общения со SCADA. Программная совместимость. Важным достоинством SCADA-пакетов, повышающим степень их открытости, является связь с программами Microsoft Office (Word, Excel, Access), которая снижает затраты на обучение персонала и расширяет возможности представления и обработки результатов измерений. Совместимость баз данных со SCADA обеспечивает широко распростра- ненный язык запросов SQL, соответствующий международному стандарту и
Архитектура автоматизированной системы 47 поддерживаемый несколькими СУБД (системами управления базами данных), например Informix, Sybase, Ingres, MS SQL Server. Интерфейс ODBC (Open Data Base Connectivity) позволяет подключать к одной и той же SCADA различные СУБД, что повышает степень ее открытости. Обеспечение в некоторых SCADA-пакетах возможности программирования на языке Visual Basic, а также возможность встраивания ActiveX и СОМ объек- тов сторонних производителей позволяет адаптировать SCADA к аппаратуре, не поддерживающей стандарт ОРС, а также применить принцип повторного ис- пользования программного кода, написанного для других приложений. 1.3.3. Достоинства и недостатки Основным преимуществом систем с открытой архитектурой является низ- кая стоимость их жизненного цикла [53]. Жизненный цикл АСУ ТП состо- ит из следующих фаз: • разработка концепции и эскизное проектирование; • проектирование и изготовление системы; • монтаж и пуско-наладка; • эксплуатация системы; • обслуживание; • реконфигурация, модернизация, разборка, утилизация. В [53] подробно рассмотрена стоимость каждого из перечисленных этапов. Выгодой от применения открытых систем являются: • пониженные вложения на проектирование системы и предпроектные изыс- кания благодаря наличию на рынке большого выбора готовых компонентов открытых систем. Особенно большой экономический эффект достигается при создании крупных систем в единичных экземплярах. В этом случае экономия пропорциональна размеру системы; • упрощение процесса интеграции — открытость подразумевает возможность простой интеграции разнородных систем; • экономия финансовых средств благодаря низкой стоимости жизненного цикла (в основном вследствие конкуренции независимых производителей и отсутствия диктата цен монопольным поставщиком); • увеличенное время безотказной работы благодаря выбору наиболее надеж- ных модулей из имеющихся на рынке; • минимизированное время вынужденного простоя благодаря большому вы- бору взаимозаменяемых модулей всегда можно найти поставщика, имею- щего нужные модули на складе; • минимальные усилия на ввод в действие как аппаратуры, так и программ- ного обеспечения благодаря устранению времени на дополнительное обу- чение как монтажной организации, так и эксплуатирующего персонала; • простое изменение конфигурации системы для работы с новыми техноло- гическими процессами — вытекает из свойств модульности и расширяе- мости открытых систем; • минимальный объем дополнительного обучения персонала и, как след- ствие, простота обслуживания;
48 Глава 1 • применение новейших технологий и технических решений благодаря широ- кому выбору наилучших решений и специализации производителей; • увеличение времени жизни системы благодаря взаимозаменяемости отрабо- тавшего ресурс и нового оборудования, а также возможности наращивания функциональных возможностей. В [63] описаны конкретные преимущества, полученные при создании от- крытой системы для тестирования военного авиационного оборудования: • снижение стоимости разработки и изготовления системы. Экономия при этом сопоставима с экономией в серийном производстве; • уменьшение сроков создания системы благодаря применению имеющихся в продаже компонентов; • уменьшение риска получения системы, не удовлетворяющей техническо- му заданию, поскольку большой выбор совместимых между собой изделий, имеющихся в продаже, всегда позволяет подобрать компоненты с нужны- ми характеристиками. До появления компонентов открытых систем создание такого оборудования требовало разработки специализированных печатных плат, что было чрезмер- но дорого и долго. Кроме того, некоторые необходимые функции при этом не могли быть реализованы никогда из-за жестких ограничений на сроки со- здания системы. Недостатки открытых систем видны не сразу. И все же они имеются: • при создании автоматизированной системы на базе открытых решений от- ветственность за работоспособность системы в целом ложится на систем- ного интегратора, а не на производителя системы. Поэтому при появлении в системе невоспроизводимых отказов некому предъявить претензии, по- скольку поставщиков много, а системный интегратор отвечает только за монтаж и пусконаладку системы; • универсальность всегда находится в противоречии с простотой. Универ- сальные протоколы, интерфейсы, сети и программное обеспечение, чтобы быть универсальными, должны быть достаточно сложными, следовательно, дорогими и ненадежными. Хотя снижение надежности, вызванное сложно- стью, компенсируется повышением надежности благодаря большому тира- жу и, следовательно, продолжением отладки после начала продаж; • эффект снижения надежности программного обеспечения, части которо- го пишутся разными производителями. Когда ПО пишется внутри одной фирмы, можно предвидеть почти все ситуации, которые могут возникнуть на границе между ПО и пользователем или аппаратурой. Если же в этом участвуют несколько разных команд в разных фирмах, между которыми нет взаимодействия, то становится непонятно, кто отвечает за надежность всего комплекса. Кроме того, с ростом числа программистов, участву- ющих в создании ПО, по законам статистики увеличивается вероятность того, что появится хотя бы один программист, не умеющий писать надеж- ные программы. А этого достаточно, чтобы сделать всю систему нена- дежной. Надежность и безопасность открытых систем остаются темами, требующими решения [56];
Архитектура автоматизированной системы 49 • иногда к признакам открытости относят открытость исходных кодов. Одна- ко наличие открытых кодов снижает надежность программной системы, по- скольку нарушается принцип инкапсуляции, необходимость которого обос- нована в идеологии объектно-ориентированного программирования; • как и любая стандартизация, открытость накладывает ограничения на диа- пазон возможных технических решений, затрудняя творчество и снижая вероятность появления новых и плодотворных технических решений. Отметим, что проблема надежности относится не ко всем компонентам от- крытых систем. Например, такие компоненты, как базы данных, компьютеры или сети Ethernet, обладают высокой надежностью благодаря огромному ти- ражу и, как следствие, качественной валидации* этих компонентов и оптими- зации процессов изготовления. Кроме того, выше перечислены только факто- ры, понижающие надежность открытых систем. Однако одновременно имеются факторы, которые ее повышают, — это увеличенный тираж модулей открытых систем по сравнению с низким тиражом полностью заказных систем. Поэтому вывод о надежности открытой системы может быть как положительным, так и отрицательным, в зависимости от конкретного состава ее элементов. 1.4. Заключение Синтез архитектуры является ответственным этапом, на котором закла- дываются основные свойства будущей системы. Поэтому архитектор должен одинаково хорошо знать как объект автоматизации, так и технические и про- граммные средства автоматизации. Наибольшее распространение в АСУ ТП получили распределенные систе- мы, элементы которых (контроллеры, модули ввода-вывода) разнесены в про- странстве, независимы друг от друга, но взаимодействуют между собой для вы- полнения общей задачи. Система обычно имеет несколько уровней иерархии, которые различаются типами промышленных сетей, техническими средствами и кругом решаемых задач. Перспективной тенденцией является применение Интернет и интранет-технологий, которые обеспечивают возможность постро- ения глобальных систем, когда расстояние перестает иметь значение, а для работы с системой используется любой Интернет-браузер. В последнее десятилетие на рынке средств автоматизации преобладают от- крытые модульные системы, которые соответствуют общепризнанным стандар- там и состоят из компонентов, серийно выпускаемых несколькими конкури- рующими производителями. 1.5. Обзор публикаций В [64] описана хорошо опробованная технология для управления в реальном времени через Интернет на основе Linux-сервера. Компоненты системы, нахо- дящиеся на сервере, предоставляют свои свойства и методы клиентам через См. сноску на с. 24.
50 Глава 1 Интернет, используя удаленный вызов процедур и язык XML. В [65] предложе- на архитектура распределенной системы управления, основанная на Интернете и Java. В [66, 67] анализируется архитектура системы автоматизации, исполь- зующей Интернет и такие средства, как HTTP, XML, SOAP, ОРС. Несколько вариантов реализаций систем управления с применением Интернета описаны в [68-71]. В [72] предложена распределенная система измерений качества элек- трической энергии через Интернет и показано, что влияние задержки можно частично уменьшить, используя специальную технику усреднения. В [73] опи- сана система с применением Интернет-технологии в системах защиты и управ- ления энергетическим оборудованием. Применение «встроенного Интернета» (микроконтроллера со встроенным веб-сервером) описано в [74, 75]. В [76] рассмотрен метод уменьшения влия- ния неопределенности задержки при управлении через Интернет в предикто- рах Смита, в [77] предложен метод моделирования динамики системы управ- ления, включающей Интернет-канал. Системам с открытой архитектурой посвящены работы [78-86]. В [78] мо- дульная система с открытой архитектурой использована для управления стан- ками (обрабатывающими центрами). Модули могут быть добавлены в систему или удалены из нее без требований их реконфигурации. В [79] описана ме- тодика тестирования контроллеров на соответствие требованиям ОМАС [53] к открытым системам. В [80] представлена открытая архитектура системы для АСУ ТП и систем с искусственным интеллектом. В [81] описана открытая си- стема управления энергосистемой. В [82] предложена открытая архитектура интеллектуального датчика, с идеологией Plug&Play, основанная на Интернет- технологии. Такой датчик может работать с любой аппаратно-программной платформой. В [83] описана открытая архитектура коммерческой системы ав- томатизированного тестирования и диагностики сложной аппаратуры. Система способна к расширению путем применения аппаратуры других производителей: блоков диагностики, оборудования для выполнения тестов, оборудования для отображения информации, систем накопления результатов тестирования и др. В [86] сформулированы требования к открытой модульной архитектуре рас- пределенной системы автоматизации, использующей стандарт МЭК 61499 на функциональные блоки для обеспечения интероперабельности подсистем.
Глава 2 Промышленные сети и интерфейсы Обмен информацией между устройствами, входящими в состав автомати- зированной системы (компьютерами, контроллерами, датчиками, исполнитель- ными устройствами), происходит в общем случае через промышленную сеть (Fieldbus, «полевую шину») [88]. Промышленные сети отличаются от офисных следующими свойствами: • специальным конструктивным исполнением, обеспечивающим защиту от пыли, влаги, вибрации, ударов; • широким температурным диапазоном (обычно от -40 до 4-70 °C); • повышенной прочностью кабеля, изоляции, разъемов, элементов крепле- ния; • повышенной устойчивостью к воздействию электромагнитных помех; • возможностью резервирования для повышения надежности; • повышенной надежностью передачи данных; • возможностью самовосстановления после сбоя; • детерминированностью (определенностью) времени доставки сообщений; • возможностью работы в реальном времени (с малой, постоянной и извест- ной величиной задержки); • работой с длинными линиями связи (от сотен метров до нескольких ки- лометров). Промышленные сети обычно не выходит за пределы одного предприятия. Однако с появлением Ethernet и Internet для промышленных сетей стали при- менять ту же классификацию, что и для офисных [87]: • LAN (Local Area Network) — сети, расположенные на ограниченной терри- тории (в цехе, офисе, в пределах завода); • MAN (Metropolitan Area Networks) — сети городов; • WAN (Wide Area Network) — глобальная сеть, охватывающая несколь- ко городов или континентов. Обычно для этого используют Интернет- технологию. В настоящее время насчитывается более 50 типов промышленных сетей (Modbus, Profibus, DeviceNet, CANopen, LonWorks, ControlNet, SDS, Seriplex, ArcNet, BACnet, FDDI, FIP, FF, ASI, Ethernet, WorldFIP, Foundation Fieldbus, Interbus, BitBus и др.). Однако широко распространенными является только часть из них. В России подавляющее большинство АСУ ТП используют сети
52 Глава 2 Modbus и Profibus. В последние годы возрос интерес к сетям на основе CANopen и DeviceNet. Распространенность в России той или иной промышленной сети связана, в первую очередь, с предпочтениями и активностью Российских фирм, продающих импортное оборудование. 2.1. Общие сведения о промышленных сетях Промышленной сетью называют комплекс оборудования и программного обеспечения, которые обеспечивают обмен информацией (коммуникацию) меж- ду несколькими устройствами. Промышленная сеть является основой для по- строения распределенных систем сбора данных и управления. Поскольку в промышленной автоматизации сетевые интерфейсы могут быть неотъемлемой частью соединяемых устройств, а сетевое программное обеспечение прикладного уровня модели OSI исполняется на основном процес- соре промышленного контроллера, то отделить сетевую часть от устройств, объединяемых в сеть, иногда физически невозможно. С другой стороны, смену одной сети на другую часто можно выполнить с помощью замены сетевого ПО и сетевого адаптера или введением преобразователя интерфейса, поэтому часто один и тот же тип ПЛК может использоваться в сетях различных типов. Соединение промышленной сети с ее компонентами (устройствами, узлами сети) выполняется с помощью интерфейсов. Сетевым интерфейсом называют логическую и (или) физическую границу между устройством и средой передачи информации. Обычно этой границей является набор электронных компонентов и связанного с ними программного обеспечения. При существенных модифика- циях внутренней структуры устройства или программного обеспечения интер- фейс остается без изменений, что является одним из признаков, позволяющих выделить интерфейс в составе оборудования. Наиболее важными параметрами интерфейса являются пропускная спо- собность и максимальная длина подключаемого кабеля. Промышленные ин- терфейсы обычно обеспечивают гальваническую развязку между соединяемы- ми устройствами. Наиболее распространены в промышленной автоматизации последовательные интерфейсы RS-485, RS-232, RS-422, Ethernet, CAN, HART, AS-интерфейс. Для обмена информацией взаимодействующие устройства должны иметь одинаковый протокол обмена. В простейшей форме протокол — это набор пра- вил, которые управляют обменом информацией. Он определяет синтаксис и семантику сообщений, операции управления, синхронизацию и состояния при коммуникации. Протокол может быть реализован аппаратно, программно или программно-аппаратно. Название сети обычно совпадает с названием прото- кола, что объясняется его определяющей ролью при создания сети. В России используются сетевые протоколы, описанные в серии стандартов [104-110]. Обычно сеть использует несколько протоколов, образующих стек прото- колов — набор связанных коммуникационных протоколов, которые функцио- нируют совместно и используют некоторые или все семь уровней модели OSI [89]. Для большинства сетей стек протоколов реализован с помощью специали- зированных сетевых микросхем или встроен в универсальный микропроцессор.
Промышленные сети и интерфейсы 53 Взаимодействие устройств в промышленных сетях выполняется в соот- ветствии с моделями клиент-сервер или издатель-подписчик (производитель- потребитель) [117]. В модели клиент-сервер взаимодействуют два объекта. Сер- вером является объект, который предоставляет сервис, т.е. выполняет некото- рые действия по запросу клиента. Сеть может содержать несколько серверов и несколько клиентов. Каждый клиент может посылать запросы нескольким серверам, а каждый сервер может отвечать на запросы нескольких клиентов. Эта модель удобна для передачи данных, которые появляются периодически или в заранее известное время, как, например, значения температуры в перио- дическом технологическом процессе. Однако эта модель неудобна для передачи случайно возникающий событий, например события, состоящего в случайном срабатывании датчика уровня, поскольку для получения этого события клиент должен периодически, с высокой частотой, запрашивать состояние датчика и анализировать его, перегружая сеть бесполезным трафиком. В модели взаимодействия издатель-подписчик имеется один издатель и множество подписчиков. Подписчики сообщают издателю список тегов, зна- чения которых они хотят получать по определенному расписанию или по мере появления новых данных. Каждый клиент может подписаться на свой набор тегов. В соответствии с установленным расписанием издатель рассылает под- писчикам запрошенную информацию. В любой модели взаимодействия можно выделить устройство, которое управляет другим (подчиненным) устройством. Устройство, проявившее иници- ативу в обмене, называют ведущим, главным или мастером (Master). Устрой- ство, которое отвечает на запросы мастера, называют ведомым, подчиненным или слейвом (Slave). Ведомое устройство никогда не начинает коммуникацию первым. Оно ждет запроса от ведущего и только отвечает на запросы. На- пример, в модели клиент-сервер клиент является мастером, сервер — подчи- ненным. В модели издатель-подписчик на этапе подписки мастером является клиент, а на этапе рассылки публикаций — сервер. В сети может быть одно или несколько ведущих устройств. Такие сети называются одномастерными или многомастерными соответственно. В мно- гомастерной сети возникает проблема разрешения конфликтов между устрой- ствами, пытающимися одновременно получить доступ к среде передачи инфор- мации. Конфликты могут быть разрешены методом передачи маркера, как, например, в сети Profibus, методом побитного сравнения идентификатора (ис- пользуется в CAN), методом прослушивания, сети (используется в Ethernet) и методом предотвращения коллизий (используется в беспроводных сетях). Во всех сетях применяется широковещательная рассылка без определенного адреса, т.е. всем участникам сети. Такой режим используется обычно для син- хронизации процессов в сети, например для одновременного запуска процесса ввода данных всеми устройствами ввода или для синхронизации часов. Некоторые сети используют многоабонентский режим, когда одно и то же сообщение посылается нескольким устройствам одновременно. Передача информации в сети выполняется через канал между передаю- щим и приемным устройством. Канал является понятием теории информации и включает в себя линию связи и приемопередающие устройства. В общем
54 Глава 2 случае вместо термина «линия связи» используют термин «среда передачи», в качестве которой может выступать, например, оптоволокно, эфир или ви- тая пара проводов. В распределенных системах на основе промышленных сетей может быть пять типов данных: сигналы, команды, состояния, события, запросы [142]. Сигналы — это результаты измерений, получаемые от датчиков и измери- тельных преобразователей. Их «время жизни» очень короткое, поэтому часто требуется получить только последние данные и в максимально короткий срок. Команды — это сообщения, которые вызывают некоторые действия, напри- мер закрытие клапана или включение ПИД-регулятора. Большинство систем должны обрабатывать потоки команд, которые передаются адресату с высокой надежностью и их нельзя передать повторно. Состояние показывает текущее или будущее состояние системы, в которое она должна перейти. Требование к времени его доставки может быть не такие жестким, как для команд; непринятое состояние может быть послано повторно. Событие наступает обычно при достижении текущим параметром гранич- ного значения. Например, событием может быть выход температуры за техно- логически допустимую границу. За появлением события должны следовать от- ветные действия (подробнее см. главу 9), поэтому для событий особенно важно требование гарантированного времени доставки. Запрос — это команда, посылаемая для того, чтобы получить ответ. При- мером может быть запрос серверу, который выдает на него ответ. Ниже при описании сетей будет использоваться понятие фрейма. Под фрей- мом понимают набор данных, передаваемых по сети и имеющих строго ого- воренную структуру (формат). Термины «кадр», «дейтаграмма», «сегмент», используемые в стандартах на различные промышленные сети, ниже будут ис- пользованы как синонимы фрейма. Сети могут иметь топологию звезды, кольца, шины или смешанную. «Звез- да» в промышленной автоматизации используется редко. Кольцо используется в основном для передачи маркера в многомастерных сетях. Шинная топология является общепринятой, что является одной из причин применения термина «промышленная шина» вместо «промышленная сеть». К общей шине в разных местах может быть подключено произвольное количество устройств. Основными параметрами промышленных сетей являются производитель- ность и надежность. Производительность сети характеризуется временем ре- акции и пропускной способностью [90]. Время реакции сети определяется как интервал времени между запросом ведущего устройства и ответом ведомого при условии, что ведомое устройство имеет пренебрежимо малую задержку выработки ответа на запрос. Пропускная способность сети определяет количество информации, перено- симой сетью в единицу времени. Измеряется в битах за секунду и зависит от быстродействия сетевых приемопередатчиков и среды передачи. Важной характеристикой промышленных сетей является надежность до- ставки данных. Надежность (см. также главу 8) характеризуется коэффици- ентом готовности, вероятностью доставки данных, предсказуемостью времени доставки, безопасностью, отказоустойчивостью [90].
Промышленные сети и интерфейсы 55 Коэффициент готовности равен отношению времени наработки до отказа к сумме времени наработки до отказа и времени восстановления после отказа. Вероятность доставки данных определяется помехоустойчивостью кана- ла передачи и детерминированностью доступа к каналу. В беспроводных сетях вероятность потери пакетов при передаче гораздо выше, чем в проводных. Ь се- тях со случайным методом доступа к каналу существует вероятность того, что данные никогда не будут доставлены абоненту. Время доставки данных в офисных сетях Ethernet является случайной ве- личиной, однако в промышленном Ethernet эта проблема решена применени- ем коммутаторов. Безопасность — это способность сети защитить передаваемые данные от несанкционированного доступа. Отказоустойчивость — это способность сети продолжать функционирова- ние при отказе некоторых элементов. При этом характеристики системы могут ухудшиться, но она не теряет работоспособности. В последнее время появился термин «качество обслуживания» (QoS — Quality of Service). QoS определяет вероятность того, что сеть будет переда- вать заданный поток данных между двумя узлами в соответствии с потреб- ностями приложения [90]. 2.2. Модель OSI Поскольку основной функцией сети является соединение между собой раз- личного оборудования, проблема открытости, в частности, стандартизации, для сетей приобретает особое значение. В связи с этим в начале 80-х годов Меж- дународной организацией по стандартизации ISO (International Standardization Organization) совместно с рядом других организаций была сформулирова- на и принята модель взаимодействия открытых систем OSI (Open System Interconnection), которая сыграла и играет до сих пор важную роль в разви- тии сетей [87-90]. Полное описание модели OSI занимает более 1000 страниц текста. Это свя- зано с тем, что сетевое взаимодействие устройств является сложной задачей. Для решения таких задач обычно используется декомпозиция сложной задачи на более простые. Декомпозиция выполняется таким образом, чтобы количе- ство и сложность связей, а также поток данных между подзадачами были мини- мальными. В модели OSI было использовано семь подзадач (уровней), причем декомпозиция выполнена таким образом, что взаимодействие осуществляется только между соседними уровнями. Такой подход обеспечил возможность решения задачи взаимодействия си- стем для каждого уровня отдельно, в том числе независимыми группами раз- работчиков. В частности, для сетевого взаимодействия устройств необходимо согласовать между собой электрические уровни сигналов, задержки и длитель- ности импульсов, типы соединителей, способы кодирования информации, спо- собы обеспечения достоверности передачи, формы и форматы адресации, фор- маты данных, способы доступа к сети, способы буферизации данных, способы деления их на пакеты и восстановления целостности сообщений и др.
56 Глава 2 Таблица 2.1 Эталонная модель OSI Номер уровня Название уровня Протокол Примеры Единица обмена 7 Прикладной Прикладной протокол FTP, HTTP, SMTP APDU, сообщение 6 Уровень представления Протокол уровня представления SSL PPDU 5 Сеансовый Сеансовый протокол SPDU 4 Транспортный Транспортный протокол TCP, UDP, SPX TPDU 3 Сетевой Сетевой протокол IP, IPX Пакет 2 Канальный (пе- редачи данных) Протокол канального уровня Кадр 1 Физический Протокол физического уровня Бит Семь уровней модели OSI представлены в табл. 2.1. Модель OSI не включает средства взаимодействия между собой приложе- ний, расположенных на разных компьютерах сети, такие как, например, DDE, ОРС или CORBA, а описывает только средства, реализуемые операционной системой, системными утилитами и аппаратурой. Поэтому прикладной уро- вень нельзя путать с уровнем взаимодействия приложений, который в модель OSI не входит. Если приложение обращается с запросом к прикладному уровню, то на основании этого запроса программное обеспечение прикладного уровня форми- рует сообщение, состоящее из заголовка и поля данных, и передает его вниз, на уровень представления. Протокол представительного уровня выполняет требу- емые действия, содержащиеся в заголовке прикладного уровня, и добавляет к сообщению свою служебную информацию — заголовок представительного уров- ня, в котором содержатся инструкции для соответствующего уровня получате- ля сообщения. Сформированное таким образом сообщение с уже двумя заго- ловками передается вниз сеансовому уровню, который также добавляет к нему свой заголовок. Таким образом, дойдя до физического уровня, сообщение об- растает семью заголовками, после чего оно передается по сети адресату. Когда сообщение достигнет адресата, оно проходит весь стек протоколов в обратном порядке, от физического уровня до прикладного. На каждом уровне выполня- ются соответствующие функции, содержащиеся в заголовке каждого уровня. Большинство уровней модели OSI имеют смысл только в сетях с комму- тацией пакетов (а не каналов). Тем не менее отдельные ее уровни и термины используются практически во всех сетях. Сеансовый уровень и уровень пред- ставления на практике используются редко, а сетевой уровень и канальный практически всегда и сильно перегружены [87]. 2.2.1. Физический уровень На физическом уровне (Physical layer) происходит передача данных по та- ким линиям связи, как витая пара, коаксиальный кабель, оптоволоконный ка- бель или радиоканал. Основная функция физического уровня — обеспечить
Промышленные сети и интерфейсы 57 прием логической единицы (а не нуля) на стороне получателя в том случае, если на стороне отправителя передана единица. На физическом уровне ис- пользуются понятия: длительность импульса и паузы, длительности фронтов импульсов, количество проводов и цоколевки разъемов, помехозащищенность, волновое сопротивление, полоса пропускания, кодирование информации, син- хронизация, модуляция, определение начала хадра, уровень логической еди- ницы и логического нуля. 2.2.2. Канальный уровень На физическом уровне не учитывается, что канал передачи может быть занят другими устройствами, подключенными к сети. Проверка доступно- сти канала передачи осуществляется на канальном уровне (Data Link Layer). Канальный уровень разбивает передаваемые данные на кадры и выполняет функции обнаружения и коррекции ошибок с помощью контрольной суммы, помещаемой в начало или конец каждого кадра. Кадр считается получен- ным, если контрольная сумма, вычисленная на стороне получателя, совпа- дает с контрольной суммой, приписанной к переданному кадру. При обна- ружении ошибки канальный уровень может выполнить повторную передачу поврежденного кадра. Функция исправления ошибок не является обязатель- ным требованием стандарта. 2.2.3. Сетевой уровень Основное назначение сетевого уровня (Network Layer) — определение марш- рутов пересылки пакетов от источника к приемнику сообщений. Маршруты могут быть жестко заданы или меняться динамически в зависимости от те- кущей загруженности сети. Сетевой уровень отвечает также за объединение нескольких разных сетей в единую транспортную систему, причем эти сети мо- гут использовать различные принципы передачи сообщений, методы адресации и обладать произвольной структурой связей. 2.2.4. Транспортный уровень Транспортный уровень (Transport Layer) обеспечивает доставку сообщений с требуемым уровнем качества (надежности). В модели OSI выделяют на вы- бор пользователя пять классов сервиса, которые отличаются срочностью до- ставки сообщений, возможностью восстановления прерванной связи, наличием средств мультиплексирования нескольких соединений между различными при- кладными протоколами через общий транспортный протокол, способностью к обнаружению и исправлению ошибок передачи (таких, как искажение, поте- ря или дублирование пакетов). На транспортном уровне выполняется разбивка сообщений сеансового уров- ня на пакеты, их нумерация, буферизация принимаемых пакетов, упорядочи- вание прибывающих пакетов, управление потоками. 2.2.5. Сеансовый уровень Сеансовый уровень (Session Layer) управляет диалогом (сеансом связи): от- слеживает очередность передачи сообщений участниками сети; вставляет метки
58 Глава 2 в длинные сообщения, чтобы в случае потери связи выполнит повторную пере- дачу только утерянной части сообщения; устанавливает способ обмена (дуп- лексный или полудуплексный). Этот уровень редко используется на практике, а его функции часто объ- единяются с функциями прикладного уровня. 2.2.6. Уровень представления Уровень представления (Presentation Layer) оперирует с формой представ- ления передаваемой по сети информации, не изменяя ее содержания. На этом уровне может задаваться тип кодирования символов (например, ASCII или ANSI), может изменяться синтаксис передаваемых сообщений, задаваться тип шифрования и дешифрования данных для обеспечения их секретности. При- мером такого протокола является Secure Socket Layer (SSL), обеспечивающий секретность сообщений для протокола TCP/IP. 2.2.7. Прикладной уровень Прикладной уровень (Application Layer) представляет собой набор попу- лярных протоколов, с помощью которых осуществляется доступ к файлам (на- пример, с помощью протокола FTP) или веб-страницам (с помощью HTTP), к электронной почте (SMTP). 2.2.8. Критика модели OSI Несмотря на то что модель OSI является общепризнанным стандартом, она очень несовершенна [87]. Как мы увидим далее, в промышленных сетях используются только два или три уровня этой модели, и даже сеть Ethernet не использует уровни 5 и 6. Существуют четыре причины, объясняющие это [87]: • несвоевременность — модель OSI появилась слишком поздно, когда начали появляться и быстро завоевали популярность протоколы TCP/IP, которые не нуждались в уровнях 5 и 6 этой модели; • плохая технология — выбор семиуровневой структуры был скорее поли- тическим, чем техническим. Эталонная модель OSI оказалась невероятно сложной. Если сложить в стопку распечатку официального описания ее стандарта, то получится кипа бумаги высотой в один метр [87]; • неудачная реализация — в результате сложности модели и протоколов неудачу потерпели все фирмы, которые пытались реализовать эту модель; • неудачная политика — OSI считался детищем европейских телекоммуни- кационных министерств и правительства США, и, хотя это было не совсем верно, мысль об этом не способствовала продвижению этой модели на фоне растущего интереса к модели TCP/IP [87], которая ассоциировалась с по- пулярной в то время операционной системой UNIX. Тем не менее, методологически модель OSI очень актуальна до сих пор и все сетевые стандарты начинают свое описание с указания соответствия между этой моделью и конкретным стандартом. Модель OSI будет использована ниже при рассмотрении ряда промыш- ленных сетей.
Промышленные сети и интерфейсы 59 2.3. Интерфейсы RS-485, RS-422 и RS-232 Интерфейсы RS-485 и RS-422 описаны в стандартах ANSI EIA/TIA*-485-A и EIA/TIA-422. Интерфейс RS-485 является наиболее распространенным в про- мышленной автоматике. Его используют промышленные сети Modbus, Profibus DP, ARCNET, BitBus, WorldFip, LON, Interbus и множество нестандартных се- тей. Связано это с тем, что по всем основным показателям данный интерфейс является наилучшим из всех возможных при современном уровне развития тех- нологии. Основными его достоинствами являются: • двусторонний обмен данными всего по одной витой паре проводов; • работа с несколькими трансиверами, подключенными к одной и той же линии, т.е. возможность организации сети; • большая длина линии связи; • достаточно высокая скорость передачи. 2.3.1. Принципы построения Дифференциальная передача сигнала. В основе построения интерфей- са RS-485 лежит дифференциальный способ передачи сигнала, когда напряже- ние, соответствующее уровню логической единицы или нуля, отсчитывается не от «земли», а измеряется как разность потенциалов между двумя переда- ющими линиями: Data+ и Data- (рис. 2.1). При этом напряжение каждой линии относительно «земли» может быть произвольным, но не должно выхо- дить за диапазон -7...4-12 В [93-95]. Приемники сигнала являются дифференциальными, т.е. воспринимают только разность между напряжениями на линии Data+ и Data—. При разно- сти напряжений более 200 мВ, до 4-12 В считается, что на линии установлено значение логической единицы, при напряжении менее -200 мВ, до -7 В — логического нуля. Дифференциальное напряжение на выходе передатчика в Рис. 2.1. Соединение трех устройств с интерфейсом RS-485 по двухпроводной схеме * EIA (Electronic Industries Association) — ассоциация электронной промышленно- сти; TIA (Telecommunications Industry Association) — ассоциация телекоммуникационной промышленности. Занимаются разработкой стандартов.
60 Глава 2 соответствии со стандартом должно быть не менее 1,5 В, поэтому при поро- ге срабатывания приемника 200 мВ помеха (в том числе падение напряжения на омическом сопротивлении линии) может иметь размах 1,3 В над уровнем 200 мВ. Такой большой запас необходим для работы на длинных линиях с большим омическим сопротивлением. Фактически именно этот запас по напря- жению и определяет максимальную длину линии связи (1200 м) при низких скоростях передачи (менее 100 кбит/с). Благодаря симметрии линий относительно «земли» в них наводятся поме- хи, близкие по форме и величине. В приемнике с дифференциальным входом сигнал выделяется путем вычитания напряжений на линиях, поэтому после вы- читания напряжение помехи оказывается равным нулю. В реальных условиях, когда существует небольшая асимметрия линий и нагрузок, помеха подавля- ется не полностью, но ослабляется существенно. Для минимизации чувствительности линии передачи к электромагнитной наводке используется витая пара проводов. Токи, наводимые в соседних вит- ках вследствие явления электромагнитной индукции, по «правилу буравчика» оказываются направленными навстречу друг-другу и взаимно компенсируют- ся. Степень компенсации определяется качеством изготовления кабеля и ко- личеством витков на единицу длины. «Третье» состояние выходов. Второй особенностью передатчика D (D — Driver) интерфейса RS-485 является возможность перевода выходных каскадов в «третье» (высокоомное) состояние сигналом DE (Driver Enable) (рис. 2.1). Для этого запираются оба транзистора выходного каскада пере- датчика. Наличие третьего состояния позволяет осуществить полудуплексный обмен между любыми двумя устройствами, подключенными к линии, всего по двум проводам. Если на рис. 2.1 передачу выполняет устройство В, а прием — устройство С, то выходы передатчиков А и В переводятся в высокоомное со- стояние, т.е. фактически к линии оказываются подключены только приемники, при этом выходное сопротивление передатчиков А и С не шунтирует линию. Перевод передатчика интерфейса в третье состояние осуществляется обыч- но сигналом RTS (Request То Send) СОМ-порта. Четырехпроводной интерфейс. Интерфейс RS-485 имеет две версии: двухпроводную и четырехпроводную. Двухпроводная используется для полу- дуплексной передачи (рис. 2.1), когда информация может передаваться в обоих направлениях, но в разное время. Для полнодуплексной (дуплексной) переда- чи используют четыре линии связи: по двум информация передается в одном направлении, по двум другим — в обратном (рис. 2.2). Недостатком четырехпроводной (рис. 2.2) схемы является необходимость жесткого указания ведущего и ведомых устройств на стадии проектирования системы, в то время как в двухпроводной схеме любое устройство может быть как в роли ведущего, так и ведомого. Достоинством четырехпроводной схемы является возможность одновременной передачи и приема данных, что бывает необходимо при реализации некоторых сложных протоколов обмена. Режим приема эха. Если приемник передающего узла включен во вре- мя передачи, то передающий узел принимает свои же сигналы. Этот режим
Промышленные сети и интерфейсы 61 Рис. 2.2. Четырехпроводное соединение устройств с интерфейсом RS-485 называется «приемом эха» и обычно устанавливается микропереключателем на плате интерфейса. Прием эха иногда используется в сложных протоколах передачи, но чаще этот режим выключен. Заземление, гальваническая изоляция и защита от молнии. Если порты RS-485, подключенные к линии передачи, расположены на большом рас- стоянии один от другого, то потенциалы их «земель» могут сильно различаться. В этом случае для исключения пробоя выходных каскадов микросхем транси- веров (приемопередатчиков) интерфейса следует использовать гальваническую изоляцию между портом RS-485 и землей. При небольшой разности потенциа- лов «земли» для выравнивания потенциалов, в принципе, можно использовать проводник, однако такой способ на практике не применяется, поскольку прак- тически все коммерческие интерфейсы RS-485 имеют гальваническую изоля- цию (см. например, преобразователь NL-232C или повторитель интерфейсов NL-485C фирмы НИЛ АП — www.RealLab.ru). Защита интерфейса от молнии выполняется с помощью газоразрядных и полупроводниковых устройств защиты (см. главу 3). 2.3.2. Стандартные параметры В последнее время появилось много микросхем трансиверов интерфейса RS-485, которые имеют более широкие возможности, чем установленные стан- дартом. Однако для обеспечения совместимости устройств между собой необ- ходимо знать параметры, описанные в стандарте (табл. 2.2). 2.3.3. Согласование линии с передатчиком и приемником Если время распространения электромагнитного поля через кабель ста- новится сравнимо с характерными временами передаваемых сигналов, то ка- бель нужно рассматривать как длинную линию с распределенными параметра- ми [96]. Скорость распространения электромагнитного поля в нем составляет 60...75 % от скорости света в вакууме и зависит от диэлектрической и магнитной
62 Глава 2 Таблица 2.2 Параметры интерфейса RS-485, установленные стандартом Параметр Минимум Максимум Условие Выходное напряжение передатчика, В: без нагрузки с нагрузкой Ток короткого замыкания передатчи- ка, мА Длительность переднего фронта им- пульсов передатчика, % от ширины импульса Синфазное напряжение на выходе пе- редатчика, В Чувствительность приемника, мВ Синфазное напряжение на входе при- емника, В Входное сопротивление приемника, кОм Максимальная скорость передачи, кбит/с, для кабеля длиной: 12 м 1200 м Примечание. Передатчик должен выде ду своими выходами, так и замыканш 1,5...-1,5 1,5...—1,5 -1 —7 12 10 100 ‘рживать р< 5 их на +1 6...-6 5...—5 ±250 30 3 ±200 +12 ?ЖИМ KOpOTI 2 В или —7 йнагр = 0 Танагр — 54 Ом Короткое замыкание вы- хода на источник пита- ния +12 В или на —7 В ^нагр — 54 Ом; Онагр = 5 пФ Танагр —— 54 Ом При синфазном напря- жении от —7 до +12 В сого замыкания как меж- В. проницаемости диэлектрика кабеля, сопротивления проводника и его конструк- тивных особенностей. При скорости света в вакууме 300000 км/с для кабеля длиной 1000 м можно получить скорость распространения электромагнитной волны в кабеле 200...225 км/с и время распространения 5,6 мкс. Электромагнитная волна, достигая конца кабеля, отражается от него и воз- вращается к источнику сигнала, отражается от источника и опять проходит к концу кабеля. Вследствие потерь на нагрев проводника и диэлектрика ампли- туда волны в конце кабеля всегда меньше, чем в начале. Для типовых кабелей можно считать, что только первые три цикла прохождения волны существенно влияют на форму передаваемого сигнала [93]. Это дает общую длительность паразитных колебаний на фронтах передаваемых импульсов, связанных с от- ражениями, около 33,6 мкс при длине кабеля 1 км. Поскольку в приемном узле универсальный трансивер (Universal Asynchronous Receive Transmit — UART) определяет логическое состояние линии в центре импульса*, то минимальная длительность импульса, который еще можно распознать с помощью UART, со- * В UART после появление переднего фронта стартового бита запускается счетчик, который отсчитывает время до середины бита и в этой точке определяет значение импуль- са (единица или ноль). Для большей достоверности распознавания и защиты от помех ча- сто используется метод голосования, когда выбираются три соседних отчета на середине импульса и логическое состояние линии определяется путем голосования: если единиц больше, считается, что принята единица, в противном случае — ноль [97].
Промышленные сети и интерфейсы 63 ставляет 33,6x2 = 67,2 мкс. Поскольку при NRZ кодировании (см. п. 2.6.1) ми- нимальная длительность импульса позволяет закодировать 1 бит информации, то получим максимальную скорость передачи информации, которую еще мож- но принять несмотря на наличие отражений, равную 1/67,2 мкс = 14,9 кбит/с. Учитывая, что реально условия передачи всегда хуже расчетных, стандартную скорость передачи 9600 бит/с приближенно можно считать границей, на кото- рой еще можно передать сигнал на расстояние 1000 м несмотря на наличие отражений от концов линии. Рассмотренная ситуация ухудшается с ростом рассогласования между ча- стотой синхронизации передатчика и приемника, вследствие которой момент считывания сигнала оказывается смещенным относительно центра импульса. Следует также учитывать, что на практике не все устройства с интерфейсом RS-485 используют стандартный UART, считывающий значение логического состояния посредине импульса. При большей скорости передачи, например 115200 бит/с, ширина переда- ваемых импульсов составляет 4,3 мкс, и их невозможно отличить от импуль- сов, вызванных отражениями от концов линии. Используя вышеприведенные рассуждения, можно получить, что при скорости передачи 115200 бит/с макси- мальная длина кабеля, при которой еще можно не учитывать отражения от концов линии, составляет 60 м. Для устранения отражений линия должна быть нагружена на сопротивле- ние, равное волновому сопротивлению кабеля Zo = Ro + jusLo Go + jwCo (2-1) где До? Ьо, Go, Co — погонные сопротивление, индуктивность, проводимость и емкость кабеля соответственно, ju — комплексная круговая частота. Как следует из этой формулы, в кабеле без потерь волновое сопротивление не зави- сит от частоты, при этом прямоугольный импульс распространяется по линии без искажений. В линии с потерями фронт импульса «расплывается» по мере увеличения расстояния импульса от начала кабеля. Отношение амплитуды напряжения отраженного синусоидального сигна- ла (отраженной волны) от конца линии к амплитуде сигнала, пришедшего к концу линии (падающей волны) называется коэффициентом отражения по на- пряжению [98], который зависит от степени согласованности волновых сопро- тивлений линии и нагрузки: (2-2) _ Rh — Zp U~ Rh + Zo' где Дн — сопротивление согласующего резистора на конце или в начале линии (кабеля). Случай Дн = Zq соответствует идеальному согласованию линии, при котором отражения отсутствуют (Ди = 0). Для согласования линии используют терминальные (концевые) резисторы (рис. 2.3). Величину резистора выбирают в зависимости от волнового сопротив- ления используемого кабеля. Для систем промышленной автоматики исполь- зуются кабели с волновым сопротивлением от 100 до 150 Ом, однако кабели,
64 Глава 2 Рис. 2.3. Применение терминальных резисторов для согласования линии передачи спроектированные специально для интерфейса RS-485, имеют волновое сопро- тивление 120 Ом. На такое же сопротивление обычно рассчитаны микросхемы трансиверов интерфейса RS 485. Поэтому сопротивление терминального рези- стора выбирается равным 120 Ом, мощность 0,25 Вт. Резисторы ставят на двух противоположных концах кабеля. Распростра- ненной ошибкой является установка резистора на входе каждого приемника, подключенного к линии, или на конце каждого отвода от линии, что перегру- жает стандартный передатчик. Дело в том, что два терминальных резистора в сумме дают 60 Ом и потребляют ток 25 мА при напряжении на выходе пере- датчика 1,5 В; кроме этого, 32 приемника со стандартным входным током 1 мА потребляют от линии 32 мА, при этом общее потребление тока от передатчика составляет 57 мА. Обычно это значение близко к максимально допустимому то- ку нагрузки стандартного передатчика RS 485. Поэтому нагрузка передатчика дополнительными резисторами может привести к его отключению средствами встроенной автоматической защиты от перегрузки. Второй причиной, которая запрещает использование резистора в любом месте, кроме концов линии, является отражение сигнала от места располо- жения резистора. При расчете сопротивления согласующего резистора нужно учитывать об- щее сопротивление всех нагрузок на конце линии. Например, если к кон- цу линии подключен шкаф комплектной автоматики, в котором расположены 30 модулей с портом RS-485, каждый из которых имеет входное сопротивление 12 кОм, то общее сопротивление всех модулей будет равно 12 кОм/ЗО = 400 Ом. Поэтому для получения сопротивления нагрузки линии 120 Ом сопротивление терминального резистора должно быть равно 171 Ом. Отметим недостаток применения согласующих резисторов. При длине ка- беля 1 км его омическое сопротивление (для типового стандартного кабеля) составит 97 Ом. При наличии согласующего резистора 120 Ом образуется ре- зистивный делитель, который примерно в 2 раза ослабляет сигнал, и ухудшает отношение сигнал/шум на входе приемника. Поэтому при низких скоростях передачи (менее 9600 бит/с) и большом уровне помех терминальный резистор не улучшает, а ухудшает надежность передачи.
Промышленные сети и интерфейсы 65 В промышленных преобразователях интерфейса RS-232 в RS-485 согласу- ющие резисторы обычно уже установлены внутри изделия и могут отключать- ся микропереключателем (джампером). Поэтому перед применением таких устройств необходимо проверить, в какой позиции находится переключатель. 2.3.4. Топология сети на основе интерфейса RS-485 Топология сетей на основе интерфей- са RS-485 определяется необходимостью устранения отражений в линии передачи. Поскольку отражения происходят от лю- бой неоднородности, в том числе ответв- лений от линии, то единственно правиль- ной топологией сети будет такая, которая выглядит как единая линия без отводов, к которой не более чем в 32 точках под- ключены устройства с интерфейсом RS-485 (рис. 2.4,а). Любые варианты, в которых линия имеет длинные отводы или соеди- нение нескольких кабелей в одной точке (рис. 2.4,6), приводят к отражениям и сни- жению качества передачи. Однако сказанное справедливо толь- ко для высоких скоростей передачи (бо- лее 9600 бит/с), когда эффекты отражения влияют на достоверность передачи. Для низких скоростей длина отвода (рис. 2.3) может быть произвольной. Если существует необходимость раз- ветвления линии, то это можно сделать с помощью повторителей интерфейса (рис. 2.5) или концентратора (хаба) (см. п. 2.12.2). Повторители позволяют разде- лить линию на сегменты, в каждом из ко- торых выполняются условия согласования зисторов и не возникают эффекты, связанные с отражениями от концов линии, а длина отвода от линии до повторителя всегда может быть сделана доста- точно малой (рис. 2.5). а) Рис. 2.4. Правильная (а) и непра- вильная (6) топологии сети на основе интерфейса RS-485. Квад- ратиками обозначены устрой- ства с интерфейсом RS-485 помощью двух терминальных ре- с 2.3.5. Устранение состояния неопределенности линии Когда передатчики всех устройств, подключенных к лини, находятся в тре- тьем (высокоомном) состоянии, логическое состояние линии и входов всех при- емников не определено. Чтобы устранить эту неопределенность, неинвертирую- щий вход приемника соединяют через резистор с шиной питания, а инвертирую- щий — с шиной «земли». Величины резисторов выбирают такими, чтобы напря- жение между входами стало больше порога срабатывания приемника (4-200 мВ).
66 Глава 2 Рис. 2.5. Применение повторителей интерфейса для разветвления линии передачи Поскольку эти резисторы оказываются подключенными параллельно ли- нии передачи, то для обеспечения согласования линии с интерфейсом необхо- димо, чтобы эквивалентное сопротивление на входе линии было равно 120 Ом. Например, если резисторы, используемые для устранения неопределенно- сти состояния линии, имеют сопротивление 450 Ом каждое, то резистор для согласования линии должен иметь номинал 130 Ом, тогда эквивалентное со- противление цепи будет равно 114... 120 Ом. Для того чтобы найти дифферен- циальное напряжение линии в третьем состоянии всех пе- редатчиков (рис. 2.6), нужно учесть, что к противополож- ному концу линии в стандартной конфигурации подключен еще один резистор сопротивлением 120 Ом и до 32 приемни- ков с входным дифференциальным сопротивлением 12 кОм. Тогда при напряжении питания V = 5 В (рис. 2.6) диффе- ренциальное напряжение линии будет равно 4-272 мВ, что удовлетворяет требованию стандарта. Рис. 2.6. Резисторная цепь на выходе трансивера интерфейса, устраняющая неопределенное состояние линии и обеспечивающая ее согласование 2.3.6. Сквозные токи В сети на основе интерфейса RS-485 может быть ситуация, когда включены два передатчика одновременно. Если при этом один из них находится в состо- янии логической единицы, а второй — в состоянии логического нуля, то от источника питания на землю течет «сквозной» ток большой величины, ограни- ченный только низким сопротивлением двух открытых транзисторных ключей. Этот ток может вывести из строя транзисторы выходного каскада передатчика или вызвать срабатывание их схемы защиты. Такая ситуация возможна не только при грубых ошибках в программном обеспечении, но и в случае, если неправильно установлена задержка между моментом выключения одного передатчика и включением другого. Ведомое устройство не должно передавать данные до тех пор, пока передающее не за- кончит передачу. Повторители интерфейса должны определять начало и ко-
Промышленные сети и интерфейсы 67 нец передачи данных и в соответствии ними переводить передатчик в актив- ное или третье состояние. 2.3.7. Выбор кабеля В зависимости от скорости передачи и необходимой длины кабеля мож- но использовать либо специально спроектированный для интерфейса RS-485 кабель, либо практически любую пару проводов. Кабель, спроектированный специально для интерфейса RS-485, является витой парой с волновым сопро- тивлением 120 Ом. Для хорошего подавления излучаемых и принимаемых помех важно боль- шое количество витков на единицу длины кабеля, а также идентичность па- раметров всех проводов. При использовании неизолированных трансиверов интерфейса, кроме сиг- нальных проводов, в кабеле необходимо предусмотреть еще одну витую па- ру для соединения цепей заземления соединяемых интерфейсов. При наличии гальванической изоляции интерфейсов этого делать не нужно. Кабели могут быть экранированными или нет. Без эксперимента очень трудно решить, нужен ли экран. Однако, учитывая, что стоимость экраниро- ванного кабеля не намного выше, лучше всегда использовать кабель с экраном. При низкой скорости передачи и на постоянном токе большую роль играет падение напряжения на омическом сопротивлении кабеля. Так, стандартный кабель для интерфейса RS-485 сечением 0,35 кв.мм имеет омическое сопротив- ление 48,5x2 = 97 Ом при длине 1 км. При терминальном резисторе 120 Ом кабель будет выполнять роль делителя напряжения с коэффициентом деле- ния 0,55, т.е. напряжение на выходе кабеля будет примерно в 2 раза меньше, чем на его входе. Этим ограничивается допустимая длина кабеля при ско- рости передачи менее 100 кбит/с. На более высоких частотах допустимая длина кабеля уменьшается с ро- стом частоты (рис. 2.7) и ограничивается потерями в кабеле и эффектом дро- Рис. 2.7. Зависимость допустимой длины кабеля от скорости передачи для интерфейса RS-485
68 Глава 2 жания фронта импульсов. Потери складываются из падения напряжения на омическом сопротивлении проводников, которое на высоких частотах возрас- тает за счет вытеснения тока к поверхности (скин-эффект) и потерь в диэлек- трике. К примеру, ослабление сигнала в кабеле Belden 9501PVC составляет 10 дБ (3,2 раза) на частоте 20 МГц и 0,4 дБ (на 4,7 %) на частоте 100 кГц [93] при длине кабеля 100 м. Параметр дрожания фронта импульсов определяется с помощью «глазко- вой диаграммы» [91, 99]. На вход линии подается псевдослучайная двоичная последовательность импульсов, минимальная ширина которых соответствует заданной скорости передачи, к выходу подключается осциллограф. Если к моменту прихода очередного импульса переходный процесс, вызванный преды- дущим импульсом, не успевает установиться, то «хвост» предыдущего импуль- са складывается с началом очередного, что приводит к сдвигу точки пересе- чения импульсами нулевого уровня на входе дифференциального приемника. Величина сдвига зависит от ширины импульсов и длительности паузы между ними. Поэтому, когда на вход линии подают псевдослучайную двоичную по- следовательность импульсов, то на осциллографе, подключенном к выходу ли- нии, описанный сдвиг проявляется как размытость или дрожание фронтов им- пульсов, наложенных друг на друга. Это дрожание ограничивает возможность распознавания логических уровней и скорость передачи информации. Величи- на дрожания оценивается в процентах относительно ширины самого короткого импульса (рис. 2.8). Чем больше дрожание, тем труднее распознать сигнал и тем ниже достоверность передачи. На рис. 2.8 показана зависимость допустимой длины кабеля от скорости передачи при скоростях более 100 кбит/с и использовании трансивера DS3695 фирмы National Semiconductor [100]. Зависимость построена для трех значений Рис. 2.8. Зависимость допустимой длины кабеля от скорости передачи при скорости более 100 кбит/с
Промышленные сети и интерфейсы 69 показателей качества передачи сигнала, которые оценивается величиной дро- жания фронта импульса. Как видно, допустимая длина может быть увеличена при снижении требований к качеству передачи. Нижняя кривая на рис. 2.8 по- казана для случая, когда длительность фронта импульса после прохождения сигнала по линии увеличивается до 30 % от ширины импульса. Увеличение длительности фронтов на конце линии — вторая причина, по которой длина линии не может быть больше указанной на рис. 2.8. 2.3.8. Расширение предельных возможностей Стандарт RS-485 допускает подключение не более 32 приемников к одно- му передатчику. Эта величина ограничивается мощностью выходного каска- да передатчика при стандартном входном сопротивлении приемника 12 кОм. Количество нагрузок (приемников) может быть увеличено с помощью более мощных передатчиков, приемников с большим входным сопротивлением и про- межуточных ретрансляторов сигнала (повторителей интерфейса). Все эти ме- тоды используются на практике, когда это необходимо, хотя они выходят за рамки требований стандарта. В некоторых случаях требуется соединить устройства на расстоянии бо- лее 1200 м или подключить к одной сети более 32 устройств. Это можно сде- лать с помощью повторителей (репитеров, ретрансляторов) интерфейса. По- вторитель устанавливается между двумя сегментами линии передачи, прини- мает сигнал одного сегмента, восстанавливает фронты импульсов и передает его с помощью стандартного передатчика во второй сегмент (см. рис. 2.5). Та- кие повторители обычно являются двунаправленными и имеют гальваническую изоляцию. Примером может служить повторитель NL-485C фирмы НИЛ АП (www.RealLab.ru). Каждый повторитель позволяет добавить к линии 31 стан- дартное устройство и увеличить длину линии на 1200 м. Распространенным методом увеличения числа нагрузок линии является использование приемников с более высокоомным входом, чем предусмотрено стандартом EIA/TIA-485 (12 кОм). Например, при входном сопротивлении приемника 24 кОм к стандартному передатчику можно подключить 64 при- емника. Уже выпускаются микросхемы трансиверов для интерфейса RS-485 с возможностью подключения 64, 128 и 256 приемников в одном сегменте се- ти (www.analog.com/RS485). Отметим, что увеличение количества нагрузок путем увеличения входного сопротивления приемников приводит к уменьше- нию мощности передаваемого по линии сигнала и, как следствие, к сниже- нию помехоустойчивости. 2.3.9. Интерфейсы RS-232 и RS-422 Интерфейс RS-422 используется гораздо реже, чем RS-485 и, как правило, не для создания сети, а для соединения двух устройств на большом расстоянии (до 1200 м), поскольку интерфейс RS-232 работоспособен только на расстоянии до 15 м. Каждый передатчик RS-422 может быть нагружен на 10 приемников. Интерфейс работоспособен при напряжении до ±7 В.
70 Глава 2 Рис. 2.9. Соединение двух модулей преобразователей интерфейса RS-232/RS-422 На рис. 2.9 показан пример соединения двух интерфейсов RS-422 преоб- разователей типа NL-232C фирмы НИЛ АП с целью увеличения дальности связи двух устройств. В табл. 2.3 приведено сравнение основных характеристик трех наиболее популярных интерфейсов, используемых в промышленной автоматизации. Таблица 2.3 Сравнение интерфейсов RS 232, RS-422 и RS-485 Параметр RS-232 RS-422 | RS-485 Способ передачи сигнала Максимальное количество приемников Максимальная длина кабеля, м Максимальная скорость передачи, Мбит/с Синфазное напряжение на выходе, В Напряжение в линии под нагрузкой, В Импеданс нагрузки, Ом Ток утечки в «третьем» состоянии, мкА Допустимый диапазон сигналов на входе приемника, В Чувствительность приемника, В Входное сопротивление приемника, кОм * Скорость передачи 30 Мбит/с обеспечиваем является стандартной. Однофазный 1 15 0,460 ±25 ±5... ±15 3000...7000 ±15 ±3 3...7 гея современной Дифферен 10 1200 10 —0,25...±6 ±2 100 ±10 ±0,2 4 элементной б циальный 32 1200 30* —7...±12 ±1,5 54 ±100 —7...±12 ±0,2 > 12 »азой, но не 2.4. Интерфейс «токовая петля» Интерфейс «токовая петля» используется для передачи информации с 1950-х годов. Первоначально в нем использовался ток 60 мА [101]; позже, с 1962 г., получил распространение интерфейс с током 20 мА, преимущественно в телетайпных аппаратах. В 1980-х годах начала широко применяться «токовая
Промышленные сети и интерфейсы 71 Рис. 2.10. Принцип действия «токовой петли* петля» 4...20 мА в разнообразном технологическом оборудовании, датчиках и исполнительных устройствах средств автоматики. Популярность «токовой пет- ли» начала падать после появления стандарта на интерфейс RS-485 (1983 г.), и в настоящее время в новом оборудовании она практически не применяется. В передатчике «токовой петли» используется не источник напряжения, как в интерфейсе RS-485, а источник тока. По определению, ток, вытекающий из источника тока, не зависит от параметров нагрузки. Поэтому в «токовой пет- ле» протекает ток, не зависящий от сопротивления кабеля Якаб, сопротивления нагрузки Ян и э.д.с. индуктивной помехи ЕИНД (рис. 2.10), а также от напря- жения питания источника тока Еп (рис. 2.11). Ток в петле может измениться только вследствие утечек кабеля, которые очень малы. Это свойство токовой петли является основным и определяет все варианты ее применения. Емкостная наводка Еемк, э.д.с. которой приложена не после- довательно с источником тока, а параллельно ему, не может быть ослаблена в «токовой петле», и для ее подавления следует использовать экранирование (подробнее о борьбе с помехами см. главу 3). В качестве линии передачи обычно используется экранированная витая па- ра, которая совместно с дифференциальным приемником позволяет ослабить индуктивную и синфазную помеху. Рис. 2.11. Два варианта построения аналоговой «токовой петли»: со встроенным в передатчик (а) и выносным (б) источником питания
72 Глава 2 Рис. 2.12. Зависимость максимальной скорости передачи «токовой петли* от длины неэкранированной витой пары 22 AWG при токе петли 20 мА На приемном конце ток петли преобразуется в напряжение с помощью ка- либрованного сопротивления Ян. При токе 20 мА для получения стандарт- ного напряжения 2,5, 5 или 10 В используют резистор сопротивлением 125, 250 или 500 Ом соответственно. Основным недостатком «токовой петли» является ее принципиально низкое быстродействие, которое ограничивается скоростью заряда емкости кабеля Скаб от источника тока. Например, при типовой погонной емкости кабеля 75 пФ/м и длине 1 км емкость кабеля составит 75 нФ. Для заряда такой емкости от источ- ника тока 20 мА до напряжения 5 В необходимо время 19 мкс, что соответствует скорости передачи около 9 кбит/с. На рис. 2.12 приведены зависимости макси- мальной скорости передачи от длины кабеля при разных уровнях искажений (дрожания), который оценивался так же, как и для интерфейса RS-485 [102]. Вторым недостатком «токовой петли», ограничивающим ее практическое применение, является отсутствие стандарта на конструктивное исполнение разъемов и электрические параметры, хотя фактически стали общеприняты- ми диапазоны токовых сигналов 0...20 и 4...20 мА; гораздо реже используют 0...60 мА. В перспективных разработках рекомендуется использовать только диапазон 4...20 мА, как обеспечивающий возможность диагностики обрыва ли- нии (см. главу 8). Интерфейс «токовая петля» распространен в двух версиях: цифровой и аналоговой. Аналоговая «токовая петля». Аналоговая версия «токовой петли» ис- пользуется, как правило, для передачи сигналов от разнообразных датчиков к контроллеру или от контроллера к исполнительным устройствам. Приме- нение «токовой петли» в данном случае дает два преимущества. Во-первых, приведение диапазона изменения измеряемой величины к стандартному диа- пазону обеспечивает взаимозаменяемость компонентов. Во-вторых, становится возможным передать сигнал на большое расстояние с высокой точностью (по-
Промышленные сети и интерфейсы 73 грешность «токовой петли» может быть снижена до ±0,05 %). Кроме того, стандарт «токовая петля» поддерживается подавляющим большинством про- изводителей средств промышленной автоматизации. В варианте «4...20 мА» в качестве начала отсчета принят ток 4 мА. Это позволяет производить диагностику целостности кабеля (кабель имеет разрыв, если ток равен нулю) в отличие от варианта «0...20 мА», где величина 0 мА может означать не только нулевую величину сигнала, но и обрыв кабеля. Вто- рым преимуществом уровня отсчета 4 мА является возможность подачи энер- гии датчику для его питания. На рис. 2.11 показаны два варианта построения аналоговой «токовой пет- ли». В варианте а используется встроенный незаземленный источник питания Еп, в варианте б источник питания — внешний. Встроенный источник удобен при монтаже системы, а внешний удобен тем, что его можно выбрать с любыми параметрами в зависимости от поставленной задачи. Принцип действия обоих вариантов состоит в том, что при бесконечно боль- шом коэффициенте усиления операционного усилителя (ОУ) напряжение меж- ду его входами равно нулю и поэтому ток через резистор Rq равен Кх/Яо, а поскольку у идеального ОУ ток входов равен нулю, ток через резистор строго равен току в петле (7 = Vbx/Rq) и, как следует из этой формулы, не зави- сит от сопротивления нагрузки. Поэтому напряжение на выходе приемника определяется как IRH = (Ян/ЯоЖх- Достоинством схемы с операционным усилителем является возможность калибровки передатчика без подключенного к нему кабеля и приемника, по- скольку вносимая ими погрешность пренебрежимо мала. Напряжение источника Еп выбирается такой, чтобы обеспечить работу транзистора передатчика в активном (ненасыщенном) режиме и скомпенсиро- вать падение напряжения на проводах кабеля и сопротивлениях Rq, Rn. Для этого выбирают Е > I(Rq + йкаб + Ян) + К ас, где УНас — напряжение насыщения транзистора (1...2 В). Например, при типовых значениях Rq = Rn = 500 Ом и сопротивлении кабеля 100 Ом (при длине 1 км) получим напряжение источника питания петли 22 В; ближайшее стандартное значение равно 24 В. В схемах на рис. 2.11 используется гальваническая развязка между вхо- дом передатчика и передающим каскадом. Она необходима для исключения паразитных связей между передатчиком и приемником (подробнее см. главу 3). Примером передатчика для аналоговой токовой петли является модуль NL-4AO (www.RealLab.ru), имеющий четыре канала вывода аналоговых сиг- налов, гальваническую развязку и предназначенный для вывода из компью- тера и передачи на исполнительные устройства тока в стандарте 0...20 или 4...20 мА. Структура модуля приведена в главе 6. Модуль содержит микро- контроллер, который осуществляет связь с компьютером по интерфейсу RS- 485, исполняет команды компьютера и выполняет компенсацию погрешностей преобразования с помощью коэффициентов, полученных при калибровке ис- точников тока и хранимых в запоминающем устройстве ЭППЗУ (электриче- ски программируемое постоянное запоминающее устройство). Преобразование цифровых данных в аналоговый сигнал выполняется с помощью 4-канального цифро-аналогового преобразователя (ЦАП). Для расширения функциональных
74 Глава 2 Рис. 2.13. Принцип реализации цифровой «токовой петли» Приемник возможностей модуль имеет также выходы напряжения (которые не имеют от- ношения к рассматриваемой теме). Цифровая «токовая петля» используется обычно в версии «0...20 мА», поскольку она реализуется гораздо проще, чем в версии «4...20 мА» (рис. 2.13). Поскольку при цифровой передаче данных точность передачи логических уров- ней роли не играет, можно использовать источник тока с не очень большим внутренним сопротивлением и низкой точностью. Так, на рис. 2.13 при стан- дартном значении напряжения питания Еп = 24 В и падении напряжения на входе приемника 0,8 В для получения тока 20 мА сопротивление должно быть равно примерно 1,2 кОм. Сопротивление кабеля сечением 0,35 мм2 и длиной 1 км равно 97 Ом, что составит всего 10 % общего сопротивления петли, и им можно пренебречь. Падение напряжения на диоде оптрона составляет 3,3 % напряжения источника питания, и его влиянием на ток в петле также можно пренебречь. Поэтому с достаточной для прак- тики точностью можно считать, что передатчик в этой схеме является источником тока. Как аналоговая, так и цифровая «токовая петля» могут использоваться для передачи ин- формации нескольким приемникам одновремен- но (рис. 2.14). Вследствие низкой скорости пе- редачи информации по «токовой петле» согла- сование длинной линии с передатчиком и при- «Токовая петля» нашла свое «второе рож- дение» в протоколе HART. HART-протокол HART-протокол (Highway Addressable Remote Transducer — магистраль- ный адресуемый удаленный преобразователь) [103] является открытым стан- дартом на метод сетевого обмена, который включает в себя не только прото- кол взаимодействия устройств, но и требования к аппаратуре канала связи, поэтому устоявшийся термин «протокол», означающий алгоритм взаимодей- ствия устройств, применен здесь не совсем корректно. Стандарт HART был разработан в 1980 г. фирмой Rosemount Inc., которая позже сделала его откры- тым. В настоящее время стандарт поддерживается международной организа- цией HART Communication Foundation (HCF), насчитывающей 190 членов (на Рис. 2.14. Токовая петля мо- жет быть использована для пе- редачи информации нескольким приемникам емником не требуется. 2.5.
Промышленные сети и интерфейсы 75 декабрь 2006 г.). HART находит применение для связи контроллера с датчи- ками и измерительными преобразователями, электромагнитными клапанами, локальными контроллерами, для связи с искробезопасным оборудованием. Несмотря на свое низкое быстродействие (1200 бит/с) и ненадежный ана- логовый способ передачи данных, а также появление более совершенных се- тевых технологий, устройства с HART-протоколом разрабатываются до сих пор, и объем этого сегмента рынка продолжает расти. Однако применение HART в России довольно ограничено, поскольку внедрение датчиков с HART- протоколом требует одновременного применения HART-совместимых контрол- леров и специализированного программного обеспечения. Типовой областью применение HART являются достаточно дорогие интеллектуальные устройства (электромагнитные клапаны, датчики потока жидкости, радарные уровнемеры ит. п), а также взрывобезопасное оборудование, где низкая мощность НART- сигнала позволяет легко удовлетворить требованиям стандартов на искробез- опасные электрические цепи. Стандарт HART включает в себя 1-й, 2-й и 7-й уровни модели OSI (табл. 2.4). Полное описание стандарта можно купить в организации HCF (www.hartcomm.org). Таблица 2.4 Модель OSI HART-протокола Номер уровня Название уровня HART 7 Прикладной HART-команды, ответы, типы данных 6 Уровень представления Нет 5 Сеансовый Нет 4 Транспортный Нет 3 Сетевой Нет 2 Канальный (передачи данных) Ведущий/ведомый, контрольная сумма, кон- троль четности, организация потока битов в со- общение, контроль приема сообщений 1 Физический Наложение цифрового ЧМ сигнала на аналого- вый 4...20 мА; медная витая пара Принципы построения. При создании HART-протокола в 1980 г. пре- следовалась цель сделать его совместимым с широко распространенным в то время стандартом «токовая петля», но добавить возможности, необходимые для управления интеллектуальными устройствами. Поэтому аналоговая «то- ковая петля» 4...20 мА была модернизирована таким образом, что получила возможность полудуплексного цифрового обмена данными. Для этого аналого- вый сигнал суммируется с цифровым сигналом (рис. 2.15) и полученная таким образом сумма передается с помощью источника тока 4...20 мА по линии свя- зи. Благодаря сильному различию диапазонов частот аналогового (0...10 Гц) и цифрового (1200 и 2200 Гц) сигналов они легко могут быть разделены фильтра- ми низких и высоких частот в приемом устройстве. При передаче цифрового двоичного сигнала логическая единица кодируется синусоидальным сигналом с
76 Глава 2 Рис. 2.15. Суммирование аналогового и цифрового сигнала в НART-протоколе частотой 1200 Гц, ноль — 2200 Гц. При смене частоты фаза колебаний остается непрерывной. Такой способ формирования сигнала называется частотной ма- нипуляцией с непрерывной фазой. Выбор частот соответствует американскому стандарту BELL 202 на телефонные каналы связи. Принцип взаимодействия устройств на физическом уровне модели OSI по- казан на рис. 2.16. Сопротивление Rn выбирается так же, как и в токовой петле (стандартом предусмотрена величина 230... 1100 Ом), и служит для преобразо- вания тока 4...20 мА в напряжение. Акт взаимодействия устройств инициирует контроллер. Цифровой сигнал от источника напряжения Е~ через конденса- тор подается в линию передачи и принимается на стороне датчика в форме напряжения в диапазоне от 400 до 800 мВ. Приемник датчика воспринимает HART-сигналы в диапазоне от 120 мВ до 2 В, сигналы от 0 до 80 мВ при- емником игнорируются. Получив запрос, датчик формирует ответ, который в общем случае может содержать как аналоговый сигнал A(t)2, так и цифро- Рис. 2.16. Принцип работы HART-протокола на физическом уровне
Промышленные сети и интерфейсы 77 вой D(t)2. Аналоговый сигнал обычно содержит информацию об измеренной величине, а цифровой — о единицах и диапазоне измерения, о выходе вели- чины за границы динамического диапазона, о типе датчика, имени изгото- вителя и т.п.). Аналоговый и цифровой сигналы суммируются и подаются в линию связи в форме тока (рис. 2.15, 2.16). На стороне контроллера ток преобразуется в напряжение резистором RH. Полученный сигнал подается на фильтр нижних частот с частотой среза 10 Гц и на фильтр верхних частот с частотой среза 400...800 Гц. На выходе фильтров выделяются цифровой сигнал D(t)2 и аналоговый A(t)2. При использовании фильтров второго по- рядка погрешность, вносимая цифровым сигналом в аналоговый, составляет всего 0,01 % от 20 мА. Как и в обычной «токовой петле», источник тока в HART-устройстве может иметь внешний или встроенный источник питания. В частном случае HART-протокол может использовать только цифровой сигнал, без аналогового, или только аналоговый сигнал 4...20 мА, без циф- рового. В случае, когда ведомым устройством является не датчик, а исполнитель- ное устройство (например электромагнитный клапан), аналоговый сигнал в форме тока должен передаваться от ведущего устройства к ведомому и источ- ник тока должен находиться в ведущем устройстве (ситуация, обратная пока- занной на рис. 2.16). Поскольку НART-устройства содержат микроконтроллер и МОП-ключи, необходимое для этого переконфигурирование передатчика и приемника выполняется путем подачи соответствующей команды. HART-устройства всегда содержат микроконтроллер (рис. 2.17) с UART и ППЗУ (перепрограммируемое постоянное запоминающее устройство). Циф- ровой сигнал, сформированный микроконтроллером, преобразуется в UART в непрерывную последовательность бит, состоящую из двоичных слов длиной 11 бит каждое (рис. 2.18,а). Каждое слово начинается со стартового бита (логи- ческий ноль), за которым следует байт передаваемых данных, затем бит парите- та и стоповый бит. Сформированная таким образом последовательность нулей и единиц передается в модем, выполняющий частотную манипуляцию (ЧМ). Полученный частотно-манипулированный сигнал передается в интерфейсный блок для формирования напряжения, подаваемого в линию связи (напомним, что от контроллера к датчику передается сигнал в форме напряжения, а об- ратно — в форме тока). На стороне датчика сигнал принимается из линии интерфейсным блоком, преобразуется ЧМ-модемом в последовательность битов, из которой контрол- лер выделяет байты данных и биты паритета. Микроконтроллер проверяет соответствие бита паритета переданному байту для каждого переданного сло- ва, пока не обнаружит признак конца сообщения. Получив команду, контроллер приступает к ее выполнению. Если пришла команда запроса измеренных данных, контроллер датчика принимает через АЦП сигнал датчика, преобразует его в аналоговую форму с помощью ЦАП, суммирует со служебной информацией на выходе ЧМ модема и передает в ли- нию связи в форме тока 4...20 мА (рис. 2.17).
78 Глава 2 Рис. 2.17. Прохождение аналоговых и цифровых сигналов через устройства с HART-протоколом Стартовый Бит Столовый а) РА SD AD CD ВС ST DT (0...25 байт) СНК б) Рис. 2.18. Структура слова (а) и сообщения (б) в HART-протоколе Сеть на основе HART-протокола. Описанный выше обмен информа- цией между двумя устройствами (типа «точка-точка») является наиболее ти- пичным применением HART-протокола. Однако HART-устройства могут быть объединены в сеть. Для этого используют только цифровую часть HART- протокола, без аналоговой, а информация передается в форме напряжения, что позволяет соединять HART-устройства параллельно. Максимальное ко- личество устройств в сети может составлять 15, если не использовать HART- повторители (ретрансляторы, репитеры). HART-сеть может иметь произволь- ную топологию, поскольку при малых скоростях передачи (1200 бит/с) эффек- тов, характерных для длинных линий, не возникает. Этим же объясняются крайне низкие требования к полосе пропускания кабеля (2,5 кГц по уровню —3 дБ). Такой полосе соответствует постоянная времени линии передачи 65 мкс, т.е. при сопротивлении линии 250 Ом ее емкость может достигать 0,26 мкФ, что соответствует длине кабеля около 2...3 км (табл. 2.5). В сети могут быть два ведущих устройства, одним из которых является кон- троллер, вторым — ручной коммуникатор, используемый для считывания по- казаний и установки параметров HART-устройств. Коммуникатор может быть
Промышленные сети и интерфейсы 79 подключен в любом месте сети, но обычно доступными являются только клеммы датчиков или ком- мутационные клеммы в монтаж- ном шкафу. Сеть допускает горячую заме- ну или добавление новых уст- ройств (т.е. без отключения пита- ния). В случае сбоя, например Таблица 2.5 Зависимость длины кабеля от погонной емкости Число устройств в сети Длина кабеля, м, при погонной емкости, пФ/м 65 95 160 225 1 2800 2000 1300 1000 5 2500 1800 1150 900 10 2100 1600 1000 750 15 1800 1400 900 700 при случайном коротком замыкании, сеть повторяет невыполненные опера- ции обмена. В HART-сети только один узел может посылать сигнал, в это время осталь- ные «слушают» линию. Инициирует процедуру обмена ведущее устройство (контроллер или ручной коммуникатор). Ведомые получают команду и по- сылают ответ на нее. Каждое ведомое устройство имеет персональный се- тевой адрес, который включается в сообщение ведущего устройства. Адрес имеет длину 4 бита (короткий адрес) или 38 бит (длинный адрес). Имеется также второй способ адресации — с помощью тегов (идентификаторов, назна- чаемых пользователем). Каждая команда или ответ на нее называются сообщением и имеют дли- ну от 10... 12 до 20...30 байт. Сообщение начинается с преамбулы и заканчи- вается контрольной суммой (см. рис. 2.18). Элементы сообщения (слова) пе- речислены в табл. 2.6. Таблица 2.6 Значения слов в HART-сообщении Обозначение Название Длина, байт Назначение РА Преамбула 5...20 Синхронизация и обнаружение несущей SD Признак старта 1 Указывает формат сообщения и источ- ник сообщения AD Адрес 1 байт или 38 бит Указывает адреса обоих устройств CD Команда 1 Сообщает подчиненному, что нужно сделать ВС Число байт в DT 1 Показывает число байт между ВС и СНК ST Статус 0, если ведущий; 2, если ведомый Сообщает ошибки обмена данными, со- стояние устройства DT Данные 0...253 Аргумент, соответствующий команде CD СНК Контрольная сумма 1 Обнаружение ошибок Преамбула представляет собой последовательность единиц и предназначе- на для синхронизации приемника с передатчиком. Длина преамбулы зависит от требований ведомого устройства. Когда ведущее устройство выполняет об- мен с ведомым первый раз, оно посылает максимально длинную преамбулу,
80 Глава 2 чтобы обеспечить надежную синхронизацию. В ответе ведомого содержится требование к длине преамбулы. Эта длина сохраняется в памяти ведущего устройства и используется в последующих сообщениях. Поскольку различные ведомые могут иметь различные требования к преамбулам, ведущий формиру- ет в своей памяти таблицу преамбул. В настоящее время все новые устройства имеют преамбулу длиной 5 байт. Ведомое устройство может быть защищено от записи. Обычно это выпол- няется с помощью переключателя на плате. Контрольная сумма используется для обнаружения ошибок в данных. Ес- ли ошибка обнаружена, обычно выполняется повторный обмен сообщениями. Ведомое устройство может иметь режим ускоренной передачи (burst mode), при котором оно периодически посылает ответ на ранее принятую команду, хо- тя ведущий не посылает ее повторно. Это сделано для увеличения частоты получения значений измеряемой величины от датчика (до 3...4 раз в секун- ду [103]) в случае необходимости. Только одно устройство может находится в таком режиме (его еще называют монопольным), поскольку линия передачи оказывается занята. После выключения и повторного включения питания ве- домое устройство остается в монопольном режиме и перевести его в обычный режим можно только командами с номерами 107, 108, 109, которые посылают в паузах между периодическими ответами ведомого устройства. Сеть на основе HART-протокола может подключаться к другим сетям (Modbus, Profibus, Ethernet) с помощью соответствующих шлюзов. В сети так- же широко используются мультиплексоры, позволяющие подключить к одно- му контроллеру несколько HART-сетей и одновременно выполнить роль шлю- за. Для подключения сети или HART-устройства к компьютеру необходим специальный HART-интерфейс, который выпускается рядом производителей. Программный доступ SCADA к HART-устройствам выполняется с помощью HART ОРС-сервера. Адресация. Каждое HART-устройство должно иметь уникальный адрес. Посылаемые ведущим устройством адреса декодируются одновременно всеми устройствами, находящимися в сети. Однако отвечает только то устройство, чей адрес совпадает с принятым. Метод адресации в протоколе HART содержит несколько потенциальных проблем. Стандартом предусмотрено два вида адресов: короткий (длиной 4 би- та) и длинный (длиной 38 битов). В настоящее время используется комбинация короткого и длинного адресов. Длинный адрес устанавливается изготовителем HART-устройства и не может быть изменен пользователем. Когда новое устройство подключено к сети, возникает проблема, как узнать его длинный адрес, поскольку для того чтобы считать из памяти HART- устройства его адрес, к нему надо сначала обратиться, а обращение уже тре- бует знания адреса. Перебрать все адреса невозможно, так как их очень много (238). Проблема решается применением команды с номером 0, которая ис- пользует короткий адрес для обращения к устройству и позволяет считать из него длинный адрес. Обычно перед монтажом сети сначала считывают длинные адреса всех устройств и составляют их базу данных, и только после этого строят сеть.
Промышленные сети и интерфейсы 81 ID изготовителя Тип устройства Серийный №, MSB Серийный №, 2SB Серийный №, LSB Рис. 2.19. Структура уникального идентификатора HART-устройства Существует второй способ узнать длинный адрес устройства — с помо- щью команды с номером 11, которая обращается к устройствам не по адре- су, а по имени тега. Она применяется, если в сети более 15 устройств (это возможно, если используются повторители) или если устройствам не присво- ены короткие адреса. Длинный адрес формируется из 40-битного уникального идентификатора HART-устройства (рис. 2.19) путем отбрасывания двух старших битов. Поэтому адрес получается 38-битным. Уникальный идентификатор HART-устройства состоит из идентификатора изготовителя (ID изготовителя), кода типа HART- устройства и серийного номера, который занимает 3 байта. Следующая проблема HART-протокола связана с тем, что идентифика- тор (ID) изготовителя (рис. 2.19) имеет длину всего 8 бит, т.е. с его помощью можно однозначно идентифицировать только 256 изготовителей, что слишком мало. Поэтому для идентификации изготовителя используются также часть поля серийного номера. Еще одна проблема адресации связана с тем, что для получения длинно- го адреса используются только 6 бит из идентификатора изготовителя. Это означает, что четыре устройства с разными уникальными идентификаторами могут иметь один и тот же длинный адрес. Для устранения этой проблемы схему адресации выпускаемых устройств каждый изготовитель должен согла- совывать с организацией HCF. Короткий адрес имеет еще одно назначение: с его помощью отключают возможность использования в HART-сообщении аналогового токового сигнала, что необходимо для объединения нескольких устройств в сеть. Перевод HART- устройства в этот режим называется парковкой (parking) и выполняется путем установления значения короткого адреса равным 1...15. Команды HART. HART-команды бывают трех типов: универсальные, общепринятые и специфические. Универсальные и общепринятые команды устанавливаются стандартом на HART-протокол и выполняют чтение и запись серийного номера устройства, тега, дескриптора, даты, рабочей области па- мяти, номера версии устройства и т.п. Эти параметры изменяются редко и поэтому хранятся в ЭППЗУ. Специфические команды создаются изготовителем конкретного устройства и могут иметь идентификационные номера от 128 до 253. Поэтому одни и те же функции у разных производителей могут иметь различные номера. Команда с номером 255 не используется, чтобы ее можно было отличить от преамбу- лы (которая состоит из последовательности логических единиц). Команда с номером 254 зарезервирована. Приведем примеры универсальных команд: «Считать имя изготовителя и тип устройства»,
82 Глава 2 «Считать переменную и единицу измерения», «Считать переменную как величину тока и в процентах от диапазона», «Считать или записать 8-символьный тег, 16-символьный дескриптор и дату», «Считать или записать 32-символьное сообщение», «Считать диапазон значений переменной и единицу измерения», «Считать или записать серийный номер устройства», «Записать тег, описатель и дату», «Записать адрес устройства». Примеры распространенных команд: «Считать четыре динамические переменные», «Записать постоянную демпфирования», «Записать диапазон измерения», «Калибровать», «Задать фиксированное значение выходного тока», «Выполнить самодиагностику», «Выполнить сброс», «Настроить ноль», «Записать единицы измерения», «Настроить ноль и коэффициент передачи АЦП», «Записать функцию преобразования», «Записать серийный номер сенсора». Примеры специфических команд: «Записать уставку ПИД-регулятора», «Включить ПИД-регулятор», «Считать или записать калибровочные коэффициенты», «Подстроить сенсор», «Установить позицию клапана». Язык описания устройств DDL. HART-устройство может иметь уни- кальный набор команд, устанавливаемых изготовителем, или специфическую последовательность команд, необходимых, например, для выполнения проце- дуры калибровки. Ведущее устройство должно знать эти команды. Один из возможных вариантов передачи описания команд от изготовителя пользовате- лю — с помощью текстового описания в руководстве по эксплуатации. Другим путем является описание устройства с помощью специального языка описания устройств — Device Description Language (DDL), который распространяется и поддерживается организацией HCF. Описание устройства на языке DDL представляет собой текстовый файл, который может быть прочитан компилятором языка и преобразован в двоич- ный формат, воспринимаемый ведущим HART-устройством. Описание устрой- ства может быть представлено компилятором в форме, удобной для систем- ного интегратора. Применение DDL устраняет необходимость написания кода для общения с HART-устройствами.
Промышленные сети и интерфейсы 83 Язык DDL поддерживается не всеми производителями и пока не получил достаточно широкого распространения. Разновидности HART. Традиционный HART-протокол используется совместно с токовой петлей 4...20 мА. Однако в некоторых приложениях, где отсутствует токовая петля, можно использовать только программный протокол «HART-протокола» совместно с другими методами реализации физического ка- нала связи. Например, можно удалить все аналоговые блоки, показанные на рис. 2.17, и подключить к UART преобразователь интерфейса RS-485. При этом свойства канала связи на 1-м уровне модели OSI будут соответствовать интерфейсу RS-485, а протокол — стандарту HART. Существует также возможность передачи НART-сигнала по выделенной те- лефонной линии, что связано с соответствием метода частотной модуляции в протоколе HART американскому стандарту для телефонных линий BELL 202. Для этого используется передача сигнала только в форме напряжения при от- ключенном передатчике токовой петли 4...20 мА. Аналогично, HART-протокол (как и другие протоколы) может исполь- зоваться для связи через оптоволокно (Fiber Optic HART) или радиоканал (Wireless HART), см. www.thehartbook.com. HART 6.0. В настоящее время готовится очередная, 6-я версия HART- протокола. В ее основе лежит когерентная фазовая модуляция с 8 точками (фазами). Это позволит передавать данные со скоростью 9600 бит/с. В то же время 6-я версия будет обратно совместима с версией 5.0, в том числе с токовой петлей 4...20 мА. 2.6. CAN CAN (Controller Area Network — область, охваченная сетью контролле- ров) представляет собой комплекс стандартов для построения распределенных промышленных сетей, который использует последовательную передачу дан- ных в реальном времени с очень высокой степенью надежности и защищен- ности. Центральное место в CAN занимает протокол канального уровня мо- дели OSI. Первоначально CAN был разработав для автомобильной промыш- ленности, но в настоящее время быстро внедряется в область промышленной автоматизации. Это хорошо продуманный, современный и многообещающий сетевой протокол. Начало развития CAN было положено компанией Bosch в 1983 г., первые микросхемы CAN-контроллеров были выпущены фирмами Intel и Philips в 1987 г., в настоящее время контроллеры и трансиверы CAN выпус- каются многими фирмами, в том числе Analog Devices Inc., Atmel Corp. Cast, Dallas Semiconductor, Freescale, Infineon, Inicore Inc., Intel, Linear Technology, Maxim Integrated Products, Melexis, Microchip, National Semiconductor, NXP, OKI, Renesas Technology Corp., STMicroelectronics, Yamar Electronics, Texas Instruments. В России интерес к CAN за последние годы сильно возрос, однако контрол- лерного оборудования для CAN в России крайне мало, в десятки или сотни раз меньше, чем для Modbus или Profibus. Среди протоколов прикладного
84 Глава 2 уровня для работы с CAN наибольшее распространение в России получили CANopen и DeviceNet. В настоящее время CAN поддерживается 11 стандартами ISO, в том чис- ле рассмотренными в [111-116]. CAN охватывает два уровня модели OSI — физический и канальный (табл. 2.7). Стандарт не предусматривает никакого протокола прикладного (7-го) уровня модели OSI. Поэтому для его воплощения в жизнь различные фирмы разработали несколько таких протоколов: CANopen (организации Ci А), SDS (фирмы Honeywell Micro Switch Division), CAN Kingdom (фирмы Kvaser), DeviceNet (фирмы Allen-Bradley, ставший Европейским стандартом в 2002 г.) и ряд других [118-120]. Таблица 2.7 CAN в соответствии с моделью OSI № Название уровня Подуровни CAN Примечание 7 Прикладной Стайдартом CAN не установлен. Определен стандар- тами CAL, CANopen, DeviceNet, SDS, CAN Kingdom и др. 6 Представления Нет Нет 5 Сеансовый Нет Нет 4 Транспортный Нет Нет 3 Сетевой Нет Нет 2 Канальный (передачи данных) LLC МАС Подтверждение фильтрации, уведомление о перегруз- ке, управление восстановлением данных Формирование пакетов данных, кодирование, управ- ление доступом, обнаружение ошибок, сигнализация об ошибках, подтверждение приема, преобразова- ние из последовательной формы в параллельную и обратно 1 Физический Физический Обеспечение надежной передачи на уровне бай- тов (кодирование, контрольная сумма, временные диаграммы, синхронизация). Требования к линии передачи Примечание: MAC (Medium Access Control) — управление доступом к каналу; LLC (Logical Link Control) — управление логическими связями. CAN характеризуется следующими основными свойствами: • каждому сообщению (а не устройству) устанавливается свой приоритет; • гарантированная величина паузы между двумя актами обмена; • гибкость конфигурирования и возможность модернизации системы; • широковещательный прием сообщений с синхронизацией времени; • непротиворечивость данных на уровне всей системы; • допустимость нескольких ведущих устройств в сети (многомастерная сеть); • способность к обнаружению ошибок и сигнализации об их наличии; • автоматический повтор передачи сообщений, доставленных с ошибкой, сра- зу, как только сеть станет свободной;
Промышленные сети и интерфейсы 85 • автоматическое различение сбоев и отказов с возможностью автоматиче- ского отключения отказавших модулей. К недостаткам можно отнести сравнительно высокую стоимость CAN- устройств, отсутствие единого протокола прикладного уровня, а также чрез- мерную сложность и запутанность протоколов канального и прикладного уров- ня, изложенных в стандартах организации CAN in Automation (CiA) [www.can- cia.org]. 2.6.1. Физический уровень Физический уровень [121-122] модели OSI обеспечивает надежную переда- чу битов, игнорируя содержание передаваемой информации. Основными поня- тиями физического уровня являются линии передачи (в большинстве случаев это витая пара, хотя допускается использовать плоский кабель или один про- вод и «корпусную землю», оптоволокно, радиоканал), временные диаграммы, система синхронизации, формат данных, обеспечение достоверности передачи (контрольная сумма, методы кодирования, обнаружение и восстановление оши- бок). Характеристики передатчика и приемника стандартом не устанавлива- ются, поскольку они могут быть выбраны для каждого конкретного случая исходя из требований применения. Электрические соединения в сети CAN. Кабель витой пары в сети CAN должен иметь общий (третий) провод; на обоих концах витой пары долж- ны быть согласующие резисторы, сопротивление которых равно волновому со- противлению кабеля. Максимальная длина кабеля составляет 1 км. Для уве- личения длины, количества узлов или гальванической развязки могут быть использованы повторители интерфейса, сетевые мосты и шлюзы. Витая пара может быть в экране или без, в зависимости от электромаг- нитной обстановки. Топология сети должна быть шинной, максимальная дли- на отвода от шины при скорости передачи 1 Мбит/с не должна превышать 30 см. Длину отвода можно рассчитать по формуле [122] t = 7ф/(50 нс/м), где 7ф — длительность переднего фронта передатчика. Основные требования к линии передачи и ее характеристикам близки к RS-485, однако в передатчиках CAN есть режим управления длительностью фронтов импульсов. Управле- ние выполняется путем заряда емкостей затворов выходных транзисторов от источников тока, при этом величина тока задается внешним резистором. Уве- личение длительности фронта позволяет снизить требования к согласованию линии на низких частотах, увеличить длину отводов и ослабить излучение электромагнитных помех. Выводы «земли» всех передатчиков сети должны быть соединены (если интерфейсы гальванически не изолированы). При этом разность потенциа- лов между выводами заземлений не должна превышать 2 В. Гальваническая изоляция рекомендуется при длине линии более 200 м, но не является обя- зательным требованием стандарта. Для электрического соединения устройств с CAN-интерфейсом стандарт предусматривает два варианта. Первый вариант состоит в применении Т-об- разных разветвителей, которые состоят из трех 9-штырьковых разъемов D-Sub,
86 Глава 2 расположенных в одном корпусе, одноименные контакты которых соединены между собой. Разветвители имеют один разъем со штырьками и два — с гнездами. Второй вариант требует наличия в каждом CAN-устройстве двух разъемов. Для включения устройства в сеть кабель разрезают и на его концах устанав- ливают ответные части разъемов. Устройство включается буквально в разрыв линии передачи. Такой подход позволяет наращивать количество устройств и изменять топологию сети путем добавления в разрыв кабеля новых устройств и кабеля с разъемами на концах. Один из разъемов должен быть со штырь- ками, второй — с гнездами. Подключение устройств к шине без разъемов не допускается. Согласующий резистор должен располагаться внутри разъема, который подключается к концу кабеля. Для присоединения модулей к CAN- шине должен использоваться 9-штырьковый разъем типа D-Sub. На модуле устанавливается разъем с гнездами, на соединяющем кабеле — со штырьками. Цоколевка разъемов показана в табл. 2.8. Таблица 2.8 Цоколевка разъема D-Sub для CAN Контакт Сигнал Примечание 1 - Зарезервирован 2 CAN.L Сигнал линии 3 CAN.GND «Земля» 4 - Зарезервирован 5 (CANJSHLD) Экран кабеля (не обязательно) 6 (GND) «Земля» (не обязательно) 7 CAN-H Сигнал линии 8 - Зарезервирован 9 (CAN.V+) Внешнее питание (не обязательно, для питания передатчи- ков с гальванической изоляцией) Примечание. В каждом модуле контакты 3 и 6 должны быть соединены. Применение разъемов со штырьками или гнездами определяется следу- ющим правилом: при «горячей» замене модулей питание должно оставаться только на разъемах с гнездами; это позволяет избежать случайного корот- кого замыкания. Отметим, что в основанном на CAN-стандарте CANopen предусмотрено гораздо большее разнообразие вариантов разъемов, в том числе для плоско- го кабеля, RJ-10, RJ-45, разъемный винтовой клеммник, и еще около десяти вариантов специальной конструкции [127]. Допускается применение и дру- гих разъемов. Стандарт устанавливает следующие скорости обмена: 1000, 800, 500, 250, 125, 50 и 20 кбит/с. CAN-модули могут поддерживать не все скорости, но же- лательно, чтобы их количество было наибольшим. Трансивер CAN. Типовая структура трансивера CAN (на примере мик- росхемы LT1795 фирмы Linear Technology) приведена на рис. 2.20. При подаче
Промышленные сети и интерфейсы 87 120 Ом Рис. 2.20. Структурная схема трансивера CAN уровня логического нуля на вход (вход является инвертирующим) оба тран- зистора выходного каскада передатчика открываются и через нагрузку (два резистора по 120 Ом) течет ток, создающий в линии состояние, соответству- ющее логической единице. При этом потенциал вывода CAN-H всегда будет выше, чем вывода CAN-L (рис. 2.21). Значения потенциалов, предусмотренные стандартом, приведены в табл. 2.9. При логической единице на входе пере- датчика его выход переходит в высокоомное состояние и дифференциальное напряжение на линии становится равным нулю. Отметим, что наличие терминальных резисторов в CAN необходимо не только для согласования линии (как в случае RS-485), но даже для созда- ния пути протекания тока. CAN-передатчик имеет очень важное свойство: если один из передатчиков устанавливает в сети логический ноль, а второй — логическую единицу, то это состояние не является аварийным, как в сети на основе интерфейса RS- 485, поскольку сквозного тока не возникает. В случае CAN-линия остается в состоянии логической единицы. Иначе говоря, логическая единица всегда доминирует над логическим нулем. Поэтому в стандарте CAN используется понятие «доминантное (доминирующее) состоянием линии для обозначения состояния линии с током и понятие «рецессивное состоянием как противопо- ложное доминантному (рис. 2.21). Рис. 2.21. Пояснение понятий рецессивного и доминантного состояния
88 Глава 2 Таблица 2.9 Значения потенциалов на линии передачи CAN Параметр Обозна- чение Мини- мальное Номи- нальное Макси- мальное Условие Для рецессивного состояния шины Потенциалы на выходе передат- CANJI 2,0 2,5 3 Без нагрузки чика, В CAN.L 2,0 2,5 3 Дифференциальное напряжение, В: на выходе передатчика Vdiff -0,5 0 0,05 Без нагрузки на входе приемника vdiff -1 - 0,5 Без нагрузки Для доминантного состояния шины Потенциалы на выходе передат- CANJI 2,75 3,5 4,5 С нагрузкой чика, В CANJ 0,5 1,5 2,25 Дифференциальное напряжение, В: на выходе передатчика Vdiff 1,5 2 3 С нагрузкой на входе приемника Viiff -0,9 - 5 С нагрузкой Это свойство CAN обеспечивает возможность получения доступа к линии, сравнивая посылаемые в линию логические уровни с тем уровнем, который фактически устанавливается в ней: если передатчик посылает в линию рецес- сивное состояние, а в ней при этом остается доминантное, значит линия занята. Доступ получает тот узел сети, который может предоставить ей доминантный уровень сигнала. Узлы с рецессивным уровнем покидают линию и ждут сле- дующего случая. Этот метод доступа справедлив и при использовании оптово- локонного канала или беспроводной сети - в этих случаях наличие света или электромагнитной волны всегда будет доминировать над их отсутствием. Вывод Kef на рис. 2.20 позволяет установить пороговое напряжение для входа TxD и уровень синфазного напряжения в линии, когда она находится в рецессивном состоянии. Обычно Kef = 2,5 В. Чтобы установить уровень син- фазного напряжения на линии, терминальные сопротивления делят на два по 60 Ом, соединяют их последовательно, а к точке соединения подключают вывод Kef- При симметричной форме импульсов CAN Ji и CAN Jj относительно рецес- сивного состояния уменьшается уровень излучаемых помех, поскольку прира- щения токов в каждом из проводов витой пары при переключении логических уровней (см. рис. 2.21) оказываются равными по величине, но обратными по знаку и поэтому компенсируют друг-друга. Вывод Rs имеет несколько назначений. Если на нем установлено состоя- ние логической единицы, трансивер переходит в спящий режим, при котором он потребляет очень малый ток от источника питания, а на выходе устанав- ливается высокоомное (рецессивное) состояние. «Разбудить» его можно сиг- налом, поступающим в приемник из линии передачи. Подключение этого вы- вода к «земле» через сопротивление позволяет установить нужную длитель- ность фронтов импульсов передатчика. Некоторые трансиверы имеют два ре- жима: резервный и спящий, которые отличаются уровнем потребляемого тока и способом перевода в активный режим. Режим пониженного энергопотребле- ния предусмотрен стандартом для экономии заряда аккумуляторных батарей в припаркованном автомобиле.
Промышленные сети и интерфейсы 89 Если сигнал TxD является доминирующим слишком долго (более 1 мс), генератор импульса таймаута (на рис. 2.20 обозначен прямоугольником с им- пульсом) временно отключает передатчик, поскольку в противном случае мо- дуль может быть навсегда блокирован средствами канального уровня как от- казавший. Стандартом предусмотрена возможность подключения к CAN-сети любо- го количества устройств, однако практически оно ограничивается нагрузочной способностью передатчиков (100...200) или задержкой в повторителях. В CAN-трансивере имеется генератор синхроимпульсов с частотой 16 МГц ±0,1 %. Ширина одного бита программно устанавливается величиной от 8 до 25 импульсов синхрогенератора, обычно 8 импульсов при скорости переда- чи 1 Мбит/с и 16 импульсов при 20 кбит/с. Синхронизация всех узлов сети про- исходит в течение первого такта синхронизации. Процедура обработки битов в приемнике обеспечивает программируемую задержку импульсов синхрониза- ции, необходимую для компенсации времени задержки прохождения сигнала в линии связи и сдвига фазы вследствие дрейфа частоты тактового генератора. Различают два типа синхронизации: жесткую синхронизацию с помощью стартового бита в начале сообщения и ресинхронизацию во время передачи со- общения. С помощью ресинхронизации можно подстроить интервал времени от начала синхронизации до момента, в который измеряется логический уро- вень принимаемого импульса данных. Интервал подстройки может быть из- менен на 1...4 такта. Для определения логического состояния шины уровни принимаемых сигна- лов измеряются на расстоянии 6 тактов синхрогенератора от переднего фронта импульса (бита) при скорости 1 Мбит/с и на расстоянии 14 тактов при скоро- сти 20 кбит/с [122] (для сравнения укажем, что в стандартных UART отсче- ты берутся посередине импульса). Количество отсчетов может быть 1 или 3 (устанавливается программно). CAN использует синхронную передачу битов. Это повышает пропускную способность канала связи, но требует усложнен- ного процесса синхронизации. Напряжение питания устройств в сети CAN должно составлять от 18 до 30 В. Выходное напряжение на 9-м контакте разъема (внешнее положительное напряжение питания) должно быть от ±7 до ±13 В при токе потребления мо- дуля не более 100 мА. Не допускается, чтобы модули были источниками тока. CAN использует NRZ кодирование (Non-Return-to-Zero — без возврата к ну- лю, потенциальное кодирование), при котором логическому нулю соответствует низкий уровень напряжения в линии (рецессивное состояние), логической еди- нице — высокий уровень (доминантное состояние). Такой способ имеет следую- щий недостаток: в случае, когда через линию передачи транспортируется байт, который содержит все единицы (пауз между ними при NRZ кодировании нет), приемник не может отличить этот байт от паузы. Для устранения этой пробле- мы используется так называемый бит-стаффинг. Он состоит в том, что после каждой последовательности из пяти одинаковых символов подряд вставляется противоположный им символ. Например, после пяти единиц подряд вставляет- ся логический ноль. Приемник, обнаружив пять одинаковых символов подряд, удаляет следующий за ними символ, который является битом стаффинга.
90 Глава 2 Другие свойства CAN-трансиверов, которые предусмотрены в стандарте: • защита от короткого замыкания проводов интерфейса между собой, на ис- точник питания или землю. Из этих требования автоматически следует защита от изменения полярности подключения приемника и передатчика к линии, обрывов и передавливания кабеля; • защита от электростатических разрядов; • ослабление синфазного сигнала в линии; • защита от перегрева выходных каскадов. 2.6.2. Канальный уровень В соответствии с [126] канальный уровень CAN состоит из двух подуров- ней: LLC и МАС (см. табл. 2.7). Ниже описаны только главные идеи, поло- женные в основу их функционирования. Адресация и доступ к шине. В CAN-сети ни один из узлов не имеет ад- реса. Вместо этого сообщения посылаются «всем», но содержат идентификатор, который описывает смысл посылаемых данных. В соответствии с этим иденти- фикатором любой узел сети может принять это сообщение, если оно необходимо устройству для функционирования. Сообщение принимается узлом, если его идентификатор проходит через фильтр сообщений, имеющийся в каждом узле. В CAN-сети гарантируется, что сообщение будет принято любым из уз- лов в одно и то же время или не будет принято ни одним из них. Это до- стигается благодаря широковещательной передаче и использованным методом подтверждения приема сообщений. Когда сеть свободна, любой узел может начать передачу сообщения. Но каждое сообщение имеет свой приоритет при получении доступа к шине. По- этому передачу может осуществить только одно устройство — то, которое со- держит сообщение с наивысшим приоритетом. Борьба за доступ к шине происходит следующим образом. Если два или более устройств обнаружили, что линия свободна и начали передачу сообщений одновременно, то возникший конфликт разрешается путем побитного сравне- ния идентификатора передаваемого сообщения с состоянием линии. В процессе арбитража (урегулирования конфликта) каждое устройство сравнивает логи- ческий уровень передаваемого бита с логическим уровнем на шине. Если эти уровни одинаковы, устройства продолжают передавать следующий бит иден- тификатора. Если приемник устройства показывает, что на шине доминант- ный уровень, а передатчик в это же время передает рецессивный уровень, то устройство сразу прекращает передачу данного сообщения. Такой механизм арбитража гарантирует, что ни информация, ни время не будут потеряны. Достоверность передачи. Для достижения максимальной надежности (достоверности) передачи данных протокол предусматривает специальные ме- тоды обнаружения ошибок, сигнализации об ошибках и самоконтроля, которые воплощены в каждом узле сети. Для обнаружения ошибок приняты следующие меры: • передатчик сравнивает каждый бит на шине с переданным битом для под- тверждения правильности передачи на уровне битов;
Промышленные сети и интерфейсы 91 • выполняется контроль циклическим избыточным кодом (CRC — Cyclic Redundancy Check); • используется бит-стаффинг (см. выше); • используется проверка каждого переданного фрейма. Механизм обнаружения ошибок характеризуется такими свойствами: • обнаруживаются все глобальные ошибки; • обнаруживаются все ошибки, вносимые передатчиком; • в сообщении обнаруживаются до 5 случайно распределенных ошибок; • в сообщениях обнаруживается пакет следующих друг за другом ошибок длиной до 15 бит, • обнаруживаются ошибки четности. Вероятность наличия в сообщении необнаруженных ошибок составляет ме- нее 4,7 • 1011. Сообщения с обнаруженными ошибками помечаются флагом в том узле, где они были обнаружены. Такие сообщения отклоняются и автоматически пере- даются повторно. Время от момента обнаружения ошибки до начала повторной передачи равно длительности 31-го бита, если не возникают новые ошибки. CAN способен различать сбои и отказы. Если произошел отказ, то отка- завшее устройство отключается от сети. Все приемники сети проверяют целостность (непротиворечивость) получен- ных сообщений, подтверждают (квитируют) целостные сообщения и помечают флагом противоречивые сообщения. Передача сообщений. Сообщения в CAN передаются с помощью фреймов (блоков данных). Используется два разных формата фреймов, которые разли- чаются длиной поля идентификатора: стандартный фрейм с идентификатором длиной 11 бит и расширенный фрейм с длиной идентификатора 29 бит. Существует четыре различных типа фреймов: • DATA FRAME (фрейм данных) переносит данные от передатчика к при- емнику; • REMOTE FRAME (дистанционный фрейм, фрейм вызова) передается од- ним из устройств для того, чтобы получить от другого устройства данные в формате DATA FRAME с тем же идентификатором, что и в REMOTE FRAME; • ERROR FRAME (фрейм ошибок) передается любым устройством, обна- ружившим ошибку на шине; • OVERLOAD FRAME (фрейм перегрузки) используется для запроса допол- нительной задержки между предыдущими и последующими данными. Фрейм данных состоит из следующих полей (рис. 2.22): начало фрейма (Start Of Frame), поле арбитража (Arbitration Field), поле контроля (Control Field), поле данных (Data Field), поле циклического избыточного кода (CRC Field), поле уведомления о приеме (ACKnowledgement Field) и поле конца фрей- ма (End Of Frame). Поле данных может иметь нулевую длину. Пространство между фреймами представлено рецессивным состоянием ши- ны (которое соответствует высокому уровню на рис. 2.22, поскольку CAN-
92 Глава 2 Пауза Фрейм данных Поле Поле Поле Поле арбитража контроля данных CRC (АСК) Рис. 2.22. Структура фрейма данных Пауза или фрейм перегрузки Начало фрейма фрейма рецессивном со- Все устройства передатчики инвертируют логические уровни). Только при стоянии шины устройство может начать передачу фрейма. Начало фрейма кодируется одним доминантным битом, сети одновременно синхронизируют свои приемники по переднему фронту им- пульса этого бита. Формат поля арбитража различается для стандартного и расширенного формата фрейма. В стандартном фрейме поле арбитража состоит из иденти- фикатора длиной 11 бит и RTR-бита (Remote Transmission Request — запрос дистанционной передачи). В расширенном формате поле арбитража имеет идентификатор длиной 29 бит, SRR-бит (Substitute Remote Request — заменяющий RTR-бит), IDE-бит (Identifier Extension Bit — бит идентификации расширенного формата) и RTR- бит. Поле идентификатора в расширенном формате состоит из базового иден- тификатора и расширенного идентификатора. Базовый идентификатор опре- деляет приоритет расширенного фрейма. RTR-бит служит для того, чтобы отличить фрейм данных от фрейма вызова. IDE-бит служит для различения стандартного и расширенного формата фреймов. Поле контроля включает в себя код, который указывает длину данных в поле данных, IDE-бит и один (в стандартном формате) или два (в расши- ренном) зарезервированных бита. Поле данных состоит из данных, которые должны быть переданы фреймом данных. Он может иметь длину от 0 до 8 байт по 8 бит каждый. Данные передаются младшим разрядом вперед. Поле CRC содержит циклический избыточный код, служащий для обнару- жения ошибок во всех предшествующих ему полях фрейма, включая бит начала фрейма. Поле CRC оканчивается CRC-разделителем (рецессивное состояние) длиной в 1 бит. Стандарт CAN устанавливает алгоритм вычисления CRC [121]. Биты стаффинга перед вычислением удаляются. Поле уведомления имеет длину 2 бита. Передающее устройство в этом поле посылает два рецессивных бита. Принимающее устройство отвечает до- минантным битом, если сообщение принято без ошибок. Второй бит этого поля всегда является рецессивным. Конец фрейма представляет собой последовательность из семи рецессив- ных бит. Фрейм вызова выполняет функцию запроса данных. Он аналогичен фрей- му данных, но отличается от него только отсутствием поля данных и други- ми значениями битов.
Промышленные сети и интерфейсы 93 Фрейм ошибок используется любым принимающим узлом, чтобы сообщить всем участникам сети о том, что передаваемое в данный момент по сети со- общение содержит ошибку. Первым полем в фрейме ошибок является флаг ошибки. Сообщение об ошибке имеет наивысший в системе приоритет, поэто- му передается сразу после обнаружения ошибки и принимается всеми устрой- ствами одновременно. Все устройства также одновременно удаляют из своей памяти сообщение, содержащее ошибку. Фрейм перегрузки состоит из двух полей: флага перегрузки и поля раз- делителя. Существуют следующие условия, при наступлении которых начи- нается передача фрейма перегрузки: • перегрузка приемника, которая требует увеличить паузу между принима- емыми им фреймами; • обнаружение доминантного бита на месте первого и второго бита в поле перерыва паузы между фреймами. Пауза между фреймами. Между фреймами данных, фреймом вызова и любыми другими фреймами устанавливается пауза. В отличие от этого, перед фреймами перегрузки и ошибок паузы нет, это ускоряет их доставку. Пауза содержит поле перерыва (3 бита) и поле простоя (произвольной дли- ны) и, для пассивных к ошибке устройств, которые выполняли передачу преды- дущего сообщения, поле приостановленной передачи. Фильтрация сообщений используется для выбора из всех сообщений на шине только тех, которые соответствуют маске, записанной в регистр прием- ника. Маска может быть настроена на отбор группы сообщений и использует идентификатор, входящий в состав поля арбитража на рис. 2.22. Отобранные сообщения помещаются в буфер приемника. Валидация сообщений. Под валидацией понимается установление фак- та, что сообщение не содержит ошибок. Момент времени, в который устанав- ливается факт правильности сообщения, отличается для передатчика и при- емника. Сообщение считается достоверно переданным, если не было ошибок при передаче от начала до конца фрейма. Если сообщение содержало ошибку, оно автоматически повторяется в соответствии с текущими приоритетами. Сообщение считается достоверно принятым, если не было обнаружено оши- бок при его приеме. Если ошибка обнаружена, устройство посылает в ши- ну флаг ошибки. В CAN рассматривается пять типов ошибок: 1) ошибки передачи бита (контролируется уровень на шине и сравнивает с передаваемым. Ошибка обнаруживается во время передачи одного бита); 2) ошибка стаффинга (обнаруживается при отсутствии бита стаффинга в 6-й позиции последовательности одинаковых битов); 3) CRC-ошибка; 4) ошибка формата (обнаруживается, если при заранее фиксированном формате фрейма поле с известным значением битов содержит неправильные биты);
94 Глава 2 5) ошибка уведомления (обнаруживается трансивером, если он не находит доминантное состояние в поле уведомления о получении). Устройство, обнаружившее любую из перечисленных ошибок, сигнализи- рует об этом с помощью флага ошибки. 2.6.3. Прикладной уровень: CANopen Прикладной уровень модели OSI обеспечивает интерфейс между сетью и программным приложением, которое может взаимодействовать с аналогичными приложениями в других устройствах сети. На прикладном уровне реализуется также механизм синхронизации между устройствами. К сожалению, разработка CAN закончилась на первых двух уровнях моде- ли OSI. Это привело к появлению множества несовместимых между собой про- токолов прикладного уровня, среди которых самыми распространенными и под- держиваемыми организацией Ci А являются CANopen [128-130] и DeviceNet [87]. Канальный уровень CAN, рассмотренный выше, практически невозможно использовать в SCADA-пакетах, поскольку он оперирует битами, фреймами, полями. Для написания же прикладных программ нужно использовать поня- тия: переменная, массив, событие, клиент, сервер, имя устройства и т.п. Рассмотрим наиболее распространенный стандарт прикладного уровня CANopen [128]. Для упрощения применения стандарта вводятся несколько специфических для CANopen понятий. Все функциональные возможности прикладного уровня делятся между так называемыми сервисами (элементами услуг). Программные приложения взаимодействуют между собой путем вы- зова соответствующих сервисов прикладного уровня. Сервисы обмениваются данными с равными им (одноранговыми) сервисами через CAN-сеть с помо- щью определенного протокола. Этот протокол описывается в спецификации протокола сервиса. Вводится понятие сервисного примитива, который представляет собой средство (языковую конструкцию), с помощью которого программное прило- жение взаимодействует с прикладным уровнем. В CANopen существует че- тыре различных примитива: 1) запрос приложения к прикладному уровню, публикуемый приложени- ем для вызова сервиса; 2) индикация, публикуемая прикладным уровнем для приложения, что- бы сообщить о внутренних событиях, обнаруженных прикладным уровнем или чтобы показать, что сервис запрошен; 3) ответ, публикуемый приложением для прикладного уровня, чтобы от- ветить на ранее полученную индикацию; 4) подтверждение, публикуемое прикладным уровнем для приложения, чтобы отчитаться о результатах ранее изданного запроса. Сервисы также делятся на несколько типов сервисов: • локальный сервис, который выполняет запрос приложения без взаимодей- ствия с другими сервисами того же ранга; • неподтвержденный сервис, который вовлекает в выполнение запроса один или более других одноранговых сервисов. Приложение посылает запрос
Промышленные сети и интерфейсы 95 к локальному сервису. Этот запрос передается далее сервису (сервисам) того же ранга; • подтвержденный сервис может вовлечь только один сервисный объект то- го же ранга. Приложение издает запрос к его локальному сервису. Этот запрос передается сервису того же ранга, который передает его другому приложению как индикацию. Другое приложение издает ответ, который передается исходному сервису, который передает его как подтверждение запрашивающему приложению; • сервис, инициированный провайдером, вовлекает только локальный сервис. CANopen предлагает серию стандартизованных коммуникационных меха- низмов и функций, выполняемых устройствами в сети (профилей). Серия про- филей доступна и поддерживается организацией Ci A (CAN in Automation); для ее использования не требуется лицензий. Устройство в сети CANopen представляется состоящим из трех частей: 1) коммуникационный интерфейс (к шине CAN) и программный протокол об- мена; 2) словарь объектов; 3) интерфейс к устройствам ввода-вывода и при- кладная программа. Коммуникационный интерфейс и программный протокол обеспечивают сервис по передаче и получению через сеть коммуникационных объектов. Сло- варь объектов описывает типы данных, коммуникационные объекты и при- кладные объекты, использованные в устройстве для обмена через интерфейс к устройствам ввода вывода. Прикладная программа обеспечивает внутреннее управление функциями устройства и интерфейсом к устройствам ввода-вывода. Наиболее важной частью устройства в CANopen является словарь объек- тов. Под объектами понимаются типы данных, профили устройств, коммуни- кационные объекты, регистр ошибок. Каждый объект в словаре адресуется 16-битным индексом. В CANopen используются следующие типы данных: Boolean, Integer, UnsignedN, Float, Date, Time, которые имеют общепринятый смысл. Имеется также несколько сложных типов данных для PDO и SDO параметров (Process Data Object — объект данных технологического процесса и Service Data Ob- ject — объект сервисных данных). Объекты PDO и SDO используются для передачи данных. Сообщения PDO позволяют передавать данные в реальном времени. Существует два типа объ- ектов PDO. Первый из них выполняет передачу данных (Transmit-PDO или TPDO), второй — прием данных (Receve-PDO или RPDO). Коммуникацион- ные параметры PDO определяют его коммуникационные возможности и опи- сываются в словаре объектов. Объект SDO обеспечивает доступ к словарю объектов. SDO может исполь- зоваться также для передачи групп данных от клиента к серверу и наоборот. Имеются также объекты специального назначения (объекты для синхрони- зации, объекты меток времени, объекты аварийных ситуаций), а также объекты управления сетью (объекты начальной загрузки, объекты контроля ошибок и сообщения для управления сетью).
96 Глава 2 Коммуникационные модели. Коммуникационная модель CANopen определяет различные коммуникационные объекты и сервисы, а также доступ- ные режимы запуска передачи сообщений, поддерживает передачу синхронных и асинхронных сообщений. Синхронные сообщения используются для сбора данных или управления исполнительными устройствами. Синхронные сообще- ния передаются относительно сообщений синхронизации, которые определяют- ся заранее; асинхронные сообщения могут передаваться в любое время. В CANopen используют три типа взаимодействий между передающим и принимающим устройством: ведущий/ведомый, клиент/сервер и производи- тель / потребитель. 2.6.4. Электронные спецификации устройств CANopen Поскольку устройства, используемые в сети, являются программируемы- ми, перед их включением в сеть необходимо задать параметры, необходимые для их коммуникаций с сетью и функционирования. CANopen устанавливает для этого стандартизованный метод. Метод предполагает наличие электронно- го описания устройств в текстовом формате, для обработки которого достаточ- но несложного компилятора. CANopen определяет формат EDS (Electronic Data Sheet — электронный список параметров), который описывает конфигурацию и параметры устройств, в том числе контроллеров с модульной архитектурой. EDS поддерживается и поставляется производителем устройства. В про- тивном случае используется EDS «по умолчанию», общий для определенного класса устройств, например модулей аналогового ввода. EDS является текстовым файлом, использующим ASCII*-коды (набор сим- волов по стандарту ISO 646). Длина строки файла 255 символов, строки долж- ны оканчиваться символами CR или LF. Файл содержит несколько секций: • информация о самом файле (имя файла, версия, дата создания, версия EDS, описание, кем создан, дата модификации и др.); • общая информация об устройстве (имя производителя, идентификацион- ный код производителя, имя устройства, код устройства, номер версии, функции устройства, список поддерживаемых скоростей обмена, наличие программы начальной загрузки и др.); • конфигурационные параметры (длительность цикла обмена, тип устрой- ства, тип данных, нижний и верхний предел изменения переменных, значе- ния по умолчанию, количество каналов ввода-вывода и др.). Полное описание структуры EDS-файла дано в стандарте [129]. 2.7. Profibus Слово PROFIBUS получено из сокращений PROcess Field BUS, что при- близительно переводится как «промышленная шина для технологических про- * ASCII (American Standard Code for Information Interchange) — американский стан- дарт код для обмена информацией.
Промышленные сети и интерфейсы 97 Таблица 2.10 Profibus в соответствии с моделью OSI № Название уровня Profibus DP Profibus FMS Profibus PA 7 Прикладной Нет Fieldbus Message Нет Specification (FMS) 6 Представления Нет 5 Сеансовый Нет 4 Транспортный Нет 3 Сетевой Нет 2 Канальный FDL FDL IEC 1158-2 (передачи данных) 1 Физический RS-485, оптоволо- RS-485, оптоволо- Интерфейс конный интерфейс конный интерфейс IEC 1158-2 цессов». Стандарт Profibus был первоначально принят в Германии в 1987 г., в 1996 г. он стал международным (EN 50170 и EN 50254). Сеть Profibus (как и другие описанные здесь промышленные сети, кроме Industrial Ethernet) использует только первый и второй уровни модели OSI (табл. 2.10). Один из вариантов сети, Profibus FMS, использует также уровень 7. Profibus имеет три модификации: Profibus DP, Profibus FMS и Profibus PA [132]. Profibus DP (Profibus for Decentralized Peripherals — Profibus для децентра- лизованной периферии) использует уровни 1 и 2 модели OSI, а также пользо- вательский интерфейс, который в модель OSI не входит. Непосредственный до- ступ из пользовательского приложения к канальному уровню осуществляется с помощью DDLM (Direct Data Link Mapper — прямой преобразователь для ка- нального уровня). Пользовательский интерфейс обеспечивает функции, необ- ходимые для связи с устройствами ввода-вывода и контроллерами. Profibus DP в отличие от FMS и РА построен таким образом, чтобы обеспечить наибо- лее быстрый обмен данными с устройствами, подключенными к сети. Profibus FMS (Profibus с FMS-протоколом) использует уровень 7 модели OSI и применяется для обмена данными с контроллерами и компьютерами на регистровом уровне. Profibus FMS предоставляет большую гибкость при пере- даче больших объемов данных, но проигрывает протоколу DP в популярности вследствие своей сложности. Profibus FMS и DP используют один и тот же физический уровень, осно- ванный на интерфейсе RS-485, и могут работать в общей сети. Profibus РА (Profibus for Process Automation — для автоматизации тех- нологических процессов) использует физический уровень на основе стандар- та IEC 1158-2, который обеспечивает питание сетевых устройств через шину и не совместим с RS-485. Особенностью Profibus РА является возможность работы во взрывоопасной зоне. В последние годы появился стандарт PROFInet, который основан на Industrial Ethernet и технологиях COM, DCOM (см. главу 9). Он легко обеспе- чивает связь промышленной сети Profibus с офисной сетью Ethernet. Profibus является многомастерной сетью (с несколькими ведущими устрой- ствами). В качестве ведомых устройств выступают обычно устройства ввода-
98 Глава 2 вывода, клапаны, измерительные преобразователи. Они не могут самосто- ятельно получить доступ к шине и только отвечают на запросы ведущего устройства. 2.7.1. Физический уровень На физическом уровне Profibus DP и FMS используют стандарт RS-485 при скорости передачи до 12 Мбит/с и с размерами сегментов сети до 32 устройств. Количество устройств можно увеличить с помощью повторителей интерфейса. Особые требования установлены к сетевому кабелю. Он должен иметь вол- новое сопротивление от 135 до 165 Ом при погонной емкости не более 35 пФ/м, площадь поперечного сечения проводников более 0,34 мм2 и погонное сопротив- ление не более 110 Ом/км. Кабель должен иметь одну или две витые пары с медным экраном в виде оплетки или фольги. Стандартом для шины Profibus рекомендуется разъем D-sub (DB-9) с 9 кон- тактами, цоколевка разъема приведена в табл. 2.11. На устройствах устанав- ливается разъем с гнездами, на кабеле — со штырьками. При необходимо- сти иметь степень защиты IP65/67 рекомендуется использовать цилиндриче- ский разъем типа М12 (IEC 947-5-2), HAN-BRID или гибридный разъем фир- мы Siemens [132]. Таблица 2.11 Цоколевка разъема DB-9 для Profibus Контакт Сигнал Примечание 1 Shield Экран 2 М24 -24 В 3 Rx/Tx-DP Прием/передача данных (положительный вывод, провод В) 4 CNTR-P Сигнал для управления направлением передачи, положительный вывод 5 DGND Общий провод данных 6 VP Напряжение питания, «+» 7 P24 +24 В 8 Rx/Tx-N Прием/передача данных (отрицательный вывод, провод А) 9 CNTR-N Сигнал для управления направлением передачи, отрицательный вывод С обеих сторон линии передачи подключаются согласующие резисторы, ко- торые конструктивно установлены во все сетевые разъемы и подключаются с помощью микропереключателей. При скоростях передачи более 1,5 Мбит/с для согласования линии дополнительно используются плоские (печатные) ка- тушки индуктивности. Для увеличения дальности передачи в Profibus предусмотрена возможность работы с оптоволоконным кабелем. При использовании стеклянного оптово- локна дальность связи может быть увеличена до 15 км. Оптоволоконные ин- терфейсы выполняются в виде сменных модулей для контроллеров. Profibus РА использует физический уровень, соответствующий стандарту IEC 1158-2. Данные передаются с помощью уровней тока 4-9 и —9 мА («токо- вая петля»). Используется манчестерский код (логический ноль соответствует
Промышленные сети и интерфейсы 99 смене отрицательного тока на положительный, а логическая единица — поло- жительного на отрицательный). Скорость передачи составляет 31,25 кбит/с, в качестве линии передачи используется витая пара в экране или без него. Один сегмент сети может содержать до 32 устройств. Максимальная длина кабеля достигает 1,9 км. В каждом сегменте с обеих сторон кабеля подключены RC- цепочки, состоящие из последовательно соединенных конденсатора емкостью 1 мкФ и резистора сопротивлением 100 Ом. Благодаря низкой энергии переда- ваемого сигнала Profibus РА является искробезопасной электрической цепью и может быть использован во взрывоопасных зонах (при наличии разрешения Ростехнадзора на конкретное оборудование). Для передачи данных используется NRZ-кодирование и 11-битный фор- мат, идентичный формату HART-протокола (см. рис. 2.18,а), включающему стартовый бит (0), 8 бит данных младшими разрядами вперед, бит паритета (четный) и стоп-бит (1). Бит паритета равен нулю, если число бит в слове четное, и равен единице в противном случае. В слове «11000011» число еди- ниц четное, поэтому бит паритета устанавливается равным 0. Такой формат используется для всех без исключения слов, включая заголовки сообщений. При передаче слов длиннее 8 бит старший байт отправляется первым, за ним остальные в порядке старшинства. Несколько лет назад для Profibus была разработана модификация интер- фейса RS-485 для взрывоопасных зон, которая получила название RS-485-IS (Intrinsically Safe — внутренне безопасный) [133]. Существенным ее отличием является наличие резисторов, ограничивающих ток в линии до значений, уста- новленных стандартом на искробезопасные электрические цепи. 2.7.2. Канальный уровень Profibus DP Далее мы будем рассматривать только Profibus DP, поскольку он получил несравненно более широкое распространение, чем FMS и РА. Канальный уровень модели OSI в Profibus называется FDL-уровнем (Field- bus Data Link — промышленный канал связи). Объект MAC (Medium Access Control — управление доступом к каналу) на канальном уровне определяет процедуру передачи данных устройствами, включая управление правами на передачу данных через сеть. Протокол канального уровня обеспечивает вы- полнение следующих важных требований: • в процессе коммуникации между ведущими устройствами необходимо обес- печить выполнение каждым из них своей задачи в течение заранее опре- деленного интервала времени; • взаимодействие ведущих устройств (контроллеров) с ведомыми должно происходить максимально быстро. В сети Profibus для доступа ведущих устройств к сети используется метод передачи маркера (рис. 2.23). В этом методе сеть имеет логическую топологию кольца (т.е. кольца на уровне адресов устройств), каждое ведущее устройство получает доступ к сети только при получении маркера. Маркер выполняет роль арбитра, который предоставляет устройству право доступа. По истечении определенного времени это устройство должно передать маркер следующему
100 Глава 2 Profibus ведущему устройству, которое получает доступ также на время, пока маркер находится у него. Таким образом, каждому ведущему устройству выделяет- ся точно заданный интервал времени. Этот интервал может быть установлен при конфигурировании системы. Каждому мастеру в сети назначаются свои ведомые устройства (рис. 2.23). В методе «ведущий/ведомый» процедуру коммуникации с ведомыми устрой- ствами выполняет мастер, который обладает маркером. На время обладания маркером мастер становится ведущим также по отношению к другим мастерам, т.е. может выполнять с ними коммуникацию типа «мастер-мастер». Profibus имеет также широковещательный режим работы, когда ведущее устройство посылает сообщение «всем», не ожидая уведомления о получении, и многоабонентский режим, когда ведущее устройство посылает одно и то же сообщение сразу нескольким участникам сети. В задачи объекта МАС активного устройства (получившего маркер) вхо- дит обнаружение наличия или отсутствия маркера сразу после начала работы сети, передача маркера следующему устройству в порядке возрастания адре- сов, удаление адресов вышедших из строя или выключенных устройств и до- бавление новых, восстановление потерянного маркера, устранение дубликатов маркеров, устранение дублирования сетевых адресов и обеспечение заданного периода обращения маркера по сети. Коммуникационный профиль DP. Основная функция коммуникаци- онного профиля DP состоит в эффективном обмене данными ПЛК или ком- пьютера с датчиками и исполнительными устройствами. Обмен данными с этими устройствами обычно выполняется периодически, но коммуникацион- ный профиль DP предоставляет также дополнительный сервис апериодическо- го обмена для установки параметров, контроля режимов работы и обработки сигналов тревоги (алармов). В обычном режиме центральный контроллер (ведущий) периодически счи- тывает информацию, поступающую на входы ведомых устройств и записывает информацию для их выходов. Дополнительно к этому периодическому обме- ну данными DP обеспечивает мощные средства для диагностики и инсталля-
Промышленные сети и интерфейсы 101 ции системы, а также для обеспечения устойчивости к внешним дестабили- зирующим факторам. Средства диагностики DP обеспечивают быстрое обнаружение места появ- ления ошибки и пересылку соответствующего сообщения ведущему устройству. Диагностические сообщения делятся на три уровня: 1) уровень устройства (касающиеся общих признаков работоспособности устройства, таких как перегрев, уход напряжения за допустимые границы и др.); 2) уровень модуля ввода-вывода, входящего в состав устройства модуль- ной конструкции; 3) уровень канала модуля (например, «к.з. входа 8»). К одной сети могут быть подсоединены до 128 устройств (но не более 32-х в одном сегменте). Спецификация для конфигурирования системы включает количество узлов сети, распределение адресов устройств, формат диагности- ческих сообщений, параметры шины. В сети могут использоваться устройства трех типов: • DP мастер класса 1 (DPMI) — центральный контроллер, который цик- лически обменивается информацией с ведомыми устройствами с заранее определенным периодом; • DP мастер класса 2 (DPM2) — устройство, предназначенное для конфигу- рирования системы, наладки, обслуживания или диагностики; • ведомое устройство — устройство, которое выполняет сбор информации или выдачу ее исполнительным устройствам. Эти устройства могут отсылать или принимать не более 256 байт инфор- мации за один цикл обмена. Коммуникационный профиль DP позволяет сконфигурировать как однома- стерную, так и многомастерную сеть. В одномастерной сети ведущее устрой- ство (мастер) может посылать запросы и получать ответы только от ведо- мых устройств. В многомастерной сети имеется несколько ведущих устройств, которые имеют свои одномастерные подсети и в пределах подсети являются устрой- ствами класса DPMI. Ведущие устройства в многомастерной сети могут быть также устройствами класса DPM2. Входные и выходные данные подчиненных устройств могут быть прочитаны любым мастером сети. Однако записывать данные в устройства может только один мастер, который при конфигурирова- нии системы был обозначен как DPMI. Ведущий контроллер (DPMI) может находиться в одном из трех состоя- ний: Stop — когда не происходит обмена данными; Clear — когда DPMI может считывать данные, но не может записывать их и выходы всех устройств пере- водятся в безопасные состояния; Operate — обычное рабочее состояние. Если в системе появляется сообщение об ошибке, то DPMI устанавлива- ет выходы всех устройств вывода в безопасное состояние, а сам переходит в состояние «Clear». Безопасным считается такое состояние, при котором ис- полнительные устройства находятся в безопасном (для человека или системы) состоянии. Такое состояние самоконтроля системы может быть установлено
102 Глава 2 или нет при ее конфигурировании. При отключенном состоянии самоконтроля система продолжает работать несмотря на появление ошибок. При конфигурировании системы пользователь назначает каждому веду- щему свои ведомые устройства и очередность их опроса, а также указывает устройства, которые не надо опрашивать периодически. Передача данных между мастером DPMI и ведомыми делится на три фа- зы: параметризация, конфигурирование и передача данных. В фазе парамет- ризации и конфигурирования проверяется, соответствует ли конфигурация и параметры ведомого устройства запланированным в DPMI установкам. Про- веряется тип устройства, формат и длина передаваемых сообщений, количе- ство входов или выходов. Profibus DP имеет режим синхронизации вывода. Для этого посылается широковещательная управляющая команда синхронизации, при получении ко- торой происходит одновременная смена состояний выходов всех устройств выво- да. Имеется также команда «замораживание», при поступлении которой входы всех устройств ввода сохраняют свое текущее состояние и перестают реагиро- вать на изменение поступающих на входы сигналов, пока не поступит команда «размораживание». Эти команды используются для синхронизации ввода. Ко- манды синхронизации могут посылаться всем устройствам сети, группе или одному устройству. Для обнаружения ошибок в передающих устройствах предусмотрен меха- низм временного мониторинга (наблюдения), который действует как в ведо- мых, так и ведущих устройствах. Интервал мониторинга устанавливается при конфигурировании системы. Ведущий (DPMI) контролирует процесс переда- чи данных ведомым устройством с помощью таймера. Для каждого подчи- ненного используется свой таймер. Если в течение интервала наблюдения не приходят корректные данные, выдается диагностическое сообщение для поль- зователя. Если включен режим автоматической реакции на ошибки, то ве- дущий устанавливает все выходы в безопасные состояния, а сам переходит в состояние «Clear». Ведомый также выполняет контроль ведущего устройства или линии пе- редачи. Для этого используется сторожевой таймер. Если от ведущего не приходят данные в течение периода сторожевого таймера, ведомый автомати- чески переводит свои выходы в безопасные состояния. Для большей степени защиты выходов в многомастерной системе только один (уполномоченный) ма- стер имеет прямой доступ к изменению состояний выходов устройства. Все другие мастера могут считывать только «изображения» сигналов на входах и выходах устройства. В Profibus имеются также расширенные DP-функции, которые позволяют передавать апериодические функции чтения и записи, а также сигналы тревог параллельно и независимо от периодической пересылки данных, установленной пользователем при конфигурировании системы. Это позволяет, например, с по- мощью DPM2 изменять параметры вновь подсоединенных ведомых устройств или считывать состояние любых устройств сети без остановки системы. Эти служебные функции выполняются апериодически с низким приоритетом, па- раллельно с рабочим процессом передачи данных в системе. Для обеспечения
Промышленные сети и интерфейсы 103 такой возможности при параметризации всей сети устанавливают увеличенный цикл обращения маркера, чтобы шина на была загружена на 100 %. Передача сообщений. Profibus использует два типа сервисов для пере- дачи сообщений: SRD (Send and Receive Data with acknowledge — отправка и прием данных с уведомлением) и SND (Send Data with No acknowledge — отправка данных без уведомления). Сервис SRD позволяет отправить и получить данные в одном цикле об- мена. Этот способ обмена наиболее распространен в Profibus и очень удобен при работе с устройствами ввода-вывода, поскольку в одном цикле можно и отправить, и получить данные. Сервис SND используется, когда надо отправить данные одновремен- но группе ведомых устройств (многоабонентский режим) или всем ведомым устройствам (широковещательный режим). При этом ведомые устройства не отправляют свои уведомления мастеру. Сообщение в Profibus называется телеграммой. Телеграмма может содер- жать до 256 байтов, из них 244 байта данных, плюс 11 служебных байтов (за- головок телеграммы). Все телеграммы имеют заголовки одинаковой длины, за исключением телеграммы с названием Data_Exchange. Заметим, что 11 байтов служебной информации делают Profibus очень неэффективным при передаче коротких сообщений. Однако при больших объемах данных такой формат те- леграммы достаточно эффективен. SD LE LEr SD DA SA FC DSAP SSAP DU (1...244 байт) FCS ED Рис. 2.24. Структура телеграммы Profibus Поля телеграммы на рис. 2.24 имеют следующее содержание: SD — стартовый разделитель. Используется для указания начала теле- граммы и ее формата. Имеется четыре типа разделителей для телеграмм за- проса и ответа и один тип для короткого уведомления. Короткое уведомление имеет поле SD, но не в начале телеграммы; LE — длина передаваемых данных (DA 4- SA 4- FC 4- DSAP 4- SSAP 4- DU); LEr — повторение поля LE с целью его резервирования; DA — адрес устройства-получателя телеграммы; SA — адрес отправителя; FC — код типа телеграммы (запрос, уведомление, ответ, диагностические данные, тип устройства - мастер или ведомый, приоритет, уведомление); DSAP — устройство-получатель использует это поле, чтобы определить, какой тип сервиса нужно выполнить; SSAP — COM-порт отправителя; DU — данные длиной от 1 до 244 байт; FCS — контрольная сумма телеграммы (сумма значений полей DA 4- SA 4- FC 4- DU по модулю 255); ED — признак конца.
104 Глава 2 2.7.3. Резервирование С целью повышения надежности в Profibus предусмотрено резервирование, выполненное следующим образом (см. также главу 8): • ведомые устройства содержат два различных Profibus-интерфейса, основ- ной и резервный. Они могут быть либо в одном устройстве, либо в двух одинаковых устройствах (основном и резервном); • устройства снабжаются двумя независимыми стеками протоколов со спе- циальным расширением для резервирования; • процесс резервирования стеков протоколов осуществляется путем запуска специального программного объекта резервирования RedCom. В нормальном режиме коммуникация выполняется только через основ- ное устройство, которое посылает диагностическую информацию резервному устройству. В случае, когда основное устройство дает сбой, резервное устрой- ство берет на себя его функции. Кроме того, мастер контролирует все ведомые устройства и выдает диагностическое сообщение на верхний уровень АСУ ТП, как только в системе вышло из строя основное устройство и не осталось ре- зервного или когда вышло из строя резервное. Резервное устройство может работать на основной Profibus линии или на двух, если имеется резервная. Подход к резервированию в Profibus имеет следующие свойства: • одна и та же модификация устройств используется для реализации раз- личных вариантов резервирования; • ведущее, ведомое устройство и шина могут быть резервированы незави- симо друг от друга; • не требуется особого дополнительного конфигурирования резервного уст- ройства; • возможен полный мониторинг обоих ведомых устройств. Резервирование обеспечивает высокий коэффициент готовности*, короткое время восстановления, отсутствие потерь данных и нечувствительность систе- мы к отказам. 2.7.4. Описание устройств Современные модули ввода-вывода являются интеллектуальными устрой- ствами и выполняют многие функции, которые ранее выполнялись только контроллерами. Однако, чтобы выполнить эти функции, устройства требу- ют сложной настройки при инсталляции системы, при обслуживании и па- раметризации. Поэтому необходимо иметь точное и полное описание сведе- ний об устройствах, таких как тип выполняемых функций, количество вхо- дов/выходов, диапазон изменения переменных, единицы измерения, значения по умолчанию, идентифицирующие параметры устройства и т.д. Profibus предлагает несколько методов и средств для описания устройств, которые обеспечивают унификацию описания. По историческим причинам в * Коэффициент готовности — в соответствии с ГОСТ 27.002-89 вероятность того, что объект окажется в работоспособном состоянии в произвольный момент времени (за исключением запланированных периодов неработоспособности).
Промышленные сети и интерфейсы 105 промышленной автоматизации используется в основном формат GSD (General Station Data — общие данные об устройстве). Описание устройств в этом фор- мате создается их изготовителем и поставляется вместе с устройством. Характеристики устройства описываются с помощью языка описания элек- тронных устройств Electronic Device Description Language (EDDL) и поставля- ются в виде текстового файла EDD (Electronic Device Description — описа- ние электронного устройства). Интерпретатор этого описания очень хорошо апробирован для приложений средней сложности. Для сложных приложений Profibus предлагает другой программный компонент — Device Type Manager (DTM). Текстовый файл GSD содержит как общую, так и специфичную для кон- кретного устройства информацию. С помощью ключевых слов средство конфи- гурирования может прочесть идентификационные записи, настраиваемые па- раметры, типы данных, допустимые значения параметров. Некоторые из клю- чевых слов обязательны (по стандарту), например имя изготовителя, другие являются опционными. GSD-файл делится на три секции: • секция общих параметров содержит имя поставщика и имя устройства, вер- сию аппаратуры и программного обеспечения, идентификационный номер, поддерживаемые скорости передачи; • секция спецификаций ведущего устройства указывает допустимое число подключаемых ведомых устройств, параметры передачи и приема сооб- щений; • секция спецификаций ведомого устройства указывает число и тип каналов ввода-вывода, перечень диагностических сообщений и список модулей при модульной конструкции устройства. GSD-файл загружается в средство конфигурирования системы Profibus Configurator и используется при ее инсталляции. Более мощным средством описания устройств является язык EDD, который является частью международного стандарта IEC 61804-2 и позволяет описывать устройства средней сложности. Еще более мощными являются независимые от конкретной промышленной сети средства описания устройств FDT/DTM (Field Device Tool/Device Type Manager — средство для устройств полевого уровня/менеджер типа устройства), которые позволяют описывать очень слож- ные устройства [134]. 2.8. Modbus Протокол Modbus и сеть Modbus [135-137] являются самыми распростра- ненными в мире. Несмотря на свой возраст (стандартом де-факто Modbus стал еще в 1979 г.), Modbus не только не устарел, но, наоборот, существенно возросло количество новых разработок и объем организационной поддержки этого прото- кола. Миллионы Modbus-устройств по всему миру продолжают успешно рабо- тать, а последняя версия описания протокола появилась в декабре 2006 г. [135]. Преимуществами Modbus являются отсутствие необходимости в специаль- ных интерфейсных контроллерах (Profibus и CAN требуют для своей реали-
106 Глава 2 зации заказные микросхемы), простота программной реализации и элегант- ность принципов функционирования. Все это снижает затраты на освоение стандарта как системными интеграторами, так и разработчиками контроллер- ного оборудования. Высокая степень открытости протокола обеспечивается также полностью бесплатными текстами стандартов, которые можно скачать с сайта www.modbus.org. В России Modbus по распространенности конкурирует только с Profibus. Популярность протокола в настоящее время объясняется, прежде всего, сов- местимостью с большим количеством оборудования, которое имеет протокол Modbus. Кроме того, Modbus имеет высокую достоверность передачи данных, связанную с применением надежного метода контроля ошибок. Modbus позво- ляет унифицировать команды обмена благодаря стандартизации номеров (ад- ресов) регистров и функций их чтения-записи. Основным недостатком Modbus является сетевой обмен по типу «веду- щий/ведомый», что не позволяет ведомым устройствам передавать данные по мере их появления и поэтому требует интенсивного опроса ведомых устройств ведущим. Разновидностями Modbus являются протоколы Modbus Plus [137] — мно- гомастерный протокол с кольцевой передачей маркера и Modbus TCP [144], рассчитанный на использование в сетях Ethernet и Интернет. Протокол Modbus имеет два режима передачи: RTU (Remote Terminal Unit — удаленное терминальное устройство) и ASCII. Стандарт предусматри- вает, что режим RTU в протоколе Modbus должен присутствовать обязатель- но, а режим ASCII является опционным. Пользователь может выбирать лю- бой из них, но все модули, включенные в сеть Modbus, должны иметь один и тот же режим передачи. Мы рассмотрим только протокол Modbus RTU, поскольку Modbus ASCII в России практически не используется. Отметим, что Modbus ASCII нельзя пу- тать с частно-фирменным протоколом DC ON, который используется в модулях фирм Advantech и ICP DAS и не соответствует стандарту Modbus. Стандарт Modbus предусматривает применение физического интерфейса RS-485, RS-422 или RS-232. Наиболее распространенным для организации про- мышленной сети является 2-проводной интерфейс RS-485. Для соединений точка-точка может быть использован интерфейс RS-232 или RS-422. Таблица 2.12 Модель OSI для Modbus Номер уровня Название уровня Реализация 7 Прикладной MODBUS Application Protocol 6 Уровень представления Нет 5 Сеансовый Нет 4 Транспортный Нет 3 Сетевой Нет 2 Канальный Протокол «ведущий/ведомый». (передачи данных) Режимы RTU и ASCII 1 Физический RS-485 или RS-232
Промышленные сети и интерфейсы 107 В стандарте Modbus имеются обязательные требования, рекомендуемые и опционные (необязательные). Существует три степени соответствия стандарту: «полностью соответствует» — когда протокол соответствует всем обязатель- ным и всем рекомендуемым требованиям, «условно соответствует» — когда протокол соответствует только обязательным требованиям и не соответствует рекомендуемым, и «не соответствует». Модель OSI протокола Modbus содержит три уровня: физический, каналь- ный и прикладной (табл. 2.12). 2.8.1. Физический уровень В новых разработках на основе Modbus стандарт рекомендует использовать интерфейс RS-485 с двухпроводной линией передачи, но допускается примене- ние четырехпроводной линии и интерфейса RS-232. Modbus-шина должна состоять из одного магистрального кабеля, от кото- рого могут быть сделаны отводы. Магистральный кабель Modbus должен со- держать три проводника в общем экране, два из которых представляют собой витую пару, а третий соединяет общие («земляные») выводы всех интерфейсов RS-485 в сети. Общий провод и экран должны быть заземлены в одной точке, желательно около ведущего устройства. Устройства могут подключаться к кабелю тремя способами: • непосредственно к магистральному кабелю; • через пассивный разветвитель (тройник); • через активный разветвитель (содержащий развязывающий повторитель интерфейса). В документации на устройство и на тройник должны быть указаны на- именования подключаемых цепей. На каждом конце магистрального кабеля должны быть установлены ре- зисторы для согласования линии передачи, как это требуется для интерфейса RS-485 (см. выше). В отличие от RS-485, наличие терминальных резисторов в соответствии со стандартом Modbus является обязательным независимо от скорости обмена. Их номинал может быть равным 150 Ом и мощность 0,5 Вт. Терминальные резисторы, а также резисторы, устраняющие неопределенность состояния линии при высокоомном состоянии передатчиков, устанавливаются так же, как описано в разделе «Интерфейсы RS-485, RS-422 и RS-232». Стан- дарт требует, чтобы в руководствах по эксплуатации устройств Modbus было сказано, имеются ли указанные резисторы внутри устройства или их необхо- димо устанавливать при монтаже сети. Если требуются внешние резисторы, то они должны иметь номинал в интервале от 450 до 650 Ом и быть установлены только в одном месте в пределах каждого сегмента сети (сегментами считают- ся части сети между повторителями интерфейса). Modbus-устройство обязательно должно поддерживать скорости обмена 9600 и 19200 бит/с, из них 19200 бит/с устанавливается «по умолчанию». Допускаются также скорости 1200, 2400, 4800,..., 38400 бит/с, 65 кбит/с, 115 кбит/с,...
108 Глава 2 Скорость передачи должна выдерживаться в передатчике с погрешностью не хуже 1 %, а приемник должен принимать данные при отклонении скоро- сти передачи до 2 %. Сегмент сети, не содержащий повторителей интерфейса, должен допускать подключение до 32 устройств, однако их число может быть увеличено, если это допустимо исходя из нагрузочной способности передатчиков и входного со- противления приемников, которые должны быть приведены в документации на интерфейсы. Указание этих параметров в документации является обяза- тельным требованием стандарта. Максимальная длина магистрального кабеля при скорости передачи 9600 бит/с и сечении жил более 0,13 мм2 (AWG26) составляет 1 км. Отводы от магистрального кабеля не должны быть длиннее 20 м. При использовании многопортового пассивного разветвителя с N отводами длина каждого отвода не должна превышать значения 40 m/N. Modbus не устанавливает конкретных типов разъемов, но если используют- ся разъемы RJ45, mini-DIN или D-Shell, они должны быть экранированными, а цоколевки должны соответствовать стандарту. Для минимизации ошибок при монтаже рекомендуется использовать про- вода следующих цветов: желтый — для положительного вывода RS-485 (на котором устанавливается логическая «1», когда через интерфейс выводится логическая «1»); коричневый — для второго вывода интерфейса RS-485; се- рый — для общего провода. Типовым сечением кабеля является AWG 24 (0,2 мм2, диаметр провода 0,51 мм). При использовании кабеля категории 5 его длина не должна пре- вышать 600 м. Волновое сопротивление кабеля желательно выбирать более 100 Ом, особенно для скорости обмена более 19200 бит/с. 2.8.2. Канальный уровень Протокол Modbus предполагает, что только одно ведущее устройство (кон- троллер) и до 247 ведомых (модулей ввода-вывода) могут быть объединены в промышленную сеть. Обмен данными всегда инициируется ведущим. Ведомые устройства никогда не начинают передачу данных, пока не получат запрос от ведущего. Ведомые устройства также не могут обмениваться данными друг с другом. Поэтому в любой момент времени в сети Modbus может происхо- дить только один акт обмена. Адреса с 1 по 247 являются адресами Modbus устройств в сети, а с 248 по 255 зарезервированы. Ведущее устройство не должно иметь адреса и в сети не должно быть двух устройств с одинаковыми адресами. Ведущее устройство может посылать запросы всем устройствам одновре- менно (широковещательный режим) или только одному. Для широковещатель- ного режима зарезервирован адрес «0» (при использовании в команде этого адреса она принимается всеми устройствами сети). Описание кадра (фрейма) протокола Modbus. В протоколе Modbus RTU сообщение начинает восприниматься как новое после паузы (тишины) на шине длительностью не менее 3,5 символов (14 бит), т.е. величина паузы в секундах зависит от скорости передачи.
Промышленные сети и интерфейсы 109 ADU ◄--------------------------------------► Адрес Код функции Данные Контрольная сумма 1 байт 1 байт 0...252 байт 2 байта -----------► PDU Рис. 2.25. Формат кадра протокола Modbus RTU; PDU (Protocol Data Unit) — элемент данных протокола; ADU (Application Data Unit) — элемент данных приложения Формат кадра показан на рис. 2.25. Поле адреса всегда содержит только адрес ведомого устройства, даже в ответах на команду, посланную ведущим. Благодаря этому ведущее устройство знает, от какого модуля пришел ответ. Поле «Код функции» говорит модулю о том, какое действие нужно вы- полнить. Поле «Данные» может содержать произвольное количество байт. В нем может содержаться информация о параметрах, используемых в запросах кон- троллера или ответах модуля. Поле «Контрольная сумма» содержит контрольную сумму CRC длиной 2 байта. Структура данных в режиме RTU. В режиме RTU данные передаются младшими разрядами вперед (рис. 2.26). Стартовый бит 1 (МЗР) 2 3 4 5 6 7 8 Бит паритета Стоп-бит Рис. 2.26. Последовательность битов в режиме RTU. МЗР — младший значащий разряд. При отсутствии бита паритета на его место записывается второй стоп-бит По умолчанию в RTU режиме бит паритета устанавливают равным 1, ес- ли количество двоичных единиц в байте нечетное, и равным 0, если оно чет- ное. Такой паритет называют четным (even parity), а метод контроля назы- вают контролем четности. При четном количестве двоичных единиц в байте бит паритета может быть равен 1. В этом случае говорят, что паритет является нечетным (odd parity). Контроль четности может отсутствовать вообще. В этом случае вместо бита паритета должен использоваться второй стоповый бит. Для обеспечения мак- симальной совместимости с другими продуктами рекомендуется использовать возможность замены бита паритета на второй стоповый бит. Ведомые устройства могут воспринимать любой из вариантов: четный, нечетный паритет или его отсутствие. Структура Modbus RTU сообщения. Сообщения Modbus RTU переда- ются в виде кадров, для каждого из которых известно начало и конец. При- знаком начала кадра является пауза (тишина) продолжительностью не менее 3,5 шестнадцатеричных символов (14 бит). Кадр должен передаваться непре- рывно. Если при передаче кадра обнаруживается пауза продолжительностью более 1,5 шестнадцатеричных символа (6 бит), то считается, что кадр содержит ошибку и должен быть отклонен принимающим модулем. Эти величины пауз
110 Глава 2 должны строго соблюдаться при скоростях ниже 19200 бит/с, однако при бо- лее высоких скоростях рекомендуется использовать фиксированные значения паузы, 1,75 мс и 750 мкс соответственно. Контроль ошибок. В режиме RTU имеется два уровня контроля ошибок в сообщении: контроль паритета для каждого байта (опционно) и контроль кадра в целом с помощью CRC метода. CRC метод используется независимо от проверки паритета. Значение CRC устанавливается в ведущем устройстве перед передачей. При приеме сообще- ния вычисляется CRC для всего сообщения и сравнивается с его значением, указанным в поле CRC кадра. Если оба значения совпадают, считается, что сообщение не содержит ошибки. Стартовые, стоповые биты и бит паритета в вычислении CRC не участвуют. 2.8.3. Прикладной уровень Прикладной уровень Modbus RTU версии 1.1а описан в [136]. Он обеспе- чивает коммуникацию между устройствами типа «ведущий/ведомый». При- кладной уровень независим от физического и канального уровней, в частно- сти, он может использовать протоколы Ethernet TCP/IP (Modbus TCP/IP), Modbus Plus (многомастерная сеть с передачей маркера), интерфейсы RS-232, RS-422, RS-485, оптоволоконные, радиоканалы и другие физические среды для передачи сигналов. Прикладной уровень Modbus основан на запросах с помощью кодов функ- ций. Код функции указывает ведомому устройству, какую операцию оно долж- но выполнить. При использовании протокола прикладного уровня с различными протоко- лами транспортного и канального уровней сохраняется неизменным основной блок Modbus-сообщения, включающий код функции и данные. Этот блок на- зывается PDU (Protocol Data Unit) — элемент данных протокола. К блоку PDU могут добавляться дополнительные поля при использовании его в раз- личных промышленных сетях и тогда он называется ADU (Application Data Unit) — элемент данных приложения. Коды функций. Стандартом Modbus предусмотрены три категории ко- дов функций: установленные стандартом, задаваемые пользователем и заре- зервированные. Коды функций являются числами в диапазоне от 1 до 127. Коды в диа- пазоне от 65 до 72 и от 100 до ПО относятся к задаваемым пользователем функциям, в диапазоне от 128 до 255 коды зарезервированы для пересылки кодов ошибок в ответном сообщении. Код «0» не используется. Коды ошибок используются ведомым устройством, чтобы определить, ка- кое действие предпринять для их обработки. Значения кодов и их смысл опи- саны в стандарте на Modbus RTU [136]. Поле данных (см. рис. 2.25) в сообщении, посланном от ведущего устрой- ства ведомому, содержит дополнительную информацию, которую ведомое ис- пользует, чтобы выполнить функцию, указанную в поле «код функции». Поле
Промышленные сети и интерфейсы 111 Таблица 2.13 Пример кодов Modbus RTU для модуля RealLab! типа NL-16DI Обозна- чение регистра НЕХ-адрес регистра Что читается или записывается Код функ- ции чтения регистра Код функ- ции записи в регистр Примечание 00001 00h 00h Дискретный выход 0 01 05 1 или 0 00002 00h 01h Дискретный выход 1 01 05 1 или 0 10001 OOh OOh Дискретный вход 0 02 - 1 или 0 10002 OOh Olh Дискретный вход 1 02 - 1 или 0 10003 OOh 02h Дискретный вход 2 02 - 1 или 0 10004 OOh 03h Дискретный вход 3 02 - 1 или 0 10005 OOh 04h Дискретный вход 4 02 - 1 или 0 10006 OOh 05h Дискретный вход 5 02 - 1 или 0 10007 OOh 06h Дискретный вход 6 02 - 1 или 0 10008 OOh 07h Дискретный вход 7 02 - 1 или 0 10009 OOh 08h Дискретный вход 8 02 - 1 или 0 10010 OOh 09h Дискретный вход 9 02 - 1 или 0 10011 OOh OAh Дискретный вход 10 02 - 1 или 0 10012 OOh OBh Дискретный вход 11 02 - 1 или 0 10013 OOh OCh Дискретный вход 12 02 - 1 или 0 10014 OOh ODh Дискретный вход 13 02 - 1 или 0 10015 OOh OEh Дискретный вход 14 02 - 1 или 0 10016 OOh OFh Дискретный вход 15 02 - 1 или 0 40201 OOh C8h Имя модуля 03 10 - 40213 OOh D4h Версия программы 03 - - 40513 02h OOh Адрес модуля 03 06 0001h-00F7h (допустимый диапазон значений) 40514 02h Olh Скорость UART 03 06 0003h-000Ah (допустимый диапазон значений) 40518 02h 05h Протокол 03 06 0000h — ASCII, 0001h — RTU 40769 03h OOh Значение на выходе после включения питания модуля Power On ValueO 03 06 0000h-0003h (допустимый диапазон значений) данных может содержать значения состояний дискретных входов/выходов, ад- реса регистров, из которых надо считывать (записывать) данные, количество байт данных, ссылки на переменные, число переменных, код подфункций и т.п. Если ведомый нормально выполнил принятую от ведущего функцию, то в ответе поле «код функции» содержит ту же информацию, что и в запросе. В противном случае ведомый выдает код ошибки. В случае ошибки код функ- ции в ответе равен коду функции в запросе, увеличенному на 128. Содержание поля данных. В сообщении ведущего устройства ведомому поле данных содержит дополнительную информацию, необходимую для вы- полнения указанной функции. Например, если код функции указывает, что
112 Глава 2 необходимо считать данные из группы регистров устройства ввода (код функ- ции 03 hex), то поле данных содержит адрес начального регистра и количество регистров. Если ведущее устройство посылает команду записи данных в груп- пу регистров (код функции 10 hex), то поле данных должно содержать адрес начального регистра, число регистров, количество байтов данных и данные для записи в регистр. Конкретное содержание поля данных устанавливается стандартом для каждой функции отдельно. В некоторых сообщениях поле данных может иметь нулевую длину. Список кодов Modbus. В табл. 2.13 приведены примеры кодов Modbus RTU для модуля дискретного ввода и вывода типа RealLab! NL-16DI (фирмы НИЛ АП). Для чтения логических состояний входов модуля через интерфейс RS-485 необходимо послать команду в формате, показанном на рис. 2.25, где в полях «Адрес», «Код» указываются значения из соответствующих столб- цов табл. 2.13. 2.9. Промышленный Ethernet Ethernet появился более 30 лет назад. В настоящее время под Ethernet понимают семейство продуктов для локальных сетей, которые соответствуют стандарту IEEE 802.3. Промышленному применению стандарта долгое время мешал метод случайного доступа к сети, не гарантировавший доставку сооб- щения в короткое и заранее известное время. Однако это проблема была ре- шена применением коммутаторов (см. ниже). Доля Ethernet среди установ- ленных промышленных сетей в 2000 году составляла 11 %, в 2005 г. — уже 23 % [142]. В настоящее время (с 2004 по 2008 годы) рынок промышленного Ethernet растет со скоростью 51 % в год [170], он стал промышленным стан- дартом, и имеется большой выбор оборудования, удовлетворяющего промыш- ленным требованиям. Недостатком промышленного Ethernet является относи- тельно высокая цена: Ethernet модули ввода-вывода в среднем в 2 раза дороже аналогичных Modbus-устройств. Внедрению Ethernet в промышленность способствовали следующие его ка- чества: • высокая скорость передачи (до 10 Гбит/с) и соответствие требованиям жесткого реального времени при высоком быстродействии (например, при управлении движением); • простота интеграции с Интернетом и интранетом, в том числе по прото- колам прикладного уровня SNMP (Simple Network Management Protocol), FTP, MIME (Multipurpose Internet Mail Extensions), HTTP; • простота интеграции с офисными сетями; • наличие большого числа специалистов по обслуживанию Ethernet; • по-настоящему открытые решения; • возможность организации многомастерных сетей; • неограниченные возможности по организации сетей самых разнообразных топологий;
Промышленные сети и интерфейсы 113 • широкое применение в офисных сетях, что обеспечило экономическую эф- фективность технической поддержки стандарта со стороны международ- ных организаций по стандартизации; • появление недорогих коммутаторов, решивших проблему недетерминиро- ванности Ethernet. Продвижением и технической поддержкой промышленного Ethernet зани- мается ассоциация Industrial Ethernet Association (IEA, www.industrialether- net.com), которая была организована в 1999 г. по инициативе шести ком- паний (Synergetic Micro Systems, Grayhill, HMS Fieldbus Systems, Hilscher, Contemporary Controls и Richard Hirschmann). Существуют четыре стандартные скорости передачи данных в сетях Ether- net по оптоволоконному кабелю и витой паре проводов: 10 и 100 Мбит/с, 1 и 10 Гбит/с. Ethernet имеет несколько модификаций, структура наименований которых имеет следующий вид: <скорость передачи>ВА8Е<дополнительные обозначениям Скорость указывается цифрой в Мбит/с или в Гбит/с, в по- следнем случае к цифре добавляется буква G. Буквы после «BASE» означают тип кабеля: Т (Twisted pair) — витая пара, F (Fiber optic) — оптоволоконный, S (Short wavelength optic) — оптический коротковолновый, L (Long wavelength) — длинноволновый, C (short Copper cable) — короткий медный кабель. Символ «X» означает наличие блока кодирования на физическом уровне. В тексте стандарта IEEE 802.3-2005 [138] приводится 44 варианта таких обозначений. Например, 10BASE-T означает спецификацию физического уровня для скоро- сти 10 Мбит/с с методом доступа CSMA/CD и с использованием двух витых пар проводов; 100BASE-FX — для скорости 100 Мбит/с, CSMA/CD с применением двух многомодовых оптических кабелей. В промышленной автоматизации наибольшее распространение получили стандарты 10BASE-T и 100BASE-TX, а также 100BASE-FX, которые и будут рассмотрены ниже. В табл. 2.14 приведена типовая модель OSI для локальной сети LAN, в которой Ethernet как стандарт IEEE 802.3 охватывает только физический и Таблица 2.14 Уровни модели OSI для сети Ethernet Уровень OSI-модель Сеть Ethernet Варианты реализации 7 6 5 Прикладной Уровень представления Сеансовый Прикладной HTTP, FTP, SMTP, DNS NFS, XDR, RPC 4 Транспортный Транспортный TCP UDP 3 Сетевой Интернет-протокол IP 2 Канальный (передачи данных) LLC или другие клиенты МАС Ethernet IEEE 802.3 МАС 1 Физический PHY Витая пара, оптический кабель, коаксиальный кабель
114 Глава 2 канальный уровень. На других уровнях в табл. 2.14 в качестве примера пред- ставлены протоколы Интернета. Здесь LLC (Logical Link Control — управление логическими связями) — клиент подуровня MAC; MAC (Medium Access Cont- rol) — подуровень управления доступом к линии передачи; PHY (PHYsical) — физический уровень (линия передачи). Уровни 1 и 2 Ethernet-протокола обычно воплощаются аппаратно, осталь- ные — программно [140]. 2.9.1. Особенности Ethernet При использовании стандартного Ethernet время реакции сети часто пре- вышает 100 мс. В локальных сегментах сети с малым количеством устройств оно снижается до 20 мс при использовании протокола TCP и до 10 мс — для UDP. Использование прямой МАС-адресации в локальных сегментах сети мо- жет уменьшить время реакции до 1 мс [143]. Однако это время в Ethernet является случайной величиной. Поэтому основным отличием промышленно- го Ethernet от офисного является наличие коммутаторов, которые превращают Ethernet в сеть с детерминированным поведением. Для промышленных применений не годятся кабели и разъемы, использу- емые в офисных сетях. Поэтому ряд производителей представляют на рынке разъемы RJ-45 со степенью защиты IP67 от воздействий окружающей среды. Надежность промышленного Ethernet обеспечивается резервированием ка- бельных линий и сетевых карт, а также специальным программным обеспече- нием для резервирования [139] (см. также главу 8). Для повышения степени защиты системы управления от несанкциониро- ванного доступа магистральную сеть Industrial Ethernet отделяют от офисной брандмауэром*. Отличительные признаки промышленного Ethernet: • отсутствие коллизий и детерминированность поведения благодаря приме- нению коммутаторов; • индустриальные климатические условия; • устойчивость к вибрациям; • отсутствие вентиляторов в оборудовании; • повышенные требования к электромагнитной совместимости; • компактность, крепление на ДИН-рейку; • удобное подключение кабелей; • диагностическая индикация на панели прибора; • электропитание от источника напряжения в диапазоне от 10 до 30 В; • возможность резервирования; • разъемы и оборудование со степенью защиты до IP67; • защита от электростатических зарядов, электромагнитных импульсов, от превышения напряжения питания; • полнодуплексная передача. * Брандмауэр — межсетевой экран для защиты от несанкционированного доступа. Другие названия: файервол, фильтр.
Промышленные сети и интерфейсы 115 Недостатком Ethernet является значительный уровень «накладных расхо- дов» в протоколах TCP/IP, которые рассчитаны на пересылку данных больших объемов. Если же устройство пересылает всего 8 байт, что типично для АСУ ТП, то полезная информация в протоколе составляет всего 11 %, поскольку каждый пакет TCP/IP содержится 68 байт служебной информации. Однако это часто можно скомпенсировать большой пропускной способностью сети. 2.9.2. Физический уровень Физический уровень состоит из среды передачи (оптический кабель или витая пара) и методов кодирования информации для каждой скорости пере- дачи. На рис. 2.27 представлена структура канального и физического уров- ня Ethernet 100BASE-T в соответствии со стандартом IEEE 802.3. Здесь MDI (Medium Dependent Interface) — интерфейс, зависящий от среды передачи дан- ных; РМА (Physical Medium Attachment) — дополнение физической среды пе- редачи; PCS (Physical Coding Sublayer) — подуровень физического кодирова- ния; МП (Media Independent Interface) — интерфейс между подуровнями, не зависящий от типа линии передачи. MDI на рис. 2.27 — это устройство для соединения линии связи с транси- вером. Подуровень РМА включает в себя трансивер, а также схему синхро- низации принимаемых данных. Подуровень PCS обеспечивает схему кодирова- ния, мультиплексирования и синхронизации потока символов, а также вырав- нивание спектра кодового сигнала, демультиплексирование и декодирование. Подуровень согласования обеспечивает согласование интерфейса МП с МАС- уровнем. Интерфейс МП, не зависящий от типа среды передачи, обеспечивает связь между уровнем МАС и подуровнем PHY. Витые пары Рис. 2.27. Структура физического и канального уровня Ethernet
116 Глава 2 Описанная структура 100BASE-T с помощью МП может быть подключена к физическим уровням типа 100BASE-T4 (использует четыре неэкранированные витые пары категории не ниже 3), 100BASE-TX (использует две неэкраниро- ванные или экранированные витые пары категории не ниже 5), 100BASE-FX (использует два многомодовых оптических кабеля) и 100BASE-T2 (использует две неэкранированные витые пары категории не ниже 3). В структуре на рис. 2.27 может еще присутствовать необязательный блок автоматического выбора скорости передачи. Термин «IOOBASE-Х» использу- ется для общего обозначения 100BASE-TX и 100BASE-FX. Методы кодирования. Наиболее распространенные в промышленной ав- томатизации стандарты 10BASE-T и 100BASE-TX используют манчестерский код (см. п. 2.7.1) для скорости передачи 10 Мбит/с и 4В/5В-кодирование в со- четании с NRZI (NRZ Inverted — инвертированный NRZ, рис. 2.28) для ско- рости 100 Мбит/с. При низкой скорости обмена (10 Мбит/с) используется манчестерский код, при котором логическая единица кодируется переходом сигнала с низкого уров- ня на высокий (рис. 2.28), а логический ноль — переходом с высокого уровня на низкий. Недостатком манчестерского кода является широкая полоса частот- ного спектра, связанная с необходимостью переключения уровней сигнала при поступлении каждой двоичной цифры (сравните его с NRZ-кодом на рис. 2.28). Синхроимпульсы Данные Манчестерский код NRZ-код NRZI-код NRZI и MLT-3 । 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 : । 1 ' 1 1 । : । 1 1 ! 1 । : । 1 1 0 । : । 1 1 0 I : I 1 ' 1 1 । : । 1 1 0 । : । 1 1 । : 1 • 0 । : 1 1 J 1 1 1 I 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 । । । 1 1 Рис. 2.28. Сравнение разных способов кодирования двоичных цифр электрическими сигналами
Промышленные сети и интерфейсы 117 В спектре манчестерского кода присутствует две ярко выраженные гармоники, которые при скорости передачи 10 Мбит/с составляют 10 МГц при передаче всех единиц и 5 МГц — для сигнала, состоящего из чередующихся нулей и единиц. Для уменьшения помех, излучаемых линией при скорости передачи 100 Мбит/с (100BASE-TX), используется NRZI-кодирование, при котором дво- ичной единице соответствует смена уровня NRZI-сигнала, а нулю — ее отсут- ствие (рис. 2.28). Высокий или низкий уровень NRZI-сигнала устанавлива- ется в зависимости от того, какой уровень был до него. Логической едини- це соответствует изменение сигнала независимо от того, какой уровень при- сутствовал на шине ранее. Уровень не изменяется, если нужно закодировать логический ноль. Иначе говоря, логическая единица при NRZI-кодировании инвертирует предыдущее логическое состояние, поэтому в названии кода при- сутствует слово Inverted. NRZI-кодирование, как и NRZ, позволяет передать в два раза больше ин- формации по сравнению с манчестерским кодированием при той же частоте смене уровней сигнала и, соответственно, в два раза понизить максимальную частоту излучаемых помех при той же скорости передачи информации. Макси- мальная частота смены уровней при NRZI кодировании понижается до 62,5 МГц по сравнению с максимальной частотой смены уровней сигнала 125 МГц для скорости передачи 100 Мбит/с (пояснения см. ниже, при описании 4В/5В- кодирования). При переходе к скорости передачи 100 Мбит/с проблема снижения мощ- ности излучаемых помех становится особенно остро, поэтому для дальнейшего снижения ширины спектра сигнала в 100BASE-TX вместо двухуровневого сиг- нала используется трехуровневый MLT-3 (MultiLevel Threshold-3 — многоуров- невый 3-пороговый, см. рис. 2.28). Благодаря тому, что для кодирования инфор- мации используются три уровня (а не два), увеличивается количество инфор- мации, которое может быть закодировано в сигнале при той же ширине спектра и длительности сигнала. Максимальная частота смены уровней сигнала при скорости передачи 100 Мбит/с снижается с 62,5 МГц при NRZI-кодировании до 31,25 МГц при сочетании NRZI кода с MLT-3. Поскольку при использовании NRZI-кодирования последовательность ну- лей кодируется нулевым уровнем сигнала, в передаваемом сигнале появляются последовательности из нескольких повторяющихся нулей, которые порождают проблему синхронизации на стороне приемника. Для ее устранения используют кодирование 4В/5В. Суть его состоит в следующем. К каждой тетраде (4 би- та) передаваемых данных добавляется 5-й бит. Получившееся слово длиной 5 бит позволяет записать 25 = 32 кодовых комбинаций, из которых исключа- ют комбинации, имеющие три и более нулей. Оставшиеся комбинации ставят в соответствие шестнадцатеричным числам от 0 до F, получая таим образом таблицу кодирования. Этот подход позволяет обеспечить по крайней мере два фронта сигнала на одну тетраду, что упрощает синхронизацию данных в при- емнике. Добавление пятого бита (25 % от длины тетрады) влечет за собой необходимость увеличения частоты передачи со 100 до 125 МГц для сохране- ния эффективной пропускной способности канала 100 Мбит/с.
118 Глава 2 Рис. 2.29. Структурная схема блока PHY Ethernet [140] Диапазон частот, в котором мощность излучаемых помех максимальна, за- висит от распределения нулей и единиц в передаваемых данных. При 4В/5В- кодировании максимальная мощность помех приходится на частоту, с которой повторяются 5-битные последовательности. Для уменьшения помех можно вы- брать такое шифрование (скремблирование) передаваемых данных, при кото- ром мощность помех будет распределена по всему диапазону частот равномер- но. Это выполняется с помощью блока скремблирования и позволяет на 20 дБ (в 10 раз) снизить мощность основной гармоники, распределив ее равномерно по всему диапазону излучаемых частот. Перечисленные методы уменьшают ширину спектра до 31,25 МГц при ско- рости передачи 100 Мбит/с. Структурная схема блока PHY показана на рис. 2.29. Блок состоит из приемного (внизу) и передающего (вверху) канала, которые через изолирую- щие трансформаторы подключаются к линии передачи (две витые пары) через разъем RJ-45. Трансформаторы используется для изоляции трансивера от вы- соких синфазных напряжений, которые могут появляться на линии вследствие электромагнитных и электростатических наводок. Цоколевка разъема RJ-45 показана на рис. 2.30. При соединениях двух ком- пьютеров (и других конечных станций, которые имеют идентичные разъемы) необходим перекрещивающийся кабель (рис. 2.30,6), поскольку приемник дол- жен быть соединен с передатчиком, и наоборот. При соединении компьютера с сетевыми устройствами (коммутаторами, повторителями и т.д.) использует- ся прямой кабель (рис. 2.30,а), поскольку необходимые соединения контактов с печатной платой выполнены на самой плате. Многие современные Ethernet- коммутаторы автоматически определяют полярность жил кабеля, поэтому для них можно использовать оба варианта. Неиспользуемые выводы на рис. 2.30 иногда применяются для передачи напряжения питания между устройствами. Доступ к линии передачи. Блок CSMA/CD на рис. 2.29 выполняет прослушивание линии передачи (CS — Carrier Sense), чтобы определить ее за- нятость; обеспечивает доступ многим участникам сети к общей линии передачи (МА — Multiple Access) и обнаруживает коллизии в линии (CD — Collision Detection). Если при прослушивании линии обнаружено, что она свободна,
Промышленные сети и интерфейсы 119 | Rx+ pL Оранжевый -*{ Тх+ | _ о Оранжевый о _ 1 Dv |2_ —J Tv 1 | кх— L IX— | Зеленый | Тх+ р- Rx+ | - А А — Т 4 Синий 4 | j 5 Синий 5 l _ а а - | Тх- Зеленый Rx- | J Коричневый [_ *7 _ | / / [_ - Я Коричневый Я - О а) Rx+ 1-Lck lr Rx+ | о о _ Rx- 1 Z I Rx- | Tx+ 1 5 | Tx+ | _ A ' A — 4 J 4 | , < & lLZ/ J % 5 | _ A / Tx- 0 z - VO Tx- | *7 _ J g 6) Рис. 2.30. Цоколевка разъемов Ethernet-кабеля: нормального (а) и перекрещивающегося (6) может начинаться передача данных. Если в то же время передачу начина- ют и другие устройства в сети, это считается нормальным событием (напом- ним, что в RS-485 интерфейсе одновременная передача нескольких устройств является запрещенным режимом и приводит к перегреву выходных каскадов передатчиков). Если при прослушивании линии устройство обнаруживает, что во время ра- боты его передатчика в линии имеются данные от других устройств (это состоя- ние линии называется коллизией), то передача прекращается и возобновляется по истечении случайного промежутка времени. Коллизии возникают не только при одновременном начале передачи несколькими устройствами, но и в случае, когда в сети имеется большая задержка (например, из-за большой длины кабе- ля или большого количества повторителей). При наличии задержки возможна ситуация, когда одна станция начала передачу, но данные еще не дошли до другой станции, которая прослушивает линию с целью начать передачу. Для нормального распознавания коллизии она должна быть обнаружена во время передачи кадра (а не после). Для этого задержка сигнала в сети не должна быть слишком большой. Так, при скорости передачи 100 Мбит/с длина кабеля не должна превышать 100 м и между любыми двумя станциями должно быть не более четырех концентраторов. Во время передачи данных по линии все устройства сети находятся в режи- ме приема, но только одно из них, которое узнает в передаваемом кадре свой адрес, принимает данные в буфер и посылает кадр-ответ. После завершения одного акта обмена данными все станции должны выдержать паузу длиной в 9,6 мкс при скорости передачи 10 Мбит/с и 0,96 мкс при 100 Мбит/с. Коллизии и повторные попытки передачи кадра являются причиной того, что время доставки сообщения в сети Ethernet не является детерминированным и его величина резко возрастает с ростом загруженности сети. Причина состоит в том, что при возникновении коллизий загруженность сети возрастает вслед- ствие попыток повторной передачи одних и тех же кадров при возникновении
120 Глава 2 коллизий. Поэтому теоретически возможна ситуация, при которой устройство никогда не получит доступ к сети. Такое положение явилось основной причиной, по которой сеть Ethernet долгое время не находила применение в промышленной автоматизации. Эту проблему удалось решить с помощью коммутаторов. Коммутаторы. Коммутатор представляет собой интеллектуальное мно- гопортовое устройство, которое устанавливает физическую связь между дву- мя Ethernet-устройствами. При этом другие устройства сети оказываются не подключенными к образованному каналу передачи. Таким образом, вместо обобществленного канала передачи коммутатор позволяет получить несколь- ко независимых друг от друга каналов между парами устройств. Сеть ока- зывается разделена на независимые сегменты, в каждом из которых может происходить обмен информацией независимо от других. Это приводит к увели- чению пропускной способности сети, снижению коэффициента загруженности, а также к устранению коллизий. Коллизии полностью устраняются только при полнодуплексной передаче, поскольку благодаря коммутатору в одно и то же время в любом сегменте сети могут одновременно передавать данные только два устройства, и они могут это делать не мешая друг другу благодаря дуплексному каналу, использующему две витые пары проводов. При полудуплексной связи оба устройства могут начать передачу одновременно, и, поскольку они подключены к одной и той же паре проводов, может возникнуть коллизия, хотя и с очень малой вероятно- стью. Заметим, что полнодуплексный режим возможен только при соединении «точка-точка», которое реализуется с помощью коммутаторов. Для выполнения задачи сегментирования сети коммутатор содержит таб- лицу МАС-адресов сетевых устройств (до нескольких тысяч [139]). Таблица адресов может быть занесена в коммутатор при его настройке или сгенериро- вана коммутатором автоматически. В последнем случае некоторое время после инсталляции коммутатор пассивно наблюдает за деятельностью сети, собирая МАС-адреса устройств, от которых приходят данные и занося их в таблицу. После завершения акта «обучения» коммутатор пользуется созданной табли- цей для распределения входящих в него кадров. МАС-адрес (Ethernet-адрес) — это аппаратный, или физический адрес устройства (или сетевой карты) в сети. Состоит из 48 бит (6 байтов, напри- мер 00-08-74-4C-7F-1D), три из которых устанавливаются организацией IEEE каждому производителю индивидуально, а вторые три устанавливает произ- водитель. МАС-адрес записан в ПЗУ сетевого устройства и не может быть изменен. МАС-адрес надо отличать от IP-адреса (например, 192.168.0.1), ко- торый является логическим (протокольным, виртуальным) адресом и назна- чается администратором сети (младшие цифры), Интернет-провайдером и ре- гиональным Интернет-регистратором. Если 2N устройств соединяются через коммутатор попарно, пропускная способность сети возрастает в N раз. Однако в общем случае увеличение пропускной способности может быть меньше, если несколько устройств пы- таются соединиться через коммутатор с одним и тем же сетевым устройством.
Промышленные сети и интерфейсы 121 Поскольку пропускная способность выходного порта коммутатора ограничена, входящий трафик оказывается в несколько раз больше исходящего, а буфер- ная память коммутатора ограничена. Это может привести к потере данных, если не предпринять мер для подавления входящего трафика. Подавление вы- полняется с помощью специальной технологии Advanced Flow Control, когда сетевой адаптер, поддерживающий этот стандарт, после получения команды от коммутатора «Приостановить передачу», прекращает передачу кадров, а после команды «Возобновить передачу» возобновляет ее. 2.9.3. Канальный уровень Канальный уровень модели OSI состоит из подуровня управления логиче- ским соединением LLC (Logical Link Control) и подуровня доступа к физической линии передачи MAC (Media Access Control). На рис. 2.31 представлена структура Ethernet-фрейма. Он начинается с преамбулы, которая представляет собой чередующиеся единицы и нули и ука- зывает получателю, что начинается передача фрейма. Поле «Флаг начала» указывает получателю, что сразу по окончании этого поля начнется передача содержательной части фрейма. Адрес отправителя и получателя представляют собой МАС-адреса. Поле «Тип» указывает, какой тип протокола более высоко- го уровня (TCP/UDP и IP) инкапсулирован в поле данных. Поле CRC содержит значение циклического избыточного кода (CRC) для всего фрейма. Преамбула Флаг начала Адрес получателя Адрес отправителя Тип Данные CRC 7 байт 1 байт 6 байт 6 байт 2 байт 46... 1500 байт 4 байт Рис. 2.31. Структура фрейма Ethernet. Общая длина 72 байта. Пакеты TCP/UDP и IP инкапсулированы в поле «Данные» Поле данных содержит пакеты протокола более высокого уровня, напри- мер TCP/UDP и IP, и данные. Это поле может также содержать протоко- лы прикладного уровня других промышленных сетей, образуя гибридные се- тевые протоколы Modbus TCP (на основе Modbus RTU, от компании Schneider Electric), EtherNet/IP (на основе DeviceNet, разработан Rockwell Automation и ODVA), HSE (на основе Foundation Fielbus), ProfiNet (Profibus в Ethernet), Interbus-TCP/IP и другие (более 14 протоколов). В этих протоколах остают- ся следующие общие черты Ethernet: • технология передачи данных на физическом уровне (Ethernet); • метод доступа к сети CSMA/CD; • IP-протокол на 3-м уровне модели OSI; • TCP и UDP-протоколы на 4-м уровне модели OSI. 2.9.4. Modbus TCP Протокол Modbus TCP [144] (или Modbus TCP/IP) используется для того, чтобы подключить устройства с протоколом Modbus к Ethernet или Интерне- ту. Он использует кадры Modbus RTU на 7-м (прикладном) уровне модели
122 Глава 2 ADU для Modbus TCP ◄-------------------------------------------------------------------► Идентификатор обмена Идентификатор протокола Длина Идентификатор устройства Код функции Данные 2 байта 2 байта 2 байта 1 байт МВАР 1 байт Переменной длины PDU Я R Рис. 2.32. Часть фрейма Modbus TCP, встраиваемая в поле «Данные» фрейма Ethernet (см. рис. 2.31) OSI, протоколы Ethernet на 1-м и 2-м уровне модели OSI и TCP/IP на 3-м и 4-м уровне, т.е. Ethernet TCP/IP используется для транспортировки моди- фицированного кадра Modbus RTU. Кадр Modbus RTU (см. рис. 2.25) используется без поля контрольной сум- мы, поскольку используется стандартная контрольная сумма Ethernet TCP/IP. Не используется также поле адреса, поскольку в Ethernet используется иная си- стем адресации. Таким образом, только два поля: «Код функции» и «Данные» (блок PDU) встраиваются в протокол Ethernet TCP/IP. Перед ними вставляет- ся новое поле — заголовок МВАР (ModBus Application Protocol — приклад- ной протокол MobBus, рис. 2.32). Поле «Идентификатор обмена» используется для идентификации сообще- ния в случае, когда в пределах одного TCP соединения клиент посылает сер- веру несколько сообщений без ожидания ответа после каждого сообщения. Поле «Идентификатор протокола» содержит нули и зарезервировано для будущих применений. Поле «Длина» указывает количество следующих за ним байт. Поле «Идентификатор устройства» идентифицирует удаленный сервер, расположенный вне сети Ethernet (например, в сети Modbus RTU, которая со- единена с Ethernet с помощью межсетевого моста). Чаще всего это поле со- держит нули или единицы, игнорируется сервером и отправляется обратно в том же виде (как эхо). Изображенный на рис. 2.32 фрейм называется фреймом ADU (Application Data Unit), встраивается в поле «Данные» фрейма Ethernet (рис. 2.31) и посы- лается через TCP порт 502, специально зарезервированный для Modbus TCP (порты назначаются и контролируются организацией IANA (Internet Assigned Numbers Authority), www.iana.org). Клиенты и серверы Modbus посылают, по- лучают и прослушивают сообщения через TCP порт 502. Таким образом, структура кадра и смысл его полей «Код функции» и «Дан- ные» для Modbus и Modbus TCP совершенно идентичны, поэтому для работы с Modbus TCP не требуется дополнительного обучения по сравнению с Modbus RTU. Те же самые коды функций и данные, что и в Modbus RTU, передаются по очереди с прикладного (7-го) уровня модели OSI (рис. 2.33) на транспортный уровень, который добавляет к блоку PDU кадра Modbus RTU (рис. 2.25) заго- ловок с протоколом TCP. Далее новый полученный кадр передается на сетевой уровень, где в него добавляется заголовок IP, затем он передается на канальный
Промышленные сети и интерфейсы 123 Отправитель Получатель Витая пара, оптический кабель Рис. 2.33. Процесс передачи кадра Modbus RTU по уровням модели OSI че- рез стек протоколов Ethernet TCP/IP в сетях с протоколом Modbus TCP уровень Ethernet и на физический. Дойдя до физического уровня, блок PDU оказывается «обросшим» заголовками протоколов всех уровней, через которые он прошел. Пройдя по линии связи, сообщение продвигается снизу вверх по сте- ку протоколов (уровням модели OSI) в устройстве получателя, где на каждом уровне из него удаляется соответствующий заголовок, а на прикладном уровне выделяется блок PDU (код функции и данные) кадра протокола Modbus RTU. В сети с протоколом Modbus TCP устройства взаимодействуют по типу «клиент-сервер», где в качестве клиента выступает ведущее устройство, в ка- честве сервера — ведомое. Сервер не может инициировать связи в сети, но некоторые устройства в сети могут выполнять роль как клиента, так и сервера. Modbus TCP не имеет широковещательного или многоабонентского режи- ма, он осуществляет соединение только между двумя устройствами. 2.9.5. Profinet Profinet (Profibus 4- Ethernet) является одним из современных стандартов (IEC 61158 и IEC 61784), который обеспечивает простую интеграцию устройств Profibus, ASI и Interbus с промышленным Ethernet. Протокол ProfiNet разра- ботан Profibus International на базе Ethernet как совместимый с протоколом Profibus, поддерживаемым компанией Siemens. 2.10. Протокол DCON Протокол DCON (www.icpdas.com) не относится к стандартным, однако очень широко распространен в России благодаря популярности модулей ввода- вывода RealLab! серии NL фирмы НИЛ АП и усилиям фирм, продвигающих на российский рынок изделия тайваньских производителей ICP DAS и Advantech. Этот протокол использует только физический и прикладной уровень мо- дели OSI. На физическом уровне используется прямое двоичное кодирование,
124 Глава 2 когда логический ноль представлен низким уровнем напряжения в шине RS- 485, логическая единица — высоким уровнем. Требования к среде передачи (витая пара) определяются стандартом на интерфейс RS-485. Широкая популярность протокола DCON обусловлена отсутствием необ- ходимости в специализированных микросхемах для реализации стека протоко- лов, что существенно снижает себестоимость устройств, а следовательно, це- ну для конечного потребителя. С другой стороны, у системного интеграто- ра уменьшаются затраты на обучение, поскольку применение протокола пре- дельно простое. Протокол DCON используется в архитектуре «ведущий-ведомый». В сети может быть 255 ведомых устройств, но только одно ведущее, что в принципе исключает возможность конфликтов. Для увеличения надежности передачи информации на физическом уровне используется простейший способ — вычисление контрольной суммы. Каналь- ного уровня в протоколе нет и поэтому ошибки передачи могут быть выяв- лены только на прикладном уровне, непосредственно граничащем с програм- мой пользователя. Кадры протокола DCON имеют структуру, показанную на рис. 2.34. Каж- дый кадр начинается с разделителя, в качестве которого могут быть исполь- зованы знаки: $, #, %, @, *, в ответах ведомого устройства используются символы !, ?, >. Разделитель Адрес Команда (Данные) СНК Сг 1 байт 1 байт 1...5 байт 1...256 байт 1 байт 1 байт Рис. 2.34. Формат кадра протокола DCON За некоторыми командами следуют данные, но их может и не быть. Кон- трольная сумма, состоящая из двух символов, может отсутствовать. Каждый кадр должен оканчиваться символом возврата каретки «сг» (ASCII код ODh). Контрольная сумма (СНК) состоит из двух символов (в нее не включается код символа возврата каретки) и позволяет обнаружить ошибки в командах, посланных из ведущего устройства, а также в ответах ведомого. Вся информация, содержащаяся в кадре, включая адрес модуля и дан- ные, передается в ASCII-кодах. Контрольная сумма представляется двумя ASCII-символами шестнадца- теричного формата и передается непосредственно перед «возвратом каретки» (сг). Она должна быть равна сумме кодовых значений всех ASCII символов команды и быть представлена в шестнадцатеричной системе счисления. Ес- ли сумма больше FFh, то в качестве контрольной суммы используется толь- ко ее младший байт. Например, если нужно переслать ведомому устройству команду $012(сг), то сумма ASCII кодов символов команды (символ возврата каретки не считается) равна «$» + «О» + «1» 4- «2» = 24h + 30h -I- 31h 4- 32h = B7h, контрольная сумма равна B7h, т.е. перед символом (сг) в команде надо указать В7, и команда $012(сг) будет выглядеть как $012В7(сг).
Промышленные сети и интерфейсы 125 Таблица 2.15 Примеры команд протокола DCON Команда Ответ Описание %AANNTTCCFF !АА Устанавливает адрес, диапазон входных напряже- ний, скорость обмена, формат данных, контроль- ную сумму #АА >(Data) Возвращает все входные значения для заданного модуля #AAN >(Data) Возвращает входное значение в канале номер N для модуля с заранее заданным адресом $АА0 !АА Выполняет калибровку аналогового модуля для компенсации погрешности коэффициента передачи $АА1 !АА Выполняет калибровку аналогового модуля для компенсации погрешности смещения нуля $АА2 1AATTCCFF Возвращает параметры конфигурации модуля с указанным адресом SAA8 !AAV Читает конфигурацию светодиодного индикатора SAA8V !АА Устанавливает конфигурацию светодиодного индикатора Если ответ модуля на эту команду без контрольной суммы получен в виде, например, !01400600(сг), то сумма ASCII кодов символов этой команды равна «!» + «О» + «1» + «4» + «О» + «О» + «6» + «О» + «О» = 21h + 30h + 31h 4- 34h 4- 30h 4- 30h 4- 36h 4- 30h 4-30h = lACh, и контрольная сумма для этого случая равна АСЬ, т.е. ответ модуля при работе с контрольной суммой будет, например, !014006С0АС(сг), где предпоследний байт СО означает, что установлен режим обмена с контрольной суммой. При написании программы прикладного уровня используется набор ко- манд, примеры которых приведены в табл. 2.15. Команды делятся на четыре типа: 1) команды модулей аналогового ввода; 2) команды модулей аналогового вывода; 3) команды дискретного ввода-вывода; 4) команды счетчиков/таймеров. Рассмотрим пример применения команды #АА (см. табл. 2.15) для полу- чения данных из модуля аналогового ввода. Синтаксис команды: #АА[СНК](сг), где А А — адрес модуля (от 00 до FF). Ответ модуля на эту команду имеет вид > (Data) [СНК] (сг), если коман- да выполнена. Здесь > — символ-разделитель при выполненной команде; (Data) — измеренные данные. Если имели место синтаксические ошибки или ошибки связи, то ответа нет. Например, для опроса модуля с адресом 01 рассматриваемая команда при- мет вид #01 (сг). Ответ на нее может выглядеть следующим образом: >4-1.23454-0.3456+0.0001+2.5000+1.2345+0.3456+0.0001+2.5000 В ответе представлены 8 значений напряжений на 8 входах модуля ввода. Подробное описание команд протокола DCON можно найти на вебсайте www.RealLab.ru.
126 Глава 2 2.11. Беспроводные локальные сети Существует много объектов автоматизации, где сложно обойтись без бес- проводных сетей или где их применение явно желательно: • датчики и исполнительные устройства на подвижных частях конвейеров, ветряных мельниц, лифтов, миксеров, тележек для перемещения грузов по цеху, на крыльях и лопастях самолетов, на подшипниках двигателей, на роботах, в передвижных лабораториях, датчики на теле человека и живот- ных; датчики вибрации на контейнерах для перевозки грузов; • объекты, в которых нежелательно сверлить стены или портить дизайн: офисные здания, в которых устанавливается пожарная и охранная сигна- лизация, датчики для систем обогрева и кондиционирования воздуха, для мониторинга механических напряжений в конструкциях зданий; в системах «умного дома» (управление освещением, кондиционированием-обогревом, охранными датчиками, бытовыми приборами и др.); • эпизодическое программирование и диагностика ПЛК, когда прокладывать постоянные кабели не выгодно; дистанционное считывание показаний счет- чиков, самописцев; • объекты с агрессивными средами, вибрацией; объекты, находящиеся под высоким напряжением или в местах, не удобных для прокладки кабеля; • отслеживание траектории движения транспорта, охрана границ государ- ства, мониторинг напряженности автомобильного трафика в городах и условий на дорогах, мониторинг леса, моря, сельскохозяйственных куль- тур, мониторинг вредных выбросов в экологии; • любые объекты, для которых известно, что стоимость кабелей, кабельных каналов, опор или траншей, а также работ по монтажу и обслуживанию су- щественно превышает стоимость заменяющей беспроводной системы, при условии отсутствия жестких требований к надежности доставки сообще- ний в реальном времени; • объекты во взрывоопасных зонах. В большинстве применений беспроводные сети позволяют достичь следую- щих преимуществ по сравнению с проводными сетями [155]: • существенно снизить стоимость установки датчиков; • исключить необходимость профилактического обслуживания кабелей; • исключить дорогостоящие места разветвлений кабеля; • уменьшить количество кабелей; • уменьшить трудозатраты и время на монтаж и обслуживание системы; • снизить стоимость системы за счет исключения кабелей; • снизить требования к обучению персонала монтажной организации; • ускорить отладку системы и поиск неисправностей; • обеспечить удобную модернизацию системы. Поскольку реконфигурация системы и ее монтаж становятся гораздо более простыми, беспроводные сети можно использовать и в традиционных областях применения кабельных связей, когда стоимость кабеля и монтажа оказывается выше, чем установка беспроводной системы.
Промышленные сети и интерфейсы 127 Беспроводные сети делятся на следующие классы: • сотовые сети WWAN (Wireless Wide Area Network); • беспроводные LAN (WLAN — Wireless LAN); • беспроводные сети датчиков. В промышленной автоматизации наибольшее распространение получили три типа беспроводных сетей: Bluetooth [147] на основе стандарта IEEE 802.15.1, ZigBee [153] на основе IEEE 802.15.4 [152] и Wi-Fi на основе IEEE 802.11 [151, 149]. Физические уровни модели OSI для этих сетей основаны на соответству- ющих стандартах IEEE, а протоколы верхних уровней разработаны и поддер- живаются организациями Bluetooth, ZigBee и Wi-Fi соответственно. Поэтому в названии сетей обычно указывают ссылки на стандарт. Все три сети использу- ют нелицензируемый ISM (Industrial, Scientific, and Medical) диапазон 2,4 ГГц. 2.11.1. Проблемы беспроводных сетей и пути их решения С точки зрения требований к промышленным сетям беспроводные сети уступают проводным по следующим характеристикам: • время доставки сообщений: используемый механизм случайного доступа к каналу CSMA/CA не гарантирует доставку в заранее известное время [154] и эту проблему нельзя решить с помощью коммутаторов, как в про- водных сетях; • помехозащищенность: беспроводные сети подвержены влиянию электро- магнитных помех значительно сильнее, чем проводные; • надежность связи: связь может исчезнуть при несвоевременной смене бата- рей питания, изменении расположения узлов сети или появлении объектов, вносящих затухание, отражение, преломление или рассеяние радиоволн; • ограниченная дальность связи без использования ретрансляторов (обычно не более 100 м внутри помещений); • резкое падение пропускной способности сети при увеличении количества одновременно работающих станций и коэффициент использования канала; • безопасность: возможность утечки информации, незащищенность от искус- ственно созданных помех, возможность незаметного управления техноло- гическим процессом враждебными лицами. Уникальным достоинством беспроводных сетей является отсутствие кабе- лей, что и определяет выбор областей их применения в системах промышлен- ной автоматизации. Рассмотрим физические причины возникновения перечисленных проблем и методы борьбы с ними. Основными причинами являются интерференция, дифракция, преломление, отражение, рассеяние (переизлучение) и снижение плотности мощности излучения при увеличении расстояния от источника, а также невозможность локализации радиоволн в ограниченном пространстве. Зависимость плотности мощности от расстояния. Известно, что плотность мощности радиоволны уменьшается по мере удаления от антенны вследствие расхождения пучка, рассеяния и поглощения волн препятствиями
128 Глава 2 на пути их распространения. Плотность мощности P(d) волны на расстоянии d от источника приближенно описывается зависимостью [154] P(d) « (2.3) где do — некоторая константа, определяемая экспериментально; параметр 7 « 2... 6 [154] зависит от конструкции антенны, диапазона частот, наличия препятствий на пути распространения электромагнитной волны; в условиях промышленного предприятия 7 « 2... 3; Pt — плотность мощности на расстоя- нии do от источника. Формула (2.3) справедлива при d > do [154]. По указанным причинам каждый участник беспроводной сети имеет огра- ниченную зону уверенного приема, которая представляется приближенно в форме сферы. Это приводит к необходимости планирования расположения беспроводных станций таким образом, чтобы зоны уверенного приема непосред- ственно связывающихся станций перекрывались. Если станции расположены на расстоянии неуверенного приема, то небольшие изменения окружающей об- становки могут привести к потере сообщений или снижению скорости передачи. Ограниченность радиуса действия передатчиков привела к возникновению ячеистых сетей [159], в которых информация передается не через общий ка- нал связи, как в проводных сетях, а от узла к узлу, используя промежуточ- ные узлы сети в качестве ретрансляторов и маршрутизаторов. При выходе из строя или удалении из сети некоторых узлов сеть автоматически находит но- вый маршрут, чтобы доставить данные адресату. Добавление к сети нового устройства также может происходить автоматически, т.е. ячеистые сети об- ладают свойством самоорганизации. Влияние интерференции волн. Электромагнитная волна передающей станции на пути следования испытывает интерференцию, дифракцию, отраже- ние, преломление и рассеяние. Поэтому в точке приема волна является су- перпозицией множества волн, имеющих разные фазы и направления волнового вектора. Наложение волн приводит к интерференции, которая может быть конструктивной (когда сигнал в точке приема усиливается) или деструктивной (если сигнал ослабляется — эффект «замирания»). Деструктивная интерфе- ренция приводит к нескольким отрицательным следствиям. Во-первых, сигнал в точке приема может оказаться ниже порога чувствительности приемника, что приведет к потере связи. Во-вторых, при движущемся источнике или приемни- ке в точке приема могут быть многократные смены сильного и слабого сигнала, что может привести к потере нескольких бит информации или уменьшению ско- рости передачи за счет повторных передач кадров с ошибкой. В-третьих, если разность времени задержки волн, прошедших разными путями, превысит дли- тельность символа, соседние символы в сообщении могут накладываться друг на друга, вызывая эффект межсимвольной интерференции. Источники помех. Существуют также другие причины искажений пере- даваемого сигнала: паразитное взаимовлияние соседних каналов, эффект До- плера, помехи от работающих двигателей, разряды статического электричества, и др. Это может привести к потере пакета, повторной передаче и, как следствие, непредвиденной задержке в канале. Интенсивность потока ошибок зависит от
Промышленные сети и интерфейсы 129 мощности источников помех, типа модуляции и мощности передатчика, от ча- стотного диапазона, других причин и обычно изменяется с течением времени. Измерения [154] показали, что чипсет, соответствующий стандарту IEEE 803.11b, в индустриальном окружении дает поток кратковременных ошибок ве- личиной 10~4...10“2 при скорости передачи 2 Мбит/с и использовании квадра- турной фазовой модуляции QPSK (Quaternary Phase Shift Keying). Кроме того, в процессе измерений эпизодически возникали периоды продолжительностью до 1 мин, когда потери данных доходили до 10 % и даже 80 %. Аналогичные результаты наблюдались и в других экспериментах. Следствием помех в канале может быть не только потеря данных или за- медление скорости передачи, но и «проблема пространственной непротиворечи- вости». Она заключается в следующем. Когда система использует широкове- щательный режим передачи без уведомления о получении, предполагается, что все приемники должны получить одни и те же данные одновременно. Однако вследствие ошибок в канале некоторые потребители могут получить ошибоч- ные данные. Такая ошибка особенно нежелательна, если широковещательный режим используется для обеспечения синхронной работы нескольких контрол- леров в одном и том же технологическом процессе, поскольку она приведет к рассинхронизации процесса. Особенностью рассмотренного случая является то, что вероятность ошиб- ки в системе резко возрастает по сравнению с вероятностью ошибки в одном канале р. Поскольку вероятность безошибочной передачи в системе является произведением вероятностей безошибочной передачи в каждом из каналов, то при количестве одинаковых каналов к вероятность отсутствия сбоев в системе будет равна (1 —р)к. Например, в системе из 8 каналов при вероятности ошибки в канале р = 0,1 вероятность безошибочной передачи составит всего 43 %. Одним из примеров, где описанная ситуация может играть негативную роль, является режим одновременного ввода несколькими устройствами сиг- налов датчиков. В проводных сетях для этого используют широковещательные команды, которые доходят до всех устройств одновременно (в сетях Modbus это команда с адресом «0»). Если аналогичный режим использовать в беспро- водной сети, то вероятность того, что все к датчиков введут отсчеты одновре- менно, будет также равна (1 — р)к. В сетях с передачей маркера помехи могут привести к потере маркера и отключению устройств с потерянным маркером на несколько периодов обра- щения маркера по логическому кольцу. Широкополосная передача. Одним из методов устранения влияния ин- терференции волн и узкополосных помех является применение широкополос- ной модуляции. В беспроводных сетях используются два метода: широкопо- лосная модуляция с прямым расширением спектра (DSSS — Direct Sequence Spread Spectrum) и с перескоком с одной несущей на другую (FHSS — Frequency Hopping Spread Spectrum). Метод DSSS состоит в следующем. Если один бит информации представить прямоугольным импульсом, то эффективная ширина спектра импульса будет обратно пропорциональна его длительности. В методе DSSS один прямоуголь- ный импульс заменяют последовательностью из 11 импульсов, которые в 11
130 Глава 2 раз короче исходного. При этом эффективная ширина спектра такой последо- вательности импульсов оказывается в 11 раз шире, чем у исходного одиночного импульса (бита), и для Wi-Fi сетей составляет 22 МГц. Поскольку энергия сигнала оказывается «размазанной» по всему спектру, то спектральная плот- ность мощности сигнала оказывается в 11 раз меньше, если ее измерять в той же полосе частот, которую занимал первоначальный прямоугольный импульс. Практически мощность передатчика (около 1 мВт) для диапазона 2,4 ГГц вы- бирают таким образом, чтобы спектральная плотность полезного сигнала была сравнима или даже меньше спектральной плотности шума. Для еще большего уменьшения спектральной плотности мощности сигнала его спектральная характеристика должна быть близка к прямой линии, парал- лельной оси абсцисс, т.е. сигнал должен быть подобен белому шуму. Для этого последовательность коротких импульсов не должна быть периодической, она должна быть шумоподобной (псевдослучайной), с малым временем автокорре- ляции. Процесс преобразования спектра сигнала к указанному виду называют процессом «обеления» («отбеливания») спектра. Кроме того, для облегчения обнаружения сигнала в приемнике псевдослучайная последовательность, вы- бранная для кодирования, должна быть такой, чтобы ее автокорреляционная функция имела только один ярко выраженный максимум. Такому требова- нию удовлетворяют, в частности, последовательности Баркера [161]. Последо- вательность (код) Баркера длиной 11 импульсов для кодирования логической единицы используется в сетях Wi-Fi и имеет вид 11100010010. Логический ноль кодируется инверсной последовательностью Баркера. Для выделения полезного сигнала с такой малой мощностью на фоне шума в приемнике должна храниться копия передаваемого сигнала (код Баркера). Это позволяет использовать очень эффективные методы оптимальной филь- трации [161]. Зная, что полезный сигнал представляет собой последователь- ность Баркера, в приемнике строят оптимальный фильтр с импульсной харак- теристикой, которая представляет собой масштабную копию входного сигнала, расположенную зеркально по оси времени относительно входного сигнала и сдвинутую в сторону запаздывания на величину не менее длительности вы- деляемого импульса. Ширина спектра сигнала в методе DSSS при скорости передачи 1 Мбит/с составляет 22 МГц, а ширина выделенного для Wi-Fi частотного диапазона — 83,5 МГц, т.е. во всем диапазоне можно разместить только три неперекры- вающихся канала. Однако стандарт делит весь диапазон на 11 перекрываю- щихся каналов, из которых только три (1-й, 6-й и 11-й) могут работать, не влияя друг на друга. Достоинствами метода DSSS являются высокая устойчивость к узкополос- ным помехам и возможность восстановления информации при потере во время передачи нескольких бит в коде Баркера. Вторым методом широкополосной модуляции является FHSS — метод скач- кообразного изменения несущей частоты. Он использует тот же диапазон 2,4 ГГц шириной 83,5 МГц, в котором выделяется 79 неперекрывающихся ча- стотных полос по 1 МГц каждая. В процессе передачи частота несущей изме- няется скачкообразно. Частота переходов с одной несущей на другую должна
Промышленные сети и интерфейсы 131 быть не менее 4 Гц для сети Wi-Fi и 1,6 кГц в сети Bluetooth. Для приема такого сигнала приемник и передатчик содержат таблицы, в которых занесена одна и та же последовательность смены каналов. При таком способе переда- чи узкополосные помехи приводят к потере только тех фрагментов сообщений, которые передаются на частоте помехи, т.е. фактически только к увеличению времени передачи за счет повторной передачи испорченных фрагментов. Модификацией FHSS является адаптивный метод AFH (Adaptive Frequency Hopping), в котором во время передачи обнаруживаются и запоминаются часто- ты, на которых передача выполнялась с ошибками контрольной суммы. Эти частоты исключаются из таблицы используемых частот. Переход с одной частоты на другую уменьшает вероятность взаимного вли- яния при совместной работе нескольких передатчиков в сети, поскольку при 79 частотах вероятность совпадения частот двух работающих станций очень низка (порядка (1/79)2 « 1,6 • 10“4). Поэтому метод FHSS позволяет использо- вать большее количество одновременно работающих станций в сети. Практи- чески на одной и той же территории могут работать до 15 передатчиков. FHSS обеспечивает скорость передачи 1 и 2 Мбит/с. Используется частот- ная модуляция с двумя дискретными значениями частот /1 и /2, которые поз- воляют сделать четыре комбинации модулированных сигналов: /о + fi, /о — Л, /о + /2, /0-/2 и закодировать таким образом 4 бита информации. На практике системы с FHSS способны работать при более высоком уровне шума, чем DSSS, благодаря тому, что они занимают более широкую полосу частот (83,5 МГц по сравнению с 22 МГц для DSSS), а вероятность того, что помеха будет занимать полосу 83,5 МГц, ниже, чем вероятность занятия по- лосы 22 МГц. Однако интерференция, приводящая к замиранию сигнала, бо- лее сказывается на FHSS, поскольку в DSSS замирания происходят только в узкой полосе частот, что приводит к выпадению нескольких бит из 11 пере- даваемых, а оставшихся бит достаточно для безошибочного распознавания за- кодированного значения «О» или «1». Методы расширения спектра имеют следующие достоинства: • высокая помехоустойчивость благодаря большой избыточности кода и воз- можности применения оптимальной фильтрации; • возможность избежать влияния интерференции, поскольку она происходит только в части широкополосного диапазона. В методе DSSS она приво- дит только к потере нескольких битов, которые можно восстановить, а в методе FHSS — к потере отдельных фрагментов сообщений, которые вос- станавливаются путем повторной передачи или теряются только один раз (в методе AFH), до того как система исключит данную частоту из спис- ка используемых; • широкополосный сигнал сложнее перехватить, чем узкополосный. FHSS выглядит как шум, если в приемнике не использована та же очередность смены частот, что и в передатчике; • широкополосный передатчик может использовать один и тот же диапазон частот совместно с другими типами передатчиков с минимальным взаимо- влиянием. В частности, он практически не вносит помех в узкополосные системы благодаря очень малой мощности;
132 Глава 2 • работа при спектральной плотности сигнала на уровне и ниже уровня шу- ма позволяет исключить необходимость получения лицензии на исполь- зование таких передатчиков. Методы модуляции несущей. Идея модуляции состоит в том, чтобы перенести спектр информационного сигнала в область высоких частот, в на- шем случае в диапазон 2,4 ГГц, что позволит передать его с помощью электро- магнитной волны. Электромагнитные волны возбуждаются в антенне током i = A sin (tut + <^), который называется несущим колебанием или просто несу- щей. По крайней мере один из параметров А, си, несущей может зависеть от времени: А = A(t), ш = cu(t), ip = (p(t). Форма этой зависимости соответству- ет форме сигнала, который нужно передать с помощью радиоканала. Процесс управления параметрами несущей называется модуляцией. Частным случаем модуляции является манипуляция, когда модулированные параметры изменя- ются скачкообразно между двумя их значениями. В зависимости от того, какой параметр становится зависимым от времени, модуляция называется амплитуд- ной, фазовой или частотной. Возможны также комбинированные способы мо- дуляции: амплитудно-фазовая, фазочастотная и т.п. Количество информации, которое может быть внесено в сигнал, можно уве- личить, используя несколько одновременно изменяемых параметров. В циф- ровых системах передачи модулируемые параметры изменяются дискретно. Поэтому количество информации, приходящееся на бодовый интервал, мож- но увеличить, увеличивая количество дискретных уровней. Бодовым интер- валом называют временной интервал, в течение которого параметры А, си, <р остаются постоянными. Поскольку sin (cut + р) = cos sin vt + sin coscut, т.е. изменение фазы мож- но представить с помощью изменений амплитуды синусоидальной и косину- соидальной компоненты, то параметры исходного синусоидального колебания можно представить на плоскости с помощью графика (рис. 2.35), у которого по оси абсцисс отложена амплитуда синусоидальной компоненты (т.е. величи- на cos <р, ее называют синфазной компонентой и обозначают на графике буквой I, от слова In-phase), по оси ординат — амплитуда косинусоидальной компо- ненты, т.е. sin<£, которую называют квадратурной и обозначают буквой Q, от слова Quadrature. Полученный таким способом график называется сигнальным созвездием (рис. 2.35). Он совпадает с графиком, изображающим синусоидаль- ное колебание на комплексной плоскости. При амплитудной модуляции фаза не изменяется, поэтому все точки гра- фика располагаются на оси абсцисс. При фазовой модуляции амплитуда по- стоянная, поэтому все точки графика лежат на окружности, радиус которой равен амплитуде колебания. При двоичной фазовой модуляции (BPSK — Binary Phase Shift Keying) фаза принимает только два дискретных значения: 0 и тг, поэтому сигнальное созвез- дие состоит из двух точек, расположенных на оси абсцисс. Эта разновидность фазовой манипуляции является наиболее помехоустойчивой. Модификацией этого метода является дифференциальная двоичная фазо- вая манипуляция (DBPSK — Differential BPSK), когда логическим значениям
Промышленные сети и интерфейсы 133 Рис. 2.35. Сигнальное созвез- дие для QPSK-модуляции (0110)+3 (1110) (1010) :(Ш1) i(ioii) -•-------• —i--------i------- :+i ;+з f(1101) ^(1001) ^(1100) *(1000) Рис. 2.36. Сигнальное созвез- дие для 16-(ЗАМ-модуляции «0» или «1» соответствуют не абсолютные значения фазы, а изменение фазы относительно предыдущего ее значения. Например, если фаза сигнала была равна 0, то для кодирования значения «1» ее изменяют на 180°, а для кодирова- ния логического «0» фазу оставляют прежней. Аналогичная идея используется в методе NRZI-кодирования (см. рис. 2.28), когда логической единице соответ- ствует изменение уровня сигнала, а логическому нулю — ее отсутствие. Если cosy? принимает значения 0 или 1 и при этом sin<p принимает значе- ния 1 и 0, то такая модуляция называется квадратурной фазовой манипуля- цией QPSK (Quadrature Phase-Shift Keying). Она позволяет получить четыре состояния передаваемого сигнала в пределах бодового интервала. Сигнальное созвездие QPSK показано на рис. 2.35. Модификацией QPSK является DQPSK-модуляция (Differential QPSK), при которой, аналогично DBPSK, кодируется не величина фазы, а ее изменение относительно предыдущего значения. Изменение фазы на 0° кодируется как «00», изменение на 90° — как «01», на 180° — как «11», на 360° — как «10». Помехоустойчивость метода модуляции можно оценить по расстоянию меж- ду точками сигнального созвездия: это расстояние характеризует амплитуду и фазу помехи, которая достаточна, чтобы был принят ошибочный сигнал. По- этому при проектировании схем модуляции точки сигнального созвездия вы- бирают таким образом, чтобы расстояние от любой точки до ее соседей было одинаковым для всех точек созвездия. При этом достигается одинаковая по- мехоустойчивость для любых передаваемых чисел. Беспроводные сети используют также амплитудно-фазовую модуляцию 16- QAM (рис. 2.36) и 64-QAM, когда изменяется не только фаза, но и амплитуда колебания. Сигнал может принимать соответственно 16 и 64 бита информации на бодовый интервал, что увеличивает скорость передачи, но за счет сниже- ния помехоустойчивости. Другие особенности беспроводных каналов. Ряд особенностей бес- проводной передачи данных не позволяет использовать многие методы, харак- терные для проводных промышленных сетей.
134 Глава 2 Рис. 2.37. Иллю- страция «пробле- мы скрытого узла» Беспроводные трансиверы не могут передавать и принимать сигнал на од- ном и том же канале. Это связано с быстрым уменьшением плотности мощно- сти излучения от расстояния (2.3). Сигнал собственного передатчика оказы- вается на порядки сильнее принимаемого сигнала и заглушает его. В отличие от этого, в проводных каналах оба сигнала имеют примерно одинаковую мощ- ность. Поэтому беспроводные трансиверы в принципе не могут прослушивать линию во время передачи, как это делается, например, в CAN или Ethernet. Описанное свойство делает невозможным применение методов доступа к сети, основанных на обнаружении коллизий. Обнаружение несущей чужой станции даже при неработающем собственном передатчике также ока- зывается проблематичным (рис. 2.37) [154]. На этом рисунке три окружности показывают границы прие- ма сигналов тремя станциями А, В и С. Предполо- жим, что станция А передает сообщение станции В. В это время станция С прослушивает эфир и не слы- шит несущую, поскольку находится вне зоны действия станции А. Обнаружив отсутствие несущей, станция С начинает передачу одновременно со станцией А, что приводит к потере информации, поскольку станция В может принимать только один сигнал («проблема скрытого узла»). Для решения этой проблемы можно использовать сигнал «занято», пода- ваемый станцией В. Однако наиболее общее решение проблемы предложено в стандарте IEEE 802.11. Оно заключается в том, что станция А начинает сеанс связи с обмена пакетами запроса на передачу RTS (Request То Send). Станция В может ответить пакетом CTS (Clear То Send — «свободно»). Только при по- лучении этого сообщения станция А начинает передачу пакета данных. Любая другая станция, получившая пакет RTS или CTS, предназначенный не ей, будет оставаться в состоянии ожидания. Недостатком этого метода является то, что сигналы RTS/CTS существенно ухудшают скорость обмена между устройства- ми, поскольку размеры их пакетов сравнимы с размерами полезных данных. Вышеизложенное показывает, что беспроводные каналы не могут исполь- зовать метод доступа к каналу типа CSMA/CD. Для них применяется метод CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance — множествен- ный доступ с контролем несущей и предотвращением коллизий). От CSMA/CD он отличается тем, что коллизии в нем не обнаруживаются, в то время как в CSMA/CD коллизии обнаруживаются и принимаются меры для их разре- шения. Поскольку в CSMA/CA коллизии не могут быть обнаружены, так как приемник всегда заглушается сигналом своего передатчика, то принима- ются специальные меры для снижения вероятности возникновения коллизий. В частности, используют сигналы резервирования канала связи, благодаря че- му коллизии возникают между короткими сигналами резервирования, а не между длинными пакетами данных. Предотвращение коллизий выполняется благодаря тому, что станция, которая собирается начать передачу, информи- рует всех участников сети об этом, резервируя для себя определенное время. И только после того, как все станции приняли этот сигнал, она начинает пере-
Промышленные сети и интерфейсы 135 давать. Используют также случайную задержку после освобождения канала (в методе CSMA/CD передача начинается сразу после освобождения канала), чтобы уменьшить вероятность коллизии, поскольку очень вероятно, что многие станции ждут освобождения канала и могут начать передачу сразу и одновре- менно, как только он освободится. Следующей проблемой является электропитание беспроводных сетей, по- скольку беспроводные устройства (в основном датчики) не должны иметь про- водов (подключаться куда-либо с помощью проводов). Поэтому очень акту- альна проблема экономии энергии батарей, поиск простых способов их замены, исключение отказов по причине разряда, поиск альтернативных источников энергии. В литературе рассматриваются варианты передачи энергии питания электромагнитными волнами [163], трансформаторами с большим воздушным зазором (на расстояние до нескольких метров) [162], извлечение энергии сго- рания топлива, применение солнечных батарей. Методы уменьшения количества ошибок в канале. Итак, ошибки в радиоканале появляются чаще, чем в экранированном кабеле, и обычно носят характер сбоев, в то время как в проводных системах, наоборот, ошибки чаще бывают катастрофическими, связанными с выходом из строя (отказом) каналь- ного оборудования. Тем не менее, после принятия всех изложенных мер поток ошибок в радиоканале может быть снижен до необходимого уровня. Например, в авиации вероятность ошибок в беспроводных каналах составляет менее 10“19 [164]. Однако такие значения вероятности достигаются очень большими уси- лиями. Поэтому наиболее перспективной областью применения беспроводных сетей являются системы, в которых допускается некоторый процент ошибок. Вероятность ошибки может быть использована как компонента целевой функ- ции при проектировании беспроводной системы. В промышленных сетях часто используется режим широковещательной пе- редачи, когда сообщение одновременно должны принять все участники сети. Его особенностью является отсутствие подтверждения о получении сообщения. В силу низкой вероятности безошибочной передачи по радиоканалу для реали- зации широковещательной передачи необходимо принять меры для увеличения вероятности доставки сообщений в беспроводном канале. Одним из возможных методов является кодирование широковещательного сообщения с большой из- быточностью, при которой приемник может восстановить утерянные во время передачи биты. Несмотря на снижение пропускной способности канала, такой метод может быть очень эффективен. Для увеличения достоверности передачи используют метод ARQ (Automa- tic Repeat reQuest — автоматический повтор в ответ на запрос) [165]. Метод ARQ может использовать, например, следующие принципы [165]: • передача дополнительно к сообщению корректирующего кода с большой избыточностью; • отправление одновременно нескольких одинаковых пакетов; приемник де- лает повторный запрос только если ни один из пакетов не был принят без ошибок; • использование нескольких антенн для повторной передачи сообщений.
136 Глава 2 Для увеличения достоверности передачи используют также чередование. Методы избыточного кодирования и коррекции ошибок обычно основаны на предположении о случайном характере воздействий, приводящих к появлению ошибок. Однако на практике ошибки могут быть коррелированы. Это может быть, например, в случае, когда период основной гармоники помехи равен дли- тельности передачи нескольких битов. Чтобы сделать ошибки более похожими на некоррелированные, используют процедуру чередования — перестановку би- тов по определенному закону, одному и тому же в передатчике для выполнения чередования и в приемнике, для выполнения восстановления первоначально- го порядка следования битов. Одним из методов чередования является запись передаваемого фрейма в клеточки матрицы, например по три бита в строке, а затем считывание битов из матрицы не по строкам, а по столбцам. Передача сообщений без подтверждения о получении. Существу- ют также другие методы увеличения достоверности передачи широковещатель- ных сообщений без обратной связи от получателя: методы модуляции, устой- чивые к интерференции радиоволн (OFDM — Orthogonal Frequency-Division Multiplexing); модуляция с применением нескольких несущих частот, которая использует большое число близко расположенных ортогональных поднесущих; передача одного и того же пакета несколько раз подряд; оптимизация простран- ственного размещения станций и применение дополнительной инфраструктуры (ретрансляторов и узлов доступа). Системы связи с обратной связью получают от принимающей станции по- вторный запрос в случае, если сообщение было принято с ошибками. Такой способ используется, когда предъявляются высокие требования к достоверно- сти передачи, например при передаче сигналов об аварии. Однако количество повторных запросов имеет естественный предел, который определяется пре- дельным временем, по истечении которого передаваемая информация устаре- вает и поэтому становится бесполезной. Используют также гибридный ARQ-метод HARQ (Hybrid Automatic Repeat- reQuest), в котором сочетаются повторная передача, таймауты и избыточные корректирующие коды. Если приемник передающей станции не получил под- тверждения от принимающей станции, то по истечении таймаута выполняется автоматическая повторная передача. Дополнительно используется избыточное кодирование, которое позволяет восстановить потерянные при передаче биты. Приемник может также использовать несколько принятых ошибочных па- кетов для того, чтобы путем голосования выбрать из них биты, которые имеют наибольшую вероятность того, что они правильные. Поскольку уровень помех в беспроводном канале намного выше, чем в про- водном, большинство систем используют в начале фрейма преамбулу увели- ченной длительности по сравнению с проводными системами, что увеличивает долю «накладных расходов». Например, физический уровень стандарта IEEE 802.11 (Wi-Fi) с режимом DSSS использует преамбулу длиной 128 мкс, которая передается в каждом пакете и занимает значительную его часть. Использование пространственного разнесения антенн. Вследствие замираний радиоволн напряженность поля в точке приема будет различной для
Промышленные сети и интерфейсы 137 разных положений приемной антенны. Если два приемника, расположенные на одинаковом расстоянии от передатчика, находятся близко друг к другу, то ве- роятность того, что они оба находятся в зоне замирания, выше, чем когда они разнесены на большое расстояние, точнее, на расстояние, при котором эффек- ты, связанные с замираниями, становятся некоррелированными. Это свойство может быть использовано несколькими путями. Один из вариантов состоит в применении нескольких антенн для одного приемника. Расстояние между антеннами выбирают таким образом, чтобы при замирании в зоне расположения одной антенны в зоне другой был хороший прием. Приемник должен быть способен отличить хороший сигнал от пло- хого и выбрать лучший. Аналогичный вариант с несколькими антеннами может быть использован для передатчика. В методе передачи с обратной связью передающие антен- ны перебираются по очереди, пока от приемника не придет сигнал о том, что сообщение принято. Если применение нескольких антенн невозможно, вме- сто дополнительных антенн можно использовать другие станции в качестве ретрансляторов. Вопросы безопасности. Проблемы безопасности разделяются на зада- чу аутентификации (установление подлинности личности), которая выполня- ется обычно с помощью идентификации имени пользователя и пароля, задачу разграничения прав доступа к системе и задачу защиты информации с помо- щью методов шифрования. Механизмы шифрования [150] основаны на алгоритмах, которые преобразу- ют сигналы, несущие информацию, в шумоподобные (псевдослучайные) сигна- лы. Используются два вида шифров: поточный (групповой) и блочный шифр. Шифры обоих типов генерируют ключевой поток, который определяется значением секретного ключа. Ключевой поток смешивается с кодируемыми данными по схеме «Исключающее ИЛИ», в результате чего получается за- кодированный текст. В методах шифрования имеется много нюансов, подробности см. в [150]. 2.11.2. Bluetooth В настоящее время существует три широко распространенных стандарта на беспроводные сети: Bluethooth (IEEE 802.15.1), ZigBee (IEEE 802.15.4) и Wi-Fi (IEEE 802.11). Оборудование для этих сетей не требует получения лицензии (что во многих случаях наиболее важно), хотя и требует регистрации [166]. Bluetooth (www.bluetooth.com) [147, 148] был спроектирован на базе стан- дарта IEEE 802.15.1 специально для замены кабеля при соединении различных устройств офисной и бытовой техники с использованием частотного ISM диа- пазона 2,4 ГГц. Спецификация Bluetooth поддерживается организацией SIG (Bluetooth Special Interest Group), образованной в 1998 г. и включающей 1900 членов. В системах автоматизации Bluetooth удобен для записи программ в ПЛК, дистанционного считывания показателей с накопителей информации. Он организован в виде «пикосетей» (piconet), в которых одно ведущее устройство осуществляет взаимодействие не более чем с семью ведомыми. Ведомые устрой- ства могут взаимодействовать друг с другом только через ведущее. Каждое
138 Глава 2 устройство может быть членом четырех пикосетей одновременно, но главным может быть только в одной из них. Такое устройство выполняет роль моста между пикосетями. Несколько взаимодействующих пикосетей образуют так называемую scatternet («разбросанную сеть»). Трафик в сети организован с временным разделением каналов и дуплекс- ной передачей. Временное разделение осуществляется интервалами (временны- ми слотами) длиной в 625 мкс. Ведущие устройства могут начинать передачу только в течение интервалов с нечетными номерами, ведомые отвечать в тече- ние четных интервалов. В течение каждого интервала можно передать 366 бит. В Bluetooth используется широкополосная модуляция типа FHSS. Пере- ход с одной частоты на другую выполняется по случайному закону, который устанавливается для каждого соединения индивидуально. Это повышает сте- пень защиты информации. Несущая частота изменяется 1600 раз в секунду. Скорость передачи равна 433,9 кбит/с. Если пикосети расположены близко одна от другой, то они могут влиять друг на друга, поскольку между ними нет никакой синхронизации. Чтобы уменьшить вероятность взаимовлияния, используется адаптивный метод скач- кообразного изменения частоты AFH. На канальном уровне используются два типа пакетов данных: ACL (Asynchronous ConnectionLess — асинхронный без прямого соединения каналов) и SCO (synchronous connection-oriented — синхронный с прямым соединением). ACL-пакеты используются совместно с проверкой контрольной суммы (CRC). Если контрольные суммы приемника и передатчика не совпадают, запраши- вается повторная передача пакета. Используется шесть разных ACL-пакетов, охватывающих разное количество временных слотов. ACL-пакеты используют- ся в том случае, когда целостность данных важнее скорости их доставки. Пакеты SCO поддерживают трафик реального времени путем резервиро- вания временных слотов. Повторная передача здесь не допускается, хотя име- ется «расширенный» вариант SCO, в котором допускается ограниченное ко- личество повторных передач. Существует три типа SCO пакетов одинаковой длины (HV3, HV2, HV1), по 366 мкс, которые позволяют передавать данные со скоростью 64 кбит/с. Каждое Bluetooth-устройство имеет 48-битовый адрес. Большинство Bluetooth-устройств имеют мощность передатчика 1 мВт, од- нако разрешен следующий ряд мощностей, делящий все устройства на три класса: • класс 1 — до 100 мВт (максимальная дальность на открытом простран- стве до 100 м); • класс 2 — до 2,5 мВт (максимальная дальность на открытом простран- стве до 15 м); • класс 3 — до 1 мВт (максимальная дальность на открытом простран- стве до 5 м). Можно назвать следующие достоинства технологии Bluetooth: малые раз- меры оборудования, простота использования, безопасность передачи информа- ции (благодаря аутентификации и кодированию), хорошая поддержка стандар-
Промышленные сети и интерфейсы 139 тов. К недостатком можно отнести относительно большое потребление энергии и невозможность построения сетей сложной конфигурации. Эти особенности связаны с тем, что Bluetooth решает проблему замены кабелей для устройств, подключаемых к компьютеру, а не проблему созда- ния беспроводной LAN. 2.11.3. ZigBee и IEEE 802.15.4 Стандарт IEEE 802.15.4 [152] является самым новым в серии беспровод- ных (принят в октябре 2003 г.). На его основе ZigBee Alliance (www.zigbee.org) разработал спецификацию протоколов сетевого и прикладного уровня, кото- рые анонсировал в декабре 2004 г. под названием ZigBee [153]. ZigBee Alliance включает в себя более 180 фирм, работающих совместно над продвижением стандартов, стека протоколов и прикладных профилей для потребительского и промышленного сектора экономики. Прикладные профили ориентированы, в частности, на автоматизацию зданий, промышленный мониторинг, вентиляцию и кондиционирование, работу с датчиками. Спецификация ZigBee описывает построение сети, вопросы безопасности, прикладное программное обеспечение. Основной областью применения ZigBee/IEEE 802.15.4 является передача информации от движущихся и вращающихся частей механизмов (конвейеров, роботов), промышленные системы управления и мониторинга, беспроводные се- ти датчиков, отслеживание маршрутов движения и местоположения имущества и инвентаря, «интеллектуальное» сельское хозяйство, системы охраны. В отличие от других беспроводных технологий, где ставится задача обес- печить высокую скорость передачи, большую дальность или высокое качество обслуживания, ZigBee/IEEE 802.15.4 создавался изначально по критериям ма- лой дальности действия, низкой цены, низкой потребляемой мощности, низ- кой скорости передачи и малых габаритов. Эти свойства идеально соответ- ствуют требованиям к большинству промышленных датчиков. Поэтому ZigBee часто отождествляют с промышленными беспроводными сенсорными сетями WSN (Wireless Sensor Network) [156-158, 160, 167, 168]. Устройства ZigBee ис- пользуются в применениях, где Bluetooth оказывается слишком дорогим и не требуется высокая скорость передачи. ZigBee, как и Bluetooth, использует нелицензируемый [166] диапазон 2,4 ГГц. Стандарт предусматривает также использование частот 868 МГц в Европе и 915 МГц в США. Максимальная скорость передачи составляет 250 кбит/с в диапазоне 2,4 ГГц. Диапазон 2,4 ГГц разделен на 11...26 кана- лов шириной по 5 МГц каждый. Несмотря на то что вся идеология стандарта IEEE 802.15.4 построена в предположении, что типовая связь будет осуществляться на расстоянии око- ло 10 м, стандарт не устанавливает требований к мощности передатчика. Этот параметр регулируется нормативными документами в области радиосвязи, спе- цифическими для каждого государства. Наибольшее распространение на рын- ке имеют передатчики с мощностью 1 мВт, которые обеспечивают связь на расстоянии до 10 м в помещении, а также передатчики с мощностью 10 мВт, увеличивающие это расстояние до 80 м в помещении и до 1 км в условиях
140 Глава 2 прямой видимости. Дальность связи можно увеличить применением антенн специальной конструкции. Модель OSI сети ZigBee представлена в табл. 2.16. Она включает в се- бя физический уровень (PHY), канальный уровень, состоящий из подуровня доступа к среде передачи МАС и LLC (смысл обозначений см. в описании Ethernet), которые определяются стандартом IEEE 802.15.4, а также сетевой уровень NWK (NetWorK) и уровень приложений APL, состоящий из подуровня поддержки приложений (Application Support sub-layer — APS), подуровня объ- ектов устройств ZigBee (ZigBee Device Object — ZDO) и объектов Application Objects, определяемых изготовителем ZigBee-устройств. Таблица 2.16 Уровни модели OSI сети ZigBee/IEEE 802.15.4 Уровнь OSI модель Сеть Функции 7 Прикладной APL (APS, ZDO и Applica- tion Objects) ZigBee Передача сообщений, обнару- жение устройств, определение роли устройств 6 Уровень представления — — 5 Сеансовый — — 4 Транспортный - - 3 Сетевой NWK ZigBee Безопасность, маршрутизация 2 Канальный (передачи данных) LLC IEEE 802.15.4 SSCS IEEE 802.15.4 MAC IEEE 802.15.4 CSMA/CA, передача маячков, синхронизация 1 Физический PHY IEEE 802.15.4 Радиоканал 2,4 ГГц Подуровень МАС управляет доступом к радиоканалу, используя метод CSMA/CA. Он также отвечает за передачу маячковых фреймов (см. ниже), син- хронизацию и обеспечение надежных методов передачи информации. Подуро- вень SSCS (Service Specific Convergence Sublayer — подуровень сближения спе- цифических сервисов) выполняет роль интерфейса между подуровнями LLC и МАС. Подуровень LLC выполняет связь сетевого уровня с уровнем МАС. Уровень NWK использует методы, обеспечивающие: • регистрацию в сети нового устройства и исключение его из сети; • обеспечение безопасности при передаче фреймов; • указание маршрута фрейма к месту назначения; • прокладку маршрутов между устройствами в сети; • обнаружение в сети ближайших соседей; • запоминание необходимой информации о соседних узлах. В ZigBee имеются три типа устройств: • координатор — формирует топологию сети и может устанавливать мосты с другими сетями. В каждой ZigBee сети имеется только один координатор; • маршрутизатор — работает как промежуточное звено, передавая в нужном направлении данные от других устройств;
Промышленные сети и интерфейсы 141 • конечное устройство — передает данные координатору или маршрутизато- ру и не может связываться с аналогичными ему устройствами. Уровень NWK координатора отвечает за организацию новой сети, когда это нужно и назначение адресов новым устройствам, подключаемым к сети. Подуровень APS уровня приложений обеспечивает: • обслуживание таблиц для связывания устройств сети на основе информа- ции о необходимости и возможности связывания; • передачу сообщений между связанными устройствами; • определение группового адреса устройств, удаление и фильтрацию сооб- щений с групповыми адресами; • отображение 64-битного адреса в 16-битный; • фрагментацию, перекомпоновку и транспортировку данных. Подуровень ZDO обеспечивает: • определение роли устройств в сети (координатор, маршрутизатор или око- нечное устройство); • инициирование или ответ на запрос соединения; • защиту информации; • обнаружение устройств в сети и определение, какой сервис они предо- ставляют. Топология ZigBee-сети поддерживается уровнем NWK и может иметь фор- му звезды, дерева или ячеистой сети. В топологии типа звезды сеть контро- лируется координатором. Координатор отвечает за инициализацию и обслу- живание сетевых устройств и всех конечных устройств, непосредственно вза- имодействующих с координатором. В ячеистой и древовидной структуре се- ти координатор отвечает за организацию сети и выбор некоторых ключевых параметров, но сеть может быть расширена с помощью ZigBee маршрутиза- торов. В сети с древовидной топологией маршрутизаторы перемещают дан- ные и управляющие сообщения по сети, используя иерархическую стратегию маршрутизации. Древовидные сети могут использовать маячковую стратегию маршрутизации (см. ниже). Ячеистая сеть должна обеспечить полную одноранговую коммуникацию устройств, т.е. в ячеистой сети нет устройств разных рангов (координаторов, маршрутизаторов и т.п. — все устройства равноправны). Физический уровень модели OSI обеспечивает интерфейс между стеком протоколов и средой передачи информации (эфиром). Физический (PHY) и канальный (МАС) уровни модели OSI (табл. 2.16) определены в стандарте IEEE 802.15.4. Они имеют следующие основные характеристики: • скорость передачи: 250 кбит/с; • короткий 16-битный адрес или расширенный длиной 64-бита; • выделение интервала времени для передачи информации каждый узлом; • метод доступа к каналу типа CSMA/CA; • протокол обмена с уведомлением о получении; • малое потребление мощности; • контроль уровня энергии;
142 Глава 2 • наличие индикатора качества связи; • 16 каналов в диапазоне 2,45 ГГц. Частоты 868 и 902 МГц, предусмотренные стандартом, в России не приме- няются и поэтому в дальнейшем не упоминаются. Стандарт IEEE 802.15.4 использует модуляцию типа OQPSK (Offset-Quad- rature Phase-Shift Keying — смещенная квадратурная фазовая манипуляция). Основным назначением физического уровня является прием и передача данных через радиоканал. Здесь также измеряется мощность радиосигнала, оценивается качество связи и чистота канала, осуществляется выбор канала. Подуровень МАС управляет маячком, доступом к каналу, выделяет гаран- тированные слоты времени, проверяет достоверность передачи фреймов, пере- дает фрейм подтверждения о получении, выполняет часть работы по обеспе- чению защиты информации. Рис. 2.38. Структура суперфрейма с гарантированными временными слотами Стандарт допускает опциональ- ное использование суперфреймовой структуры сообщений (рис. 2.38). Фор- мат суперфрейма определяется сете- вым координатором. Суперфрейм с двух сторон ограничивается маячками, делится на 16 равных по длине слотов и посылается сетевым координатором. Маячок помещается на место первого слота каждого суперфрейма. Коорди- натор может отключить режим сообще- ний с маячками. Маячки используют- ся для синхронизации присоединенных устройств, для идентификации сети и для описания структуры суперфрейма. Любые устройства, желающие начать процесс коммуникации в промежуток времени между двумя маячками, долж- ны использовать слотовый механизм доступа CSMA/CA. Передача сообщений должна быть закончена до прихода следующего маячка. IEEE 802.15.4 устанавливает два механизма доступа к каналу CSMA/CA в зависимости от типа конфигурации сети. В сети без маячков использует- ся обычный (бесслотовый) механизм доступа CSMA/CA. Каждый раз, когда устройство собирается начать передачу, оно должно выдержать паузу случай- ной длительности после того, как канал освободится. Случайная задержка нужна потому, что очень вероятно, что многие устройства сети ждут освобож- дения канала и поэтому после его освобождения могут начать передачу одно- временно. Если канал занят, то устройство может повторить попытку после повторной случайной задержки. Фреймы подтверждения о получении посыла- ются сразу, без использования описанного алгоритма. В сети с маячками используется слотовый (тактированный) механизм до- ступа CSMA/CA, в котором начало временного слота должно совпадать с границей суперфрейма сетевого координатора, т.е. начало слота для каждого устройства должно быть синхронизировано с началом передачи маячка сете- вым координатором. Поскольку устройство не может начать передачу, пока не
Промышленные сети и интерфейсы 143 найдет маячок, а маячки рассылаются только сетевым координатором, то се- тевой координатор с помощью маячков выполняет тактирование актов обмена во всей сети. При этом PHY уровень должен обеспечить, чтобы все переда- чи в сети начинались одновременно с началом слотов. Введение описанной синхронизации позволяет уменьшить вероятность одновременной передачи со- общений несколькими узлами сети. Для устройств, которые требуют срочной доставки или большой пропуск- ной способности канала, сетевой координатор может зарезервировать часть су- нерфрейма, в котором будет отсутствовать конкуренция за канал (рис. 2.38), поскольку в это время сетевой координатор запрещает любую передачу всем другим устройствам. Эта часть слотов суперфрейма называется гарантирован- ными временными слотами (Guaranteed Time Slots — GTSs). Модель передачи данных. В IEEE 802.15.4 существует три типа об- менных процессов: • передача от устройства к сетевому координатору; • передача от сетевого координатора к устройству; • передача между двумя одноранговыми устройствами. В звездной топологии используются только два первых варианта, посколь- ку в ней не существует обменов между одноранговыми устройствами. Когда устройство собирается передать данные координатору в сети с маяч- ками, оно сначала пытается обнаружить маячок. Когда маячок найден, устрой- ство подстраивается к структуре суперфрейма. Устройство передает данные координатору, используя слотовый механизм CSMA/CA. В ответ координатор отсылает фрейм уведомления о получении. На этом цикл обмена заканчива- ется. Если устройство собирается передать данные в сети без маячков, оно передает данные, используя бесслотовый метод CSMA/CA. Когда координатор желает передать дынные устройству в сети с маячками, он помещает в маячок информацию о том, что имеются данные, готовые к передаче (рис. 2.39). Устройство периодически ана- лизирует содержание маячка и, если в нем имеется информация о наличии сообщения, готового к передаче, устройство передает команду запроса данных, используя сло- товый метод CSMA/CA. Координатор под- тверждает прием запроса данных с помо- щью фрейма уведомления. Вслед за этим координатор отсылает данные, используя слотовый метод доступа CSMA/CA. Уст- ройство подтверждает прием данных отправкой уведомления. Если координатор собирается передать данные без использования маячка, он запоминает данные и ждет запроса от устройства. Устройство может пе- редать команду запроса данных координатору, используя бесслотовый метод CSMA/CA. Координатор сначала посылает уведомление о получении (в том Рис. 2.39. Процесс передачи данных от координатора к устройству
144 Глава 2 же цикле обмена), затем, используя CSMA/CA, отсылает данные и получает уведомление о получении от устройства. Структура фреймов была спроектирована по критерию минимальной сложности, обеспечивающей надежную передачу данных в зашумленном кана- ле. В соответствии с моделью OSI, каждый нижележащий уровень добавляет к протоколу свой заголовок. Стандарт предусматривает четыре типа фреймов: • фрейм маячка; • фрейм данных; • фрейм уведомления о получении; • фрейм команд МАС-подуровня Фрейм данных (рис. 2.40) начинается с преамбулы, которая совместно с полем «Старт» служит для синхронизации данных в приемнике, поле «Дли- на» содержит длину поля МАС подуровня в 8-битовых байтах (октетах). По- ле «Управление» содержит служебную информацию об управлении фреймами, поле «Номер» — порядковый номер данных, поле «Адрес» — адресную инфор- мацию, в том числе 16-битный короткий или 64-битный расширенный адрес. Завершается фрейм полем контрольной суммы КС. Поля МАС-подуровня ◄ ► Преамбула Старт Длина Управление Номер Адрес Данные КС 4 байта 1 байт 1 байт 2 байта 1 байт 4...20 байт N байт 2 байта Рис. 2.40. Формат фрейма данных по стандарту IEEE 802.15.4 Сетевой уровень. Особенностью сетей ZigBee является возможность вы- полнять ретрансляцию передаваемых данных через множество промежуточных узлов в сети, причем при выходе из строя или выключении одного из узлов сеть автоматически находит другой путь для передачи информации. При включе- нии питания устройства сеть заново включает его в свой состав. Стандарт различает два типа устройств: полнофункциональные устрой- ства (FFD — Full-Function Device) и устройства с сокращенным набором функ- ций (RFD — Reduced-Function Devices). FFD могут работать в сети с дре- вовидной топологией в качестве координатора сети или в качестве устрой- ства. FFD могут обмениваться информацией с другими FFD или RFD, но RFD могут связываться только с FFD. RFD гораздо проще и дешевле, чем FFD. Любая сеть должна содержать по крайней мере одно полнофункциональ- ное устройство FFD. В зависимости от требований конкретного применения, сеть на основе стан- дарта IEEE 802.15.4 может иметь одну их двух топологий: звездную (рис. 2.41,а) или одноранговую («равный с равным», рис. 2.41,6). Все устройства в сети независимо от топологии должны иметь уникальный 64-битный расширенный адрес. Этот адрес используется для коммуникации в пределах сети или может быть изменен на короткий 16-битный адрес, выделя- емый координатором в процессе подключения устройств к сети. Координатор
Промышленные сети и интерфейсы 145 Рис. 2.41. Звездная (а) и одноранговая (б) топологии сети. Черный круг — полнофунк- циональное устройство (FFD), белый — устройство с сокращенной функциональностью (RFD) может быть подключен к сети питания, а остальные сетевые устройства мо- гут иметь батарейное питание. Одноранговая сеть также имеет координатора, однако она отличается тем, что любое устройство может обмениваться данными с любым другим, если оно находится в зоне досягаемости радиосвязи, в то время как в звездной топологии любое устройство может взаимодействовать только с координатором. Отме- тим, что одноранговая сеть получается всегда дороже, поскольку она содержит только полнофункциональные устройства, но благодаря этому она позволяет организовывать сети более сложной топологии, в том числе ячеистые. Боль- шинство промышленных применений требуют применения одноранговых сетей. К ним относятся управление и мониторинг, сенсорные сети, отслеживание ме- стоположения имущества и товара, «интеллектуальное» сельское хозяйство, системы безопасности. Одноранговые сети могут быть специализированными, самоорганизующимися и самовосстанавливающимися. Они позволяют переда- вать информацию между узлами сети независимо от расстояния между ними, используя промежуточные узлы в качестве ретрансляторов. Эти функции вы- полняются уровнем приложений модели OSI. Несколько сетей могут взаимодействовать друг с другом. Для этого каж- дая сеть должна иметь уникальный сетевой идентификатор. Благодаря ему внутри сети могут использоваться сокращенные адреса. Поэтому полный ад- рес устройства для доступа извне (из другой сети) состоит из адреса сети и короткого адреса устройства. Базовая структура сети звездной топологии показана на рис. 2.41,а. По- сле первого включения полнофункционального сетевого устройства последнее может организовать свою собственную сеть и стать сетевым координатором. Все сети звездной топологии функционируют независимо одна от другой. Это достигается выбором сетевого идентификатора, который не используется дру- гими сетями, находящимися в пределах радиуса действия данной сети. После выбора сетевого идентификатора координатор может принять другие устрой- ства в состав сети, как FFD, так и RFD. В одноранговой сети (рис. 2.41,6) каждое устройство может взаимодейство-
146 Глава 2 Рис. 2.42. Пример сети с топологией кластерного дерева. Ветви указывают отношения подчиненности, а не каналы связи вать с любым другим устройством, находящимся в пределах его радиуса дей- ствия. Одно из устройств назначается координатором, например то, которое первым включено в сеть. При дальнейшем расширении сети можно отойти от одноранговой топологии и создать гибридную топологию, в которой будут со- держаться и устройства с сокращенной функциональностью. Примером применения одноранговой коммуникации между устройствами может быть кластерное дерево (рис. 2.42). Кластерное дерево является спе- циальным случаем одноранговой сети, в которой большинство устройств явля- ются полнофункциональными. Устройства с сокращенной функциональностью могут быть подключены к кластерному дереву только как оконечные узлы на концах ветвей, поскольку они могут быть подключены только к одному полнофункциональному устройству. Одно (любое) из полнофункциональных устройств в сети должно играть роль сетевого координатора и обеспечивать синхронизацию с другими устройствами. Сетевой координатор должен иметь повышенные вычислительные ресурсы. При формировании сети типа кластерного дерева сетевой координатор на-
Промышленные сети и интерфейсы 147 значает себя главой первого кластера (CLaster Head — CLH), присваивает сво- ему кластеру идентификатор 0 (Cluster IDeijtifier CID = 0) и выбирает иденти- фикатор всего формируемого кластерного дерева. После этого координатор по- сылает всем соседним устройствам широковещательную команду с маячковым фреймом. Устройства, получившие маячок, могут запросить разрешения при- соединиться к формируемому кластеру. Если сетевой координатор разрешает присоединение, он добавит новое устройство в свой список соседних устройств. Затем вновь присоединившееся устройство добавит CLH в качестве родитель- ского устройства в список своих соседей и начнет периодически посылать мая- чок. Теперь другие устройства могут подсоединиться к нему. Если устройство, желающее подсоединиться к сети, не может найти CLH, оно может подсоеди- ниться к любому другому устройству, которое может быть родительским. Простейшим частным случаем кластерного дерева является один кластер, однако несколько кластеров могут объединяться, образуя кластерное дерево (рис. 2.42). Для этого сетевой координатор назначает одно из полнофункци- ональных устройств главой соседнего кластера и назначает ему номер кла- стера CID = 1. Подробнее процедура формирования кластерного дерева опи- сана в [152]. Уровень приложений связывает стек протоколов с конечным прило- жением пользователя, например ОРС-сервером, который далее использует- ся для обмена данными со SCADA. Подуровень поддержки приложений APS (см. табл. 2.16) обеспечивает интерфейс между сетевым уровнем и уровнем приложений APL посредством общего набора сервисов, которые используют- ся как подуровнем объектов устройств ZDO, так и прикладными объектами Application Objects, определяемыми пользователем. Подуровень APS распре- деляет между конечными сетевыми устройствами информацию, поставляемую приложением, например команды включения/выключения лампочки в систе- ме автоматизации здания. Объекты приложений в ZigBee выполняют следующие функции, исполь- зуя общедоступный интерфейс ZDO: • контроль и координация разных уровней протокола для ZigBee устройств; • инициирование стандартных сетевых функций. Одним из компонентов ZigBee сети является ZigBee-устройство. Приме- рами могут быть выключатель света, термостат или удаленная система ав- томатического управления, которые имеют доступ к радиоканалу. В одном и том же устройстве с одним радиоканалом могут быть воплощены логиче- ски различные функции, например функция измерения веса и функция из- мерения температуры. Несколько взаимодействующих устройств могут образовывать автоматизи- рованную систему управления, например АСУ «Умный дом». В такой системе подуровень APS модели OSI (табл. 2.16) обеспечивает распределение информа- ции, поставляемой пользовательским приложением, между устройствами. Та- кой информацией могут быть, например, команды «Включить свет», посылае- мые от приложения разным устройствам по радиоканалу.
148 Глава 2 Рис. 2.43. Пример связывания конечных точек в ZigBee-сети Уровень поддержки приложений APS для реализации своих функций ис- пользует коммуникационные структуры: профили, кластеры и конечные точ- ки. Профиль описывает коллекцию (набор) устройств, используемых для неко- торого приложения, и, неявно, схему сообщений между этими устройствами. Например, в ZigBee имеются профили для системы домашней автоматизации и профили для коммерческих, промышленных и учрежденческих систем. Все профили используют стандартные типы сообщений, форматы сообщений и про- цедуры их обработки. В рамках профилей устройства обмениваются между собой с помощью кла- стеров, которые могут исходить или входить в устройство. Кластер — это со- общение или коллекция сообщений, в состав которых могут входить команды и ответы на них. Например, в профиле для домашней автоматизации име- ется специализированный кластер для управления освещением. В его состав могут входить команды «Включить/Выключить». В состав кластера может входить набор команд для конфигурирования устройства. Каждый кластер имеет свой идентификатор и является уникальным только в пределах опре- деленного профиля. Конечная точка указывает объект в пределах устройства, с которым вза- имодействует приложение. Например, конечная точка ЕР1 (ЕР — End Point) может предназначаться для управления светом в цехе и коридоре (рис. 2.43), конечная точка ЕР7 — для управления системой вентиляции и кондициони- рования, конечная точка 1 второго устройства — для управления системой охраны здания. Конечные точки выполняют функцию адресации и позволяют определить, какому устройству предназначено посланное сообщение. В пре- делах одного устройства они имеют индексы от 1 до 240. Без конечных то- чек управлять несколькими объектами в пределах одного устройства было бы невозможно, поскольку адресуемым является только устройство, а конечные точки — это суб-адреса с номерами от 1 до 240. Связи между конечными точками хранятся в виде таблицы связей, кото- рая запоминается в устройстве, от которого исходят команды управления, если
Промышленные сети и интерфейсы 149 устройство имеет достаточную для этого емкость памяти. Таблица связей мо- жет также храниться во вспомогательном устройстве. Стремясь обеспечить совместимость (точнее, интероперабельность) уст- ройств разных производителей в ZigBee-системе, стандарт предлагает стандарт- ные профили, которые содержат стандартные наборы кластеров. В случае, когда стандартные профили не удовлетворяют потребностям системного инте- гратора, он может создать свой, пользовательский, профиль, включая опре- деления кластеров. 2.11.4. Wi-Fi и IEEE 802.11 Основное назначение технологии Wi-Fi (Wireless Fidelity — «беспроводная точность») — беспроводное расширение сетей Ethernet. Она используется так- же там, где нежелательно или невозможно использовать проводные сети (см. начало п. 2.11), например для передачи информации от движущихся частей механизмов; там, где нельзя сверлить стены; на большом складе, где ком- пьютер нужно носить с собой. Wi-Fi разработан консорциумом Wi-Fi (www.wi-fi.org) на базе серии стан- дартов IEEE 802.11 (1997 г.) [149] и обеспечивает скорость передачи от 1...2 до 54 Мбит/с. Wi-Fi-консорциум разрабатывает прикладные спецификации для воплощения стандарта Wi-Fi в жизнь, выполняет тестирование и сертифика- цию продукции других фирм на соответствие стандарту, организует выставки, обеспечивает необходимой информацией разработчиков Wi-Fi-оборудования. Несмотря на то что стандарт IEEE 802.11 был ратифицирован еще в 1997 г., сети Wi-Fi получили широкое распространение только в последние годы, ко- гда существенно понизились цены на серийное сетевое оборудование. В про- мышленной автоматизации из множества стандартов серии 802.11 использу- ются только два: 802.11b со скоростью передачи до 11 Мбит/с и 802.11g (до 54 Мбит/с). Физический и канальный уровни. Модель OSI для стандартов Wi-Fi и IEEE 802.11 показана в табл. 2.17. Основное назначение физических уровней — обеспечение интерфейса с беспроводной средой передачи (с эфиром), а также оценка состояния эфира и взаимодействие с уровнем МАС. Таблица 2.17 Уровни модели OSI для Wi-Fi/IEEE 802.11 Уровнь OSI модель Сеть Функции 7 Прикладной - - 6 Уровень представления — — 5 Сеансовый — — 4 Транспортный - - 3 Сетевой - - 2 Канальный Подуровень LLC (передачи данных) Подуровень МАС 1 Физический Подуровень PLCP Беспроводная передача, Подуровень PMD оценка состояния эфира
150 Глава 2 Физический уровень состоит из двух подуровней: • PLCP (Physical Layer Convergence Protocol) выполняет процедуру отобра- жения PDU уровня МАС (элемента протокола данных, ср. с рис. 2.25) во фрейм формата FHSS или DSSS (см. п. 2.11.1). Эта процедура выполняет передачу, обнаружение несущей и прием сигнала; • PMD (Physical Medium Dependent) — подуровень, зависящей от среды пе- редачи. Этот уровень будет различным для разных скоростей передачи и разных стандартов из серии 802.11. Подуровень PMD обеспечивает дан- ные и сервис для подуровня PLCP и функции радиопередачи и приема, результатом которых является поток данных, информация о времени, па- раметры приема. Основным рабочим состоянием уровней PLCP является обнаружение несу- щей и оценка незанятости канала. Для выполнения передачи PLCP переклю- чает PMD из режима «прием» в режим «передача» и посылает элемент данных PPDU (PLCP Data Unit). Физический уровень выполняет скремблирование, кодирование и чередо- вание (см. п. 2.11.1). Передача сигналов по радиоканалу выполняется двумя методами: FHSS и DSSS (см. п. 2.11.1). При этом используется дифференциальная фазовая модуляция DBPSK и DQPSK (см. п. 2.11.1 «Методы модуляции несущей») с применением кодов Баркера, комплементарных кодов (ССК — Complementary Code Keying) и технологии двойного сверточного кодирования (РВСС) [150]. Wi-Fi 802.11g на скорости 1 и 2 Мбит/с использует модуляцию DBPSK. При скорости передачи 2 Мбит/с используются те же методы, что и при скорости 1 Мбит/с, однако для увеличения пропускной способности канала используется четыре разных значения фазы (0, тг/2, Зтг/4, тг) для фазовой модуляции несущей. Протокол 802.11b использует дополнительно скорости передачи 5,5 и 11 Мбит/с. На этих скоростях передачи вместо кодов Баркера используют- ся комплементарные коды (ССК). Wi-Fi использует метод доступа к сети CSMA/CA (см. п. 2.11.1), в котором для снижения вероятность коллизий использованы следующие принципы: • прежде чем станция начнет передачу, она сообщает, как долго она будет занимать канал связи; • следующая станция не может начать передачу, пока не истечет зарезер- вированное ранее время; • участники сети не знают, принят ли их сигнал, пока не получат подтвер- ждение об этом; • если две станции начали работать одновременно, они смогут узнать об этом только по тому факту, что не получат подтверждение о приеме; • если подтверждение не получено, участники сети выжидают случайный промежуток времени, чтобы начать повторную передачу. Предотвращение, а не обнаружение коллизий, является основным в бес- проводных сетях, поскольку в них, в отличие от проводных сетей, передатчик трансивера заглушает принимаемый сигнал.
Промышленные сети и интерфейсы 151 Преамбула Заголовок PLCP г “ Синхрониз. Старт PLW Скорость КС МАС-фрейм (PSDU) 80 бит 16 бит 12 бит 4 бита 16 бит Переменной длины Рис. 2.44. Формат фрейма PLCP для режима FHSS Формат фрейма на уровне PLCP модели OSI (табл. 2.17) в режиме FHSS показан на рис. 2.44. Он состоит из следующих полей: • «Синхронизация» — содержит чередующиеся нули и единицы и служит для подстройки частоты на принимающей станции, синхронизирует рас- пределение пакетов и позволяет выбрать антенну (при наличии несколь- ких антенн); • «Старт» — флаг начала фрейма. Состоит из строки 0000 1100 1011 1101, которая служит для синхронизации фреймов на принимающей станции; • PLW (PSDU Length Word — слово длины служебного элемента данных подуровня PLCP (PSDU)) указывает размер фрейма, поступившего с уров- ня МАС, в октетах; • «Скорость» — указывает скорость передачи данных фрейма; • «КС» — контрольная сумма; • «МАС-фрейм» — фрейм, поступивший с МАС-уровня модели OSI и со- держащий PSDU; • «Заголовок PLCP» — поля, добавленные на подуровне PLCP. Преамбула Заголовок PLCP F я г Синхрониз. Старт Сигнал Сервис Длина КС МАС-фрейм (PSDU) 128 бит 16 бит 8 бит 8 бит 16 бит 16 бит Переменной длины Рис. 2.45. Формат фрейма PLCP для режима DSSS Формат фрейма на уровне PLCP модели OSI (табл. 2.17) в режиме DSSS показан на рис. 2.45. В нем поля имеют следующий смысл: • «Синхронизация» содержит только единицы и обеспечивает синхрониза- цию в приемной станции; • «Старт» — флаг начала фрейма. Содержит строку 0xF3A0, которая ука- зывает начало передачи параметров, зависящих от физического уровня; • «Сигнал» указывает тип модуляции и скорость передачи данного фрейма; • поле «Сервис» зарезервировано для будущих модификаций стандарта; • «Длина» указывает время в микросекундах, необходимое для передачи МАС-фрейма; • «КС» — контрольная сумма;
152 Глава 2 • «МАС-фрейм» — фрейм, поступивший с МАС-уровня модели OSI и со- держащий PSDU; • «Заголовок PLCP» — поля, добавленные на подуровне PLCP. Дальность связи средствами Wi-Fi сильно зависит от условий распро- странения электромагнитных волн, типа антенны и мощности передатчи- ка. Типовые значения, указываемые изготовителями Wi-Fi-оборудования, со- ставляют 100...200 м в помещении и до нескольких километров на откры- той местности с применением внешней антенны и при мощности передатчи- ка 50... 100 мВт. Вместе с тем, по сообщению германского еженедельника Computerwoche (www.computerwoche.de) во время соревнований по дальности связи была зафиксирована связь на расстоянии 89 км с применением стандарт- ного оборудования Wi-Fi стандарта IEEE 802.11b (2,4 ГГц) и спутниковых ан- тенн («тарелок»). В книге рекордов Гиннеса зафиксирована также Wi-Fi-связь на расстоянии 310 км с применением антенн, поднятых на большую высоту с помощью воздушных шаров. Архитектура сети Wi-Fi. Стандарт IEEE 802.11 устанавливает три ва- рианта топологии сетей: независимые базовые зоны обслуживания (Independent Basic Service Sets, IBSS); базовые зоны обслуживания (Basic Service Sets, BSS); расширенные зоны обслуживания (Extended Service Sets, ESS). Под зоной обслуживания здесь понимается набор логически сгруппирован- ных устройств. Каждая зона обслуживания имеет свой идентификатор (Service Set Identifier, SSID). Станция-приемник использует SSID для определения того, из какой зоны обслуживания приходит сигнал. В архитектуре IBSS станции связываются непосредственно одна с другой без использования точки доступа и без возможности подсоединения к провод- ной локальной сети. Зона обслуживания SSID используется обычно для объ- единения в сеть малого количества станций, поскольку в ней не предусмотрена возможность ретрансляции сигнала для увеличения дальности связи и меха- низмы для решения проблемы скрытого узла (см. рис. 2.37). При использовании BSS станции общаются другом с другом через общий центральный узел связи, называемый точкой доступа. Точка доступа обычно подключается к проводной локальной сети Ethernet. Расширенная зона обслуживания получается при объединении нескольких BSS в единую систему посредством распределительной системы, в качестве ко- торой может выступать проводная сеть Ethernet. 2.11.5. Сравнение беспроводных сетей В табл. 2.18 сведены основные параметры трех рассмотренных беспровод- ных технологий. В таблице отсутствуют данные о стандартах WiMAX, EDGE, UWB и многих других, которые не нашли широкого применения в промыш- ленной автоматизации.
Промышленные сети и интерфейсы 153 Таблица 2.18 Сравнение трех ведущих беспроводных технологий Параметр Bluetooth/IEEE 802.15.1 ZigBee/IEEE 802.15.4 Wi-Fi/IEEE 802.11 Дальность, м Скорость передачи, Мбит/с Максимальное число участников сети Потребляемая мощность, мВт Продолжительность работы от двух батарей размера А А Цена/Сложность (условные единицы) Повторная передача Основное назначение -10 (50...100) 0,723 8 10 10 Есть Связь периферии с компьютером 10 0,250 245 1 6 мес. в режиме ожидания 1 Есть Беспроводные сети датчиков -100 1...2 до 54 Не ограничено 50 20 DCF — нет; PCF и HCF — есть Беспроводное расширение Ethernet 2.12. Сетевое оборудование При проектировании распределенных АСУ ТП с применением промышлен- ных сетей могут возникать следующие проблемы: • требуемая длина отводов о