COM-USB
-
- beginner
- Сообщения: 41
- Зарегистрирован: 24 фев 2014, 10:19
- Версия LabVIEW: 7.1
- Контактная информация:
COM-USB
Добрый день!
Сталкивался кто с такой штукой?
Ведется последовательный опрос 10 датчиков через COM-порт. Время цикла выполнения программы произвольное, все работает нормально.
Меняю COM-порт на виртуальный (через USB), начинаются проблемы с циклом выполнения программы. Со временем цикла программы от 6 сек и выше
еще работает более-менее нормально. А от 5 сек. и ниже программа работает в цикле где-то 10 сек. Попробовал убрать функцию закрывания COM-порта
немного помогло, но меньше 2 сек. цикл программы отказывается работать.
Ничего не меняю и не трогаю (настройки остаются), а вот такая штука. И не поймешь сразу.
Суда по миганию лампочки на виртуальном COM-порте, он сам отрабатывает нормально, но в программе не могу додумать, что делать.
Работаю с фирмой ICPDAS.
Сталкивался кто с такой штукой?
Ведется последовательный опрос 10 датчиков через COM-порт. Время цикла выполнения программы произвольное, все работает нормально.
Меняю COM-порт на виртуальный (через USB), начинаются проблемы с циклом выполнения программы. Со временем цикла программы от 6 сек и выше
еще работает более-менее нормально. А от 5 сек. и ниже программа работает в цикле где-то 10 сек. Попробовал убрать функцию закрывания COM-порта
немного помогло, но меньше 2 сек. цикл программы отказывается работать.
Ничего не меняю и не трогаю (настройки остаются), а вот такая штука. И не поймешь сразу.
Суда по миганию лампочки на виртуальном COM-порте, он сам отрабатывает нормально, но в программе не могу додумать, что делать.
Работаю с фирмой ICPDAS.
-
Vitekkz88
- expert
- Сообщения: 1100
- Зарегистрирован: 21 янв 2014, 15:45
- Награды: 3
- Версия LabVIEW: 12,13,14
- Откуда: Томск
- Контактная информация:
Re: COM-USB
Выкладывайте исходники или скрин исходников. Будет проще помогать.
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
-А. И. Солженицын
-
- doctor
- Сообщения: 2211
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 27 раз
Re: COM-USB
Чтобы дать адекватный ответ необходимо:
Наименование модуля USB, с которым работаете,
Наименование датчиков и протокол обмена.
Настройки портов, включая низкоуровневые. Ну и программа...
Еще почитайте тему http://labviewportal.org/viewtopic.php?f=22&t=6130
Наименование модуля USB, с которым работаете,
Наименование датчиков и протокол обмена.
Настройки портов, включая низкоуровневые. Ну и программа...
Еще почитайте тему http://labviewportal.org/viewtopic.php?f=22&t=6130
-
- beginner
- Сообщения: 41
- Зарегистрирован: 24 фев 2014, 10:19
- Версия LabVIEW: 7.1
- Контактная информация:
Re: COM-USB
Здравствуйте! Вот инфа.
Оба модуля преобразуют RS485 в RS232.
Предвидя, что структуру программы можно было бы сделать и получше, соглашусь.
Но, опрос такого количества подпрограммок (опрос COM-порта), не должен так критично сказываться на времени выполнения,
даже, если каждый раз открывать-закрывать COM-порт.
Оба модуля преобразуют RS485 в RS232.
Предвидя, что структуру программы можно было бы сделать и получше, соглашусь.
Но, опрос такого количества подпрограммок (опрос COM-порта), не должен так критично сказываться на времени выполнения,
даже, если каждый раз открывать-закрывать COM-порт.
- Вложения
-
- 7520 7563.docx
- Краткое описание модулей
- (305.03 КБ) 167 скачиваний
-
- beginner
- Сообщения: 41
- Зарегистрирован: 24 фев 2014, 10:19
- Версия LabVIEW: 7.1
- Контактная информация:
Re: COM-USB
Может, у кого программуля есть подобная, кинули бы, я бы посмотрел в чем разница, да подправил свою.
-
- doctor
- Сообщения: 2211
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 27 раз
Re: COM-USB
Открывать порт надо только ОДИН раз перед началом работы. И закрывать тоже.
Опрос делать в цикле, изменяя адрес, используя массив текстовых констант
Опрос делать в цикле, изменяя адрес, используя массив текстовых констант
-
IvanLis
- guru
- Сообщения: 5467
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 28 раз
- Поблагодарили: 88 раз
Re: COM-USB
У Вас в подпрограмме считывание идет по 1 байту, при этом, за каждую итерацию несколько раз обращается к локальным переменным. В крайнем случае используйте сдвиговые регистры, но я советую использовать терминатор, тем более он у вас используется, только через "нето" место, это позволит вообще убрать цикл.serg_si писал(а):Предвидя, что структуру программы можно было бы сделать и получше, соглашусь.
Но, опрос такого количества подпрограммок (опрос COM-порта), не должен так критично сказываться на времени выполнения,
даже, если каждый раз открывать-закрывать COM-порт.
Я так понимаю, что порт используется один для всех подпрограмм, по этому в основной программе все запросы выполняются по очереди, а не параллельно и каждый из них тормозит (см. выше). При этом каждый раз открывается и закрывается сессия. Все эти запросы можно сделать в одной сессии, используя цикл.
Если подразумевается многократный опрос, то делайте открытие сессии вначале, а закрытие при остановке программы, по ходу работы контролируйте ошибку, и только в случае нарушения связи делайте реконект.
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
-
- beginner
- Сообщения: 41
- Зарегистрирован: 24 фев 2014, 10:19
- Версия LabVIEW: 7.1
- Контактная информация:
Re: COM-USB
Ок! Буду оптимизировать.
А какие мысли, насчет, того, что даже при таком алгоритме обычный COM-порт (шнурок 9-pin) успевает отрабатывать.
А виртуальный, просто, на порядок начинает тормозить.
Все же затык в LabVIEW 7.1 (может разработчики не сильно заморачивались с USB, USB только распространялось).
А какие мысли, насчет, того, что даже при таком алгоритме обычный COM-порт (шнурок 9-pin) успевает отрабатывать.
А виртуальный, просто, на порядок начинает тормозить.
Все же затык в LabVIEW 7.1 (может разработчики не сильно заморачивались с USB, USB только распространялось).
-
IvanLis
- guru
- Сообщения: 5467
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 28 раз
- Поблагодарили: 88 раз
Re: COM-USB
Можно поставить и 1Mbps, только ошибок много будет.serg_si писал(а):А какие мысли, насчет, того, что даже при таком алгоритме обычный COM-порт (шнурок 9-pin) успевает отрабатывать.
А виртуальный, просто, на порядок начинает тормозить.
Все же затык в LabVIEW 7.1 (может разработчики не сильно заморачивались с USB, USB только распространялось).
Тут больше наверное зависит не от программной, а от аппаратной реализации. Здесь все определяется неточностью тактирования на устройстве, какие провода используются и их длина.
Т.е. для каждого конкретного случая нужно конкретно и разбираться.
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
-
- doctor
- Сообщения: 2211
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 27 раз
Re: COM-USB
Виртуальный тормозит потому что открытие виртуального порта требует больших временных ресурсов. А вы это делаете каждый вызов. Не говоря уже о том, что сам драйвер чипа Prolific (на котором построены изделия ICPCON) не только тормознутый в этом плане, он еще и глючный.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 4 Ответы
- 622 Просмотры
-
Последнее сообщение Borjomy_1
-
- 4 Ответы
- 483 Просмотры
-
Последнее сообщение Eugene543210
-
- 4 Ответы
- 244 Просмотры
-
Последнее сообщение Embedder74