Конвертер TCP/IP - RS-485 / RS-232

    На одном объекте, как то понадобилось передавать информацию о весе с нескольких автомобильных весов на компьютер службы безопасности, который при этом находился на весьма приличном удалении. По примерным подсчетам получалась длина линии около одного километра. Интерфейс на весовых терменалах был RS-485, что позволяет передавать данные на расстояние до 1200 м, при скорости передачи 9600 бит/с. Можно было бы кинуть через все предприятие десятки метров кабеля и подключить к необходимому компьютеру через переходник RS-485 - USB, но наличие в непосредственной близости от весового терминала локальной вычислительной сети (ЛВС) безопасников и перспектива протягивания около километра кабеля по труднодоступным местам, натолкнула на мысль подключить каким то образом весовой терминал сразу в сеть ЛВС.    

    После изучения данного вопроса, оказалось, что есть устройства позволяющие подключить линию RS-485 или RS-232 к (ЛВС) и передавать данные по протоколу TCP/IP. Решено было применить конвертер TCP/IP - RS-485 / RS-232 CP-2006. Протокол TCP (в сравнении c UDP) позволяет передавать пакеты по сети с гарантированной доставкой, это хорошо, значит данные не потеряются.  

 

     Важно, чтоб такие устройства были с гальванической изоляцией, что обеспечивает конвертер CP-2006.

    Итак, устройство приобретено, попробуем в тестовом режиме проверить его в работе. Для этого подключим с одной стороны конвертер CP-2006 к нашей тестовой локальной сети (к роутеру). С другой стороны к ком порту компьютера. 

    Конвертер имеет интерфейсы RS-485 и RS-232. Данные принятые по протоколу TCP/IP транслируются одновременно и в RS-232 и в RS-485. И наоборот данные переданные по RS-485 или RS-232 транслируются в сеть. Т.е. для использования интерфейса RS-232 или RS-485 достаточно просто подключить к конвертеру CP-2006 соответствующую линию. Поэтому тестировать я буду на интерфейсе RS-232, а RS-485 проверю уже на объекте. 

    При подключении, необходимо учитывать распиновку разъема на конвертере:

    Для подключения к RS-232 удобно использовать штатный переходник RJ45->DB9.

    При этом для соединения с компьютером используется прямой кабель DB9 <-> DB9.

 

 Итак, ЛВС и RS-232 подключены к конвертеру CP-2006. Теперь подключаем питание, используя штатный блок питания. При этом произойдет тестирование индикаторов (последовательно загораются и тухнут светодиоды Power, TX, RX, TX, Power).     

  После чего светодиод Power сигнализирует о текущем состоянии.

 

Cветодиод Power Значение
   Не горит (при этом Изделие запитано)    Неисправен встроенный DC/DC преобразователь
   Моргает с периодичностью 1 раз в секунду    Изделие ожидает подключение по протоколу TCP/IP
   Постоянно горит    Установлено подключение по протоколу TCP/IP

 

Мы видим, что теперь индикатор Power моргает с периодичностью примерно раз в секунду, значит устройство ожидает подключение клиента по протоколу TCP/IP. Теперь откроем на компьютере две программы: COM Port Toolkit и TCP Port Toolkit. Программы скачать можно с официального сайта автора. В программе TCP Port Toolkit выбираем вкладку "Настройка" / "Соединение...". В открывшемся окне выбираем протокол TCP. Значение сервера вводим 192.168.0.100 (IP адрес конвертера CP-2006 по умолчанию, о том как его изменить расскажу ниже, когда буду описывать настройки модуля). Надо отметить, что в настройках роутера подсеть должна быть указана как 192.168.0.0 иначе конвертер будет недоступен, поскольку будет роутер будет считать, что он во внешней сети. Порт указываем 502. Нажимаем Ok.

После чего жмем кнопку "Установить соединение".   

    При удачном подключении светодиод Power начнет гореть постоянно:

 

   

    Теперь открываем программу COM Port Toolkit и выбираем вкладку "Настройка" / "COM - порт". В открывшемся окне выбираем COM порт (RS-232) к которому подключили конвертер CP-2006. Выбираем скорость 9600  (остальные параметры порта оставляем стандартными: данные - 8, паритет - Нет, стоп биты - 1, упр. потоком Нет). Именно такие параметры установлены в модуле по умолчанию.

    Жмем ОК. После чего открываем вкладку "Сообщение" / "Отправить...". В открывшемся окне параметр "Тип данных" устанавливаем - "HEX", параметр "Посылка" устанавливаем - "Одиночная".

    Введем тестовое сообщение: 01 02 03 04 05 и нажмем кнопку Send. Мы увидим как наше сообщение появится в левом разделе программы COM Port Toolkit,  в поле "Отправлено"  и в программе TCP Port Toolkit в правом разделе, в поле "Принято". Отлично! Данные из RS-232 передаются по протоколу TCP.

    Теперь проверим передачу данных в обратном направлении. В программе TCP Port Toolkit открываем вкладку "Сообщение" / "Отправить...". В открывшемся окне параметр "Тип данных" устанавливаем - "HEX", параметр "Посылка" устанавливаем - "Одиночная". Введем сообщение: 06 07 08 09  и нажмем кнопку Send.

   Теперь мы видим, что наше сообщение появится в левом разделе программы TCP Port Toolkit в поле "Отправлено"  и в программе COM Port Toolkit в правом разделе, в поле "Принято".

    При этом индикаторы RX и TX периодически загораются, сигнализируя о приеме и передаче данных соответственно (по сети RS-485 или RS-232).

 

   Итак, как мы выяснили, передача данных между RS-232 / RS-485 и ЛВС осуществима. Забегая немного вперед скажу, что есть программы-драйверы позволяющие подключиться к заданному узлу сети по заданному порту (конвертеру TCP/IP - RS-485 / RS-232 CP-2006) при этом образуют в системе виртуальный COM порт. Это позволяет создать полноценный мост TCP/IP - RS-485 / RS-232. Таким образом, штатные программы устройств, рассчитанные на работу с COM портом по RS-232 или RS-485 могут работать через ЛВС даже не зная об этом.

   Теперь расскажу как настроить параметры конвертера TCP/IP - RS-485 / RS-232 CP-2006. Но прежде стоит упомянуть про полезную кнопку Reset на конвертере. А полезная она потому, что заложили в нее несколько функций:

