Тема оформления
Remote COM Server для Windows
COM-порт компьютера через VPN
Remote COM Server 0.1.4 — отдельная программа для Windows, которая предоставляет физический COM-порт этого компьютера программе WT32 Remote COM на другом компьютере. Она подходит, когда прибор подключён не к WT32, а к последовательному порту ПК или USB–RS-485/RS-232 адаптеру.
Сервер работает рядом с прибором и открывает его физический COM. Клиент WT32 Remote COM работает на удалённом ПК и предоставляет виртуальный COM вашей привычной программе.
text
Прибор ↔ физический COM ↔ Remote COM Server
↕ TCP через VPN
Ваша программа ↔ виртуальный COM ↔ WT32 Remote COM
Для связи между двумя ПК устройство WT32 не требуется. Утилита не заменяет и не переустанавливает готовый клиент WT32 Remote COM. SoftEther VPN или другая доверенная сеть настраиваются отдельно.
Что выбрать
| Где подключён прибор | Что использовать |
|---|---|
| К физическому COM или USB-адаптеру Windows-компьютера | Remote COM Server на этом ПК и WT32 Remote COM на удалённом. |
| К RS-485 устройства WT32 | Worker Remote COM или SoftEther с RS-485; Windows-сервер на стороне прибора не нужен. |
| Нужен именно Modbus TCP ↔ RTU | Конвертер в Worker. Remote COM Server — прозрачный байтовый канал, он не преобразует Modbus-протоколы. |
Одновременно поддерживаются один COM-порт и один подключённый клиент. Сигналы RTS/DTR/BREAK по сети не передаются; программы, которым необходимо удалённое управление этими сигналами, требуют другого решения.
Скачать установщик или ZIP · Установка · Все настройки.
Установка и первый запуск
Подготовьте два компьютера
На компьютере рядом с прибором должны быть доступны физический COM-порт и Remote COM Server. На удалённом — готовый клиент WT32 Remote COM 0.2.9, его виртуальная COM-пара и программа, которая работает с прибором.
Для удалённой связи заранее подключите оба ПК к нужному VPN. У каждого будет свой IPv4-адрес VPN-адаптера. Это адреса компьютеров внутри VPN, а не публичный адрес центрального SoftEther-сервера.
Установщик или переносимая версия
Дистрибутив предназначен для Windows x64.
Скачайте Remote COM Server:
- EXE — установите в профиль текущего пользователя и запустите созданный ярлык.
- ZIP — распакуйте полностью в отдельную папку и запустите
Remote_COM_Server.exeиз неё. Не запускайте EXE прямо внутри архива и не переносите его отдельно от файлов комплекта.
Установка сервера не добавляет драйвер виртуального COM, не настраивает VPN, не создаёт правила брандмауэра и не включает автозапуск. Виртуальный COM требуется клиентской стороне, а сервер открывает уже существующий физический порт.
Первый запуск

- Подключите последовательный адаптер и нажмите «Обновить порты и IP».
- Выберите COM, к которому подключён прибор. Закройте другие программы, удерживающие этот порт.
- В поле «IP адрес VPN-адаптера на этом компьютере» выберите локальный VPN-адрес сервера.
- В поле «IP адрес VPN-адаптера на удалённом компьютере» укажите VPN-адрес клиентского ПК.
- Задайте параметры последовательной линии, сохраните настройки и нажмите «Запустить».
- Скопируйте пароль для настройки клиента.
По умолчанию 127.0.0.1 доступен только на этом же ПК. Для работы между компьютерами замените его адресом нужного VPN-адаптера. Если адаптер появился позже, обновите список.
При следующем запуске настройки восстанавливаются, но сервер не запускается автоматически. Перед началом работы проверьте выбранный COM и адреса: после переподключения USB или VPN они могут измениться.
Все настройки сервера

