Проверка run state конкретного vi

Простейшие вопросы в области инженерной разработки
Ответить
Artem.spb

Activity Автор
professor
professor
Сообщения: 3586
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 57 раз
Поблагодарили: 194 раза
Контактная информация:

Проверка run state конкретного vi

Сообщение Artem.spb »

Коротко задача: проверить, есть ли запущенные клоны конкретного VI.

Есть функция, которую я при некоторых условиях запускаю по ссылке. И она должна закрыться при других условиях.
И я хочу проверить корректность её работы. А для этого кроме прочего мне нужно проверить наличие запущенных клонов.
Я сделал такую функцию:
check_run.png
По задумке она берёт все vi в памяти и проверяет, нет ли среди них того VI, который меня интересует.

Странная странность в том, что когда я запускаю тест, эта функция уже оказывается в запущенном состоянии:
check_run2.png
Там сверху класс, метод которого и запускает эту функцию by ref.

А вот так всё работает:
check_run3.png
check_run3.png (16.23 КБ) 271 просмотр
Вопрос: кто виноват и что делать? Как проверить, что клоны не запущены?
Аватара пользователя
IvanLis

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

Re: Проверка run state конкретного vi

Сообщение IvanLis »

Artem.spb писал(а): 10 июн 2025, 19:35 Есть функция, которую я при некоторых условиях запускаю по ссылке
В голову приходит идея, собирать ref на все запущенные клоны в массив и их проверять :dntknw:
Artem.spb

Activity Автор
professor
professor
Сообщения: 3586
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 57 раз
Поблагодарили: 194 раза
Контактная информация:

Re: Проверка run state конкретного vi

Сообщение Artem.spb »

IvanLis писал(а): 11 июн 2025, 17:12 В голову приходит идея, собирать ref на все запущенные клоны в массив и их проверять :dntknw:
Это как раз ломает всю идею "запустить и забыть" :)
close_ref.png
Borjomy_1

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

Re: Проверка run state конкретного vi

Сообщение Borjomy_1 »

Разве экземпляр сам не уничтожается после остановки? Это же настроить можно, если после запуска он отправляется в "свободное плавание".
Artem.spb

Activity Автор
professor
professor
Сообщения: 3586
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 57 раз
Поблагодарили: 194 раза
Контактная информация:

Re: Проверка run state конкретного vi

Сообщение Artem.spb »

Borjomy_1 писал(а): 12 июн 2025, 17:58 Разве экземпляр сам не уничтожается после остановки? Это же настроить можно, если после запуска он отправляется в "свободное плавание".
Уничтожается, это и хочу проверить.
При запуске vi параллельно запускается контролёр некоторых событий. При наступлении такого события контролёр оповещает actor core и самоуничтожается.
Мне и надо убедиться, что все шаги работают корректно. Можно руками проверить, это я сделал, всё работает, но сейчас unit test собираю, надо автоматизировать этот процесс.
Ответить

Вернуться в «Для чайников»