Нажатие на кнопку Reset Функция
Кратковременное нажатие
(Нажать и сразу отпустить)
Перезагрузка. Изделие будет перезагружено, о чем будет свидетельствовать тесть индикаторов. Видео теста индикаторов.
Нажать, удерживать 2 секунды отпустить Информация о текущих настройках в порт. В линию RS-485 или RS-232 будет отправлена информация о текущих параметрах Изделия (формат ASCII):
IP ADR : XXX.XXX.XXX.XXX   IP MASK: XXX.XXX.XXX.XXX
IP GATE: XXX.XXX.XXX.XXX  MAC ADR: XXX.XXX.XXX.XXX
Baudrate: XXXX Data: X Parit: X Stop bits: X
Нажать и постоянно удерживать (примерно 10 секунд) до перезагрузки Изделия. О чем будет свидетельствовать тест индикаторов

Сброс Изделия к заводским настройкам. При этом текущий пароль установится в значение: 111111. Остальные параметры примут следующие значения: 

IP ADR : 192.168.0.100   IP MASK: 255.255.255.0
IP GATE: 0.0.0.0 

Baudrate: 9600 Data: 8 Parit: No Stop bits: 1 

   

    Попробуем получить данные о текущих настройках конвертера CP-2006. Нажмем и удержим кнопку Reset 3 секунды, после чего отпустим и увидим в программе COM Port Toolkit следующее сообщение:

   Я считаю это очень полезная функция. Так, забыл сетевые настройки, подключил конвертер к COM порту, нажал кнопку Reset и готово, все параметры известны. 

   Что бы изменить параметры конвертера CP-2006 необходимо на персональном компьютере, подключенном к той же ЛВС, в которой находится Изделие, в браузере ввести адрес изделия (например, адрес по умолчанию http//192.168.0.100). Если сеть работает через роутер то необходимо в настройках роутера указать адрес подсети 192.168.0.0, иначе пакеты просто не найдут своего адресата, т.к. будут отправляться во внешнюю сеть. При этом для изменения настроек потребуется ввести пароль:

    Пароль по умолчанию: 111111. После успешного ввода пароля откроется окно настроек. Где  возможно сменить пароль, при этом для ввода нового пароля допустимо использовать только цифры. По завершению ввода нажать кнопку «Save Password». Если забыли пароль, можно воспользоваться функцией: Сброс изделия к заводским настройкам, с помощью кнопки Reset.

    Нажатие кнопки «RST module», в окне настроек удаленно перезагрузит конвертер. При нажатии на кнопку меню «Update» текущие параметры конвертера заносятся в окно настроек.

    MAC адрес конвертера CP-2006 при необходимости можно поменять. Если в одной сети их несколько, то необходимо убедится, что назначенные МАС адреса не совпадают. 

   После изменения настроек, для сохранения параметров необходимо нажать кнопку «Save settings». По завершению работы с окном настроек нажать кнопку меню «Exit».

Вот собственно и все настройки. Отдельно в руководстве по эксплуатации на конвертер указано замечание:

ВАЖНО!!! При передаче данных по ЛВС в линию RS-485 / RS-232 необходимо учитывать пропускную способность интерфейса RS-485 / RS-232 (в соответствии с параметром Baudrate в  настройках Изделия). Для этого необходимо делать соответствующие задержки между передаваемыми пакетами данных. Так как скорость передачи данных по ЛВС значительно превышает пропускную способность интерфейса RS-485 / RS-232.

вероятно для разработчиков TCP приложений. Что вполне логично. 

   Ну что ж, лабораторные испытания завершены. На объекте с установкой и работой по RS-485 тоже проблем не возникло. 

    Так была решена интересная и на первый взгляд необычная задача. При этом быстро и не дорого.

 

Категория: Конвертеры интерфейсов | Добавил: Admin (27.12.2018)
Просмотров: 1644 | Рейтинг: 0.0/0
Всего комментариев: 0
avatar