Re: Эмуляция COM-порта.
От: Spidola Россия http://www.usametrics.ru
Дата: 09.03.05 11:37
Оценка: 10 (1)
Здравствуйте, SBOS, Вы писали:

SBO>Всем привет! Как можно сэмулировать на одном компьютере два COM-порта так, чтобы они были соеденены друг с другом? Возможно, кто-то знает программу для этого или сталкивался с похожей проблемой? Заранее спасибо.


1. Спасибо MOS-у за ссылку.
2. Я вышел из положения так — купил нульмодемный кабель и написал маленькую утилитку, которая позволяет
писать в порт и читать из него. Таким образом, можно фактически реально прогонять данные через порты (с COM1 на COM2, например), что очень удобно для эмуляции реального устройства на реальных драйверах.

Если нужно, утилитку могу скинуть куда-нить...
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Re: Эмуляция COM-порта.
От: MOS  
Дата: 06.03.05 08:00
Оценка: 1 (1)
Здравствуйте, SBOS, Вы писали:

SBO>Всем привет! Как можно сэмулировать на одном компьютере два COM-порта так, чтобы они были соеденены друг с другом? Возможно, кто-то знает программу для этого или сталкивался с похожей проблемой? Заранее спасибо.


http://www.mks.zp.ua/index.php
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Эмуляция COM-порта.
От: SBOS Россия  
Дата: 04.03.05 16:12
Оценка:
Всем привет! Как можно сэмулировать на одном компьютере два COM-порта так, чтобы они были соеденены друг с другом? Возможно, кто-то знает программу для этого или сталкивался с похожей проблемой? Заранее спасибо.
Re: Эмуляция COM-порта.
От: Lunik Россия  
Дата: 04.03.05 21:19
Оценка:
Здравствуйте, SBOS, Вы писали:

SBO>Всем привет! Как можно сэмулировать на одном компьютере два COM-порта так, чтобы они были соеденены друг с другом? Возможно, кто-то знает программу для этого или сталкивался с похожей проблемой? Заранее спасибо.


если найдёте исходники дров для USB-data cable для Siemens, то проблема решена
---
Lunik
Re: Эмуляция COM-порта.
От: Spidola Россия http://www.usametrics.ru
Дата: 05.03.05 10:50
Оценка:
Здравствуйте, SBOS, Вы писали:

SBO>Всем привет! Как можно сэмулировать на одном компьютере два COM-порта так, чтобы они были соеденены друг с другом? Возможно, кто-то знает программу для этого или сталкивался с похожей проблемой? Заранее спасибо.


Кстати, интересно, а вообще COM-порт можно сэмулировать? Т.е. программа, которая со стороны операционки выглядит как COM-порт, но позволяет эмулировать обмен данными с ком-порта... Вроде посылаем в COM-порт последовательность байт — прога записывает её в файл. Создаём файл с набором символов — прога его подцепляет и эмулирует активность COM-порта...

Даже не просто интересно, а нужно для дела...
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Re[2]: Эмуляция COM-порта.
От: retn нет
Дата: 09.03.05 12:11
Оценка:
Здравствуйте, Spidola, Вы писали:

S>1. Спасибо MOS-у за ссылку.

S>2. Я вышел из положения так — купил нульмодемный кабель и написал маленькую утилитку, которая позволяет
S> писать в порт и читать из него. Таким образом, можно фактически реально прогонять данные через порты (с COM1 на COM2, например), что очень удобно для эмуляции реального устройства на реальных драйверах.

S>Если нужно, утилитку могу скинуть куда-нить...


Да интересно исходники посмотреть.
Так в профайл(вкладка файлы) выложи.
А на чём писано? Надеюсь на сях?
... << RSDN@Home 1.1.4 beta 4 rev. 350>>
Re[3]: Эмуляция COM-порта.
От: Spidola Россия http://www.usametrics.ru
Дата: 09.03.05 13:36
Оценка:
Здравствуйте, retn, Вы писали:

R>Здравствуйте, Spidola, Вы писали:


S>>1. Спасибо MOS-у за ссылку.

S>>2. Я вышел из положения так — купил нульмодемный кабель и написал маленькую утилитку, которая позволяет
S>> писать в порт и читать из него. Таким образом, можно фактически реально прогонять данные через порты (с COM1 на COM2, например), что очень удобно для эмуляции реального устройства на реальных драйверах.

S>>Если нужно, утилитку могу скинуть куда-нить...


R>Да интересно исходники посмотреть.

R>Так в профайл(вкладка файлы) выложи.

Здесь

R>А на чём писано? Надеюсь на сях?


Да нет, не на сях (я не умею ). У меня такой подход — конкретная задача должна быть решена наименьшей кровью.
Поэтому был взят Delphi7, найден для него бесплатный компонент для работы с COM портами, написана сервисная обвязка ввиде небольшого приложения. Компонент SerialNG там же в архиве. Взят отсюда.

Поскольку написана за пару часов, то особой обработки ошибок там не ждите Работа с приложением проста — запускаете,
выбираете порт и его настройки в Settings-ах, открываете порт кнопкой. Далее всё просто — можно послать строку в порт, можно техт, можно подгрузить список строк и запускать как отдельные строки из списка, так и весь список построчно через настраиваемый в секундах интервал. Соответственно, всё, что на порт приходит, сразу отображается на экране.

Типичная проверка — берёте нульмодемный шнур, соединяете COM1 и COM2, запускаете два экземпляра программы и тестируете.
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Re[2]: Эмуляция COM-порта.
От: MOS  
Дата: 09.03.05 14:54
Оценка:
Здравствуйте, Spidola, Вы писали:

S>Здравствуйте, SBOS, Вы писали:


SBO>>Всем привет! Как можно сэмулировать на одном компьютере два COM-порта так, чтобы они были соеденены друг с другом? Возможно, кто-то знает программу для этого или сталкивался с похожей проблемой? Заранее спасибо.


S>1. Спасибо MOS-у за ссылку.


de nada, amigo

S>2. Я вышел из положения так — купил нульмодемный кабель и написал маленькую утилитку, которая позволяет

S> писать в порт и читать из него. Таким образом, можно фактически реально прогонять данные через порты (с COM1 на COM2, например), что очень удобно для эмуляции реального устройства на реальных драйверах.

В свое время (пару лет назад) решил эту же проблему аналогично.

S>Если нужно, утилитку могу скинуть куда-нить...


Впринципе, если интересно — тоже могу выложить, реализовал что-то типа терминала в MFC + C++. Вот выдержка из help:

Обзор возможностей

Данная версия программного продукта имеет следующие возможности:

Прием информации (длина принимаемой строки до 80 символов) по мере ее поступления из последовательного порта COM1...COM18 и ее отображение в ASCII или HEX кодах.

Передача строки информации в порт в ASCII или HEX кодах (длина передаваемой строки до 80 символов).

Сохранение настроек при закрытии программы.

Хранение до 100 передаваемых строк (команд) в Библиотеке Команд с возможностью быстрого их извлечения для передачи.

Расчет CRC для передаваемой строки информации и хранение до 20 предустановленных схем расчета CRC.

Автопередача команды в порт заданное число раз через заданное время (или посылка команды после приема).
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Re[3]: Эмуляция COM-порта.
От: Spidola Россия http://www.usametrics.ru
Дата: 09.03.05 15:15
Оценка:
А поддержка сценариев там у тебя есть? Вроде "на прешедшее это послать в порт то-то"...
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Re[4]: Эмуляция COM-порта.
От: MOS  
Дата: 10.03.05 08:41
Оценка:
Здравствуйте, Spidola, Вы писали:


S>А поддержка сценариев там у тебя есть? Вроде "на прешедшее это послать в порт то-то"...


Да нету, конечно , можно посылать ответ на любое принятое сообщение, но обработки принятых сообщений нет.
Я ее писал-то собственно чтобы потестить классы для работы с последовательным портом, просто, как-то само-собой получился самостоятельный программный продукт, который я до сих пор иногда использую. Соответственно опыта программирования на C++ у меня было не много, так что багов там хватает. Но так как писал для себя и меня она удовлетворяет — исправлять ничего не хочется.
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Re: Эмуляция COM-порта.
От: SBOS Россия  
Дата: 10.03.05 15:44
Оценка:
Да, спасибо за советы!

Но тут теперь новый интересный трабл. Во-первых, новые компы теперь стали выпускать вообще без всяких COM-портов (у меня лично нет). Во-вторых, программный продукт "Virtual Serial Port Driver XP/.NET/...", э... создает порты, которые нельзя открыть из-под .NET (см. код ниже).

Суть вся в том, что для реализации некоторой системы мне необходимо написать .NET Remoting канал, использующей для связи COM-порт. Жестоко и еще раз жестоко! Сам код уже написан, а вот его отладка не представляется возможной в силу вышеперечисленных 2-х пунктов. Вроде бы есть еще какой-то "Virtual Serial Port Kit", его еще попробую.

Конкретно, фишка вот в чем:

//код внутри клиента
private void Open()
{
  if (!_Port.IsOpen)
    _Port.Open(); //Access to the port 'COM4' is denied. - UnAuthorizedAccessException
}


При этом, COM4-COM3 — пара виртуальных портов, созданная "VSPD XP/.NET/...", и к COM3 уже "присосался" сервер.

Пробовал на XP SP1/XP SP2, может в этом трабл?

Если кому интересно, выкладываю на opendotnet в проект Robot Controlling System, полные сорсы канала.
Re[2]: Эмуляция COM-порта.
От: br-took  
Дата: 06.06.06 00:48
Оценка:
приветствую

S>Если нужно, утилитку могу скинуть куда-нить...

буду очень признателен
mailto:

заранее спасибо
Re[3]: Эмуляция COM-порта.
От: Spidola Россия http://www.usametrics.ru
Дата: 06.06.06 07:31
Оценка:
Здравствуйте, br-took, Вы писали:

BT>приветствую


S>>Если нужно, утилитку могу скинуть куда-нить...

BT>буду очень признателен
BT>mailto:

BT>заранее спасибо


Ушло. Есть вопросы — обращайтесь.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[2]: Эмуляция COM-порта.
От: Димчанский Литва http://dimchansky.github.io/
Дата: 06.06.06 14:55
Оценка:
Здравствуйте, MOS, Вы писали:

MOS>Здравствуйте, SBOS, Вы писали:


SBO>>Всем привет! Как можно сэмулировать на одном компьютере два COM-порта так, чтобы они были соеденены друг с другом? Возможно, кто-то знает программу для этого или сталкивался с похожей проблемой? Заранее спасибо.


MOS>http://www.mks.zp.ua/index.php


http://www.virtual-serial-port.com/
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.