| Поле | Назначение |
|---|---|
| COM-порт | Реальный последовательный порт компьютера, рядом с которым расположен прибор. Один порт нельзя одновременно открыть в сервере и другой программе. |
| IP адрес VPN-адаптера на этом компьютере | Локальный IPv4-адрес, на котором сервер принимает подключения. Должен принадлежать этому ПК. Это не IP центрального VPN-сервера. |
| IP адрес VPN-адаптера на удалённом компьютере | Единственный разрешённый IPv4-адрес клиента. Фильтр применяется к служебному HTTP и TCP-обмену; другой компьютер не допускается. |
| TCP-порт обмена | Порт байтового канала: 1–65535, кроме 80, по умолчанию 4001. Такое же число задайте в клиенте. |
| Скорость, бод | Скорость физической линии, допустимый диапазон 1200–921600. Она должна поддерживаться прибором и адаптером. |
| Биты данных | 7 или 8, как у прибора. |
| Чётность | N — нет, E — чётная, O — нечётная. |
| Стоп-биты | 1 или 2, как у прибора. |
| Простой, с (0 — без лимита) | Допустимый простой сеанса обмена без данных: 0–3600 секунд. По умолчанию 300 секунд, 0 отключает этот лимит. Отключение по заданному простою не означает ошибку устройства. |
| Пароль | Пароль совместимого служебного API для WT32 Remote COM. Это не пароль VPN и не пароль Windows. |
Служебный HTTP-порт — 80, он фиксирован для совместимости с готовым клиентом. Между двумя ПК должны быть доступны оба порта: 80 и выбранный TCP-порт обмена. Если 80 занят другим сервером на том же локальном адресе, сначала устраните конфликт; изменение только TCP-порта его не решает.
Кнопки и сохранение
- «Обновить порты и IP» перечитывает доступные COM и локальные IPv4-адреса.
- «Показать» временно раскрывает пароль. Не отправляйте снимки с открытым паролем посторонним.
- «Копировать пароль» помещает его в буфер обмена для настройки клиента.
- «Сохранить» записывает настройки текущего пользователя. Для изменения работающего сервера сначала нажмите «Остановить».
- «Запустить» / «Остановить» управляют COM, TCP и служебным HTTP вместе.
Пароль хранится с защитой Windows DPAPI в профиле пользователя, а не как переносимый открытый секрет. Не рассчитывайте на перенос файла настроек под другую учётную запись Windows с сохранением доступа к паролю.
Ограничения канала
Это не RFC2217-сервер. По сети передаются байты; RTS/DTR/BREAK не ретранслируются. Локальные RTS/DTR удерживаются включёнными, программное управление потоком не используется. Клиент может применять параметры UART через совместимый API — проверьте настройки линии и на клиентской стороне.
Не публикуйте порты 80 и 4001 в интернете. Сам TCP-поток не шифруется и не защищён отдельным паролем данных. Используйте доверенный VPN, разрешённый IP и ограниченное правило брандмауэра для нужного интерфейса и клиента.
Подключение удалённого клиента
На удалённом компьютере используется обычный WT32 Remote COM 0.2.9. Новую программу клиента устанавливать вместо него не нужно: Remote COM Server предоставляет совместимый служебный интерфейс и TCP-канал.
Пример адресов
Это пример, а не обязательная подсеть:
| Компьютер | VPN-IP | Что ввести |
|---|---|---|
| Сервер с физическим COM | 192.168.33.10 | В сервере — «IP адрес VPN-адаптера на этом компьютере». В клиенте — адрес устройства/сервера. |
| Удалённый ПК с WT32 Remote COM | 192.168.33.20 | В сервере — «IP адрес VPN-адаптера на удалённом компьютере». |
Публичный IP или домен центрального SoftEther-сервера в эти поля не вводится. VPN сначала должен связать два компьютера и выдать им свои внутренние адреса.
Настройка WT32 Remote COM
- Установите клиент для Windows и подготовьте виртуальную COM-пару по его руководству.
- Добавьте устройство в клиенте. Адрес — VPN-IP компьютера с физическим портом, например
192.168.33.10. - Задайте TCP-порт, совпадающий с сервером, обычно 4001, и пароль из поля «Пароль» Remote COM Server.
- Выберите пользовательский виртуальный COM-порт и согласуйте скорость, чётность, биты данных и стоп-биты с прибором.
- На сервере нажмите «Запустить», в клиенте включите подключение. В рабочей программе выберите пользовательский конец виртуальной COM-пары, а не служебный.

После подключения Remote COM Server показывает «Подключён: …» и счётчики байтов. Поле «Клиентов» накапливает число принятых подключений, а не число одновременно работающих клиентов. Одновременный клиент только один; дополнительное соединение не отбирает порт у уже работающего.

Проверяйте обе стороны: статус подключения подтверждает наличие сеанса, но не корректность адреса ведомого прибора, его команды или параметров линии.
Работа, остановка и журнал
Состояния и счётчики

