COM-USB

VISA, TCP/IP, USB, CAN, GPIB и подобные протоколы

COM-USB

Postby serg_si on 06 Oct 2016, 17:28

Добрый день!
Сталкивался кто с такой штукой?
Ведется последовательный опрос 10 датчиков через COM-порт. Время цикла выполнения программы произвольное, все работает нормально.
Меняю COM-порт на виртуальный (через USB), начинаются проблемы с циклом выполнения программы. Со временем цикла программы от 6 сек и выше
еще работает более-менее нормально. А от 5 сек. и ниже программа работает в цикле где-то 10 сек. Попробовал убрать функцию закрывания COM-порта
немного помогло, но меньше 2 сек. цикл программы отказывается работать.
Ничего не меняю и не трогаю (настройки остаются), а вот такая штука. И не поймешь сразу.
Суда по миганию лампочки на виртуальном COM-порте, он сам отрабатывает нормально, но в программе не могу додумать, что делать.
Работаю с фирмой ICPDAS.
serg_si
beginner
beginner
 
Posts: 41
Joined: 24 Feb 2014, 10:19
LabVIEW Version: 7.1
Karma: 0

Re: COM-USB

Postby Vitekkz88 on 06 Oct 2016, 17:33

Выкладывайте исходники или скрин исходников. Будет проще помогать.
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
User avatar
Vitekkz88
expert
expert
 
Posts: 1033
Joined: 21 Jan 2014, 15:45
Location: Томск
Medals: 3
Activity (1) Silver (1) Автор (1)
LabVIEW Version: 12,13,14
Karma: 300
hardware I/O VIP

Re: COM-USB

Postby Borjomy_1 on 06 Oct 2016, 22:02

Чтобы дать адекватный ответ необходимо:
Наименование модуля USB, с которым работаете,
Наименование датчиков и протокол обмена.
Настройки портов, включая низкоуровневые. Ну и программа...
Еще почитайте тему viewtopic.php?f=22&t=6130
Borjomy_1
expert
expert
 
Posts: 1809
Joined: 28 Jun 2012, 09:32
Location: город семи холмов
Medals: 3
Activity (1) Professionalism (1) Silver (1)
LabVIEW Version: 4-8.6,9-14
Karma: 318
VIP

Re: COM-USB

Postby serg_si on 07 Oct 2016, 09:34

Здравствуйте! Вот инфа.
Оба модуля преобразуют RS485 в RS232.
Предвидя, что структуру программы можно было бы сделать и получше, соглашусь.
Но, опрос такого количества подпрограммок (опрос COM-порта), не должен так критично сказываться на времени выполнения,
даже, если каждый раз открывать-закрывать COM-порт.
Attachments
2.JPG
COM-порт в While Loop
1.JPG
Опрос COM-порта
7520 7563.docx
Краткое описание модулей
(305.03 KiB) Downloaded 81 times
serg_si
beginner
beginner
 
Posts: 41
Joined: 24 Feb 2014, 10:19
LabVIEW Version: 7.1
Karma: 0

Re: COM-USB

Postby serg_si on 07 Oct 2016, 09:52

Может, у кого программуля есть подобная, кинули бы, я бы посмотрел в чем разница, да подправил свою.
serg_si
beginner
beginner
 
Posts: 41
Joined: 24 Feb 2014, 10:19
LabVIEW Version: 7.1
Karma: 0

Re: COM-USB

Postby Borjomy_1 on 07 Oct 2016, 10:48

Открывать порт надо только ОДИН раз перед началом работы. И закрывать тоже.
Опрос делать в цикле, изменяя адрес, используя массив текстовых констант
Borjomy_1
expert
expert
 
Posts: 1809
Joined: 28 Jun 2012, 09:32
Location: город семи холмов
Medals: 3
Activity (1) Professionalism (1) Silver (1)
LabVIEW Version: 4-8.6,9-14
Karma: 318
VIP

Re: COM-USB

Postby IvanLis on 07 Oct 2016, 10:48

serg_si wrote:Предвидя, что структуру программы можно было бы сделать и получше, соглашусь.
Но, опрос такого количества подпрограммок (опрос COM-порта), не должен так критично сказываться на времени выполнения,
даже, если каждый раз открывать-закрывать COM-порт.


У Вас в подпрограмме считывание идет по 1 байту, при этом, за каждую итерацию несколько раз обращается к локальным переменным. В крайнем случае используйте сдвиговые регистры, но я советую использовать терминатор, тем более он у вас используется, только через "нето" место, это позволит вообще убрать цикл.

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

Если подразумевается многократный опрос, то делайте открытие сессии вначале, а закрытие при остановке программы, по ходу работы контролируйте ошибку, и только в случае нарушения связи делайте реконект.
User avatar
IvanLis
professor
professor
 
Posts: 4609
Joined: 02 Dec 2009, 17:44
Location: СССР
Medals: 7
Activity (2) Professionalism (1) Tutorials (1) Gold (1) Man of the year 2012 (1)
Автор (1)
LabVIEW Version: 2010
Karma: 725
hardware VIP bloggers teachers

Re: COM-USB

Postby serg_si on 07 Oct 2016, 11:10

Ок! Буду оптимизировать.
А какие мысли, насчет, того, что даже при таком алгоритме обычный COM-порт (шнурок 9-pin) успевает отрабатывать.
А виртуальный, просто, на порядок начинает тормозить.
Все же затык в LabVIEW 7.1 (может разработчики не сильно заморачивались с USB, USB только распространялось).
serg_si
beginner
beginner
 
Posts: 41
Joined: 24 Feb 2014, 10:19
LabVIEW Version: 7.1
Karma: 0

Re: COM-USB

Postby IvanLis on 07 Oct 2016, 11:26

serg_si wrote:А какие мысли, насчет, того, что даже при таком алгоритме обычный COM-порт (шнурок 9-pin) успевает отрабатывать.
А виртуальный, просто, на порядок начинает тормозить.
Все же затык в LabVIEW 7.1 (может разработчики не сильно заморачивались с USB, USB только распространялось).


Можно поставить и 1Mbps, только ошибок много будет.
Тут больше наверное зависит не от программной, а от аппаратной реализации. Здесь все определяется неточностью тактирования на устройстве, какие провода используются и их длина.
Т.е. для каждого конкретного случая нужно конкретно и разбираться.
User avatar
IvanLis
professor
professor
 
Posts: 4609
Joined: 02 Dec 2009, 17:44
Location: СССР
Medals: 7
Activity (2) Professionalism (1) Tutorials (1) Gold (1) Man of the year 2012 (1)
Автор (1)
LabVIEW Version: 2010
Karma: 725
hardware VIP bloggers teachers

Re: COM-USB

Postby Borjomy_1 on 07 Oct 2016, 13:07

Виртуальный тормозит потому что открытие виртуального порта требует больших временных ресурсов. А вы это делаете каждый вызов. Не говоря уже о том, что сам драйвер чипа Prolific (на котором построены изделия ICPCON) не только тормознутый в этом плане, он еще и глючный.
Borjomy_1
expert
expert
 
Posts: 1809
Joined: 28 Jun 2012, 09:32
Location: город семи холмов
Medals: 3
Activity (1) Professionalism (1) Silver (1)
LabVIEW Version: 4-8.6,9-14
Karma: 318
VIP


Return to Коммуникация с приборами

Who is online

Users browsing this forum: No registered users and 7 guests

cron