<< Нажмите для отображения содержания >>

Навигация:  Настройка > Источники данных >

MODBUS

Данный источник данных может выступать в роли ведущего (master), используя протоколы MODBUS RTU или MODBUS TCP, и получать значения от ведомого (slave).

 

Обмен данными может осуществляться через COM порт или по сети Ethernet.

 

При обмене данными по одному соединению, программа выстраивает все запросы в одну очередь, и выполняет их последовательно. Запросы на запись всегда попадают в начало очереди, впереди запросов на чтение. Запрос, стоящий в начале очереди выполняется первым.

 

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

 

Не допускается создание разных соединений, использующих тот же номер порта.

 

data-source-modbus

Рис. 17. MODBUS.

 

Соединение - в программе можно настроить подключение к нескольким ведомым одновременно. В данном списке выбирается подключение из ранее настроенных, а кнопка "Добавить" позволяет настроить новое подключение (рис. 18). Рядом расположены кнопки для изменения настроек подключения и удаления подключения.

 

Имя - указывается имя значения для вашей информации.

 

Адрес устройства - здесь указывается адрес вашего устройства в сети MODBUS устройств. Согласно спецификации протокола MODBUS адрес - это число от 0 до 255. Если вы укажите 0 в качестве адреса устройства, то все устройства в сети будут отвечать на этот запрос.

 

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

 

Смещение в памяти - каждая область памяти может иметь до 65536 регистров со смещением от 0 до 65535 (зависит от ведомого). Иногда, в документации на устройство, указывается не смещение, а адрес вида 40100. В данном случае, первая цифра указывает область памяти, а другие цифры указывают адрес от 1 до 65535. В этом случае нужно от адреса отнять единицу, и указать получившееся значение в качестве смещения. Пример:

 

Адрес: 40100

Код области памяти: 4

Адрес в памяти: 100

Смещение: 99

 

Коды области памяти:

 

0 - Логические ячейки / Coils.

1 - Логические входы / Discrete inputs.

3 - Входные регистры / Input registers.

4 - Регистры хранения / Holding registers.

 

Кол-во регистров - указывается количество последовательных регистров в памяти устройства, в которых хранится значение. Значение может занимать несколько последовательных регистров в памяти устройства, в зависимости от типа значения. Один регистр хранит два байта. Поэтому, например, тип данных "I32" будет занимать в памяти два регистра (32 бита 4 байта → 2 регистра по 2 байта).

 

Тип данных - задается тип данных значения. Обычно, области памяти 0 и 1 хранят логические значения, а 3 и 4 числовые значения.

 

Порядок байт в регистре/значении - зависит от подхода устройства к хранению данных во внутренней памяти. При этом, нет определенного стандарта в хранении данных. Но наиболее часто встречается метод хранения, когда самый старший регистр значения и байт в регистре передается в пакете данных первым, что соответствует порядку "BA" и "DC".

 

Опрос

 

Интервал - здесь можно задать интервал опроса MODBUS устройства для проверки нового значения в регистре. Чем меньше интервал, тем быстрее реакция на обновление значения, но более высокая загрузка процессора, которого линейно возрастает при увеличении количества тегов.

 

Время в формате Cron - эти опции позволяют задать гибкое расписания опроса устройства. В основном используется при редком чтении значения тега из устройства.

 

Соединение

 

data-source-modbus1

Рис. 18. Подключение через COM порт.

 

Опции соединения имеют некоторые отличия, в зависимости от типа соединения.

 

Общими являются следующие параметры:

 

Имя - имя подключения, которое отображается в списке подключений (рис. 17).

 

Тип - тип соединения (COM порт или сеть).

 

Режим - задается тип протокола MODBUS. Обычно, MODBUS RTU используется при передаче данных через COM порт, а MODBUS TCP при передаче данных через сеть. Но бывают случаи, когда MODBUS RTU используется совместно с сетевым подключением.

 

Ожидание ответа - это интервал ожидания ответа от MODBUS устройства, после того как был отослан запрос. После этого таймаута программа автоматически отменяет текущий запрос и переходит к следующему запросу в очереди. Если данные придут после этого интервала, то они будут проигнорированы. Значение таймаута зависит от нескольких факторов: скорости работы соединения, производительности устройств, количества передаваемых данных в запросе или ответе.

 

Параметры соединения через COM порт

 

COM порт - можно выбрать порт из списка. Программа автоматически определяет все доступные порты в операционной системе.

 

Скорость, Биты данных, Четность, Стоп-биты - задают параметры связи с устройством и зависят от его настроек.

 

Режим интерфейса RS 485 - опция включает режим автоматического управления программой сигналом RTS COM порта. При передаче данных программа всегда будет устанавливать значение этого выхода в активное состояние. Это может потребоваться при использовании внешних аппаратных конвертеров RS232-RS485.

 

Параметры сетевого соединения

 

data-source-modbus2

Рис. 19. Сетевое подключение.

 

IP адрес - указывается IP адрес устройства.

 

Порт - указывается TCP порт для подключения. Стандартное значение - 502. Обратите внимание, что некоторые MODBUS устройство ограничивают число одновременных подключений и опрос одного устройства с разных компьютеров может быть невозможен.