logo
Промышленные сети

Вступление

В середине восьмидесятых, когда фирма RobertBoschGmbHпредложила собственный вариант сети контроллеров для решения проблемы угрожающе разраставшейся тогда проводки автомобилей, вероятно, никто, включая самих разработчиков, не предполагал, что спустя несколько лет короткая и звучная аббревиатураCAN(ControllerAreaNetwork) станет широко известна далеко за пределами автомобильной отрасли. СегодняCAN-сети активно применяются в самых, казалось бы, неожиданных устройствах и механизмах — от стиральных машин до томографов и ракет: аттракционы, штамповочное, фрезерное и типографское оборудование, морские суда, промышленные роботы. Одно лишь перечисление областей человеческой деятельности, где сегодня успешно трудитсяControllerAreaNetwork, способно занять целую журнальную страницу. Можно припомнить хорошо известные в России телескопыCarlZeiss, упаковщикиTetraPak, томографыSiemens, не говоря уже о множестве марок европейских грузовых и легковых автомобилей:BMW,Mercedes-Benz,Renault,Fiat,Volvo,Saab,Audi, в которыхCAN-сеть является нервной системой, центром управления жизненно важными узлами.

Ряд оригинальных и эффективных технических решений, положенных в основу CAN-протокола фирмойBosch, а также последующие годы «проверки на прочность»CAN-сетей в самых разных, как правило, очень непростых условиях эксплуатации — поистине, во всех трех стихиях: на земле, в небесах и на море — обеспечилиCANмировое признание, закрепленное в 1993 году в международном стандартеISO11898. На сегодняшний день стандартISO11898 наряду с современной спецификациейBoschCAN2.0A/Bявляется базовым документом разработчиковCAN-устройств — от трансиверов до модулей и сетей. Координацию усилий производителей, разработчиков и пользователейCAN-систем и технологий осуществляет международная некоммерческая организацияCiA(CANinAutomation), объединяющая более 300 компаний во всем мире. Среди многочисленных достоинствCAN-сетей можно выделить следующие.

Однако действующий стандарт CANограничивается спецификацией только двух самых нижних уровней эталонной семиуровневой модели взаимодействия открытых системOSI/ISO— физического и канального (рис. 1).

Описываются физические параметры среды передачи данных (только в ISO11898), форматы сообщений, процессы передачи данных длиной до 8 байт, механизмы обнаружения ошибок и др. Но за рамками стандарта остаются решения таких важных при разработке вопросов, как адресация узлов, распределение между нимиCAN-идентификаторов, интерпретация содержимого фрейма данных, передача данных длиной более 8 байтов и др., то есть все то, что обычно рассматривается на более высоких уровнях, вплоть до 7-го прикладного. Разумеется, сервисов двух нижних уровней может оказаться вполне достаточно, когда речь идет о разработке сравнительно простой сети, не планируемой к расширению и вдобавок состоящей из созданных под нее узлов-модулей. Или, к примеру, стоит задача создать «закрытую» сеть на основе оригинального протокола. Но в подавляющем большинстве случаев практическихCAN-разработок двух «стандартных» уровней оказывается явно мало, а изобретение «велосипеда протоколов» для конкретной задачи — слишком дорогое, долгое и, следовательно, малоэффективное занятие. Поэтому с самого начала опубликованияCAN-спецификаций и выпуска первыхCAN-компонентов как независимыми компаниями, так и ассоциациями по промышленной автоматизации непрерывно велась и продолжается до сих пор работа над созданием спецификаций протоколов верхнего уровня —HLP(HigherLevelProtocol) дляCAN-сетей.

Уже разработанные и существующие в настоящее время спецификации протоколов CANHLP, как правило, имеют сжатую трехуровневую архитектуру (рис. 1), включающую в себя два базовых уровняCAN-протокола, иногда дополняемых спецификациями физического уровня (соединители, кабели и т. п.), и прикладной уровень. Сервисные функции промежуточных уровней либо отсутствуют, либо включены в прикладной. Соблюдение полной иерархии уровней эталонной моделиOSI/ISOв системах управления не требуется, кроме того, наличие дополнительных изолирующих межуровневых интерфейсов привело бы к потере производительности системы в режиме реального времени и сделало бы существенно менее предсказуемыми задержки прохождения сообщений в сети.

Преимущества использования стандартных HLPпри разработкеCAN-сетей очевидны и немалочисленны. Во-первых, в отличие от использования только сервисовISO11898 илиBosch2.0A/B, вместе с тем или инымHLPразработчик получает в руки уже готовые механизмы передачи данных любой длины, процедуры начальной инициализации, распределения идентификаторов и т. п., а кроме этого, часто впридачу и конкретную спецификацию физической среды: длина и топология шины, скорости передачи, типы кабелей, соединителей и т. п. — для своей области применения (например гидравлика, общественный транспорт), на подготовку и тестирование которой в реальных условиях уже потрачены силы большого числа разработчиков и экспертов. Во-вторых, появляется возможность интегрирования модулей сторонних производителей и простого наращивания сети в будущем, применения широкого спектра имеющихся на рынке инструментальных средств для того или иногоHLP, что значительно снижает время и стоимость разработки и положительно сказывается на показателях надежности. В-третьих, протоколыHLPпозволяют максимально эффективно задействовать многие преимуществаCAN, особенно при работе в режиме реального времени. И, наконец, немалое число всевозможных групп пользователей и производителей оборудования для тех или иныхHLPспособны если не решить за разработчика его задачу, то уж, во всяком случае, значительно облегчить ему жизнь.

Многочисленность существующих CAN-протоколов прикладного уровня — на сегодня их уже более четырех десятков — наряду с наличием метапротоколов (напримерCANKingdom) в известной мере снимает проблему, связанную с оборотной стороной любой стандартизации и заключающуюся в ограничении свободы системного разработчика. Среди многообразияCANHLP, представленных на современном рынкеCAN-технологий, особого внимания заслуживают четыре поддерживаемых ассоциациейCiAи получивших наибольшее распространение в последнее время.Это CAL/CANopen, CAN Kingdom, DeviceNet и SDS (Smart Distributed System).