16:16, 24 января 2024   Просмотров: 1430

Описание протокола Modbus и совместимых PLC

Modbus — протокол связи для упрощения передачи данных между клиентом и сервером. Его применяют в промышленной автоматизации, позволяя датчикам, контроллерам и панелям оператора общаться через общий интерфейс. Ведущее устройство управляет техническими параметрами ведомого устройства. Протокол простой, надежный и открытый. Modbus появился в 1979 году. Он поддерживает как последовательные, так и Ethernet-соединения, способен работать в режимах RTU, ASCII и TCP/IP.

Основные функции Modbus — чтение и запись полей данных, которые называют регистрами. Так можно контролировать, настраивать устройства. У каждого элемента в сети уникальный адрес, а Modbus позволяет централизованно управлять устройствами, направляя запросы к конкретным адресатам. Возможности протокола:

  • чтение, запись значений в регистры хранения и регистры ввода-вывода;
  • передача сообщений диагностического характера;
  • выполнение дистанционных команд;
  • опрос статуса устройств.

Modbus решает задачи по управлению настройками, параметрами периферии. Он позволяет динамически менять режим работы без физического доступа к электрооборудованию

Благодаря открытой спецификации, Modbus поддерживают многие ПЛК. Протокол применяют в простых системах мониторинга и в сложных схемах управления автоматизированного производства. Его легкость интеграции, доступность обуславливают популярность среди инженеров, разработчиков систем автоматизации.

Modbus обеспечивает связь в реальном времени, что важно для процессов, требующих быстрого отклика. Системы контроля и управления, использующие этот протокол, могут оперативно реагировать на изменения рабочих параметров. Это повышает эффективность, безопасность производственных процессов.

Протокол ModbusПротокол Modbus

Протокол предусматривает механизмы проверки целостности данных — контрольной суммы в режиме RTU или линейного проверочного кода в режиме ASCII, минимизируя вероятность ошибок передачи. Это улучшает надежность системы, уменьшает риски, связанные с потерей или искажением информации. Спецификация позволяет использовать любой физический уровень на основе асинхронных приемопередатчиков.

Основные функции и возможности протокола Modbus

Протокол Modbus организует обмен данными между устройствами в сети. Он позволяет контроллеру на шине считывать значения из памяти подчиненных устройств, записывать в нее новую информацию. Благодаря Modbus, контроллер может удаленно управлять работой подключенных к сети модулей ввода-вывода. Типичные примеры — включить и отключить выходные каналы, изменить параметры работы аналоговых модулей.

Протокол Modbus реализует несколько режимов передачи данных. Самые распространенные — RTU, ASCII и TCP. В режиме RTU сообщения кодируются в виде бинарных последовательностей. Это позволяет передавать информацию в компактном виде.

Чтение и запись значений регистров

Основные операции протокола Modbus — чтение и запись данных. Это позволяет контроллеру получать текущие значения измеряемых величин и параметров работы ведомых устройств. ПЛК может изменять состояние регистров Modbus в устройствах, меняя режимы их работы. Примеры — включить нужный режим выходного канала или задать коэффициент усиления для аналогового входа.

Для чтения и записи данных в Modbus используются специальные функции протокола. Их коды стандартизированы. Это обеспечивает совместимость устройств разных производителей.

Диагностика соединения

Modbus содержит функции для проверки связи между устройствами. Это позволяет оперативно обнаруживать проблемы, устранять их. Контроллер на шине может запросить ответ от ведомого устройства. Если ответ не получен в течение заданного таймаута, это говорит о потере связи.

Еще в Modbus есть функция для анализа счетчика ошибок связи в подчиненном устройстве. Рост значения счетчика указывает на проблемы в линии связи между контроллером и модулем.

Обнаружение и устранение ошибок

Протокол поддерживает механизмы контроля ошибок, позволяющие повысить надежность передачи данных. Каждое сообщение содержит контрольную сумму. Получатель проверяет ее для обнаружения ошибок. Если сумма не совпадает, сообщение отбрасывается.

Также в ответ на запрос контроллер получает код ошибки. Это позволяет определить причину сбоя, предпринять действия для ее устранения. Пример — если подчиненное устройство вернуло код об ошибке чтения, контроллер может повторить запрос. Или изменить параметры связи при систематических ошибках.

Режимы передачи данных

Протокол Modbus поддерживает три режима, определяющих способ кодирования, передачи информации. Выбор зависит от типа канала связи, его пропускной способности, уровня помех. Для организации связи по последовательным интерфейсам, таким как RS-485, RS-232, используют режимы RTU и ASCII. В случае построения сети на базе Ethernet применяют режим TCP/IP.

Режимы передачи данных ModbusРежимы передачи данных

Режимы отличаются методами кодирования информации, способами обнаружения ошибок, особенностями реализации протокола.

RTU

