14 Пром протоколы.pptx
- Количество слайдов: 49
Сетевые технологии в задачах автоматизации и управления Протоколы HART, CAN, Modbus
HART-протокол (Highway Addressable Remote Transducer — магистральный адресуемый удаленный преобразователь) Разработан в 1980 г. фирмой Rosemount Inc. , которая позже сделала его открытым. Номер уровня Название уровня HART 7 Прикладной HART команды, ответы, типы данных 2 Канальный (передачи данных) Ведущий/ведомый, контрольная сумма, контроль четности, организация потока битов в сообщение, контроль приема сообщений 1 Физический Наложение цифрового ЧМ сигнала на аналого вый 4. . . 20 м. А; медная витая пара
Протокол HART 1. 2. 3. 4. 5. 6. 7. 8. 9. Открытый стандарт, работающий с любой системой управления Одновременная аналоговая и цифровая коммуникация Совместимость с существующим оборудованием 4 20 м. А и линиями связи Удаленная диагностика и настройка Возможность подключения к одной линии нескольких датчиков Передача нескольких параметров одновременно Использование во взрывоопасных зонах Оперативная информация о состоянии прибора Доступ к параметрам прибора
Обмен данными осуществляется по тем же двум проводам, которые уже используются для подключения первичных приборов к системе управления, при этом HART протокол позволяет не нарушать аналоговый сигнал.
Принципы построения
Кодировка сигнала HART протокол использует стандарт BELL 202 кодировки сигнала методом частотного сдвига (FSK) для обмена данными на скорости 1200 Бод. Сигнал накладывается на аналоговый измерительный сигнал 4 -20 м. А. Поскольку среднее значение равно 0, то он не влияет на аналоговый сигнал 4 -20 м. А.
Формат кадра HART протокол построен по принципу Master – Slave, то есть полевое устройство отвечает по запросу системы. Протокол допускает наличие двух управляющих устройств (управляющая система и коммуникатор). К одной линии моноканала можно подключить до 15 подчиненных устройств. Формат кадра данных Преамбула Старт Адрес Команда Число байт Статус Данные Контрольная сумма
Команды. Универсальные содержат функции, которые выполняются в всех первичных приборах. - Считать название изготовителя. Считать первичный параметр и единицы измерения. Считать значение токового выхода и процент диапазона. Считать до 4 х предопределенных динамических переменных. Считать или записать 8 ми символьный тэг, 16 ти символьный описатель, дату. Считать, записать 32 х символьное сообщение. Считать серийный номер и ограничения. Считать или записать номер окончательной сборки. Записать адрес опроса датчика.
Команды. Типовые содержат функции, которые выполняются во многих первичных приборах, но не во всех. «Считать четыре динамические переменные» , «Записать постоянную демпфирования» , «Записать диапазон измерения» , «Калибровать» , «Задать фиксированное значение выходного тока» , «Выполнить самодиагностику» , «Выполнить сброс» , «Настроить ноль» , «Записать единицы измерения» , «Настроить ноль и коэффициент передачи АЦП» , «Записать функцию преобразования» , «Записать серийный номер сенсора» .
Команды. Специфические команды содержат функции, уникальные для конкретного первичного прибора. Примеры специфических команд: «Записать уставку ПИД регулятора» , «Включить ПИД регулятор» , «Считать или записать калибровочные коэффициенты» , «Подстроить сенсор» , «Установить позицию клапана» .
Принцип работы HART-протокола на физическом уровне
Прохождение сигналов через устройства с HART-протоколом Структура слова (а) и сообщения (б) в HART протоколе
Сеть на основе HART-протокола Количество устройств в сети может составлять 15, если не использовать HART повторители (ретрансляторы, репитеры). HART сеть может иметь произвольную топологию, поскольку при малых скоростях передачи (1200 бит/с) эффектов, характерных для длинных линий, не возникает. В сети могут быть два ведущих устройства, одним из которых является контроллер, вторым — ручной коммуникатор, используемый для считывания показаний и установки параметров HART устройств. Сеть допускает горячую замену или добавление новых устройств (т. е. без отключения питания). В HART сети только один узел может посылать сигнал, в это время остальные «слушают» линию.
Элементы сообщения (слова) в HART Обознач. Название Длина, байт Назначение PA Преамбула 5… 20 Синхронизация и обнаружение несущей SD Признак старта 1 Указывает формат сообщения и источник сообщения AD Адрес 1 байт или 38 бит Указывает адреса обоих устройств CD Команда 1 Сообщает подчиненному, что нужно сделать BC Число байт в 1 DT Показывает число байт между ВС и CHK ST Статус 0, если ведущий, Сообщает ошибки обмена 2, если ведомый данными, состояние устройства DT Данные 0… 253 CHK Контрольная 1 сумма Аргумент, соответствующий команде CD Обнаружение ошибок
Адресация в HART Стандартом предусмотрено два вида адресов: короткий (длиной 4 бита) ; длинный (длиной 38 битов, устанавливается изготовителем HART устройства и не может быть изменен пользователем). В настоящее время используется комбинация короткого и длинного адресов. Структура уникального идентификатора HART-устройства ID изготовителя Тип HART- Серийный устройства Номер Серийный Номер
CAN (Controller Area Network — область, охваченная сетью контроллеров)
Общие сведения CAN представляет собой комплекс стандартов для построения распределенных промышленных сетей, который использует последовательную передачу данных в реальном времени с очень высокой степенью надежности и защищенности. Начало развития CAN было положено компанией Bosch в 1983 г Центральное место в CAN занимает протокол канального уровня модели OSI.
Основные характеристики Число адресов Скорость передачи Размер данных до 32 125… 1000 Кбит/с 8 слов (байт). Формат сеанса - посылка по изменению. Промышленная сеть реального времени CAN представляет собой сеть с общей средой передачи данных: все узлы сети одновременно принимают все данные, передаваемые по шине. Невозможно послать сообщение какому-либо конкретному узлу. CAN-контроллеры предоставляют аппаратную возможность фильтрации CAN-сообщений. Каждый узел состоит из: - контроллера – осуществляет взаимодействие с сетью и реализует протокол; - микропроцессора (CPU).
CAN в соответствии с моделью OSI № 1 Подуровни CAN Примечание Канальный (передачи данных) LLC (Logical Link Control) — управление логическими связями Подтверждение фильтрации, уведомление о перегрузке, управление восстановлением данных MAC (Medium Access Control) — управление доступом к каналу 2 Название уровня Формирование пакетов данных, кодирование, управление доступом, обнаружение ошибок, сигнализация об ошибках, подтверждение приема, преобразование из последовательной формы в параллельную и обратно Физический Обеспечение надежной передачи на уровне байтов (кодирование, контрольная сумма, временные диаграммы, синхронизация). Требования к линии передачи Физический
CAN характеризуется следующими основными свойствами: каждому сообщению (а не устройству) устанавливается свой приоритет; гарантированная величина паузы между двумя актами обмена; гибкость конфигурирования и возможность модернизации системы; широковещательный прием сообщений с синхронизацией времени; непротиворечивость данных на уровне всей системы; допустимость нескольких ведущих устройств в сети (многомастерная сеть); способность к обнаружению ошибок и сигнализации об их наличии; автоматический повтор передачи сообщений, доставленных с ошибкой, сразу, как только сеть станет свободной; автоматическое различение сбоев и отказов с возможностью автоматического отключения отказавших
Шина соединения CAN-контроллеры соединяются с помощью дифференциальной шины. Шина имеет две линии - CAN_H (can-high) и CAN_L (can-low). Лог. ” 0” сигнал на линии CAN_H выше, чем на линии CAN_L. Лог. “ 1” - сигнал CAN_H и CAN_L одинаковы (отличаются менее чем на 0. 5 В).
Приоритет сигналов Логический ноль - называется доминантным битом, а логическая единица - рецессивным. При одновременной передаче в шину лог. нуля и единицы, на шине будет зарегистрирован только логический ноль(доминантный сигнал), а логическая единица будет подавлена (рецессивный сигнал).
Типы сообщений Данные в CAN передаются короткими сообщениями – кадрами стандартного формата. Четыре типы сообщений: DATA FRAME (фрейм данных) переносит данные от передатчика к приемнику; REMOTE FRAME (дистанционный фрейм, фрейм вызова) передается одним из устройств для того, чтобы получить от другого устройства данные в формате DATA FRAME с тем же идентификатором, что и в REMOTE FRAME; ERROR FRAME (фрейм ошибок) передается любым устройством, обнаружившим ошибку на шине; OVERLOAD FRAME (фрейм перегрузки) используется для запроса дополнительной задержки между предыдущими и последующими данными.
Структура фрейма данных
Расширенный формат кадра данных Формат кадра запроса совпадает с кадрами данных стандартного или расширенного формата за двумя исключениями: v В поле RTR рецессив вместо доминанты. v Отсутствует поле данных.
Арбитраж Поле арбитража CAN-кадра используется в CAN для разрешения коллизий доступа к шине методом недеструктивного арбитража: когда несколько контроллеров начинают одновременную передачу CANкадра в сеть, каждый из них сравнивает бит, который собирается передать на шину, с битом, который пытается передать на шину конкурирующий контроллер. Если значения этих битов равны, оба контроллера передают следующий бит. И так происходит до тех пор, пока значения передаваемых битов не окажутся различными. Контроллер, который передавал логический ноль (более приоритетный сигнал), будет продолжать передачу, а другой (другие) контроллер прервёт свою передачу до того времени, пока шина вновь не освободится. Если шина в данный момент занята, то контроллер не начнет передачу до момента её освобождения.
Арбитраж
Скорость передачи 1000 Кбит/сек 500 Кбит/сек 250 Кбит/сек 125 Кбит/сек 10 Кбит/сек Максимальная длина сети 40 метров 100 метров 200 метров 500 метров 6 километров Ограничение на длину кабеля связано с конечной скоростью света и механизмом побитового арбитража (во время арбитража все узлы сети должны получать текущий бит передачи одновременно, т. е. сигнал должен успеть распространится по всему кабелю за единичный отсчет времени в сети. Разъемы для сети CAN до сих пор НЕ СТАНДАРТИЗОВАНЫ. Каждый протокол высокого уровня обычно определяет свой тип разъемов для CAN-сети.
Преимущества Возможность работы в режиме жёсткого реального времени. Простота реализации и минимальные затраты на использование. Высокая устойчивость к помехам. Арбитраж доступа к сети без потерь пропускной способности. Надёжный контроль ошибок передачи и приёма. Широкий диапазон скоростей работы. Большое распространение технологии, наличие широкого ассортимента продуктов от различных поставщиков. Недостатки Максимальная длина сети обратно пропорциональна скорости передачи. Большой размер служебных данных в пакете (по отношению к полезным данным). Отсутствие единого общепринятого стандарта на протокол высокого уровня
Протокол Mod. Bus
Протокол Mod. Bus Разработан компанией Modicon (Schneider Electric ) в 1979 году ü ü Технология Master - Slave Master + до 247 Slave на общей шине Только Master инициирует передачу Адресация: запрос/ответ (один Slave) или широковещательная/без ответа (все Slave) Может использовать для передачи данных последовательные линии связи RS 485, RS 422, RS 232, а также сети TCP/IP (Modbus TCP).
• • адрес получателя, что сделать, исходные данные, контроль достоверности Адресация Modbus относится к протоколам прикладного уровня модели OSI. Запрос Mod. Bus Master Slave Ответ • • адрес Slave, что сделано, данные -результат, контроль достоверности
Инфраструктура сети RS-485 протокола Modbus
Режимы передачи ASCII (для медленных линий связи) 7 бит RTU 8 бит ASCII символы 0 – 9, A - F Система кодирования 8 – битовая, двоичная LRC Контрольная сумма CRC Существуют три основных реализации протокола Modbus: q Modbus RTU q Modbus ASCII и для передачи данных по сетям Ethernet поверх TCP /IP: q Modbus TCP.
Пакеты протокола Mod. Bus PDU (Protocol Data Unit. ADU (Application Data Unit). q адрес ведомого устройства — адрес подчинённого устройства, к которому адресован запрос. Ведомые устройства отвечают только на запросы, поступившие в их адрес. q номер функции — это следующее однобайтное поле кадра. Оно говорит ведомому устройству, какие данные или выполнение какого действия требует от него ведущее устройство; q данные — поле содержит информацию, необходимую ведомому устройству для выполнения заданной мастером функции или содержит данные, передаваемые ведомым устройством в ответ на запрос ведущего. Длина и формат поля зависит от номера функции; q блок обнаружения ошибок — контрольная сумма для проверки отсутствия ошибок в кадре.
Формат кадра сообщения Mod. Bus RTU Адрес Функция Данные Контр. сумма 8 бит T 1 T 2 T 3 8 бит N*8 бит 16 бит Доступны переменные: Ø Логические ячейки (coils) Ø Дискретные входы (inputs) Ø Входные регистры (input registers) Ø Регистры хранения (holding registers) T 1 T 2 T 3 65535*1 бит 65536*1 бит 65535*16 бит
Коды функций Код Название Действие 01 READ COIL STATUS 02 READ INPUT STATUS 03 READ HOLDING REGISTERS 04 READ INPUT REGISTERS Получение текущего значения одного или нескольких входных регистров. 05 FORCE SINGLE COIL Изменение логической ячейки в состояние ON или OFF. 06 FORCE SINGLE REGISTER Получение текущего состояния (ON/OFF) группы логических ячеек. Получение текущего состояния (ON/OFF) группы дискретных входов. Получение текущего значения одного или нескольких регистров хранения. Запись нового значения в регистр хранения.
Коды функций 07 READ EXCEPTION STATUS Получение состояния (ON/OFF) восьми внутренних логических ячеек, чье назначение зависит от типа контроллера. Пользователь может использовать эти ячейки по своему выбору. 08 LOOPBACK DIAGNOSTIC TEST Тестовое сообщение, посылаемое SL для получения данных о связи. 11 FETCH EVENT COUNTER COMMUNICATIONS Позволяет MS путем последовательной посылки одного сообщения определить выполнение операции. 12 Позволяет MS получить журнал связи, FETCH COMMUNICATIONS который содержит информацию о каждой EVENT LOG Modbus транзакции данного SL. Если транзакция не выполнена, в журнал заносится информация об ошибки.
Коды функций 13 PROGRAM Позволяет MS программировать SL. 14 POLL PROGRAM COMPLETE Позволяет MS связываться с другими SL если один SL выполняет долговременную операцию программирования. SL периодически опрашивается на момент завершения программирования. Данный запрос посылается только в том случае, если предварительно был послан запрос PROGRAM. 15 FORCE MULTIPLE COILS Изменить состояние (ON/OFF) нескольких последовательных логических ячеек. 16 FORCE MULTIPLE REGISTERS Установить новые значения нескольких последовательных регистров. 17 REPORT SLAVE I. D. Позволяет MS определить тип адресуемого SL и его рабочее состояние.
Коды функций 19 RESET COMMUNICATIONS LINK 20 -64 Зарезервировано под расширения Modbus 65 -72 Зарезервировано под пользовательские функции. 73 -119 Сбрасывает SL в известное состояние после неустранимой ошибки. Сбрасывает счетчик принятых байт. ILLEGAL FUNCTION 120 – 127 128 – 255 В дальнейшем не будет использоваться в продуктах Modicon. Зарезервировано Modicon для внутреннего использования. Зарезервировано для исключительных ситуаций.
Функция 1: чтение логических ячеек Запрос на чтение логических ячеек из прибора с адресом 17 Адрес Функция Ст. байт адреса 1 -й ячейки Мл. байт адреса 1 -й ячейки Ст. байт число ячеек Мл. байт число ячеек Контр. сумма 11 01 00 13 00 25 B 6 Ответ на запрос Адрес Функция Кол-во байт в поле данных Статус ячеек 20 -27 Статус ячеек 28 -35 Статус ячеек 36 -43 Статус ячеек 44 -51 Статус ячеек 52 -56 Контр сумма 11 01 05 CD 6 B B 2 0 E 1 B D 6
Функция 3: чтение регистров Запрос на чтение регистров из прибора с адресом 17 Адрес Функция 11 Ст. байт номера 1 -го регистра Мл. байт номера 1 -го регистра Ст. байт число регистров Мл. байт число регистров Контр. Сумма 00 6 B 00 02 11 03 Ответ на запрос Адрес Функция Кол-во байт данных Ст. байт регистра 40108 Мл. байт регистра 40108 Ст. байт регистра 40109 Мл. байт регистра 40108 Контр. сумма 11 03 04 02 2 B 00 00 55
Функция 16: запись регистров Запрос на запись регистров из прибора с адресом 17 Адрес Функция 11 10 Адрес 1 -го регистра 00 87 Кол-во регистров 00 Кол-во байт в поле данных 02 04 Регистр 40136 00 Регистр 40137 0 A 01 02 Ответ на запрос Адрес Функция 11 10 Адрес 1 -го регистра 00 87 Кол-во регистров 00 02 Контр. сумма 56 Контр. сумма 45
Типы сообщений Mod. Bus TCP/IP Запрос Индикация Mod. Bus Client Server Подтверждение Ответ
Формат сообщения Mod. Bus Модуль данных приложения (Mod. Bus ADU) Адрес Функция Данные Проверка ошибок Модуль данных протокола (Mod. Bus PDU) Формат сообщения Mod. Bus TCP/IP Модуль данных приложения ( Mod. Bus TCP/IP ADU) Заголовок Функция Данные Модуль данных протокола (Mod. Bus PDU)
Формат заголовка Mod. Bus TCP/IP ADU Поле Описание Идентификатор транзакции Определение Запрос/Ответ транзакции Mod. Bus Идентификатор протокола 0 = протокол Mod. Bus Длина Количество следующих байтов (включая Идентификатор модуля) Идентификатор модуля Идентификатор удаленного Slave Mod. Bus Client Mod. Bus Server Задает Копирует в Ответ из Запроса 2 байта Задает (Запрос) Задает (Ответ) Задает Копирует в Ответ из Запроса Длина 2 байта 1 байт
Функция 4: чтение регистров хранения Запрос на чтение регистра из прибора с адресом 2 Заголовок Идент. транзакции 00 01 Идент. протокола 00 00 Функция Длина 00 06 Идент. модуля Функция 02 04 Данные Адрес 1 -го регистра 00 20 Кол-во регистров 00 01 Ответ на запрос Заголовок Идент. транзакции 00 01 Идент. протокола 00 00 Функция Длина 00 05 Идент. модуля Функция 02 04 Данные Адрес 1 -го регистра Регистр 40033 02 00 00 00
Контроль ошибок в протоколе Modbus RTU Во время обмена данными могут возникать ошибки двух типов: ошибки, связанные с искажениями при передаче данных (обнаруживаются при помощи контроля чётности и циклической контрольной суммы ); логические ошибки (устройства могут отсылать ответы, свидетельствующие об ошибочной ситуации). 1. Если Slave принимает корректный запрос и может его нормально обработать, то возвращает нормальный ответ. 2. Если Slave не принимает какого либо значения, никакого ответа не отправляется. Master диагностирует ошибку по таймауту. 3. Если Slave принимает запрос, но обнаруживает ошибку (parity, LRC, or CRC), никакого ответа не отправляется. Master диагностирует ошибку по таймауту. 4. Если Slave принимает запрос, но не может его обработать (обращение к несуществующему регистру и т. д. ), отправляется ответ содержащий в себе данные об ошибке.
Стандартные коды ошибок 01 Принятый код функции не может быть обработан на подчиненном. 02 Адрес данных, указанный в запросе, не доступен данному подчиненному. 03 Величина, содержащаяся в поле данных запроса, является не допустимой величиной для подчиненного. 04 Невосстанавливаемая ошибка имела место, пока подчиненный пытался выполнить затребованное действие. 05 Подчиненный принял запрос и обрабатывает его, но это требует много времени. Этот ответ предохраняет главного от генерации ошибки таймаута. 06 Подчиненный занят обработкой команды. Главный должен повторить сообщение позже, когда подчиненный освободится. 07 Подчиненный не может выполнить программную функцию, принятую в запросе. Этот код возвращается для неудачного программного запроса, использующего функции с номерами 13 или 14. Главный должен запросить диагностическую информацию или информацию об ошибках с подчиненного. 08 Подчиненный пытается читать расширенную память, но обнаружил ошибку паритета. Главный может повторить запрос, но обычно в таких случаях требуется ремонт.