Coherent LabMax via USB

VISA, TCP/IP, USB, CAN, GPIB и подобные протоколы
Ответить
maximum117
beginner
beginner
Сообщения: 12
Зарегистрирован: 10 мар 2012, 10:47
Версия LabVIEW: 8.6
Контактная информация:

Coherent LabMax via USB

Сообщение maximum117 »

Здравствуйте!

Необходимо считывать данные с Coherent LabMax TOP через USB средствами LabView для их последующей обработки.

Производитель предоставляет программу, написанную в LabView (взаимодействует с устройством через USB), и vi-модули для LabView (набор модулей, которые встраиваются в LabView, чтобы можно было управлять прибором). Программу в моем случае использовать не получится, т.к. нужно вытаскивать данные из прибора и обрабатывать их для последующего использования внутри другой программы. Попытки использовать предлагаемые модули для LabView (после 3-х дней капания) ни к чему не привели.

Вопросы:
1. Есть ли у кого-нибудь опыт "сопряжения" LabView и LabMax TOP?
2. Есть ли способ "вытаскивать" данные с устройства без использования модулей для LabView?

ЗЫ. Есть опыт связывания XPS контроллера с LabView (но там было все как два пальца).
Аватара пользователя
dadreamer

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

Re: Coherent LabMax via USB

Сообщение dadreamer »

maximum117 писал(а):Программу в моем случае использовать не получится, т.к. нужно вытаскивать данные из прибора и обрабатывать их для последующего использования внутри другой программы.
А что мешает получать данные с прибора и записывать их в файл, а в другой программе считывать из файла? А по хорошему можно совместить получение данных и обработку в одной программе, сделав для этого два параллельных цикла. Обмен между ними организуется через очереди (как вариант).
maximum117 писал(а):2. Есть ли способ "вытаскивать" данные с устройства без использования модулей для LabView?
Похоже, что все примеры из установочного пакета используют ActiveX (CLabMaxLowLevCtl) для работы с устройством, так что можно обойтись без примеров в LabVIEW, нужно только иметь описание команд. Без него придется разбирать примеры :labview: . Если USB протокол кажется сложным, то можно попробовать RS232 через VISA, но так же надо иметь мануал со списком команд.
maximum117
beginner
beginner
Сообщения: 12
Зарегистрирован: 10 мар 2012, 10:47
Версия LabVIEW: 8.6
Контактная информация:

Re: Coherent LabMax via USB

Сообщение maximum117 »

Спасибо за ответ.

Я так понял, что в любом случае нужно разбираться с ActiveX (до этого как-то обходился без него)? Не подскажете где можно прочитаться об ActiveX (из личного опыта чтения литературы, лучше электронной)?
Аватара пользователя
dadreamer

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

Re: Coherent LabMax via USB

Сообщение dadreamer »

Из личного опыта - мне во многом помогла встроенная справка :labview: и темы на forums.ni.com. Плюс к этому, метод проб и ошибок, начиная с простейшего алгоритма, например конструктор объекта -> единственный оператор (метод/свойство) -> деструктор. Если всё работает, то можно усложнять программу. Также для общего понимания почитайте на сайте Microsoft, в Википедии и вообще в гугле про COM/ActiveX и .NET интерфейсы.

Такой вопрос, а есть ли у вас в наличии мануал с описанием методов? Я вот искал в официальных архивах, но почему-то не попадалось.
maximum117
beginner
beginner
Сообщения: 12
Зарегистрирован: 10 мар 2012, 10:47
Версия LabVIEW: 8.6
Контактная информация:

Re: Coherent LabMax via USB

Сообщение maximum117 »

Понял, спасибо.
Такой вопрос, а есть ли у вас в наличии мануал с описанием методов? Я вот искал в официальных архивах, но почему-то не попадалось.
К сожаление, нет.

К примеру, для XPS контроллера были и модули (vi), и подробнейшее описание к ним: как подгрузить их в LabView и примеры простых программ, которые работали. Здесь же две странице в pdf с двумя картинкам со всеми модулями, которые, по идее, должны помочь понять какой модуль за каким следует (последовательность подключения). Прилагающиеся примеры не работаю (крошат ошибками).

Поэтому, собственно, и возникли проблемы (человеку, который первый раз сталкивается с таким оборудованием не очень понятно как это все работает, как происходит взаимодействие с прибором).