Описание протоколов Modbus RTU простое. Они ориентированы на передачу данных по высокоскоростным последовательным каналам связи. Modbus использует двоичный формат кодирования информации, при котором каждый байт данных — две шестнадцатеричные цифры. В одном байте 8 бит.

Это позволяет существенно уменьшить избыточность информации, повысить скорость передачи по сравнению с текстовыми форматами. Для проверки целостности данных в RTU используется 16-разрядная циклическая контрольная сумма CRC. Она вычисляется по полиному для каждого блока информации.

ASCII

Режим Modbus ASCII применяют для передачи данных по менее скоростным или ненадежным каналам связи. В нем информация кодируется последовательностью символов ASCII, то есть представлена в текстовом виде.

Это упрощает отладку системы и поиск неисправностей, однако требует большего объема данных для передачи той же информации. В ASCII используется простая 8-разрядная контрольная сумма LRC, обеспечивающая приемлемый уровень защиты от ошибок при меньшем объеме информации.

TCP/IP

Режим Modbus TCP позволяет передавать данные протокола Modbus поверх сетей Ethernet, используя стек протоколов TCP/IP. Это дает возможность организовать связь контроллеров на больших расстояниях, используя существующую сетевую инфраструктуру.

Каждый пакет Modbus инкапсулируется внутри протокола TCP/IP. Передача и маршрутизация осуществляется стандартными механизмами этого протокола. Режим TCP/IP требует наличия сетевых компонентов, но обеспечивает расширенные возможности построения распределенных систем управления.

Типы фреймов в протоколе Modbus

В протоколе Modbus используют несколько типов фреймов, отличающихся по своей структуре, назначению. Основные фреймы — запрос, ответ, сообщения об ошибке.

Фрейм запроса формируется сервером сети Modbus для инициирования какого-либо действия на клиенте. Он содержит уникальный адрес client-модуля, код запрошенной функции, данные самого запроса.

Фрейм ответа посылает ведомое устройство в качестве реакции на запрос сервера. Он повторяет код функции, информацию запроса, содержит данные ответа на этот запрос.

Фрейм ошибки генерирует клиент во время появления проблем при обработке запроса сервера. В этом фрейме содержится код ошибки, позволяющий диагностировать причину проблемы.

Каждый тип фрейма имеет свое четкое назначение, структуру. Это позволяет однозначно интерпретировать сообщения, организовать надежный обмен данными.

Запрос

Запрос — основной тип фрейма. Он инициирует обмен данными в сети Modbus, позволяет серверу управлять клиентами, собирать информацию. Фрейм запроса содержит уникальный адрес устройства, к которому обращается server. Это позволяет определить, какое устройство должно выполнить целевое действие.

Далее в запросе идет код функции, определяющей тип запрошенной операции. Примеры — чтение регистра, запись значения, диагностика. После кода функции следуют данные запроса. Это может быть адрес регистра для чтения, значение для записи.

Ответ

Фрейм ответа формирует ведомый блок в ответ на запрос сервера сети Modbus. Он позволяет передать обратно данные, запрошенные контроллером на шине. Ответ начинается с повторения кода функции из запроса. Это позволяет однозначно идентифицировать, на какой именно запрос дан ответ.

Далее следуют данные, которые были переданы в запросе. Это могут быть адрес регистра, значение для записи. Повторение этой информации важно для корректной обработки ответа. После повторенных данных запроса в ответе идет информация ответа на запрос. Пример при чтении — прочитанное значение регистра.

Ошибка

Фрейм ошибки генерируется подчиненным устройством Modbus, если появилась проблема при обработке запроса от сервера. Вместо штатного ответа, клиент возвращает сообщение об ошибке. В нем содержится код, идентифицирующий причину проблемы.

Ошибка 01 говорит о невозможности обработки кода функции. Код 02 указывает на неверный адрес данных в запросе. Цифры 03 сигнализируют об ошибке значения данных. Код 08 информирует об ошибке контроля четности при чтении расширенной памяти. Обработка ошибок позволяет своевременно обнаруживать сбои, принимать меры по их устранению.

Совместимые ПЛК

Протокол Modbus используют в программируемых логических контроллерах (ПЛК) российских производителей. Это обеспечивает совместимость интеллектуальных устройств, возможность построения распределенных систем управления.

ПЛК L22_40CU_TPLC L22_40CU_T

Среди моделей ПЛК, поддерживающих Modbus, можно выделить модуль ЦП L22_40CU_T. У него 24 канала цифровых входов и 16 каналов цифровых выходов. Для работы по протоколу TCP/IP есть встроенный порт Ethernet. Объем системной памяти составляет 256 Кбайт, а энергонезависимой MRAM — 8 Кбайт. Центральный процессор модуля питается от сети постоянного тока с напряжением 24 В. Производством и поставкой оборудования для автоматизации занимается ООО "Консист Констракшн".

Хотите посмотреть оборудование?

Оставить комментарий с помощью

Видео
Мульчер 2
Малогабаритная установка Кондор
Розлив и упаковка напитков