Pull to refresh

Прием и передача данных по 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.
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.