- Остановлен — COM и сетевые слушатели не открыты; настройки можно изменить.
- Сервер запущен без клиента — ожидается подключение разрешённого ПК.
- Подключён: IP — клиент занял канал. Текущее соединение определяйте по этому статусу.
| Счётчик | Что означают два числа |
|---|---|
| TCP → COM | Байты, принятые из сети / байты, фактически записанные в COM. |
| COM → TCP | Байты, прочитанные из COM / байты, фактически отправленные в сеть. |
| Клиентов | Накопленное число принятых TCP-подключений с запуска программы, а не число одновременных клиентов. Поэтому после остановки оно может оставаться ненулевым. |
Увеличение одного счётчика без второго может быть нормальным для однонаправленного устройства. Для запроса с обязательным ответом проверьте настройки линии и сам прибор, если ответ не появляется.
Остановка и разрывы
Нажмите «Остановить»: сервер закрывает COM, TCP-сеанс и HTTP-слушатель. Окно остаётся открытым. Чтобы возобновить работу, снова запустите сервер и подключите клиент.

Закрытие работающего окна требует подтверждения и останавливает сервер. Это обычная настольная программа, не фоновая служба Windows. После повторного открытия она восстанавливает настройки, но остаётся остановленной.
При исчезновении COM или ошибке последовательного ввода-вывода сервер прекращает работу и пишет причину в журнал. Восстановите порт, проверьте его номер и запустите сервер снова.
Старые команды не накапливаются для последующей отправки после переподключения. Данные COM без активного клиента отбрасываются и учитываются; очереди ограничены. Уже переданные прибору байты нельзя «отменить», поэтому повторение команды после обрыва должно учитывать протокол самого прибора.
Где находятся файлы
Откройте в Проводнике %APPDATA%\WT32ComServer:
| Файл | Для чего нужен |
|---|---|
config.json | Настройки пользователя, включая защищённое значение пароля. |
server.log | Журнал запуска, соединений, остановок и ошибок; ротация по 1 МБ, до трёх резервных файлов. |
runtime.json | Текущее диагностическое состояние без пароля. |
Для обращения в поддержку сохраните журнал и опишите адреса обеих сторон, версию, COM и параметры линии. Пароли не публикуйте. Ключ --data-dir <папка> позволяет использовать отдельную папку данных; --version выводит версию программы.
Подключение и решение проблем
| Симптом | Что проверить |
|---|---|
| Список COM пуст | Адаптер подключён, его драйвер установлен в Windows, порт виден в Диспетчере устройств. Нажмите «Обновить порты и IP». |
| COM занят или не открывается | Закройте другую программу, открывшую физический порт. На сервере не выбирается виртуальный COM удалённого ПК. |
| Не удаётся запустить слушатель | Выбранный IP существует на этом ПК; VPN-адаптер включён. Порты 80 и TCP-порт обмена не заняты другим процессом. |
| Клиент не видит сервер | В клиенте указан VPN-IP серверного ПК, а в сервере разрешён VPN-IP именно клиентского ПК. Проверьте маршруты и правила брандмауэра для обоих портов. |
| Используется 127.0.0.1 | Это доступ к самому себе. Для двух ПК укажите их реальные адреса VPN-адаптеров. |
| Подключение отклонено | Разрешённый адрес должен совпадать с фактическим исходящим адресом клиента. При NAT он может отличаться от адреса, который вы ожидали. Второй клиент также отклоняется. |
| Подключён, но прибор молчит | COM, скорость/чётность/биты, проводка RS-485/RS-232, питание и адрес прибора. Проверьте оба счётчика и журнал. |
| Сеанс закрывается после ожидания | Проверьте «Простой, с». Для неограниченного пассивного ожидания используется 0; это не отключает диагностику реальных разрывов. |
| После потери VPN нет обмена | Восстановите VPN и клиентское подключение; старые команды не переотправляются автоматически сервером. |
| Настройки есть, но сервер не работает | Автозапуска нет: нажмите «Запустить». После смены адаптера или пользователя проверьте COM, IP и пароль. |
Сначала добейтесь связи внутри доверенной сети, затем проверяйте работу с прибором. Для диагностики не открывайте служебные порты на публичном интерфейсе и не отключайте брандмауэр целиком: разрешайте только нужный VPN-интерфейс и адрес клиента.
Если программе прибора необходимы RTS/DTR/BREAK, нестандартные параметры последовательного порта или RFC2217, прозрачный байтовый режим Remote COM Server не заменяет такой интерфейс.