Учебное пособие по интерфейсам систем промышленной автоматизации, страница 26
Описание файла
PDF-файл из архива "Учебное пособие по интерфейсам систем промышленной автоматизации", который расположен в категории "". Всё это находится в предмете "аппаратные средства обработки радиолокационных данных" из 11 семестр (3 семестр магистратуры), которые можно найти в файловом архиве МАИ. Не смотря на прямую связь этого архива с МАИ, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "аппаратные средства обработки радиолокационных данных" в общих файлах.
Просмотр PDF-файла онлайн
Текст 26 страницы из PDF
Modbus/TCP это симбиоз стандартного протокола Modbus и протокола Ethernet-TCP/IP как средства передачи данных. В результате получился простой, структурированный, открытый протоколпередачи. Поскольку функции управления доступом к среде передачи реализуются на уровне протокола Ethernet-TCP/IP, то каждый участник сети может инициировать транзакцию. Инициатор транзакции (клиент) формирует запрос, а устройство, которому адресован запрос (сервер), формирует ответ.Протокол Modbus позиционируется группой Modbus-IDA как протокол уровня приложений модели взаимодействия открытых систем, который обеспечиваетклиент-серверный обмен данными между устройствами, объединёнными различными типами шин или сетей (рис.
4.17). Все три протокола из семейства Modbus(Modbus RTU, Modbus Plus и Modbus/TCP) используют один протокол уровняприложений, что позволяет обеспечить их совместимость на уровне обработкипользовательских данных.17.Рис. 4.17. Семейство протоколов ModbusПротокол уровня приложений определяет простой кадр данных протокола(PDU, Protocol Data Unit), состоящий из двух полей – поля кода функции и поляданных.
Коды функций и формат поля данных остаются неизменными для любогопротокола семейства Modbus.132Для передачи данных по сети, в зависимости от её типа, используются дополнительные поля кадра данных приложения (ADU, Application Data Unit). Нарис. 4.18 представлены форматы кадров данных приложения для различных типовсетей. Можно заметить, что в кадре данных приложения Modbus/TCP отсутствуетполе контрольной суммы.
Нет в нём и поля адреса. Это связано с тем, что функции адресации и проверки правильности передачи по сети берёт на себя протоколEthernet-TCP/IP.а) Формат сообщения Modbus-RTU для сети на базе RS-422/485б) Формат Modbus-сообщения для передачи данных по TCP/IP18.Рис. 4.18. Modbus-сообщениеДля идентификации Modbus-сообщения в сети TCP/IP используется специальный заголовок – MBAP header (Modbus Application Protocol header).
Этот заголовок состоит из полей, представленных в таблице 4.14.14.ПолеИдентификатортранзакцииИдентификаторпротоколаДлина сообщенияв байтахИдентификаторустройстваПоля заголовка MBAPДлина, байтЗапросФормируется2при запросеФормируется2при запросеФормируется2при запросеФормируется1при запросеТаблица 4.14.ОтветКопируетсяв ответ из запросаКопируетсяв ответ из запросаФормируетсяпри ответеКопируетсяв ответ из запросаДлина заголовка составляет семь байтов. Поле идентификатора транзакциииспользуется для того, чтобы инициатор транзакции мог понять на какой его запрос пришёл ответ. Например, при формировании каждого нового запроса полеидентификатора транзакции увеличивается на единицу.
Идентификатор протокола всегда равен нулю – признак протокола Modbus. Поле «Длина сообщения в133байтах» содержит количество последующих байтов сообщения, включая полеидентификатора устройства. Поле идентификатора устройства может использоваться для задач маршрутизации между сетями семейства протоколов Modbus.Оно используется, например, для обращения к ведомому устройству сети Modbusчерез шлюз между сетью Modbus/TCP и Modbus на базе последовательного интерфейса.Все Modbus/TCP-сообщения передаются через зарегистрированный порт 502.Modbus-IDA это не только протоколы на основе Modbus, это целая архитектура, объединяющая методы построения различных систем автоматики с распределённым интеллектом и описывающая как структуру системы управления в целом, так и интерфейсы устройств и программного обеспечения в частности.
Этообеспечивает вертикальную и горизонтальную интеграцию всех уровней автоматизации с широким использованием web-технологий.Передача данных в реальном времени обеспечивается использованием стекаIDA (рис. 4.17), являющегося надстройкой над TCP/UDP и основанного на протоколе Modbus. Передача некритичных ко времени данных и поддержка webтехнологий происходит через стек TCP/IP. Предусмотрена возможность удалённого управления устройствами и системами (диагностика, параметризация, загрузка программ и т.п.) при помощи стандартных протоколов HTTP, FTP и SNMP.CANИстория этого протокола началась в начале 80-х годов [33].
Технологии тоговремени подошли к такому этапу, на котором возникла необходимость сбора иобработки результатов от множества датчиков, устанавливаемых в автомобилях,за короткие промежутки времени. Эту задачу можно было решить только при использовании сетевой структуры, объединяющей все компоненты и использующейдля этой цели недорогую, последовательную сетевую структуру. По этой причинефирма Robert Bosch GmbH (Германия) разработала протокол «Control Area Network» (CAN, сеть области управления), который был утверждён Международнойорганизацией по стандартизации в качестве стандарта ISO 11898. В настоящеевремя организация, объединившая производителей различных CAN-устройств –CAN in Automation (CiA, CAN в автоматизации) [51] занимающаяся продвижением CAN-протокола расшифровывает аббревиатуру CAN несколько по иному:Controller Area Network – сеть уровня контроллеров.Протокол CAN используется для организации последовательной передачиданных по шине с высокой степенью надёжности.
Протокол отвечает требованиям задач реального времени. В автомобильной промышленности системы управ-134ления двигателем, датчики, системы АБС и т.п. подключаются к шине CAN соскоростью передачи до 1 Мбит/с.CAN-протокол описывает уровень канала данных и часть физического уровня модели взаимодействия открытых систем (уровень 2 и, частично, уровень 1модели ВОС).На уровне канала данных протокол описывает два подуровня [52]:• подуровень управления логической связью – Logical Link Control (LLC) –верхний подуровень;• подуровень управления доступом к среде – Medium Access Control (MAC).Подуровень LLC предоставляет сервисы для передачи данных и удалённыхзапросов данных, решает, какие сообщения, полученные LLC подуровнем актуальны для данного узла.Подуровень MAC в основном реализует протокол передачи данных, т.е.формирует и принимает сообщения, реализует арбитраж, квитирование, проверкуошибок передачи, формирование сообщений об ошибках.
Именно на MACподуровне контролируется состояние шины – свободна/занята. Кроме того, основные параметры битовой синхронизации описываются на MAC-подуровне.На физическом уровне CAN-протокол описывает требования к физическойпередаче сигналов, кодированию битов и синхронизации. Протокол не определяетжестко уровни логических сигналов и электрические характеристики среды передачи, они могут быть выбраны производителем CAN-устройств. Естественно, чтов рамках одной сети все устройства должны соответствовать одинаковым требованиям.Для передачи данных по физическому каналу используется кодирование безвозвращения к нулю (NRZ-кодирование). Поскольку при NRZ-кодировании уровень сигнала может оставаться постоянным относительно долгое время, например, при передаче группы битов с одинаковыми значениями, то, чтобы избежатьрассинхронизации приёмников и передатчика, после каждых пяти битов одинакового значения в сообщение вставляется один добавочный бит противоположногозначения – правило добавочного бита.
Естественно, приёмник удаляет все добавочные биты перед обработкой полученного сообщения.По требованиям CAN-протокола, среда передачи должна находится в одномиз двух состояний: логический нуль (нижний уровень, CAN_L) – доминирующеесостояние, а логическая единица (верхний уровень, CAN_H) – рецессивное состояние. При одновременной передаче доминирующего и рецессивного битов нашине должно присутствовать доминирующее значение. Этот механизм используется при арбитраже сообщений.135В CAN-протоколе используется метод широковещательной передачи сообщений – каждый приёмник сам решает, нужно ли ему обрабатывать очередноепередаваемое сообщение.
Содержание каждого сообщения определяется идентификатором сообщения. Идентификатор не определяет узел-приёмник, а описывает«смысл» передаваемых данных (можно сказать, что это имя передаваемой переменной), благодаря чему остальные узлы сети могут решить для себя, должны лиони обрабатывать передаваемые данные или нет.Благодаря применению метода широковещательной передачи, CAN-устройства не используют никакой информации о конфигурации сети (адреса узловотсутствуют). Узлы могут подключаться к сети и отключаться от неё без какихлибо изменений в настройках и программном обеспечении остальных узлов. Протокол также не ограничивает количество узлов, которые могут быть подключенык одной сети.
На практике максимальное количество узлов сети определяетсяпредельно допустимой нагрузкой на шину.Когда шина свободна, любой узел может начать передачу. Если несколькоузлов начали передачу одновременно, конфликт разрешается с помощью поляидентификатора сообщений (поля арбитража). Во время передачи сообщения, передатчик сравнивает значение передаваемого им бита со значением, установленным на шине. Если передаваемое и принимаемое значение бита совпадают, тоузел может продолжать передачу.