Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ekzamen_TSA_2012_Shinkina.docx
Скачиваний:
4
Добавлен:
17.09.2019
Размер:
1.89 Mб
Скачать

Режимы протокола Modbus

Протокол Modbus предусматривает для передачи данных по последовательным линиям связи два режима передачи: RTU и ASCII.

Режим ASCII предназначен для медленных линий связи, где каждый байт пакета передается как два ASCII символа. Новый пакет начинается со специального служебного символа. При этом между передачей символов одного пакета пауза может быть нескольких секунд(в зависимости от настроек) без возникновения ошибок при передаче.

Использование режима RTU позволяет приблизительно 2 раза увеличить количество передаваемых данных по последовательной линии связи. Данные пакета передаются по сети в двоичном виде без изменений. В режиме RTU перед передачей пакета в линии Рекомендации по проектированию и наладке. 5 выдерживается небольшой интервал тишины. Пакет передается непрерывным потоком данных. Таким образом на скорости 19200 бит/с возможно передать за 1 секунду до 1400 байт данных(при повторяющемся запросе 126 переменных) или опросить до 40 раз одно или несколько устройств(при запросе одной переменной). RTU.

 

   Стандартные функции протокола Modbus RTU кратко описаны ниже:

  Для чтения данных используются следующие функции с кодами:

   1 (0x01) — чтение значений из нескольких последовательных регистров флагов (Read Coil Status)

   2 (0x02) — чтение значений из нескольких последовательных дискретных входов (Read Discrete Inputs)

   3 (0x03) — чтение значений из нескольких последовательных регистров хранения (Read Holding Registers)

   4 (0x04) — чтение значений из нескольких последовательных регистров ввода (Read Input Registers)

    Запрос состоит из адреса первого элемента таблицы, значение которого требуется прочитать, и количества считываемых элементов. Адрес и количество данных задаются 16-битными числами, старший байт каждого из них передается первым.

   В ответе передаются запрошенные данные. Количество байт данных зависит от количества запрошенных элементов. Перед данными передается один байт, значение которого равно количеству байт данных.

 

   Запись одного значения происходит при помощи следующих функций:

   5 (0x05) — запись значения одного флага (Force Single Coil)

   6 (0x06) — запись значения в один регистр хранения (Preset Single Register)

   Команда состоит из адреса элемента (2 байта) и устанавливаемого значения (2 байта). Если команда выполнена успешно, ведомое устройство возвращает копию запроса.

 

     Команда состоит из адреса элемента, количества изменяемых элементов, количества передаваемых байт устанавливаемых значений и самих устанавливаемых значений. В ответе ведомый передает начальный адрес и количество изменённых элементов. По факту в реальных применениях чаще всего используется обмен данными посредствам функций 0x03 и 0x10 чтения и записи нескольких регистров хранения, поэтому разберем эти функции более подробно.

56

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]