Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2005.08.14;
Скачать: [xml.tar.bz2];

Вниз

Ethernet в виртуальный Com-порт   Найти похожие ветки 

 
Девушка ©   (2005-04-21 22:03) [0]

Есть некое оборудование, например, типа moxa (сервер устройств RS-232), которы берет поток RS-232 и передает его по Ethernet.

На компьтере мне показали следующее, что при запущеном гипертерминале, подключенном к Com-порту, данные передаются через Com-порт->наше устройство->Ethernet->компьютер и другой гипертерминал, подключенный к Ethernet отображает что было набрано на первом терминале.

Теперь надо написать программу, которая бы создала виртуальный Com-порт и передавала в него данные из Ethernet.

Вопросы:
1) Как создать вирутальный Com-порт? Вроде для этого есть специализированные компоненты, но мне встречались только платные.
2) Может у кого-нибудь уже есть наработки в этой области?


 
Digitman ©   (2005-04-22 10:32) [1]


> 1) Как создать вирутальный Com-порт?


драйвер нужно писать соответствующий ... и зарегистрировать виртуальный порт в реестре ..

В MS DDK есть примеры.. правда, на C

если с С дружишь, то ничего особо сложного в том нет.

посмотри еще соотв.наработки на wasm.ru


 
Девушка ©   (2005-04-22 11:31) [2]

А где можно найти подобные вещи
http://www.mks.zp.ua/vspcontrol.php
только freeware?


 
Digitman ©   (2005-04-22 12:30) [3]

я не совсем понял, а зачем собственно вирт.порт понадобился ?
ведь оборудование-то подключено к реальному порту ...
и схема эта работает, как тебе показали ..

т.е. от тебя вроде бы требуется только заменить станд.гипертерминал на свою программу ..

?


 
имя   (2005-04-22 15:20) [4]

Удалено модератором


 
Девушка ©   (2005-04-22 21:15) [5]

Имеем  Ethernet - сеть по зданию. Где-то на другом конце здания находится миниАТС, которая управляется через Com-порт посредством программы стороннего разработчика. В этой программе я выбираю порт Com1, 2..., к которому подключен кабель управления и спокойно управяю миниАТС.
Тепер берем устройство которое способно передавать RS-232 через среду Ethernet.
Пример такого устройства (Моха)
http://www.moxa.ru/html.prod/product/1port_info.html

С одной стороны оно подключено к миниАТС, с другой - включено в локальную сеть.

Теперь стоит задача, на удаленном ПК подключаться программой управления для миниАТС к нашей миниАТС. Для этого предполагается создать виртуальный COM-порт, и организовать передачу потока из локальной сети с Мохи на виртуальный COM-порт и обратно. Тогда на виртуальный COM-порт можно будет направлять программу управления миниАТС.


 
GanibalLector ©   (2005-04-23 01:41) [6]

2 Девушка ©   (22.04.05 21:15) [5]
Не нужен там "Моха". С DCOM знаком? Видать нет ;)


 
Девушка ©   (2005-04-23 14:54) [7]


> GanibalLector ©   (23.04.05 01:41) [6]

можно поподробнее?

если это

Одной из задач применения DCOM может быть распределение вычислений по сети. Действительно задачи могут быть довольно ресурсоемкие и выполняться много часов или десятков часов. Применяя DCOM у Вас есть возможность распределить вычисления по нескольким серверам или обычным рабочим станциям Windows 98 значительно сократив время на выполнение вычислений.

то чем это может помочь?


 
Anatoly Podgoretsky ©   (2005-04-23 15:14) [8]

Com-порт->наше устройство->Ethernet->наше устройство->Com-порт


 
Deka ©   (2005-04-23 15:25) [9]

Я так думаю что устройство типа Моха инкапсулирует данные COM порта в TCP/IP пакеты. Ну или в пакетыв другого протокола. Значит надо на другом конце ловить эти пакеты и извлекать из них данные COM порта. Так как есть готовая прога управления станцией - нужен виртуальный COM-порт который будет принимать RS-232 трафик->упаковывать его в пакеты->отправить по сетке на Моха. В обратном порядке Принять пакет от Моха->извлечь данные RS-232->отправить в прогу подключенную к виртуальному Com порту. Походу надо писать драйвер...


 
Deka ©   (2005-04-23 15:28) [10]

К Моха идет диск с драйверами, так что думаю ничего писать не понадобиться - все уже написано. Надо просто купить девайс, настроить его и наслаждаться!!!


 
GanibalLector ©   (2005-04-23 17:18) [11]

>то чем это может помочь?
Хорошо...что такое СОМ сервер знаешь? Ну,например тот-же Word может выступать сервером автоматизации.Соответственно,ты можешь управлять им,создавать документы и т.д.(в СОМ и Соrba читай).Ну а DCOM этот то-же самое,только удаленно.Вот и все ;)

