CAN интерфейс
В середине восьмидесятых фирма Robert Bosch GmbH предложила собственный вариант сети контроллеров для решения проблемы разраставшейся проводки автомобилей.
Стандарт получил название Controller Area Network ( CAN ).
Ряд оригинальных и эффективных технических решений, положенных в основу CAN -протокола фирмой Bosch , а также последующие годы «проверки на прочность» CAN - сетей в самых разных условиях эксплуатации обеспечили CAN мировое признание, закрепленное в 1993 году в международном стандарте ISO 11898.
На сегодняшний день стандарт ISO 11898 наряду с современной спецификацией Bosch CAN 2.0 A / B является базовым документом разработчиков CAN -устройств
Стандарт предусматривает последовательный интерфейс связи со скоростью передачи данных до 1 Мбит/с, который эффективно поддерживает распределенное управление в реальном масштабе времени с высокой помехозащищенностью.
Основой системы являются программируемые контроллеры, оснащенные соответствующими устройствами ввода/вывода, что обеспечивает снятие информации с различных датчиков на объекте (или объектах) управления с последующей её обработкой по заложенному алгоритму и выдачей соответствующих управляющих воздействий. Контроллеры объединены посредством сети. В качестве узла сети может выступать как программируемый контроллер, так и компьютер (например, MIC2000), подключенный через соответствующий адаптер. В частности, информация о ходе технологического процесса, управляемого автономными контроллерами, может быть передана в цифровом виде по сети и обработана на ПК оператора для удобного представления.
Достоинством сети является сокращение длины аналоговых линий связи, т.к. управляющий контроллер может быть размещен в непосредственной близости от объекта управления. Цифровая линия CAN сети представляет собой витую пару, информация по которой передается дифференциальным сигналом, что обеспечивает большую устойчивость к электромагнитным помехам (помеха наводится на оба скрученных провода, соответственно, разность потенциалов в них остается неизменной).
Перечислим основные достоинства стандарта CAN :
- Протокол CAN оптимизирован для систем, в которых должны передаваться относительно небольшое количество информации (по сравнению с Ethernet или USB, разработанных специально для больших объемов данных) к любому или всем узлам сети. Множественный доступ с опросом состояния шины позволяет каждому узлу получить доступ к шине с учетом приоритетов.
- Неадресатная структура сообщений позволяет организовать многоабонентскую доставку данных с сокращением трафика шины.
- Протокол CAN использует оригинальную систему адресации сообщений. Каждое сообщение снабжается идентификатором, который определяет назначение передаваемых данных, но не адрес приемника. Любой приемник может реагировать как на один идентификатор, так и на несколько. На один идентификатор могут реагировать несколько приемников.
- Быстрая устойчивая передача информации с системой контроля ошибок позволяет отключать неисправные узлы от шины, что гарантирует доставку критических по времени сообщений.
- Максимальное число абонентов, подключенных к данному интерфейсу фактически определяется нагрузочной способностью примененных приемопередатчиков (теоретических ограничений нет). Например, при использовании трансивера фирмы PHILIPS PCA82C250 она равна 110.
- Протокол CAN обладает развитой системой обнаружения и сигнализации ошибок. Для этих целей используется поразрядный контроль, прямое заполнение битового потока, проверка пакета сообщения CRC-полиномом, контроль формы пакета сообщений, подтверждение правильного приема пакета данных. Общая вероятность необнаруженной ошибки составляет 4.7x10 -11.
Действующий стандарт CAN ограничивается спецификацией только двух самых нижних уровней эталонной семиуровневой модели взаимодействия открытых систем OSI / ISO - физического и канального.
Описываются физические параметры среды передачи данных (только в ISO 11898), форматы сообщений, процессы передачи данных длиной до 8 байт, механизмы обнаружения ошибок и прочее.
Практическая скорость передачи данных варьируется от 1Мбит/с (при длине шины до 30м) до 20Кбит/с (при длине шины до 2,5км).
В качестве среды передачи данных могут выступать: витая пара (различных категорий) при передаче дифференциальных электрических сигналов (в этом случае для повышения помехозащищенности необходимы терминаторы – 120-омные резисторы – на концах шины); оптоволокно; радиоволны; инфракрасные лучи.
Разработка лабораторной сети
В начале 2003 года на кафедре Автоматики и Вычислительной Техники (АиВТ) МГТУ была поставлена задача построить лабораторную распределенную систему сбора данных и управления на базе стандарта CAN .
Были разработаны общая предполагаемая структура сети и устройство сетевого контроллера объекта управления.
После практической реализации некоторых элементов узла сети (микропроцессорный модуль и первичный вариант CAN -модуля) была доказана возможность построения лабораторной вычислительной сети на базе сетевого стандарта CAN при данной ресурсной базе на заданной кафедре.
Разрабатываемая лабораторная сеть представляет собой распределенную двухуровневую вычислительную систему, структура которой показана на рисунке 1.

Рисунок 1 - Структура проектируемой распределенной системы сбора данных и управления
Взаимодействие между элементами системы, как видно из представленного рисунка, осуществляется посредством сети на основе стандарта CAN.
Распределенная вычислительная система в своем окончательном варианте будет осуществлять сбор данных с контроллеров по сети CAN , отображение данных с использованием графических анимированных объектов (графическая схема сети плюс графики параметров), вывод сообщений о недопустимых параметрах («алармирование»), а также регистрацию и хранение данных.
Разрабатываемое программное обеспечение должно обеспечивать целостность и надежное функционирование всей системы в целом.
Локальный уровень физически представлен так называемыми CAN-узлами, основными задачами которых является сбор данных с объектов управления и выдача управляющих сигналов, обмен по сети информацией о текущем состоянии объекта (с хост-машиной и другими узлами), а также сам алгоритм управления (либо его клиентская часть – если в случае громоздкости весь алгоритм будет затруднительно реализовать на месте, основная масса вычислений будет перенесена на хост).
Программное обеспечение на этом уровне будет состоять из подпрограмм управления объектом и обмена информацией по сети.
Как показано на рисунке 1, физически операторский уровень представляет собой IBM - PC -совместимый компьютер под управлением операционной системы MS Windows (как представляющей наиболее удобные и отлаженные средства для проектирования эффективного человеко-машинного интерфейса).
Компьютер может быть связан с CAN-сетью как через промышленную плату расширения (что экономически довольно обременительно), так и через RS 232-C со специально выделенным CAN-узлом либо при помощи непромышленного CAN-адаптера который был разработан параллельно с основным проектом (в последнем случае достигается заметное снижение себестоимости за счет удаления из системы сравнительно дорогого микропроцессора).
Программно была создана графическая динамически изменяемая схема системы, визуально (что очень важно для оператора) отображающая текущее состояние узлов сети, вносимый ими трафик и число контролируемых (и активных в данный момент) объектов. При необходимости можно выбрать любой из узлов и получить доступ к его параметрам – удаленно задать идентификатор сети, оперативно сменить часть алгоритма управления, изменить задающее воздействие какому-либо объекту, перейти к окну мониторинга сигналов узла и, в конце концов, вообще отключить узел от сети.
Приложение будет вести журналирование состояния системы, т.е. осуществлять регистрацию всех принимаемых и выдаваемых узлами сигналов.
Хотелось бы особо отметить, что разрабатываемая сеть является в значительной мере объектно-независимой и может быть достаточно легко использована для автоматизации предприятий малого и среднего размера, а также цехов крупных предприятий.
В настоящий момент первоначальная структура разрабатываемой системы претерпела значительные изменения и имеет следующий вид:

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