УСТРОЙСТВО ДЛЯ ОПРЕДЕЛЕНИЯ ПАРАМЕТРОВ MODBUS ЛИНИЙ СВЯЗИ ПРОТОКОЛОВ RS-232/485

Полезная модель относится к области автоматизированных систем управления технологическими процессами (далее - АСУ ТП) и используется для диагностики сетей передачи данных.
Протокол Modbus был разработан c целью осуществления возможности контроллерам и полевым устройствам от разных производителей обмениваться данными. Этот протокол определяет структуру, общий формат разметки и содержимого полей сообщения, которые устройства будут распознавать и использовать независимо от типов сетей, по которым осуществляется связь.
Протокол Modbus основан на цикле запроса-ответа для обмена информацией между контроллерами и полевыми устройствами (датчики, приборы учета расхода, контроллеры удаленных установок). Каждому устройству назначен адрес (уникальное число в пределах сети точно идентифицирующее данное устройство), располагающийся между 1 и 255. Одно устройство - ведущее (master), инициирует транзакции, такие как запросы данных, изменения точек установки, диагностика и т.п., передавая сообщение, адресованное другому устройству - ведомому (slave). По протоколу Modbus сообщение, переданное ведущим, формируется так, чтобы включить в себя адрес ведомого устройства, код функции, определяющий запрошенное действие, любые данные, которые должны быть посланы ведомому устройству и информацию контроля ошибок. Ведомое устройство обнаруживает и принимает сообщение от ведущего, основанное на адресе в сообщении, и обрабатывает функцию, указанную кодом функции в сообщении. После выполнения запрошенной функции ведомый передает ответное сообщение, содержащее информацию, подтверждающую выполненное действие, любые данные, которые должны быть возвращены ведущему, и информацию контроля ошибок.
Обмен данными между устройствами в сети Modbus происходит, используя номера регистров. Каждому параметру управления процессом, используемому в сети Modbus, назначен номер регистра внутри установленного диапазона доступных номеров регистров. Устройства в сети Modbus сконфигурированы для того, чтобы хранить и обменивать параметры управления процессом согласно их назначенным номерам регистров. Для того, чтобы получить значение параметра управления процессом от ведомого устройства, ведущее устройство форматирует и передает сообщение-запрос, включающее в себя адрес ведомого устройства и номер регистра для параметра управления процессом. После приема сообщения-запроса ведомое устройство читает текущее значение номера регистра и форматирует и передает ответное сообщение с номером регистра и сохраненным значением.
При неисправностях очень важно знать параметры сети (скорость, паритет, количество бит, адреса устройств и т.д.). В настоящее время при диагностике для подключения к сети эти параметры приходится перебирать вручную: выставлять параметры на подключаемом устройстве (ноутбуке) и пытаться присоединиться. В случае неудачи - менять параметры и присоединятся снова, при этом успешное подключения приходится определять визуально, просматривая пакеты в шестнадцатеричном формате (побайтово, где каждый байт представлен в виде числа от 00 до FF), и это, только в том случае, если ведущее устройство исправно и посылает корректные запросы, иначе приходится самому генерировать данные запросы в надежде получить ответ от кого-нибудь из ведомых устройств.
Задачей полезной модели является проведение оперативной диагностики сетей передачи данных.
Технический результат - определение параметров сети Modbus при передаче данных по протоколам RS-232/485.
Поставленная задача решается, а технический результат достигается путем разработки и применения устройства, позволяющего определить параметры линии связи, такие как: скорость передачи, бит паритета, количество бит данных, количество стоповых бит, адрес master-устройства, адреса slave-устройств, количество устройств в сети.
Устройство может работать в двух режимах: в режиме ведущего и в режиме ведомого.
В режиме ведомого при подключении устройства к сети передачи данных (RS-232/485), оно, последовательно меняя параметры протокола своего приемника (скорость передачи, бит паритета, количество бит данных, количество стоповых бит) во всем диапазоне возможных комбинаций настроек, определенное время ожидает получения данных по протоколу Modbus. После получения устройство считает контрольную сумму каждого принятого пакета в соответствии со стандартом. Если контрольная сумма сошлась, то считается, что параметры подобраны корректно, после чего устройство, в соответствии со стандартом, выделяет из полученного пакета адрес master-устройства сети. Затем устройство сканирует сеть с подобранными параметрами настройки порта и определяет, к каким устройствам обращается master, таким образом, составляя список клиентов сети и их адреса. Все собранные параметры выводятся на дисплей. Если за время ожидания пакетов принято не было, то, считается, что в сканируемой сети устройств с подобными настройками протокола не обнаружено.
В режиме ведущего при подключении устройства к сети передачи данных (RS-232/485), оно, последовательно меняя параметры протокола своего передатчика (скорость передачи, бит паритета, количество бит данных, количество стоповых бит) во всем диапазоне возможных комбинаций настроек, формирует пакеты данных протокола Modbus согласно стандарту и отправляет их последовательно на все адреса сети. После отправки каждого пакета устройство ожидает ответ определенное время. При получении корректного ответа (ответ соответствует стандарту Modbus и контрольная сумма сходится) из него выделяется адрес ведомого устройства который помещается в список клиентов. Все собранные параметры и адреса выводятся на дисплей.
Выбор режима ведущий/ведомый выполняется с помощью переключателя.
Перед подсоединением устройства к сети, пользователь, так же положением переключателя, должен определить ее тип: RS-232 или RS-485.
Принципиальная схема устройства представлена на фигуре 1. Устройство представляет собой микроконтроллер (1) с обвязкой (кварцевый генератор с конденсаторами, подтягивающие резисторы, стабилизатор напряжения) к которому по протоколу UART (Universal Asynchronous Receiver-Transmitter) присоединены два драйвера связи UART/RS232 (2) и UART/RS485 (3) и дисплей (LCD матричный) (4) по протоколу SPI (Serial Peripheral Interface). Устройство имеет переключатель (5) для выбора протокола линии связи (RS-232 или RS-485), переключатель (6) для выбора режима работы ведущий/ведомый, разъем семейства D-Sub - DB9 (7) (стандарт DIN41652 - стандарт от German institute for standartisation) с распиновкой по стандартам EIA232/EIA485 (стандарты альянса отраслей электронной промышленности - Electronic Industries Alliance) (см фиг 2) и клеммник (8) для возможности подключения к линиям связи не оборудованными разъемами DB9. Устройство питается от батареи (9) через DC/DC преобразователь (10) на 5 вольт. Включение/выключение устройства осуществляется переключателем PS (11).
При работе устройства сигналы с выходов PIN1 и PIN2 управляют чтением/записью драйвера RS485 реализованного на преобразователе MAX485. Переключатель SW1 подает напряжение на драйвер RS232 реализованный на преобразователе MAX232, при этом напряжение так же подается на вход PIN3 контроллера, при этом контроллер отключает драйвер RS485 и работа ведется с внешней линией по протоколу RS232.