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 признак недостоверности, ошибки |
- 11. Промышленные сети modbus, can
- 11.1. Промышленная сеть Modbus
- 5) Поле данных содержит информацию, необходимую sLi для выпол-нения указанной функции, или содержит данные sLi, собранные для ответа на запрос.
- 11.2. Промышленная сеть can
- 1) Структура фрейма данных имеет два исполнения: стандартное (рис.11.4.) и расширенное (здесь рассматриваться не будет ).
- Поле данных - содержит до 8-ми байт данных.