Проблема коммуникации в EXE

VISA, TCP/IP, USB, CAN, GPIB и подобные протоколы
Ответить
miklo
beginner
beginner
Сообщения: 17
Зарегистрирован: 02 июл 2020, 10:39
Версия LabVIEW: 17
Контактная информация:

Проблема коммуникации в EXE

Сообщение miklo »

Привет, ребята.
Есть программа, в которой данные пересылаются по последовательному порту между ПК с ЛабВью и двумя устройствами на микроконтроллерах. Это все работает. Но когда я сделал из этого EXEшник, то пересылка данных работать перестала, т.е. нет связи. При этом сам EXEшник работает, не работают только те операции, которые включают в себя обмен данными. Никто не знает, в чем может быть дело?
Аватара пользователя
Andrew Lunev

Activity Professionalism
VIP
VIP
Сообщения: 957
Зарегистрирован: 11 дек 2010, 12:31
Награды: 2
Версия LabVIEW: 2014-2021
Откуда: Москва
Благодарил (а): 4 раза
Поблагодарили: 10 раз

Re: Проблема коммуникации в EXE

Сообщение Andrew Lunev »

Если хотите разобраться в чем проблема, то выведите кластер ошибок на экран приложения и сделайте экзешник. Посмотрите что за ошибку выдает Visa. Думаю станет понято в чем проблема.
miklo
beginner
beginner
Сообщения: 17
Зарегистрирован: 02 июл 2020, 10:39
Версия LabVIEW: 17
Контактная информация:

Re: Проблема коммуникации в EXE

Сообщение miklo »

Вывел, но в кластере ничего не появляется. Такое ощущение, что просто ничего не происходит.
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5462
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 86 раз

Re: Проблема коммуникации в EXE

Сообщение IvanLis »

miklo писал(а): 02 июл 2020, 11:11 Есть программа, в которой данные пересылаются по последовательному порту между ПК с ЛабВью и двумя устройствами на микроконтроллерах. Это все работает. Но когда я сделал из этого EXEшник, то пересылка данных работать перестала, т.е. нет связи. При этом сам EXEшник работает, не работают только те операции, которые включают в себя обмен данными. Никто не знает, в чем может быть дело?
У Вас в программе есть где-нибудь обращение к файловой системе?
Например считываете настройки порта из файла или что-то подобное?

И попробуйте EXE запустить от имени Администратора..
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 127 раз
Контактная информация:

Re: Проблема коммуникации в EXE

Сообщение dadreamer »

Может быть, нужно установить NI VISA Run-Time Engine?
miklo
beginner
beginner
Сообщения: 17
Зарегистрирован: 02 июл 2020, 10:39
Версия LabVIEW: 17
Контактная информация:

Re: Проблема коммуникации в EXE

Сообщение miklo »

Нет, обращений к файловой системе нет. От имени админа запускать попробовал - не дало результатов.
Аватара пользователя
taras_33

Activity
professional
professional
Сообщения: 392
Зарегистрирован: 31 окт 2009, 18:25
Награды: 1
Версия LabVIEW: 2019
Поблагодарили: 13 раз
Контактная информация:

Re: Проблема коммуникации в EXE

Сообщение taras_33 »

Посмотрите снифером, что творится в порту.
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots.
So far, the Universe is winning!
miklo
beginner
beginner
Сообщения: 17
Зарегистрирован: 02 июл 2020, 10:39
Версия LabVIEW: 17
Контактная информация:

Re: Проблема коммуникации в EXE

Сообщение miklo »

dadreamer писал(а): 03 июл 2020, 15:21 Может быть, нужно установить NI VISA Run-Time Engine?
EXE-шник делаю на ПК, на котором установлен ЛабВью. Это же автоматически означает, что RunTime уже есть?
Есть правда такой момент: изначально программа делалась в LV2015, потом дорабатывалась в LV2017. Потом она была сохранена в предыдущей версии (для LV2015). Это все происходило на одном и том же ПК, на котором сначала стояла 2015 ЛВ, а потом она была заменена на 2017-ю ЛВ. И сейчас на другом ПК (с установленным LV2015) делаю EXE-шник из этого проекта. Еще вот что: когда портировал программу в предыдущую версию (2017 ---> 2015) была проблема с тем, что функция Stall Data Flow не портировалась, т.к. в 2015 ее нет. Я вручную сделал ВП (благо он не сложный - задержка на флэт сиквэнсе) и когда запускал прогу на ПК с 2015, то указал путь к этой написанной мной ВП, когда он не мог найти оригинальный Stall Data Flow. Все работает. В самом ЛВ 2015. А вот в экзешнике не работает посылка/прием данных по послед. порту.
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 127 раз
Контактная информация:

Re: Проблема коммуникации в EXE

Сообщение dadreamer »

miklo писал(а): 03 июл 2020, 15:31EXE-шник делаю на ПК, на котором установлен ЛабВью. Это же автоматически означает, что RunTime уже есть?
Вообще да. Если устанавливали пакет NI-VISA или Device Drivers, то NI-VISA RTE также должен был поставиться. Но лучше убедиться, т.к. NI-VISA распространяется отдельно и обычно его надо дополнительно ставить уже после инсталляции :labview: . Здесь написано, как можно узнать текущую версию установленного пакета. Можно и через msiBlast посмотреть список пакетов. Для дистрибуции экзешника на целевой компьютер нужно ставить NI-VISA RTE, иначе функции VISA работать не будут.
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Коммуникация с приборами»