реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> непредвиденное изъятие конвертера USB/RS485 из системы Windows, при работающей программе, которая общается с вирт.компортом данного ус
bookevg
сообщение Nov 7 2008, 06:43
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 320
Регистрация: 13-09-06
Пользователь №: 20 348



При поставках заказчику собственного программного обеспечения наблюдалась ситуация: иногда при непредвиденном изъятие конвертера USB/RS485 из системы Windows XP (часто ситуация возникает из-за человеческого фактора, а также м.также возникнуть в результате воздействия сильной электромагнитной помехи при коммутациях со стороны высоковольтной линии 6кВ на конвертер при непосредственной близости обоих) происходит зависание программного обеспечения (разработчик данного ПО не я). По словам программиста зависание происходит где-то в api-шных функциях винды. При этом программа не отзывается и никаким образом не убивается, только перезагрузка помогает, хотя винда остается работоспособной,
Если какие-либо способы решить данную проблему при возникновении описанной выше проблемы.
Заранее большое спасибо.
Go to the top of the page
 
+Quote Post
Harbour
сообщение Nov 7 2008, 08:37
Сообщение #2


Местами Гуру
*****

Группа: Validating
Сообщений: 1 103
Регистрация: 5-12-04
Пользователь №: 1 323



решение может быть только одно - не использовать венду. у клиента случайно не N-ядерник ? венда имеет проблемы на N ядерных системах - так называемые race conditions между различными компонентами. как вариант, можно попробовать оставить одно ядро, путем замены hal.
Go to the top of the page
 
+Quote Post
bookevg
сообщение Nov 7 2008, 09:07
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 320
Регистрация: 13-09-06
Пользователь №: 20 348



Цитата(Harbour @ Nov 7 2008, 11:37) *
решение может быть только одно - не использовать венду. у клиента случайно не N-ядерник ? венда имеет проблемы на N ядерных системах - так называемые race conditions между различными компонентами. как вариант, можно попробовать оставить одно ядро, путем замены hal.

Так сейчас везде N-ядерные системы - мы заказчику поставляем ноут с нашим ПО
Go to the top of the page
 
+Quote Post
Asb
сообщение Nov 7 2008, 10:06
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 294
Регистрация: 11-11-04
Из: Москва
Пользователь №: 1 109



А на чем конвертер сделан ? Не FTDI часом ?
Go to the top of the page
 
+Quote Post
bookevg
сообщение Nov 7 2008, 11:57
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 320
Регистрация: 13-09-06
Пользователь №: 20 348



Цитата(Asb @ Nov 7 2008, 13:06) *
А на чем конвертер сделан ? Не FTDI часом ?

Обычно используем I-7561 от ICPDAS
Go to the top of the page
 
+Quote Post
Andy Great
сообщение Nov 7 2008, 13:53
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 793
Регистрация: 5-11-04
Из: Краматорск, Украина
Пользователь №: 1 057



Цитата(bookevg @ Nov 7 2008, 13:57) *
Обычно используем I-7561 от ICPDAS

Блин, я уехал от заказчика, и у него начались аналогичные проблемы. Ищу на что бы спрыгнуть на другом чипе. FTDI неизолированный, к-й я вожу за собой не сбойнул ни разу, поэтому ищу промышленные изолированные на замену. Опять же, Пролифик со старыми дровами БСОДы выдавал регулярно, с новыми не выдает, но пропадание связи (а теперь и подвисание ПК) случается регулярно. Давайте поделимся проблемами - может, совместными усилиями поборем.
Go to the top of the page
 
+Quote Post
khach
сообщение Nov 7 2008, 13:55
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 3 439
Регистрация: 29-12-04
Пользователь №: 1 741



Если есть ХОРОШИЙ контакт с программистом, то можно из ситуации выкрутиться. Надо мониторить события PnP в винде. Может даже прийдется ставить программный Hook. После срабатывания Hook проверять, наш ли порт отвалился и заканчивать принудительно последнюю операцию и осовбождать порт. Проблема в том, что надо иметь исходники компонента, через который коммуникация с портом идет (никто же обычно не работает с портом через API) а применяют сторонние модуля, вот его прийдется править.
Go to the top of the page
 
+Quote Post
Andy Great
сообщение Nov 7 2008, 14:02
Сообщение #8


Знающий
****

Группа: Свой
Сообщений: 793
Регистрация: 5-11-04
Из: Краматорск, Украина
Пользователь №: 1 057



Не помогает. Освобождения порта не хватает - надо УСБ перевтыкать. Грустно.
Go to the top of the page
 
+Quote Post
bookevg
сообщение Nov 7 2008, 14:16
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 320
Регистрация: 13-09-06
Пользователь №: 20 348



Цитата(khach @ Nov 7 2008, 16:55) *
Если есть ХОРОШИЙ контакт с программистом, то можно из ситуации выкрутиться. Надо мониторить события PnP в винде. Может даже прийдется ставить программный Hook. После срабатывания Hook проверять, наш ли порт отвалился и заканчивать принудительно последнюю операцию и осовбождать порт. Проблема в том, что надо иметь исходники компонента, через который коммуникация с портом идет (никто же обычно не работает с портом через API) а применяют сторонние модуля, вот его прийдется править.

Мы работатаем на уровне api-ных функций - юзаем их в C#. Хук то посадать можно - иногда он помогает, но вот если в момент выпадания конвертера программа обращается к апишными функциям, то происходит где-то зависание в этой апишной функции
Go to the top of the page
 
+Quote Post
Andy Great
сообщение Nov 24 2008, 09:21
Сообщение #10


Знающий
****

Группа: Свой
Сообщений: 793
Регистрация: 5-11-04
Из: Краматорск, Украина
Пользователь №: 1 057



Оказался глючный экземпляр конвертера. На столе без подключенной линии выдает дикие таймауты. Но вопрос "что использовать для уверенной работы" остается.
Go to the top of the page
 
+Quote Post
_3m
сообщение Nov 29 2008, 13:32
Сообщение #11


Знающий
****

Группа: Участник
Сообщений: 745
Регистрация: 28-12-06
Пользователь №: 23 960



Цитата(Andy Great @ Nov 24 2008, 12:21) *
Оказался глючный экземпляр конвертера. На столе без подключенной линии выдает дикие таймауты. Но вопрос "что использовать для уверенной работы" остается.

Вы далеко не первый с такой проблемой.
На данный момент решения нет. Самое разнообразное usb оборудование с той или иной периодичностью подвисает или отваливается. Проблема софтверно не лечится, так как для развешивания обязательно нужно переткнуть usb устройство.
Хотите уверенно работать - не используйте usb! Вот ethernet например вполне надежно работает, гальваническую развязку имеет по определению и его никто пока не объявил "устаревшим".
Go to the top of the page
 
+Quote Post
ukpyr
сообщение Nov 29 2008, 14:20
Сообщение #12


Профессионал
*****

Группа: Участник
Сообщений: 1 264
Регистрация: 17-06-08
Из: бандустан
Пользователь №: 38 347



было такое с изолированным программатором АВР910 на СР2102 и длинным 5-метровым кабелем (мертво вис USB при включении/выключении питания программируемой платы, программа не снималась из диспетчера задач).
проблема решилась заменой кабеля на более качественный (толстый с хорошей экранировкой) и подключением прямо на задний разъем мат.платы (сначала подключились на переднюю панель компа)
Цитата
так как для развешивания обязательно нужно переткнуть usb устройство
перетыкание не помогало, программа продолжала висеть, СОМ-порт был занят. помогала только полная перезагрузка

Сообщение отредактировал ukpyr - Nov 29 2008, 14:23
Go to the top of the page
 
+Quote Post
miksher
сообщение Dec 23 2008, 08:03
Сообщение #13


Участник
*

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



А может дело в драйвере на шнурок
Go to the top of the page
 
+Quote Post
rudy_b
сообщение Dec 23 2008, 12:17
Сообщение #14


Знающий
****

Группа: Свой
Сообщений: 888
Регистрация: 25-09-08
Из: Питер
Пользователь №: 40 458



Цитата
Вы далеко не первый с такой проблемой.На данный момент решения нет. Самое разнообразное usb оборудование с той или иной периодичностью подвисает или отваливается. Проблема софтверно не лечится, так как для развешивания обязательно нужно переткнуть usb устройство.

Мы после долгих и тщательных разбирательств пришли к тому же выводу. Т.е. проблему у некоторых драйверов и микросхем есть, но есть дырка и в самих виндовых драйверах. Если помеха приходит в "неудачный" момент (или отключение), USB отваливаются навсегда и никакие переделки в драйверах от этого не спасают. Где-то они забыли предусмотреть отсутствие ответа с таймаутом.

А с разными переходниками USB-COM - это отдельный вопрос. Там похоже еще и драйвер так раскорячен, что до синего экрана доходит. Но это похоже уже проблема драйвера.

Сообщение отредактировал rudy_b - Dec 23 2008, 12:19
Go to the top of the page
 
+Quote Post
miksher
сообщение Dec 24 2008, 05:33
Сообщение #15


Участник
*

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



Лучше использовать дэвайс для работы с RS 232 по Ethernet. 2 года использую, пока ни каких проблем не было.
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 9th July 2025 - 13:40
Рейтинг@Mail.ru


Страница сгенерированна за 0.01484 секунд с 7
ELECTRONIX ©2004-2016