logo search
АИУС / АИУС / Лекция 11

11.1. Промышленная сеть Modbus

Modbus - это открытый протокол, который поддерживается различ-ными SCADA и УСО, а также различными автономными средствами ком-мерческого учета энергии и энергоносителей, средствами измерения текущих технологических параметров, автономными средствами логичес-кого управления и регулирования.

11.1.1. Физический уровень Modbus реализуется последовательной пе-редачей сигналов в линиях связи интерфейсов типа «токовая петля», RS 232, RS485 в формате байта: с указанием количества бит данных, нали-чия бита проверки на четность и числа стоповых бит. Например: 8Р1 – 8 бит данных, бит паритета, один стоповый бит.

Скорость обмена устанавливается в зависимости от выбранного ти-па интерфейса и длины линии связи.

Наиболее активно в Modbus на физическом уровне используется интерфейс RS485.

Интерфейс RS-485 предназначен для создания линий связи с много-точечными соединениями. В стандарте RS-485 максимальная нагрузка пе-редатчика определяется 32-мя единичными нагрузками, где под единич-ной нагрузкой понимается входной импеданс стандартного приемника RS-485 (12кОм). При этом максимальная длина линии связи составляет до 1200 м. Использование повторителей сигналов позволяет увеличить длину линии связи еще на 1200 м и позволяет добавить еще 32 узла (рис.12.2). И таких цепей-добавлений через повторитель может быть несколько.

Повторитель

1

2

32

Повторитель

МВВ УСО

1

2

32

Рис.11.2. Структура сети с RS485 c повторителями сигналов

Электрические характеристики RS485 представлены в табл. 11.1.

: Т а б л и ц а 11.1.

Характеристики

Интерфейс RS-485

Режим работы  

Дифференциальный

Максимальная скорость передачи данных

10 Мбит/с  

Диапазон выходного сигнала  

От ± 1.5 В  до ± 5 В  

Максимальный ток короткого замыкания  

250 мА  

Сопротивление нагрузки Tx  

54 Ом  

Чувствительность по входу Rx  

± 200 мВ  

Максимальное входное сопротивление Rx  

12 кОм  

Диапазон напряжений входного сигнала Rx

от -7 В до +12 В  

Уровень логической единицы Rx  

> 200 мВ  

Уровень логического нуля Rx  

< 200 мВ  

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

11.1.2. Канальный уровень Modbus поддерживает работу сети с дву-мя форматами передачи сообщений: ASCII (American Standard Code for Information Interchange) или RTU (Remote Terminal Unit). Смешивание ре-жимов передачи сообщений в составе одной промышленной сети не до-пускается!

1) Характеристики форматов передачи сообщений представлены в табл. 11.2:

Т а б л и ц а 11.2

Характеристика

Формат ASCII (7-бит)

Формат RTU(8-бит)

Система кодирования

Используются ASCII

символы 0-9,A-F

8-битовая двоичная система

Стартовые биты

1

1

Биты данных

7 (млад. значащий бит –вперед)

8 (млад. значащий бит –вперед)

Четность

Есть/Нет

Есть/Нет

Стоповые биты

1 или 2

1 или 2

Контрольная сумма

LRC(LongitudinalRedundancyCheck).

CRC16 (CyclicalRedundancyCheck)

В режиме RTU данные передаются непрерывным потоком в виде 8-ми разрядных двоичных кодов. В режиме ASCII каждый RTU код сначала делится на две 4-х разрядных части (старший и младший), каждая пере-водится в свой шестнадцатеричный эквивалент (hex), а затем использу-ется в сообщении.

В режиме ASCII допустима задержка до 1 секунды между двумя со-седними символами.

Бит четности может включаться в формат символа и в режиме RTU, и ASCII. В режиме RTU это девятый бит в поле данных (8 бит данных + бит четности). В режиме ASCII это восьмой бит данных (7 бит данных + бит четности). Если контроль четности не используется, бит четности не передается. Внимание: все устройства в системе должны быть сконфигури-рованы одинаково.

2) Организация передачи сообщений в Modbus реализуется по прин-ципу «ведущий (MS)- ведомый (SL)», т.е. все циклы обмена инициируются только ведущим устройством –мастером MS. В Modbus только один MS, а количество SL-узлов определяется в пределах адресной способности сети.

MS, инициируя взаимодействие с SL, формирует адресуемые сообще-ния двух типов:

– Тип 1: кадр запроса с адресом i-того ведомого устройства SL i - кадр ответа. При этом MS посылает SL запрос и ждет на него ответ в течение временного интервала tс. Длительность интервала задается пользователем. Если в течение этого временного интервала MS получит ответ, то сразу же может формировать следующее обращение к этому же или другому SL. Если на заданном временном интервале tс ответное сообщение не будет получено, то MS цикл обмена данными считает не завершенным. Дальнейшее поведе-ние MS определяется пользовательской программой.

– Тип 2: один кадр широковещательного запроса всех SL без ответа. В этом случае широковещательные сообщения выполняются с адресом SL=0. При этом одновременно запрашиваются все SL и по этой причине ответного сообщения от SL не требуется.

3) Структура кадра сообщения в Modbus не зависит от направления передачи:

Адрес ведомого устройства SL (в том числе адрес общего запроса - 0)

Код команды ( функции -считать, запись и т.д.)

Размер поля данных

Данные или Буфер под данные

Контрольный CRC-код

Кадровая синхронизация при передаче сообщения осуществляется:

– в режиме ASCII – передачей символа двоеточия ‘:’, указывающего на начало кадра, символов возврата каретки (CR) и перевода строки (LF), указывающих на конец кадра и готовность к приему ответного сообщения.

Формат кадра сообщения в режиме ASCII

Начало кадра

Адрес

Функция

Данные

Контрольная сумма

:

2 символа

16-бит

2 символа

16 бит

N * 4 символа

N * 16 бит

2 символа

16 бит

CR

LF

– в режиме RTU - отслеживанием времени между приемом символов. Если прошло время, равное периоду следования 3.5 символов, а кадр не был завершен или не поступило нового символа, то устройство очищает кадр и предполагает, что следующий принимаемый байт - это адрес SL в новом сообщении.

Формат кадра сообщения в режиме RTU

Т1 Т2 Т3

Адрес

Функция

Данные

Контрольная сумма

Т1 Т2 Т3

8 бит

8 бит

N * 8 бит

16 бит

4) Поле адреса следует сразу за началом кадра и состоит из одного 8-ми разрядного символа в режиме RTU или 2-х символов в режиме ASCII. Эти биты указывают адрес SLi устройства, которое должно принять посла-нное MS сообщение и ответить на него. Когда SLi посылает ответ, то адрес SLi информирует MS о том, от какого устройства пришло ответное сооб-щение. В широковещательном режиме с адресом SL =0: все SL интерпре-тируют такое сообщение как требование выполнить определенное дейст-вие, без посылки подтверждения.

5) Поле функции содержит код функции, который указывает адресу-емому SLi какое действие должно быть выполнено, а также диагности-ческий бит S –старший бит поля функции, который определяет ответное сообщение следующим образом: S=0, если ответное сообщение SLi повто-ряет запрос или в случае нормального сообщения; S=1, если ответное сообщение не нормальное (ошибочное, недостоверное):

Поле кода команды

b7

b6

b5

b4

b3

b2

b1

b0

S

Код функции Modbus

S=0 - все нормально; S=1 признак недостоверности, ошибки