Как стать автором
Обновить

Прием и передача данных по COM-порту через Интернет

Многие крупные государственные компании имеют в качестве технического фундамента устаревшие технологии, родом из “перестройки”. Многие встали с колен и, оперившись, стали инвестировать средства в модернизацию, централизацию, а также гибкость своих информационных систем и систем связи. Такое произошло и у нашего заказчика, который хотел осуществить модернизацию всех систем связи с возможностью централизованного мониторинга и управления.

Основным требованием является сохранение функционала всех сервисов, с чем и связана данная заметка, так как во многих филиалах по всей стране используется различное морально устаревшее оборудование на конечных точках (это могут быть как различные датчики, так и коммутаторы, АТС, мультиплексоры и т.д. преимущественно отечественного произодства), подключенное к рабочим местам по последовательному порту (RS-232), на которых работает штатное ПО этого оборудования для управления и мониторинга.

image

Решением, которое было предложено сразу, стало преобразование данных COM-to-IP.

К оборудованию по последовательному порту подключено АРМ (автоматизированное рабочее место) на базе Windows XP, на котором установлен «толстый клиент» (у некоторых это terminal) для управления и мониторинга оборудования, подключенного по последовательному порту. За АРМ работает оператор, в задачу которого входит контроль за состоянием оборудования и управление им, т.е. 1 АРМ = 1 оператор. У заказчика возникла потребность в сокращении рабочих мест, а также централизации и автоматизации. Было предложено преобразование интерфейса RS232-Ethernet, а АРМ виртуализовать и перенести их в ЦОД, предоставив туда удаленный доступ для оператора.

image

В качестве преобразователя сигнала рассматриваются конвертеры (устройства связи и передачи данных — УСПД) нескольких вендоров:


Со стороны управляющего компьютера создаются виртуальные COM-порты, каждый из которых привязывается к IP-адресу и TCP/IP порту конвертера. Виртуальные COM-порты позволяют независимым программам работать с удаленными устройствами, как если бы они были подключенны к компьютеру посредством «настоящего» физического COM-порта.

Итак, перейдем к практике.
У нас на столе конвертер RS232-Ethernet УСПД (собственной разработки — так получилось дешевле) и Вычислитель количества теплоты ВКТ-7 «Теплоком», а также виртуальная машина на базе MS Windows Server 2012 R2 внутри VMWare ESXi 6.0.

Для начала нам потребуется убедиться, что служба nport на УСПД сконфигурирована и запущена.
Задаем аргументы в /etc/default/nport:
DAEMON_ARGS="--device /dev/ttyO4 --port 5505 -l -vvv"

Запускаем службу:
sudo /etc/init.d/nport start

nport.service — LSB: TCP to Serial redirector
Loaded: loaded (/etc/init.d/nport)
Active: active (running) since Sat 2000-01-01 03:00:12 MSK; 15 years 8 months ago
Process: 518 ExecStart=/etc/init.d/nport start (code=exited, status=0/SUCCESS)
Main PID: 739 (nport)
CGroup: /system.slice/nport.service
739 /usr/bin/nport --device /dev/ttyO4 --port 5505 -l -vvv -p

Теперь на виртуальной машине я использовал драйвер виртуального последовательного порта Tibbo VSP Manager, проявивший себя, как наиболее стабильный. Настроим линк между COM3 и IP-address:port УСПД.

Теперь, запуская штатное ПО или клиент терминала и подключаясь к COM3, у нас осуществляется полноценный обмен данными между датчиком, подключенным по COM-порту, и рабочей станцией, подключенной в сеть по интерфейсу Ethernet.
Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.