Ещё раз спасибо за ответы. Буду рыть носом. Как что-то получится отпишусь (если получится).
Аватара пользователя
dadreamer

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

Re: Coherent LabMax via USB

Сообщение dadreamer »

А на официальном сайте в архиве LabMax PC V1.7 тоже ничего нет? Я там обнаружил множество установочников, ставить не стал, смысла в этом не особо много без оборудования. Но в каком-то мануале видел упоминание о том, что есть модули для работы в Visual Basic через ActiveX. Получается, что где-то должно быть описание операторов. Иначе непонятно, что вызывать и в какой последовательности. Может, стоит обратиться в тех. поддержку.
maximum117
beginner
beginner
Сообщения: 12
Зарегистрирован: 10 мар 2012, 10:47
Версия LabVIEW: 8.6
Контактная информация:

Re: Coherent LabMax via USB

Сообщение maximum117 »

Немного продвинулся.

Могу подконнектится к девайсу: ошибка состояла в том, что есть элемент (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):
error.jpg
Есть ли какие-нибудь идеи? Рыл носом сеть, ничего путного не нашел (или не там искал).
Аватара пользователя
IvanLis

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

Re: Coherent LabMax via USB

Сообщение IvanLis »

maximum117 писал(а):Есть ли какие-нибудь идеи? Рыл носом сеть, ничего путного не нашел (или не там искал).
Вы не пробовали связаться с производителем или службой поддержки?
Однажды пришлось принимать данные с нестандартного устройства, прилагаемые с оборудованием примеры отказывались правильно парсить данные.
После недельной переписки со службой поддержки, оказалось, что устройство реализовано на ином чипе, нежели было раньше, а примеры не переделали.
maximum117
beginner
beginner
Сообщения: 12
Зарегистрирован: 10 мар 2012, 10:47
Версия LabVIEW: 8.6
Контактная информация:

Re: Coherent LabMax via USB

Сообщение maximum117 »

Спасибо всем за ответы. Оказалось, что ошибка DAQ Time Out возникает, когда на светочувствительный элемент ничего не приходит (другими словами: показания равны 0). Есть параметр, отвечающий за интервал между "показания равны 0" и "показания не ноль". Соответственно с параметром установленным по умолчанию (т.е. 1 секунда) для начала измерения нужно подать сигнал на измеритель, тогда модуль срабатывает и программа не крашится все время работы. Если же программу остановить, т.е. остановить выполнение ActiveX Control (напомню, что этот модуль является основной "прослойкой" между измерителем и LabView), после снова запустить, то снова же нужно в период равный 1 секунде подать полезный сигнал на измеритель, иначе программа крашится и так далее.

Соответственно интервал был установлен равным 10 секундам, после чего спустя 10 секунд без полезного сигнала выкинуло всё туже ошибку.

Осталось разобраться, как инженеры (а именно составители программы LabMaxPC) обошли эту ошибку. Благо они предоставили исходники на LabView.

Как что-то получится выяснить отпишусь.
Аватара пользователя
IvanLis

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

Re: Coherent LabMax via USB

Сообщение IvanLis »

maximum117 писал(а):Осталось разобраться, как инженеры (а именно составители программы LabMaxPC) обошли эту ошибку. Благо они предоставили исходники на LabView.
Делайте обработку ошибки, т.е. если она равна "......", то сбрасываем и ждем снова....
maximum117
beginner
beginner
Сообщения: 12
Зарегистрирован: 10 мар 2012, 10:47
Версия LabVIEW: 8.6
Контактная информация:

Re: Coherent LabMax via USB

Сообщение maximum117 »

Спасибо за совет, так и думал поступить (хотя можно попробовать переписать модуль измерения).

Плюс к описанному в предыдущем посте добавлю, что для нормальной работы всех предоставленных модулей необходимо открыть модуль CH_LM Getting Started.vi, при открытие должно выскочить окно с ошибкой (всего одной). После чего нужно пересохранить данный vi (просто нажать File -> Save) и перезапустить LabView (полностью закрыть LabView, дождавшись выгрузки программы из памяти). Только после этого все модули будут работать. Не знаю является ли все вышеописанное простым совпадением, но только после данных манипуляций удалось завести программу (специально все повторил с нуля).

UPD: Ещё одно замечание: Папка CH_LM с модулями в ней должна лежать по пути "C:\Program Files\National Instruments\LabVIEW 2013\instr.lib\"
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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