Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Использование XPORT Ethernet - RS232
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > FAQ по XPort/WiPort
arttab
Возникла потребность управлять устройством через инет. Мне посоветовали XPORT. Начал пробовать - возникли вопросы. К сожалению, степень владением английским, у меня не достаточна для быстрого освоения этого девайса по фирменной документации. Надеюсь на помощь.

Сейчас работаю через лан. Если мой топик лучше подходит к другой ветки форума - прошу модератора перенести топик.

И так. Раньше начнем - моложе закончим!

1. инсталлировал инсталлятор (программа работы с xport через лан). Подключил xport перекрестным кабелем к компу. Дал ему сетевой адрес и изменил скорость сериал на 19200.
Кратко о моем устройстве. мк АТМЕГА64 с питанием 5В (импульсный стабилизатор с 12). Питание xport от 5 через LM1117-3.3. Есть ключ управляющий подачей 5В на LM. На xport насчитывал выделить до 300 мА (В смысле преобразователи обеспечивают нужную мощность).

2. После включения xport получаю от него по сериал код 0х44. Чтобы это значило?

3. Устанавливаю соединение с ним через сокет IP и порт 10001. Несколько раз (3) терял с ним связь. xport исчезал из лан и приходилось заново присваивать ему ip по MAC. С чем это может быть связано?

4. Как работать с этим девайсам через инет?
arttab
А в ответ - тишина....
one_man_show
Для начала.
Попробуйте стандартное использование XPort, как прозрачного преобразователя интерфейсов Ethernet-RS232:
1. Установите ComPortRedirector для работы с виртуальным СОМ-портом
2. Установите DeviceInstaller для настройки параметров XPort

Настройте XPort: присвойте IP, задайте destination IP = IP PC, на котором установлен COmPortRedirector, destination Port = 10001
Настройте ComPortRedirector: создайте виртуальный СОМ-порт, ассоциируйте его с IP XPort-а, номер порта 10001, в настройках выберите Raw Mode (прозрачное соединение).
Запустите на РС HyperTerminal два раза для двух СОМ-портов: один для виртуального, второй для физического, к которому подключите RS XPort-а (через преобразователь RS232). Печатая в окнах двух HyperTerminal-ов будете видеть сквозное прохождение информации туда-сюда.

При включении питания XPort не должен ничего посылать в порт (если он исправен, если залита стандартная прошивка, если он в рабочем режиме).

Настройку параметров XPort можно осуществлять несколькими способами.
1. Со стороны RS, например, через HyperTerminal. Настроить порт на скорость 9600, 8-N-1, нажать клавишу 'X' и удерживаяя ее, включить питание XPort, он перейдет в режим Setup (настройки парамеров), появится меню, далее следуете по пунктам меню.
2. Со стороны Ethernet. Можно использовать DeviceInstaller. Можно использовать Internet Explorer для доступа к web-интерфейсу XPort, указав его IP-адрес. Можно использовать telnet-соединение: telnet ip-устройства 9999. Здесь порт 9999 зарезервирован для telnet-доступа к конфигурации устройства. В окне появится меню, похожее на то, что увидете при испольовании HyperTerminal через RS.

О потере связи. По опыту работы с XPort могу сказать, что за 2.5 года эксплуатации разных экземпляров такое встречалось в следующих ситуациях:
- плохой контакт в разъеме RJ после использования неаккуратно-насаженных джеков на патч-кордах (приминаются пружинящие контакты в разъеме, лечится пинцетом)
- слабый стабилизатор напряжения, лучше использовать с нагрузочной способностью не менее 270мА
Других ситуаций пока не встречал. Это конечно не говорит о том, что их не может бытьsmile.gif

Прошу задать более конкретные вопросы, потомуц что очень трудно ответить кратко на вопрос, как пользоваться им через инет. Самый краткий ответ - такж, как и через лан. Опишите подпобности Ваших проблем, пожалуйста. Постараюсь помочь
arttab
Спасибо за внимание.
Соединение тестил так: гипепертерминал на IP и порт 10001, а с другой стороны адаптер UART на сомпорт, подключеный к ком порту компа и то же гипертерминал, но на порт. шлется и принемается нормаль.
первичные настройки делал(то что Вы писали).
источник кода 0х44 может быть только хпорт. Сегодня проведу еще проверку.

По соединению через инет проблема в не пониманию мной как его сделать. Через лан я могу запустить терминал и указать IP x.x.x.x порт y. А через инет как? Как задать глобальный IP чтобы соединиться с хпортом или как ввести в него глобальный IP чтобы он соединился с компом?
Сегодня перепишу все настройки и завтра выложу их.
Досвидания!
one_man_show
Вопрос по инету понял.
Чтобы иметь возможность глобальной адресации к/через XPort, Вам необходимо такой глобальный (выделенный или назначенный) ip-адрес иметь и присвоить его XPort-у. Иначе глобальная адресация по понятным причинам работать не будет. Получите у Вашего интернет-сервис-провайдера уникальный ip-адрес, присвойте его XPort-у и соединяйтесь с ним из любой точки. Этот вопрос не имеет отношения к XPort-у, а прямо связан с наличием у Вас выделенного(ых) адреса(ов). Такая проблема возникнет с любым сетевым устройством при глобальной адресации.

При глобальном доступе к сетевому устройству рекомендую учесть наличие в Вашей локальной сети брандмауэров, настройки локальных и корпоративных политик безопасности и т.п. Даже имея выделенный адрес, можно не достучаться до хоста, если Вас не пускает локальный firewall:)

Возможно использование не выделенного адреса, а динамически назначенного (режим DHCP). В этой ситуации опять же надо знать, пускают ли Вас/к_Вам установки Вашей сети. Пообщайтесь со своим Сисадмином на этот предмет.
arttab
Посмотрел настройки хпорта:
Email -
HostList -
Gteway 0.0.0.0
IP IP
Subnet 0.0.0.0
Port1

ActiveConnection
ActiveConnection WithAnyCharacter
ConnectionResponse CharacterRespons
Remote Host 0.0.0.0
Remote Port 0
Telnet Mode True
Terminal Type
Use Host List False

Buffer Flushing
Flush input bufer
At Time Of disconect False
On Active Connection False
On Passive Connection False

Flush output bufer
At Time Of disconect False
On Active Connection False
On Passive Connection False

Connection
Connection Led Blink
Modem Tmulation Mode None

Disconnections
Disable Hard Disconnect False
Disconnect With DTRDrop False
Disconnect With EOT False
Inactivity Timeout 00:00

Enable Packing False

Passive Connection
AcceptPassive Connection Yes
LocalPort 10001
PasswordRequired False
PortPassword

Serial Setiting
19200 8 - - 1

Datagram mode False

стало ясно откуда код 0x44 появляется - ConnectionResponse CharacterRespons докладывает о статусе подулючения.

По соединению через инет:
1. я не могу создать соединение без присвоению устроуйству глобального йп? компы имеют локальный йп и выходят в инет через шлюз, а с хпортом так не получится?
2. нашей фирме при выходе в инет дается йп провайдером. Есть шлюз через который компы из локалки выходят в инет. Я указал компам шлюз DNS (я и за админа вкравливаю). А с хпортом как?
one_man_show
1. При выходе в шлобальную сеть нужно иметь уникальный для нее (для глобальной сети) адрес, иначе Ваши пакеты будут проигнорированы, могут вызвать ошибки на Вашем хосте и пр.
Например, Вы, имея локальный ip равный моему, и работая каждый в своей сети, мы спокойно можем работать. Как только выходим в глобальную сеть, наши адреса должны быть уникальными. Это может быть сделано с помошью программных, аппаратных средств или с помощью Вашего провайдера (он Вам назначает адрес).
2. Здесь встречные вопросы:
- у Вас в сети DHCP?
- у Вас несколько адресов от провайдера или один?

Рассматривайте XPort, как обычный хост (компьютер, котроллер и пр.), он в смысле работы в сети ничем не отличается, живет по тем же правилам. У него есть возможность задать шлюз и прочие сетевые настройки.

Кроме того, он представляет собой полноценный web-сервер с почтовым сервисом, можете грузить на него свои html-странички, отправлять с него почту, работать с java и пр.
arttab
Спасибо! стало понятней.
one_man_show
Для тех, кто желает посмотреть, что внутри XPort:-)

Две платки, на каждой с двух сторон компоненты
Основные: МК DSTni, Flash, два осциллятора (48МГц и 25МГц) и PHY
arttab
У кого есть данный девайс проверте, пожалуйста, прохождение кода 0xFF.
Толи прога глючит, толи он. Нужно послать этот код 2 раза чтобы он прошел.
arttab
Все, проверил - это прога. Не знал как через гипертерм послать FF. через него идет. Надо алт+ 0255
one_man_show
Уважаемый arttab, Вы не сомневайтесь, девайс действительно обеспечивает прозрачный канал и пропускает всё, что ему попадает на тот или иной вход, пока его не переведешь в командный режим. Тут он начинает понимать команды и пр.
arttab
Переодически оказывается неверным, то в чем не сомневался. К счастью - не часто. Вариант прошивки мог быть с глюком. В данном случае мне нужно было проверить или прогу или xport, чтобы методом исключения найти виновника. Вот, нашел. Заодно выловил поганую особенность своего адаптера com-RS485. Век живе - век учись...
one_man_show
Вы используете XPort-485 или XPort с преобразователем RS232-485?

Рекомендация по поводу прошивок: при получении нового девайса, проверьте номер его версии, затем сходите на сслыку Последние версии прошивок и утилит для всех девайсов и проверьте сочетание имеющихся у Вас версий прошивки (Firmware) и утилиты настройки (DeviceInstaller) с последними, выложенными на сайте. Раньше замечал глюки при несоответствии комбинации версий прошивки и утилиты, результаты были интересные, пока не разобрался, доходило до танцев с бубном smile.gif

Кроме того есть еще одна важная рекомендация: после замены прошивки могут слететь установленные ранее параметры, но это обычное и нестрашное дело в случае с параметрами, которые видны на первых страницах утилиты настройки и телнета, т.е. это сразу можно увидеть. Но есть другая проблемка: могут слететь номера портов HTTP и SMTP! Проверяйте обязательно после апгрейда прошивки, иначе не будет работать ни вэб-интерфейс, ни почта в девайсе. Это верно и для XPort и для WiPort.
one_man_show
Сделал XPort отдельный
FAQ
arttab
Как tcp_udp_terminal пользоваться? Я его просто извлек из архива и запустил - при запуске ругается на MSWINSCK
one_man_show
Укажите полные имена файлов, на которые он ругается, вышлю (сейчас не помню, что ему может не хватать). Дело в том, что програ сделана на ВижуалБэйсике и сделана видимо так, что необходимые кишки (эктив-икс) не попали в экзешник smile.gif
witcherry
Недостающий файл MSWINSCK.OCX
arttab
Цитата(witcherry @ Dec 1 2005, 20:09) *
Недостающий файл MSWINSCK.OCX


Спасибо, его и не хватало. Запустилась.

Прогу пока не проверял на связь. Есть вопросы:
Шифрование это для тех версий хпорта что его поддерживают или програмная реализация?
можноли отправлять (вводить) коды от 0 до 255?
С настройкой на удаленный порт понятно, а локальный какой? Я пробовал раньше через гипертерминал.
Размер блока?

Спасибо.
one_man_show
1. Шифрование в TCP_Terminale имеет отношение только к XPort с шифрованием Rijndael
2. TCP_Terminal, как и многие программные терминалы имеет окно ввода с клавиатуры и отображение в основном читаемых символов smile.gif Для отправки символов вне "видимой" и "вводимой" зоны попробуйте воспользоваться кнопкой Send File
3. В настройках самого XPort есть свой адрес и порт, следовательно в терминале эту пару и надо указывать
4. Про размер блока вопрос не понял, слишком кратко зада smile.gif Какой блок и где Вы имеете в виду?
arttab
Цитата(one_man_show @ Dec 2 2005, 18:25) *
1. Шифрование в TCP_Terminale имеет отношение только к XPort с шифрованием Rijndael
2. TCP_Terminal, как и многие программные терминалы имеет окно ввода с клавиатуры и отображение в основном читаемых символов smile.gif Для отправки символов вне "видимой" и "вводимой" зоны попробуйте воспользоваться кнопкой Send File
3. В настройках самого XPort есть свой адрес и порт, следовательно в терминале эту пару и надо указывать
4. Про размер блока вопрос не понял, слишком кратко зада smile.gif Какой блок и где Вы имеете в виду?


С 1 понятно.
По 2. неудобно через файл. (а чем можно создать файл с нужными кодами?) При получении не печатных символов в терминал явно будут проблемы. Есть готовая программа для отправки и приема всех кодов (0-255) через сокет?
3. с remote port я понял. вопрос я задавал по Local port. Этот терминал открывает его на компе и принемает через него ответы хпорта?
Спасибо за ответы.
arttab
Попробовал rederect. настройки скорости и формата нет. и проблемы с пересылкой кода FF. Блин. Это проблема в редиректе или мне терминыл другой искать?
arttab
поробовал др. терминал - проблема с пересылкой FFосталось. Кто нибудь сталкивался с этим и как решил?
one_man_show
На счет редиректора (ComPortRedirector). Он для того и нужен, чтобы скрыть все особенности TCP/IP, настройки требуются минимальные: установить режим "Raw Mode" и назначить IP-адрес. Это всего лишь виртуальный СОМ-порт. Какие настройки Вам необходимы, поясните? Чтобы настроить скорость, делайте это на верхнем уровне, например, когда используете HyperTerminal при подключении к виртуальному СОМ-порту (или использую другой коммуникационный софт). Здесь можно настроить полный формат: скорость, количество бит данных, стоп-бит, четность и управление потоком. Соответствующие настройки должны быть сделаны в XPort.

На счет байта FF. Никаких проблем с пересылкой любого байта просто нет, так как это прозрачный преобразователь. Если его не переводить в командный режим, он пропускает всё насквозь без каких-либо ограничений и изменений. Иначе им было бы нельзя пользоваться, как преобразователем.
Возможно Вы что-то не так делаете или не так проверяете. Уточните последовательность действий и чем отслеживаете результат.
arttab
Пробовал двумя терминалами, которые могут посылать коды. думаю чего еще сделать, чего проверить... Спасибо за интерес к моим проблемам. Вы каким терминалом пользуетесь?
one_man_show
В основном пользуюсь виртуальным СОМ-портом, поэтому TCP-терминал редко нужен. Если вдруг приходится, то пользуюсь тем, который выше предлагал для скачивания, т.е. от производителя девайса.

Если не затруднит, опишите Вашу задачу, может тогда смогу лучше понять Ваши проблемы.

В последнее время стараюсь пользоваться встроенным web-интерфейсом, тогда на верхнем уровне (т.е. на стороне РС) достаточно использовать какой-либо интернет эксплорер (IE, Opera,...), чтобы достучаться до своей железки. В этом случае не приходиться писать свой софт для обслуживания или мониторинга железки. Кроме того, большинство пользователей уже не удивляются, что их станок или какой-то другой ящик управляется из привычного проводника smile.gif Наибольший эффект достигается при использовании для мониторинга моих самодельных железок КПК, правда это в случае, если Заказчик готов платить за него. Web-интерфейс правда удобен: ходит бригадир по цеху, никуда подключаться не нужно, достаточно выбрать адрес устройства и мониторит/скачивает данные (это при использовании Wiport, который дает WiFi), причем все железки разные, а у него одна прога на все случаи - IE, просто в каждой железке свой интерфейс со своими кнопками и окнами. С Xport такая же песня, только подключать кабель от КПК или ноутбука к сети надо.
arttab
мой девайс, в зависимости от ситуации, является мастером ведомых устройств на линии рс485 или мостом между ведомыми и компом. Для отладки последнего режима мне надо засылать команды. команды состоят из кодов от 00-FF.
А насчет кпк и прочее, может так и будет, но это уже не моя часть работы.
У меня есть подозрение что мои проблемы из-за мелкосовтоского компонента работы с портом. Есть ли терминал со встроенным нормальным компонентом?
Спасибо.
one_man_show
При работе с портами пользуюсь компонентом для создания своих приложений, который можно бесплаьтно скачать с исходниками, автор и его компонент очень известен, это Dejan Crnila
arttab
Проблемы в редиректе?!
провел проверку терминалов (гипертерминал, CommTest, COM Port Toolkit, rs232pro с контролем осиллографом на уарте хпорта. При конекте на виртуальный порт код FF не проходит. FF FF проходит как FF.
При конекте на сокет (гипертерминал и прога одного чела на дельфи) гипертерминал ( нормально передал FF "alt+0255", а прога чела нет.
Проблема редиректа?
one_man_show
Повторюсь, если в редиреткоре установлен режим "Raw Mode", он пропускает все байти прозрачно, без изменений. Проверьте настройки редиректора, кроме того, проверьте соответствие:
- версий прошивки,
- версии DeviceInstaller,
- версии ComportRedirector
Это удобнее всего сделать на сайте производителя по ссылке Support/Downloads
arttab
Спасибо за наводку - проверю. rawточно выставлял.
one_man_show
Цитата(arttab @ Feb 17 2006, 05:46) *
Проблемы в редиректе?!
провел проверку терминалов (гипертерминал, CommTest, COM Port Toolkit, rs232pro с контролем осиллографом на уарте хпорта. При конекте на виртуальный порт код FF не проходит. FF FF проходит как FF.
При конекте на сокет (гипертерминал и прога одного чела на дельфи) гипертерминал ( нормально передал FF "alt+0255", а прога чела нет.
Проблема редиректа?

Похоже ситуация с 0xFF становится понятной. Вы говорите, что дабл 0xFF проходит, как одиночный.
Такая фигня может быть при работе с TCP сокетом в следующих случаях:

1) используется telnet-соединение вместо raw, в этом случае 0xFF используется для обозначения команды, а двойной 0xFF интерпретируется как одинарный

2) используются порты с 14000 по 14009, эти порты использовать нельзя, они зарезервированы и при их использовании символ 0xFF будет дублироваться

У Вас скорее всего первый вариант, так как при работе с редиректором Вы уже говорили, что пользуетесь портом 10001, как и должно быть.

Переход на telnet соединение может происходить, если в установках XPort в разделе DisconnectMode Вы установили 0x40 или другое значение, при котором 6-й бит у становлен в "1". Тогда XPort будет автоматически переходить в режим telnet и соответственно 0xFF будет восприниматься, как описано в п.1)
arttab
Спасибо, обязательно проверю. Пока некогда было - переставлял системы, проги... Еще раз - большое спасибо! Начал в микросовт студии С++ ковырять
pilots1
Здравствуйте. Пытаюсь работать с Х-портами по UDP. Взял два Х-порта, с одного посылаю контроллером (USART) байт, на другой приходит байт - абы что. Точнее, вроде как первые 3 бита похожи, остальные нет. Пробовал и скорость менять, и управление потоком (RTS/CTS) использовать - то же самое. В чем здесь может быть дело?
pilots1
Цитата(pilots1 @ Oct 3 2007, 15:29) *
Здравствуйте. Пытаюсь работать с Х-портами по UDP. Взял два Х-порта, с одного посылаю контроллером (USART) байт, на другой приходит байт - абы что. Точнее, вроде как первые 3 бита похожи, остальные нет. Пробовал и скорость менять, и управление потоком (RTS/CTS) использовать - то же самое. В чем здесь может быть дело?


Спасибо, разобрался сам. С Х-портом все в порядке, нестабильно работал USART контроллера.
alexander55
Цитата(arttab @ Jan 26 2006, 07:55) *
поробовал др. терминал - проблема с пересылкой FFосталось. Кто нибудь сталкивался с этим и как решил?

Вопрос расматривался в форуме по IAR в теме "Не выводится на терминал буква Я"
arttab
Сталкивался. Один чел мне прогу быстро написал и я обнаружил такой прикол:
FF не проходит. FF FF = FF.
как я понял трабла в стандартной библиотеке, подключенной к проекту.
alexander55
Цитата(arttab @ Oct 4 2007, 18:37) *
Сталкивался. Один чел мне прогу быстро написал и я обнаружил такой прикол:
FF не проходит. FF FF = FF.
как я понял трабла в стандартной библиотеке, подключенной к проекту.

Не а. В гипертерминале. Рекомендуется использовать ZOC или что-то другое.
arttab
я не точно выразился:
Цитата
трабла в стандартной библиотеке

на стороне ПК.
Aleksandr.Starchenko
Народ, подскажите, пожалуйста, где можно сейчас купить XPORT в Украине. Наиболее удобные города - Харьков и Киев!

Заранее спасибо, Александр Старченко.
one_man_show
Можно заказать с доставкой у дистрибутора, но такие вопросы лучше задавать в соответствующих разделах Форума

[Редакция от 17.01.2008]
+7 495 6410587 Блинов Александр - Отправка по почте
pentar
Народ, подскажите, плиз куда смотреть!!
Задача такая: гонять 2 байта по сети с РС к устройству и обратно. Делать это надо максимально быстро. На устройстве стоит XP1001000-03 и AtMega64(между ними установлено соединение 230400б\с). На данный момент имею:
-отправляю 2 байта по сети к XPortу
-получаю 2 байта AtMegой и сразу же отправляю обратно эти же 2 байта.
- получаю 2 байта на PC и начинаю всё заново..
и так 1000раз.
В итоге: время на это тратится 7000ms.
считаю реальную скорость: 1000раз * 2байта туда * 2 байта обр * 8бит / 7сек = 4 571бит/с
Почему так медленно? В какую сторону смотреть? Это XPort так медленно формирует пакеты или где-то у меня в мозгах косяк?
Builder
Цитата(pentar @ Oct 29 2009, 13:22) *
Народ, подскажите, плиз куда смотреть!!
Задача такая: гонять 2 байта по сети с РС к устройству и обратно. Делать это надо максимально быстро. На устройстве стоит XP1001000-03 и AtMega64(между ними установлено соединение 230400б\с). На данный момент имею:
-отправляю 2 байта по сети к XPortу
-получаю 2 байта AtMegой и сразу же отправляю обратно эти же 2 байта.
- получаю 2 байта на PC и начинаю всё заново..
и так 1000раз.
В итоге: время на это тратится 7000ms.
считаю реальную скорость: 1000раз * 2байта туда * 2 байта обр * 8бит / 7сек = 4 571бит/с
Почему так медленно? В какую сторону смотреть? Это XPort так медленно формирует пакеты или где-то у меня в мозгах косяк?

Ну, я с XPORT Ethernet не рабтал, так, случайно пост увидел.
Но IMHO, 7 мсек на запрос-ответ, не так уж и много, пока пакет пройдёт по всем уровням, включая программу на PC...
Как-то пришлось работать по ModBUS/TCP c контроллером ICP DAS I-8000, так если память не изменяет получалось что-то около 5-15 мсек на запрос-ответ. ТОлько не помню уже от чего зависела скорость.
pentar
Нашел в настройках XPotra возможность отправлять пакет по команде, а не по автоматичестком времени его формирования. Теперь на вот это:
-отправляю 2 байта по сети к XPortу
-получаю 2 байта AtMegой и сразу же отправляю обратно эти же 2 байта.
- получаю 2 байта на PC и начинаю всё заново..
и так 1000раз
тратится 1000ms, т.е. примерно 32кбита/с
AndreyS
Цитата(pentar @ Nov 2 2009, 10:52) *
Нашел в настройках XPotra возможность отправлять пакет по команде, а не по автоматичестком времени его формирования. Теперь на вот это:
-отправляю 2 байта по сети к XPortу
-получаю 2 байта AtMegой и сразу же отправляю обратно эти же 2 байта.
- получаю 2 байта на PC и начинаю всё заново..
и так 1000раз
тратится 1000ms, т.е. примерно 32кбита/с



День добрый.
Вы попробуйте прокачать не 2 байта, а килобайт - другой (но одним большим пакетом. Т.е. без пауз между байтами, а в лантрониксе не отключайте пакетирование).
styuf
А можно поподробней про возможность отправлять пакет по команде. или ссылку на литературу.
Задача у меня такая: отправить массив из 32 битных слов через Xport из циклона второго на компьютер. Могу адекватно отправить одно слово, но если начинаю использовать цикл внутри циклона, который отправляет последовательно по 4 пакета RS232, то вижу на выходе из Xporta очень странные данные внутри tcp-ip фрэймов. Может что-нить посоветуете?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2022 Invision Power Services, Inc.