Меню
+7 (495) 785-95-25
sale@lcard.ru
sale@lcard.ru
Страницы 1
Здравствуйте.
В LabVIEW решаю задачу опроса нескольких модулей в одном крейте.
В примерах показано, как работать только с одним модулем.
Понимаю что под каждый модуль нужно создать отдельный объект, но как их запустить синхронно?
Или, что было бы проще, объединить их в одну задачу, чтобы читать всё одним массивом, а не 8 отдельных
Дублирую и дополняю вопрос про коды ошибок отсюда
https://www.lcard.ru/forums/viewtopic.php?pid=65951
Последовательность:
получаю devRec
Create
open
ChannelTable
SetADCfreq (50K*6)
SetOutFreq (1M)
Configure -
StreamsEnable (пока 1)
StreamsStart
Дальше в цикле измерения, и в какой-то момент получаю ошибку -9. Причём при чтении никаких изменений не делаю, просто периодический запрос по одному и тому же алгоритму. Несколько циклов чтение успешно, потом ошибка.
Для перестройки, например, диапазона, делаю такую последовательность
Полный цикл
получаю devRec (запоминаю)
(streamsStop
close
закрыть ссылку
)
Create
open
ChannelTable
SetADCfreq (50K*6)
SetOutFreq (1M)
Configure
StreamsEnable (пока 1)
StreamsStart
<измерения>.
Где-то на этом этапе возникает ошибка -132.
Сейчас уже не могу отследить, потому что устройство сразу сваливается в ошибку -9
Что не так в последовательности команд и как "починить" ошибку -9?
Дополнение. Ошибка, скорее всего, возникает при повторном запуске.
Полный цикл
получаю devRec (запоминаю)
(A) При старте/смене настроек
Если streamStart (моя переменная),то
(streamsStop
close
закрыть ссылку
)
Create
open
ChannelTable - OK
SetADCfreq (50K*6) - OK
SetOutFreq (1M) - OK
Configure - OK
StreamsEnable (пока 1) - OK
StreamsStart
streamStart = T (моя переменная) + запоминаю ссылку .NET на задачу
<измерения>. Если нужно сменить какой-то параметр (например, амплитуда на канале), то goto A
И вот где-то в этой последовательности ошибка.
Пытаюсь создать задачу. Что-то сломалось, никак не могу понять причину.
ChannelTable - OK
SetADCfreq (50K*6) - OK
SetOutFreq (1M) - OK
Configure - OK
StreamsEnable (пока 1) - OK
StreamsStart -> Error -132: Управляющий запрос к драйверу завершен с ошибкой
Что делаю не так? Что за ошибка -132?
Дополнение: "уползание" было моей ошибкой - не очищал буфер приходящих данных.
Остался второй вопрос - корректно ли на основе одного и того же devrec создавать несколько задач (одна AI, вторая AO)?
Поправка: удаление devrec тоже не помогает оказывается
Здравствуйте.
Собираю систему на базе E-502 + LabVIEW
Задача - менять диапазоны и скорости на ходу. Соответственно, конфигурирую задачу, запускаю. всё корректно.
Потом останавливаю сбор, полностью удаляю задачу (StreamStop, Close, удалить ссылку)
Дальше создаю новую задачу на базе прежнего devrec (его не удаляю при закрытии сеанса).
Всё корректно запускается, но в буфере каналы получаются "съехавшими", т.е. первый канал идёт вовсе не первым, а в произвольной позиции.
Вопрос: как корректно перезапустить, чтобы буфер очистить?
Сейчас полностью удаляю ссылку на устройство и перед запуском снова её создаю, но это же каждый раз вызывать DevRecordList, корректно ли это?
Второй вопрос.
Нужно параллельно читать и выдавать аналоговые сигналы. Не обязательно синхронно, для простоты лучше иметь две независимые задачи.
Перед созданием каждой нужно вызвать DevRecordList, или нужно использовать один и тот же идентификатор?
Здравствуйте.
Подскажите, как лучше подключить:
19 сигналов, из них 5 термопар (К), остальные "высоковольтные".
Частота 10 Гц.
Температуры от комнатной до ~1000 (камера сгорания)
Есть ли смысл (и возможность) выделить термопары в дифференциальную группу, или подключать всё с общим проводом?
Нужно/можно ли как-то компенсировать ХС?
Страницы 1
Адрес: 117105, Москва, Варшавское шоссе, д. 5, корп. 4, стр. 2
Многоканальный телефон:
+7 (495) 785-95-25
Отдел продаж: sale@lcard.ru
Техническая поддержка: support@lcard.ru
Время работы: с 9-00 до 19-00 мск