Coherent LabMax via USB
-
- beginner
- Сообщения: 12
- Зарегистрирован: 10 мар 2012, 10:47
- Версия LabVIEW: 8.6
- Контактная информация:
Coherent LabMax via USB
Здравствуйте!
Необходимо считывать данные с Coherent LabMax TOP через USB средствами LabView для их последующей обработки.
Производитель предоставляет программу, написанную в LabView (взаимодействует с устройством через USB), и vi-модули для LabView (набор модулей, которые встраиваются в LabView, чтобы можно было управлять прибором). Программу в моем случае использовать не получится, т.к. нужно вытаскивать данные из прибора и обрабатывать их для последующего использования внутри другой программы. Попытки использовать предлагаемые модули для LabView (после 3-х дней капания) ни к чему не привели.
Вопросы:
1. Есть ли у кого-нибудь опыт "сопряжения" LabView и LabMax TOP?
2. Есть ли способ "вытаскивать" данные с устройства без использования модулей для LabView?
ЗЫ. Есть опыт связывания XPS контроллера с LabView (но там было все как два пальца).
Необходимо считывать данные с Coherent LabMax TOP через USB средствами LabView для их последующей обработки.
Производитель предоставляет программу, написанную в LabView (взаимодействует с устройством через USB), и vi-модули для LabView (набор модулей, которые встраиваются в LabView, чтобы можно было управлять прибором). Программу в моем случае использовать не получится, т.к. нужно вытаскивать данные из прибора и обрабатывать их для последующего использования внутри другой программы. Попытки использовать предлагаемые модули для LabView (после 3-х дней капания) ни к чему не привели.
Вопросы:
1. Есть ли у кого-нибудь опыт "сопряжения" LabView и LabMax TOP?
2. Есть ли способ "вытаскивать" данные с устройства без использования модулей для LabView?
ЗЫ. Есть опыт связывания XPS контроллера с LabView (но там было все как два пальца).
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
Re: Coherent LabMax via USB
А что мешает получать данные с прибора и записывать их в файл, а в другой программе считывать из файла? А по хорошему можно совместить получение данных и обработку в одной программе, сделав для этого два параллельных цикла. Обмен между ними организуется через очереди (как вариант).maximum117 писал(а):Программу в моем случае использовать не получится, т.к. нужно вытаскивать данные из прибора и обрабатывать их для последующего использования внутри другой программы.
Похоже, что все примеры из установочного пакета используют ActiveX (CLabMaxLowLevCtl) для работы с устройством, так что можно обойтись без примеров в LabVIEW, нужно только иметь описание команд. Без него придется разбирать примеры . Если USB протокол кажется сложным, то можно попробовать RS232 через VISA, но так же надо иметь мануал со списком команд.maximum117 писал(а):2. Есть ли способ "вытаскивать" данные с устройства без использования модулей для LabView?
-
- beginner
- Сообщения: 12
- Зарегистрирован: 10 мар 2012, 10:47
- Версия LabVIEW: 8.6
- Контактная информация:
Re: Coherent LabMax via USB
Спасибо за ответ.
Я так понял, что в любом случае нужно разбираться с ActiveX (до этого как-то обходился без него)? Не подскажете где можно прочитаться об ActiveX (из личного опыта чтения литературы, лучше электронной)?
Я так понял, что в любом случае нужно разбираться с ActiveX (до этого как-то обходился без него)? Не подскажете где можно прочитаться об ActiveX (из личного опыта чтения литературы, лучше электронной)?
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
Re: Coherent LabMax via USB
Из личного опыта - мне во многом помогла встроенная справка и темы на forums.ni.com. Плюс к этому, метод проб и ошибок, начиная с простейшего алгоритма, например конструктор объекта -> единственный оператор (метод/свойство) -> деструктор. Если всё работает, то можно усложнять программу. Также для общего понимания почитайте на сайте Microsoft, в Википедии и вообще в гугле про COM/ActiveX и .NET интерфейсы.
Такой вопрос, а есть ли у вас в наличии мануал с описанием методов? Я вот искал в официальных архивах, но почему-то не попадалось.
Такой вопрос, а есть ли у вас в наличии мануал с описанием методов? Я вот искал в официальных архивах, но почему-то не попадалось.
-
- beginner
- Сообщения: 12
- Зарегистрирован: 10 мар 2012, 10:47
- Версия LabVIEW: 8.6
- Контактная информация:
Re: Coherent LabMax via USB
Понял, спасибо.
К примеру, для XPS контроллера были и модули (vi), и подробнейшее описание к ним: как подгрузить их в LabView и примеры простых программ, которые работали. Здесь же две странице в pdf с двумя картинкам со всеми модулями, которые, по идее, должны помочь понять какой модуль за каким следует (последовательность подключения). Прилагающиеся примеры не работаю (крошат ошибками).
Поэтому, собственно, и возникли проблемы (человеку, который первый раз сталкивается с таким оборудованием не очень понятно как это все работает, как происходит взаимодействие с прибором).
Ещё раз спасибо за ответы. Буду рыть носом. Как что-то получится отпишусь (если получится).
К сожаление, нет.Такой вопрос, а есть ли у вас в наличии мануал с описанием методов? Я вот искал в официальных архивах, но почему-то не попадалось.
К примеру, для XPS контроллера были и модули (vi), и подробнейшее описание к ним: как подгрузить их в LabView и примеры простых программ, которые работали. Здесь же две странице в pdf с двумя картинкам со всеми модулями, которые, по идее, должны помочь понять какой модуль за каким следует (последовательность подключения). Прилагающиеся примеры не работаю (крошат ошибками).
Поэтому, собственно, и возникли проблемы (человеку, который первый раз сталкивается с таким оборудованием не очень понятно как это все работает, как происходит взаимодействие с прибором).
Ещё раз спасибо за ответы. Буду рыть носом. Как что-то получится отпишусь (если получится).
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
Re: Coherent LabMax via USB
А на официальном сайте в архиве LabMax PC V1.7 тоже ничего нет? Я там обнаружил множество установочников, ставить не стал, смысла в этом не особо много без оборудования. Но в каком-то мануале видел упоминание о том, что есть модули для работы в Visual Basic через ActiveX. Получается, что где-то должно быть описание операторов. Иначе непонятно, что вызывать и в какой последовательности. Может, стоит обратиться в тех. поддержку.
-
- beginner
- Сообщения: 12
- Зарегистрирован: 10 мар 2012, 10:47
- Версия LabVIEW: 8.6
- Контактная информация:
Re: Coherent LabMax via USB
Немного продвинулся.
Могу подконнектится к девайсу: ошибка состояла в том, что есть элемент (Active X Control, он входит в пакет модулей для подключения устройства к LabView), который должен быть запущен перед запуском основной программы и перед непосредственным обращением к устройству. Я его и запускал перед запуском программы, после запускал программу, программа отрабатывала, упиралась в другую ошибку (ошибку сбора данных, о ней позже) и останавливалась. После чего терялась возможность подключиться к устройству (все дальнейшие попытки обратиться к устройству заканчивались ошибкой - не находило измеритель Index Meter No Found).
Оказалось, что нужно использовать Stacked Sequence Structure с задержкой (видимо для того, чтобы ActiveX Control отработал) на 0-ой вкладке, на первой же располагается команда инициализации и все остальное (попытки задать задержки с помощью других структур не увенчались успехом). Т.о. получилось, что
программу можно запускать N-ое количество раз и подключение будет проходить без ошибок. Теперь о самом интересном (о том с чем я так и не смог разобраться).
К устройству подключаюсь, могу менять параметры измерения (длину волны и т.п.), включать\выключать подсветку и т.п. Но я никак не могу собрать данные с устройства. Для того чтобы собрать данные, как я себе это представляю, нужно:
Запуск ActiveX Control через Stacked Sequence Structure с задержкой --> инициализация устройства --> настройка параметров измерения (я так понимаю данным модулем посылается запрос на сбор данных с устройства) --> собственно просмотр данных с устройства ,вот здесь и возникает "затык". Появляется ошибка "DAQ Time Out" (-1319). Сбор данных не идет.
Смог запустить все предлагаемые Coherent-ом примеры, но у них точно такая же ошибка! Сбор данных не идет.
Скрин с ошибкой (-1319): Есть ли какие-нибудь идеи? Рыл носом сеть, ничего путного не нашел (или не там искал).
Могу подконнектится к девайсу: ошибка состояла в том, что есть элемент (Active X Control, он входит в пакет модулей для подключения устройства к LabView), который должен быть запущен перед запуском основной программы и перед непосредственным обращением к устройству. Я его и запускал перед запуском программы, после запускал программу, программа отрабатывала, упиралась в другую ошибку (ошибку сбора данных, о ней позже) и останавливалась. После чего терялась возможность подключиться к устройству (все дальнейшие попытки обратиться к устройству заканчивались ошибкой - не находило измеритель Index Meter No Found).
Оказалось, что нужно использовать Stacked Sequence Structure с задержкой (видимо для того, чтобы ActiveX Control отработал) на 0-ой вкладке, на первой же располагается команда инициализации и все остальное (попытки задать задержки с помощью других структур не увенчались успехом). Т.о. получилось, что
программу можно запускать N-ое количество раз и подключение будет проходить без ошибок. Теперь о самом интересном (о том с чем я так и не смог разобраться).
К устройству подключаюсь, могу менять параметры измерения (длину волны и т.п.), включать\выключать подсветку и т.п. Но я никак не могу собрать данные с устройства. Для того чтобы собрать данные, как я себе это представляю, нужно:
Запуск ActiveX Control через Stacked Sequence Structure с задержкой --> инициализация устройства --> настройка параметров измерения (я так понимаю данным модулем посылается запрос на сбор данных с устройства) --> собственно просмотр данных с устройства ,вот здесь и возникает "затык". Появляется ошибка "DAQ Time Out" (-1319). Сбор данных не идет.
Смог запустить все предлагаемые Coherent-ом примеры, но у них точно такая же ошибка! Сбор данных не идет.
Скрин с ошибкой (-1319): Есть ли какие-нибудь идеи? Рыл носом сеть, ничего путного не нашел (или не там искал).
-
IvanLis
- guru
- Сообщения: 5467
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 28 раз
- Поблагодарили: 88 раз
Re: Coherent LabMax via USB
Вы не пробовали связаться с производителем или службой поддержки?maximum117 писал(а):Есть ли какие-нибудь идеи? Рыл носом сеть, ничего путного не нашел (или не там искал).
Однажды пришлось принимать данные с нестандартного устройства, прилагаемые с оборудованием примеры отказывались правильно парсить данные.
После недельной переписки со службой поддержки, оказалось, что устройство реализовано на ином чипе, нежели было раньше, а примеры не переделали.
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
-
- beginner
- Сообщения: 12
- Зарегистрирован: 10 мар 2012, 10:47
- Версия LabVIEW: 8.6
- Контактная информация:
Re: Coherent LabMax via USB
Спасибо всем за ответы. Оказалось, что ошибка DAQ Time Out возникает, когда на светочувствительный элемент ничего не приходит (другими словами: показания равны 0). Есть параметр, отвечающий за интервал между "показания равны 0" и "показания не ноль". Соответственно с параметром установленным по умолчанию (т.е. 1 секунда) для начала измерения нужно подать сигнал на измеритель, тогда модуль срабатывает и программа не крашится все время работы. Если же программу остановить, т.е. остановить выполнение ActiveX Control (напомню, что этот модуль является основной "прослойкой" между измерителем и LabView), после снова запустить, то снова же нужно в период равный 1 секунде подать полезный сигнал на измеритель, иначе программа крашится и так далее.
Соответственно интервал был установлен равным 10 секундам, после чего спустя 10 секунд без полезного сигнала выкинуло всё туже ошибку.
Осталось разобраться, как инженеры (а именно составители программы LabMaxPC) обошли эту ошибку. Благо они предоставили исходники на LabView.
Как что-то получится выяснить отпишусь.
Соответственно интервал был установлен равным 10 секундам, после чего спустя 10 секунд без полезного сигнала выкинуло всё туже ошибку.
Осталось разобраться, как инженеры (а именно составители программы LabMaxPC) обошли эту ошибку. Благо они предоставили исходники на LabView.
Как что-то получится выяснить отпишусь.
-
IvanLis
- guru
- Сообщения: 5467
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 28 раз
- Поблагодарили: 88 раз
Re: Coherent LabMax via USB
Делайте обработку ошибки, т.е. если она равна "......", то сбрасываем и ждем снова....maximum117 писал(а):Осталось разобраться, как инженеры (а именно составители программы LabMaxPC) обошли эту ошибку. Благо они предоставили исходники на LabView.
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
-
- beginner
- Сообщения: 12
- Зарегистрирован: 10 мар 2012, 10:47
- Версия LabVIEW: 8.6
- Контактная информация:
Re: Coherent LabMax via USB
Спасибо за совет, так и думал поступить (хотя можно попробовать переписать модуль измерения).
Плюс к описанному в предыдущем посте добавлю, что для нормальной работы всех предоставленных модулей необходимо открыть модуль CH_LM Getting Started.vi, при открытие должно выскочить окно с ошибкой (всего одной). После чего нужно пересохранить данный vi (просто нажать File -> Save) и перезапустить LabView (полностью закрыть LabView, дождавшись выгрузки программы из памяти). Только после этого все модули будут работать. Не знаю является ли все вышеописанное простым совпадением, но только после данных манипуляций удалось завести программу (специально все повторил с нуля).
UPD: Ещё одно замечание: Папка CH_LM с модулями в ней должна лежать по пути "C:\Program Files\National Instruments\LabVIEW 2013\instr.lib\"
Плюс к описанному в предыдущем посте добавлю, что для нормальной работы всех предоставленных модулей необходимо открыть модуль CH_LM Getting Started.vi, при открытие должно выскочить окно с ошибкой (всего одной). После чего нужно пересохранить данный vi (просто нажать File -> Save) и перезапустить LabView (полностью закрыть LabView, дождавшись выгрузки программы из памяти). Только после этого все модули будут работать. Не знаю является ли все вышеописанное простым совпадением, но только после данных манипуляций удалось завести программу (специально все повторил с нуля).
UPD: Ещё одно замечание: Папка CH_LM с модулями в ней должна лежать по пути "C:\Program Files\National Instruments\LabVIEW 2013\instr.lib\"
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 4 Ответы
- 622 Просмотры
-
Последнее сообщение Borjomy_1
-
- 4 Ответы
- 482 Просмотры
-
Последнее сообщение Eugene543210
-
- 4 Ответы
- 244 Просмотры
-
Последнее сообщение Embedder74