Протокол Modbus

Протокол MODBUSявляется международным стандартом, который поддерживают многие фирмы – производители контроллеров технологического оборудования. Протокол предполагает одно активное (запрашивающее) устройство в линии (мастер) и позволяет опрашивать устройства, обращаясь к ним по уникальному адресу. Синтаксис команд протокола позволяет адресовать 254 устройства, соединенные в линию. Обычно подразумевается, что физический уровень линии должен соответствовать стандарту RS-422 (четырехпроводный, дуплексный) или RS-485 (двухпроводный, полудуплексный, с захватом линии), однако при соединении «точка-точка» тот же формат команд может быть использован на любом последовательном асинхронном физическом интерфейсе, в том числе RS-232.

Контроллеры соединяются, используя технологию «главный-подчиненный», при которой только одно устройство (master, главный) может инициировать передачу (сделать запрос). Другие устройства (slaves, подчиненные) передают запрашиваемые главным устройством данные или производят запрашиваемые действия. Типичное главное устройство включает в себя ведущий (host) процессор и панели программирования. Типичное подчиненное устройство – программируемый контроллер. Контроллеры могут быть соединены напрямую или через модем.

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

Форматы запроса и ответа имеют вид: адрес устройства; код функции; 8-битные байты данных; контрольная сумма.

Код функции в запросе говорит подчиненному устройству, какое действие необходимо произвести. Байты данных содержат информацию, необходимую для выполнения запрошенной функции. Например, код функции 3 подразумевает запрос на чтение содержимого регистров подчиненного. Если подчиненный дает нормальный ответ, код функции в ответе повторяет код функции в запросе, и в байтах данных содержится затребованная информация. Если имеет место ошибка, то код функции модифицируется, и в байтах данных передается причина ошибки. В сетях MODBUS может быть использован один из двух способов передачи: ASCII или RTU (Remote Terminal Units, удаленные терминальные устройства). Пользователь выбирает необходимый режим вместе с другими параметрами (скорость передачи, режим паритета и т. д.) во время конфигурирования каждого контроллера.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: