Старый, добрый знакомый протокол обмена RS-232 до сих пор жив и процветает. Несмотря на свой солидный возраст он остается у разработчиков промышленной аппаратуры до сих пор в ходу и не собирает сдавать завоеванные ранее позиции. Однако несмотря на все свои прелести у этого протокола есть один существенный недостаток, а именно ограничение на длину линии связи, которая не должна превышать 15 метров. В некоторых аппаратных реализациях RS-232 длина линии связи еще меньше! В современном же мире расстояния на которое необходимо подключать оборудование нередко составляют величины в несколько, а то и в десятки раз превышающие указанный предел. Разработчики электронной аппаратуры не желая отказываться от столь успешного и проверенного временем протокола придумали и реализовали целое семейство решений позволяющих удлинять линию связи в десятки и сотни раз. Об одной такой технологии я и расскажу.
Передача сигналов RS-232 по сети Ethernet - возможно ли такое? Ответ да, возможно. А как это? Да вообщем ничего сложного. Схема тут такая. Существуют на рынке устройства называемые конвертерами RS-232 в Ethernet имеющие на борту два порта, один из которых используется для подключения внешнего оборудования, а второй для подключения среды передачи. Первый порт имеет обычно форм-фактор DB9 Male/Female, второй же порт суть хорошо знакомый RJ-45 применяемый в компьютерных сетях 10BaseTX/100BaseTX. Выступая в роли TCP/IP сервера/клиента конвертер позволяет обращаться к подсоединенному по RS-232 внешнему оборудованию через заданный ip-адрес на линии до 100 метров, а с применением промежуточных мостов или коммутаторов в несколько раз больше. Теперь познакомимся с одним из таких конвертеров поближе. Я буду настраивать DS202 конвертер интерфейсов RS232/ethernet производства фирмы Tibbo Techology.
Перед работой DS202 требуется правильным образом сконфигурировать. Для этого необходимо:
Теперь установим необходимое ПО. Производитель предлагает собственный пакет Tibbo Device Server Toolkit (DST) for Windows, последняя версия 5.09.10 которого кстати не видит COM порты в Windows 7 запущенной в VirtualBox`е. Возможно в этом и есть проблема, но я не проверял. Поэтому всю настройку буду проводить на платформе реальной Windows XP. DST предыдущего Release 3.9.82 поддерживает следующие ОС: Windows 98, Me, NT(SP4), 2000, XP, 2003 (server). Видим что 7-ка отсутствует. Есть повод задуматься...
Пакет DST состоит из следующих модулей:
Передача сигналов RS-232 по сети Ethernet - возможно ли такое? Ответ да, возможно. А как это? Да вообщем ничего сложного. Схема тут такая. Существуют на рынке устройства называемые конвертерами RS-232 в Ethernet имеющие на борту два порта, один из которых используется для подключения внешнего оборудования, а второй для подключения среды передачи. Первый порт имеет обычно форм-фактор DB9 Male/Female, второй же порт суть хорошо знакомый RJ-45 применяемый в компьютерных сетях 10BaseTX/100BaseTX. Выступая в роли TCP/IP сервера/клиента конвертер позволяет обращаться к подсоединенному по RS-232 внешнему оборудованию через заданный ip-адрес на линии до 100 метров, а с применением промежуточных мостов или коммутаторов в несколько раз больше. Теперь познакомимся с одним из таких конвертеров поближе. Я буду настраивать DS202 конвертер интерфейсов RS232/ethernet производства фирмы Tibbo Techology.
Перед работой DS202 требуется правильным образом сконфигурировать. Для этого необходимо:
- подключить конвертер на свободный физический COM порт компьютера;
- установить программное обеспечение для настройки;
- произвести установку необходимых параметров устройства и сохранить изменения.
DS DB9F | PC DB9F = 2 | 3; 3 | 2; 4 | 6; 5 | 5; 6 | 4; 7 | 8; 8 | 7
Пакет DST состоит из следующих модулей:
- Device Server Manager (DS Manager);
- Virtual Serial Port Driver (VSPD);
- Virtual Serial Port Manager (VSP Manager);
- Port Monitor;
- Connection Wizard.
Мне сначала понадобиться DS Manager. Запускаю приложение, перехожу на вкладку Serial Access и выбираю из списка доступных последовательных портов компьютера тот, на который подключено устройство DS202. Далее на панели справа нажимаю кнопку Settings в результате чего будет прочитана текущая конфигурация устройства и выдана для редактирования в окне. Можно предварительно произвести инициализацию устройства с помощью кнопки Initialize. Результатом станет восстановление заводских настроек. В настройках сети (вкладка Network Settings) задаю следующие параметры:
- Owner name -- имя владельца устройства (может отсутствовать)
- Device name -- имя устройства (может отсутствовать)
- IP-address -- IP адрес устройства, необходимо задавать в рамках существующей сети
- Transport Protocol -- транспортный протокол, выбираем UDP
- Routing Mode -- режим работы, выбираем Server (Slave). В этом режиме TCP сервер устройства ожидает входящие соединения на порту 1001 (по умолчанию, можно указать другой через параметр Port)
Остальные параметры оставляем без изменений.
Переходим на вкладку Serial Settings. Здесь меня в первую очередь интересует параметр Baud Rate, отвечающий за скорость обмена. Ставлю значение 9600, и отключаю параметр On-the-fly commands (значение Disabled). Остальные параметры без изменений. Подтверждаю свои намерения кнопкой OK. В результате будут установлены новые параметры и произведен ребут DS202. На этом настройка устройства завершена. Проверим, что устройство доступно по сети. Для этого подключаем DS202 патч-кордом Ethernet на коммутатор или хаб и с любого компьютера лезем командой ping на IP-адрес устройства. Ответ должен быть. Можно ping не делать, а перейти на вкладку Auto-Discovery DS Manager и нажать кнопку Refresh. Если все было сделано правильно, устройство определиться, и все операции по конфигурированию устройства можно теперь делать через него.
Далее, мне понадобиться VSP Manager. С помощью этого модуля я создам виртуальный COM порт (VCOM) через который и будет производиться вся работа внешнего приложения с устройством DS202. Для этого запускаем модуль и нажимаем кнопку Add, чтобы создать новый COM порт на компьютере. На вкладке VSP Properties задаем параметры:
- VSP name -- имя COM порта, выбираем свободный. Физические порты отмечены значком *
- Transport Protocol -- транспортный протокол, выбираем как у устройства UDP
- Routing Mode -- режим работы, выбираем Client, так как устройство работает в режиме ведомого TCP сервера
- On-the-fly commands -- выбираем значение соответствующее устройству
- IP-address -- IP-адрес устройства DS202
Параметры на вкладке Control Lines оставляем без изменений. На вкладке Default Serial Settings устанавливает параметры в соответствии с настройками устройства DS202. Сохраняем настройки кнопкой OK. COM порт готов. Можно проверить его работу. Я например для этого подключил на RS-232 порт DS202 внешний модем, предварительно установив его скорость в 9600 командой AT+IPR=9600 через физический COM порт компьютера.
P.S. Все этапы настройки можно провести с помощью Connection Wizard. Его возможностей обычно хватает. И только если появляются проблемы, можно рекомендовать ручную настройку с помощью DS Manager и VSP Manager.
P.Ss. Активность на VCOM можно посмотреть с помощью модуля Monitor, который выдает информацию как по сетевому интерфейсу устройства, так и по каналу RX/TX data.