Короче,цепляешь "некое оборудование" к самому ближайшему компьютеру.Пишешь DCOM клиент и сервер.В результате можешь управлять этим портом(читать как "неким уст-ом") с любого комьютера.

З.Ы. Делал недавно подобную реализацию для кассового аппарата.В результате,с любого компьютера можно "пробить" чек,снять отчет и т.д.


 
Девушка ©   (2005-04-23 18:51) [12]


> Anatoly Podgoretsky ©   (23.04.05 15:14) [8]
> Com-порт->наше устройство->Ethernet->наше устройство->Com-порт

ага... и покупаем два устройства вместо одного...
Цена устройства на один порт - порядка $115...
Ну а кроме того, если еще датчиков 6 (миниАТС - пример)? Куда втыкать будем?


> К Моха идет диск с драйверами, так что думаю ничего писать
> не понадобиться - все уже написано. Надо просто купить девайс,
> настроить его и наслаждаться!!!

Моха - пример. Есть свое устройство. Оно создано технарями нашей фирмы. К нему надо написать свой драйвер.
Из явно-видимых проблем - создание виртуального com-порта.


> Короче,цепляешь "некое оборудование" к самому ближайшему
> компьютеру.

Идет труба нефтяная... Стоит на ней компрессорная станция. На ней стоит датчик с интерфейсом RS-232 а до ближайшего компа км так N-дцать... даже 485-й не пробьет... но зато вдоль трубы есть линия Ethernet. Вот и нужно запихать RS-232 в етот Ethernet. Даже не запихать, а преобразовать его на компе в обычный RS-232...


 
tesseract   (2005-04-26 10:10) [13]

>> даже 485-й не пробьет.  
485 с усилком можно и на N-дцать А вот ethernet - до 500м.
А вообще зачем тебе виртуальный Com-порт - он только для совместимости со старым софтом. можно данные принимать/слать по TCP/UDP. На Moxa можешь забить - неюдобная. По мне из всего данного барахла лучший - Tibbo. Дуракоустойчивый- просто жуть + Великолепная документация.


 
Anatoly Podgoretsky ©   (2005-04-26 12:59) [14]

Девушка ©   (23.04.05 18:51) [12]
Ну так самая рабочая конструкция
COM-Устройство-линия-Устройство-COM абсолютно прозрачная. Такая схема у меня работает для передачи ком портов с оборудования в компьютер на растояние свыше 100 км


 
Deka ©   (2005-04-26 14:58) [15]

Похоже девушка запуталась. Сначала пишет что "На компьтере мне показали следующее, что при запущеном гипертерминале, подключенном к Com-порту, данные передаются через Com-порт->наше устройство->Ethernet->компьютер и другой гипертерминал, подключенный к Ethernet отображает что было набрано на первом терминале.". То есть соединение работает. Гипер терминал работает либо по Telnet, либо с COM портами. Зачем тут виртуальный порт?
Девушка! Еще раз и поотчетливей обрисуйте ситуацию.


 
simpson ©   (2005-04-26 17:35) [16]

Девушка ©   (21.04.05 22:03)

Вам сюда: http://www.tibbo.ru/
Конвертор стоит порядка $100-150, к нему (покрайней мере, у данного производителя), идут дрова виртуального COM-порта. ПисАть ничего не надо.


 
Девушка ©   (2005-04-27 00:12) [17]

> А вот ethernet - до 500м.

В каком-нибудь Fomux-е по оптике в TDM-е до 110 км. Это если PDH без репитеров. А если SDH то гораздо дальше и с резервированием. А можно еще через Интернет гонять.


> COM-Устройство-линия-Устройство-COM абсолютно прозрачная.

Только дорого это и у компьютера ограниченное количество COM-портов.
И проще COM-Устройство-линия(Ethernet)-компьютер?


> То есть соединение работает. Гипер терминал работает либо
> по Telnet, либо с COM портами. Зачем тут виртуальный порт?

Соединение работает. Виртуальный порт нужен для того, что-бы подключить к нему приложение стороннего разработчика. Например, программу управления миниАТС.


> Конвертор стоит порядка $100-150, к нему (покрайней мере,
> у данного производителя), идут дрова виртуального COM-порта.
> ПисАть ничего не надо.

Если говорить о рекламме tibbo то себестоимость конвертора на 1 порт около $50 если производить мелкосерийно... Ну это мелочи. Но я повторюсь, что у нас есть свое, созданное нами такое устройство. Оно работает. Нужна программа-драйвер которая создаст виртуальный Com-порт и будет осуществит прозрачную передачу между удаленным устройством и виртуальным Com-портом.

