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

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

В качестве преобразователя сигнала рассматриваются конвертеры (устройства связи и передачи данных — УСПД) нескольких вендоров:
Со стороны управляющего компьютера создаются виртуальные COM-порты, каждый из которых привязывается к IP-адресу и TCP/IP порту конвертера. Виртуальные COM-порты позволяют независимым программам работать с удаленными устройствами, как если бы они были подключенны к компьютеру посредством «настоящего» физического COM-порта.
Итак, перейдем к практике.
У нас на столе конвертер RS232-Ethernet УСПД (собственной разработки — так получилось дешевле) и Вычислитель количества теплоты ВКТ-7 «Теплоком», а также виртуальная машина на базе MS Windows Server 2012 R2 внутри VMWare ESXi 6.0.
Для начала нам потребуется убедиться, что служба nport на УСПД сконфигурирована и запущена.
Задаем аргументы в /etc/default/nport:
Запускаем службу:
Теперь на виртуальной машине я использовал драйвер виртуального последовательного порта Tibbo VSP Manager, проявивший себя, как наиболее стабильный. Настроим линк между COM3 и IP-address:port УСПД.
Теперь, запуская штатное ПО или клиент терминала и подключаясь к COM3, у нас осуществляется полноценный обмен данными между датчиком, подключенным по COM-порту, и рабочей станцией, подключенной в сеть по интерфейсу Ethernet.
Основным требованием является сохранение функционала всех сервисов, с чем и связана данная заметка, так как во многих филиалах по всей стране используется различное морально устаревшее оборудование на конечных точках (это могут быть как различные датчики, так и коммутаторы, АТС, мультиплексоры и т.д. преимущественно отечественного произодства), подключенное к рабочим местам по последовательному порту (RS-232), на которых работает штатное ПО этого оборудования для управления и мониторинга.
Решением, которое было предложено сразу, стало преобразование данных COM-to-IP.
К оборудованию по последовательному порту подключено АРМ (автоматизированное рабочее место) на базе Windows XP, на котором установлен «толстый клиент» (у некоторых это terminal) для управления и мониторинга оборудования, подключенного по последовательному порту. За АРМ работает оператор, в задачу которого входит контроль за состоянием оборудования и управление им, т.е. 1 АРМ = 1 оператор. У заказчика возникла потребность в сокращении рабочих мест, а также централизации и автоматизации. Было предложено преобразование интерфейса RS232-Ethernet, а АРМ виртуализовать и перенести их в ЦОД, предоставив туда удаленный доступ для оператора.
В качестве преобразователя сигнала рассматриваются конвертеры (устройства связи и передачи данных — УСПД) нескольких вендоров:
- www.tibbo.com
- www.moxa.com
- Собственной сборки (beaglebone black + debian + nport)
Со стороны управляющего компьютера создаются виртуальные 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.