Функционирование .NET в LabVIEW

ActiveX, .NET, DLL
Ответить
Igor_G
assistant
assistant
Сообщения: 126
Зарегистрирован: 06 ноя 2011, 14:10
Версия LabVIEW: 2012-2016
Контактная информация:

Функционирование .NET в LabVIEW

Сообщение Igor_G »

Столкнулся с такой проблемой.
Если использовать вызванные напрямую через LabVIEW .NET классы, методы или свойства framework 4.5, 4.0, 3.5, 3.0, 2.0 в LabVIEW 2013 sp1, то получается следующее:
- Наповерхности (т.е. без циклов или структур) все просто летает. Например - 50мб откр. за 0,00000664093658997 Sek.
- Стоит только поместить вызванный метод в любой из циклов начинаются тормоза в тысячи раз за 1 цикл. Например - 50мб откр. за 0,19495697579 Sek.

С .NET DLL ситуация еще хуже. Там достаточно ее поместить в любую пассивную структуру, чтобы результат получился просто катастрофическим.

NI Support проблему акцептировал. Но решения проблемы пока не знает. :think:

Вечный вопрос - что делать??? Наши профи всегда впереди. Может кто что и подскажет ;о)

Попробуйте на др. версиях LabVIEW. У меня LabVIEW 2013 SP1.
У меня эта проблема со всеми .NET MS классами, методами или свойствами. Поэтому можете выбирать что душе угодно, screenshot только для объяснения.
Вложения
.NET_LV.PNG
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2210
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 26 раз

Re: Функционирование .NET в LabVIEW

Сообщение Borjomy_1 »

Что-то первое число 0,00000664093658997 Sek вызывает серьезные сомнения в методике оценки. 6 мкс. Если вы делали измерение также, только без цикла, то у вас вызов таймера идет параллельно с вызовом функции, что некорректно.
Аватара пользователя
dadreamer

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

Re: Функционирование .NET в LabVIEW

Сообщение dadreamer »

Что-то странное у вас творится, не должен цикл в одну итерацию так влиять на время. Я в качестве теста взял свой пример, замерял метод Form.Show() без цикла и с циклом For (N=1). Результат и так, и этак составляет ~0.07 - 0.08 мс. Различий не заметил.

Так, а у вас на выходе из цикла формируется массив из кластера error in/out. Вот и задержка. Уберите индексирование.
Igor_G
assistant
assistant
Сообщения: 126
Зарегистрирован: 06 ноя 2011, 14:10
Версия LabVIEW: 2012-2016
Контактная информация:

Re: Функционирование .NET в LabVIEW

Сообщение Igor_G »

Так, а у вас на выходе из цикла формируется массив из кластера error in/out. Вот и задержка. Уберите индексирование.
Спасибо! Сегодня от суппорта тот же ответ получил. ;о)
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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