Вопрос: Как создать виртуальный com-порт?


 
Anatoly Podgoretsky ©   (2005-04-27 00:23) [18]

Девушка ©   (27.04.05 00:12) [17]
> COM-Устройство-линия-Устройство-COM абсолютно прозрачная.

Только дорого это и у компьютера ограниченное количество COM-портов.
И проще COM-Устройство-линия(Ethernet)-компьютер?

Естественно, разница только в прозрачности, можно считать так

COM-COM, в качестве тире может быть что угодно, вплоть до радиомодем, Интернет и т.д. Черный ящик.


 
Девушка ©   (2005-04-28 11:30) [19]


> Естественно, разница только в прозрачности, можно считать
> так

Нет никакой разности в прозрачности т.к. типовой задачей является все же управление через COM многими устройствами, расположенными в разных местах.


 
Deka ©   (2005-04-28 17:32) [20]

Я все заново перечитал. Вам надо данные COM пора инкапсулированные в трафик Ethernet извлечь оттуда и отправить на виртуальный COM порт?


 
Deka ©   (2005-04-28 17:35) [21]

Для создания виртуального COM порта свой драйвер. А для создания своего драйвера понадобится Windows DDK. Там все расписано. Правда все на СИ и ассемблере.


 
Девушка ©   (2005-04-28 19:29) [22]


> Вам надо данные COM пора инкапсулированные в трафик Ethernet
> извлечь оттуда и отправить на виртуальный COM порт?

Абсолютно верно...


> Правда все на СИ и ассемблере.

Можно и на си. А что такое Windows DDK если в двух словах?


 
Deka ©   (2005-04-29 12:36) [23]

The Microsoft® Windows® Driver Development Kit (DDK) for Windows XP provides a development environment for the creation of Windows XP drivers. The DDK provides additional driver-specific headers, libraries, sources, tools, and documentation that are used to develop drivers for Windows XP.

В общем в двух словах это примеры и документация для написания драйверов практически для всех стандартных устройств. Также там есть полный исходный текст драйвера последовательного порта.


 
Deka ©   (2005-04-29 12:38) [24]

А вот ссылка на альтернативу
http://www.softline.by/product.asp?catalog_name=SoftLine&category_name=&product_id=Software-11716&cookie%5Ftest=1


 
Deka ©   (2005-04-29 12:39) [25]

Я даже думаю, что понадобиться два драйвера. Один встроится в модель OSI (типа драйвера NAT) и будет перехватывать пакеты от Вашего девайса, а второй будет эмулировать COM порт.


 
Deka ©   (2005-04-29 12:50) [26]

Вот еще ссылочка...
http://www.sources.ru/delphi/system/tcomportdriver.shtml


 
Deka ©   (2005-04-29 13:09) [27]

Похоже Тиббо сделало все в одном драйвере... Сходи почитай на www.tibbo.ru

А вот последняя ссылка - драйвер IRDA, который создает виртуальный COM порт. Проект с открытыми исходниками. http://www.ircomm2k.de/
Думаю на первое время информации хватит. ;)


 
Девушка ©   (2005-04-29 13:12) [28]

На первое время - вполне :)


 
vidiv ©   (2005-05-02 11:56) [29]

гы.. как вариант: принимать по сети сообщения и посылать их в com1, а в системном блоке порты com1 и com2 соединить нуль-модемом... и тогда данные из сети будут попадать на com2 :))) шутка


 
tesseract   (2005-05-07 16:18) [30]

to Deca>> я уже говорил что никаких специфичных данных UART не предусматривает. просто посылаешь данные и ВСЁ!!! Телефонные станции в большинстве своём не использую CTS/RTS DTS/CTS. Если хочешь с ними поиграться посмотри help на Tibbo он очень хороший.


 
Владимир__   (2005-06-22 19:13) [31]

Всем привет!!!
Обсуждаемый Вами вопрос меня тоже мучает долгое время.
Мне тоже иногда приходиться писать программульки по RS-232.
Могу посоветовать использовать программу:
TCP-Com
http://www.taltech.com/p_tcpcom.htm
По крайней мере она мне очень помогает!



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2005.08.14;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.54 MB
Время: 0.07 c
4-1118683551
ZSergey
2005-06-13 21:25
2005.08.14
Как перехватить запуск программы в проводнике?


3-1120833553
malamba
2005-07-08 18:39
2005.08.14
не видит параметр!


4-1119625527
TStas
2005-06-24 19:05
2005.08.14
Как заставить приложение грузиться с нужным языком?


4-1118826576
_Вован
2005-06-15 13:09
2005.08.14
Как перекодировать String в DOS-кодировку ?


14-1122102943
NewWonder
2005-07-23 11:15
2005.08.14
Перспективы средств разработки.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский