|
непредвиденное изъятие конвертера USB/RS485 из системы Windows, при работающей программе, которая общается с вирт.компортом данного ус |
|
|
|
Nov 7 2008, 09:07
|
Местный
  
Группа: Свой
Сообщений: 320
Регистрация: 13-09-06
Пользователь №: 20 348

|
Цитата(Harbour @ Nov 7 2008, 11:37)  решение может быть только одно - не использовать венду. у клиента случайно не N-ядерник ? венда имеет проблемы на N ядерных системах - так называемые race conditions между различными компонентами. как вариант, можно попробовать оставить одно ядро, путем замены hal. Так сейчас везде N-ядерные системы - мы заказчику поставляем ноут с нашим ПО
|
|
|
|
|
Nov 7 2008, 11:57
|
Местный
  
Группа: Свой
Сообщений: 320
Регистрация: 13-09-06
Пользователь №: 20 348

|
Цитата(Asb @ Nov 7 2008, 13:06)  А на чем конвертер сделан ? Не FTDI часом ? Обычно используем I-7561 от ICPDAS
|
|
|
|
|
Nov 7 2008, 13:53
|
Знающий
   
Группа: Свой
Сообщений: 793
Регистрация: 5-11-04
Из: Краматорск, Украина
Пользователь №: 1 057

|
Цитата(bookevg @ Nov 7 2008, 13:57)  Обычно используем I-7561 от ICPDAS Блин, я уехал от заказчика, и у него начались аналогичные проблемы. Ищу на что бы спрыгнуть на другом чипе. FTDI неизолированный, к-й я вожу за собой не сбойнул ни разу, поэтому ищу промышленные изолированные на замену. Опять же, Пролифик со старыми дровами БСОДы выдавал регулярно, с новыми не выдает, но пропадание связи (а теперь и подвисание ПК) случается регулярно. Давайте поделимся проблемами - может, совместными усилиями поборем.
|
|
|
|
|
Nov 7 2008, 14:16
|
Местный
  
Группа: Свой
Сообщений: 320
Регистрация: 13-09-06
Пользователь №: 20 348

|
Цитата(khach @ Nov 7 2008, 16:55)  Если есть ХОРОШИЙ контакт с программистом, то можно из ситуации выкрутиться. Надо мониторить события PnP в винде. Может даже прийдется ставить программный Hook. После срабатывания Hook проверять, наш ли порт отвалился и заканчивать принудительно последнюю операцию и осовбождать порт. Проблема в том, что надо иметь исходники компонента, через который коммуникация с портом идет (никто же обычно не работает с портом через API) а применяют сторонние модуля, вот его прийдется править. Мы работатаем на уровне api-ных функций - юзаем их в C#. Хук то посадать можно - иногда он помогает, но вот если в момент выпадания конвертера программа обращается к апишными функциям, то происходит где-то зависание в этой апишной функции
|
|
|
|
|
Nov 29 2008, 13:32
|
Знающий
   
Группа: Участник
Сообщений: 745
Регистрация: 28-12-06
Пользователь №: 23 960

|
Цитата(Andy Great @ Nov 24 2008, 12:21)  Оказался глючный экземпляр конвертера. На столе без подключенной линии выдает дикие таймауты. Но вопрос "что использовать для уверенной работы" остается. Вы далеко не первый с такой проблемой. На данный момент решения нет. Самое разнообразное usb оборудование с той или иной периодичностью подвисает или отваливается. Проблема софтверно не лечится, так как для развешивания обязательно нужно переткнуть usb устройство. Хотите уверенно работать - не используйте usb! Вот ethernet например вполне надежно работает, гальваническую развязку имеет по определению и его никто пока не объявил "устаревшим".
|
|
|
|
|
Nov 29 2008, 14:20
|
Профессионал
    
Группа: Участник
Сообщений: 1 264
Регистрация: 17-06-08
Из: бандустан
Пользователь №: 38 347

|
было такое с изолированным программатором АВР910 на СР2102 и длинным 5-метровым кабелем (мертво вис USB при включении/выключении питания программируемой платы, программа не снималась из диспетчера задач). проблема решилась заменой кабеля на более качественный (толстый с хорошей экранировкой) и подключением прямо на задний разъем мат.платы (сначала подключились на переднюю панель компа) Цитата так как для развешивания обязательно нужно переткнуть usb устройство перетыкание не помогало, программа продолжала висеть, СОМ-порт был занят. помогала только полная перезагрузка
Сообщение отредактировал ukpyr - Nov 29 2008, 14:23
|
|
|
|
|
Dec 23 2008, 12:17
|
Знающий
   
Группа: Свой
Сообщений: 888
Регистрация: 25-09-08
Из: Питер
Пользователь №: 40 458

|
Цитата Вы далеко не первый с такой проблемой.На данный момент решения нет. Самое разнообразное usb оборудование с той или иной периодичностью подвисает или отваливается. Проблема софтверно не лечится, так как для развешивания обязательно нужно переткнуть usb устройство. Мы после долгих и тщательных разбирательств пришли к тому же выводу. Т.е. проблему у некоторых драйверов и микросхем есть, но есть дырка и в самих виндовых драйверах. Если помеха приходит в "неудачный" момент (или отключение), USB отваливаются навсегда и никакие переделки в драйверах от этого не спасают. Где-то они забыли предусмотреть отсутствие ответа с таймаутом. А с разными переходниками USB-COM - это отдельный вопрос. Там похоже еще и драйвер так раскорячен, что до синего экрана доходит. Но это похоже уже проблема драйвера.
Сообщение отредактировал rudy_b - Dec 23 2008, 12:19
|
|
|
|
|
Jan 12 2009, 03:24
|

Участник

Группа: Свой
Сообщений: 64
Регистрация: 27-02-08
Из: Россия, Алтайский край, г.Баранул, Павловский тракт 283
Пользователь №: 35 418

|
Цитата(khach @ Dec 24 2008, 10:37)  А со стороны компьютера что за софт в этом случае используется? Чтобы это порт выглядил как обычный со всеми стандартными API наворотами, ведь прикладной софт никто переписывать небудет. И как тогда выглядит протокол по эзернету, чтобы в будущем обеспечивать совместимость? Со стороны компьютера устанавливается софт, создаются виртуальные COM-порты и все прекрасно работает. Эти порты выглядят как обычные, со всеми стандартными API наворотами. В общем это порт-сервер EDG-4508+ или там EDG-4516 разница лишь колличестве портов. http://www.advantech.com/
|
|
|
|
|
Jan 19 2009, 08:43
|

Участник

Группа: Свой
Сообщений: 64
Регистрация: 27-02-08
Из: Россия, Алтайский край, г.Баранул, Павловский тракт 283
Пользователь №: 35 418

|
что такое XPort? или что вы имели введу? Цитата(Andy Great @ Jan 12 2009, 08:09)  Кроме XPort какие еще есть? И как они по деньгам сравнительно с УСБшными? И софт их не глючный ли?
|
|
|
|
|
Oct 22 2010, 10:49
|
Группа: Новичок
Сообщений: 1
Регистрация: 22-10-10
Пользователь №: 60 342

|
Я решал эту проблему, в некоторых случаях спасает рестарт usb хаба в помощью утилиты DevCon, или в коде с помощью SetupAPI.DLL
Помехи наводил так, брал электрошокер и трещал около usb-кабеля, и usb зависал.
Сказал что в некоторых случаях по тому что, когда работала программа Field Bus Analyzer, и я ребутил usb с помощью DevCon все оживало. Но когда скажем я конектился своей программой или гипертерминалом, все подвисало на смерть, спасала только перезагрузка компа.
Видимо гипертерминал как и я, использовали виндовые функции: WriteFile, ReadFile (соответственно виндовые драйверы для доступа к COM-порту), а Field Bus Analyzer наверно использует другие драйверы...
Сообщение отредактировал RinatIQ - Oct 22 2010, 10:49
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|