Tasking2 Library

Общие принципы, проектирование, модуляризация, темплейты и шаблоны
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Tasking2 Library

Сообщение Eugen Graf »

Мне удалось таки спрограммировать что то очень похожее с помощью Qt. Кому интересно, обращайтесь. Оно ещё не до конца доделано (например применение Typedefs пока ещё сыровато), но вполне работает. Мне было очень интересно узнать как такое спрограммировать в другом языке программирования, кроме :labview: . В общем это вполне возможно, не теряя "нашего" мышления. Queued State Machine существует!
Аватара пользователя
piznyur_alex
beginner
beginner
Сообщения: 43
Зарегистрирован: 11 фев 2010, 14:24
Версия LabVIEW: 2010
Контактная информация:

Re: Tasking2 Library

Сообщение piznyur_alex »

Спасибо за библиотеку. Сначала, конечно лучше поработать ручками с Очередями, Нотифаерами и Ивентами. Когда уже разбираешься во всем этом, тогда можно и применить вашу библиотеку - экономия времени очень хорошая.
Аватара пользователя
piznyur_alex
beginner
beginner
Сообщения: 43
Зарегистрирован: 11 фев 2010, 14:24
Версия LabVIEW: 2010
Контактная информация:

Re: Tasking2 Library

Сообщение piznyur_alex »

Вопрос к автору темы. Вообщем у меня есть несколько параллельных потоков. Обмен данными между теми потоками которые запускаются как subVI происходит нормально. А как быть с VI который запускается через VI Server? Спасибо.
Аватара пользователя
mzu2006

Professionalism Tutorials Black
doctor
doctor
Сообщения: 2456
Зарегистрирован: 16 авг 2008, 02:12
Награды: 3
Версия LabVIEW: 7.1 10 11 12
Откуда: St-Petersburg (RU), Phila, Boston, Washington DC
Контактная информация:

Re: Tasking2 Library

Сообщение mzu2006 »

Для таких VI я бы использовал manager ссылок на базе LV2 global (http://labviewwiki.org/Functional_global_variable)
Аватара пользователя
piznyur_alex
beginner
beginner
Сообщения: 43
Зарегистрирован: 11 фев 2010, 14:24
Версия LabVIEW: 2010
Контактная информация:

Re: Tasking2 Library

Сообщение piznyur_alex »

mzu2006 писал(а):Для таких VI я бы использовал manager ссылок на базе LV2 global (http://labviewwiki.org/Functional_global_variable)
OK. Спасибо. А что вы думаете насчет Shared Variables?
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Tasking2 Library

Сообщение Eugen Graf »

Можно перед динамическим запуском через VI Server передать начальные значения.
Аватара пользователя
piznyur_alex
beginner
beginner
Сообщения: 43
Зарегистрирован: 11 фев 2010, 14:24
Версия LabVIEW: 2010
Контактная информация:

Re: Tasking2 Library

Сообщение piznyur_alex »

Всем спасибо за ответы. Получилось так: я в каждом ВП который вызываю через Сервер ВП еще раз инициализирую все очереди. Очереди должны быть именные, поэтому я в Tasking2 library подправил создание массивов очередей так, что бы все они имели уникальное имя.
kkkostya
user
user
Сообщения: 73
Зарегистрирован: 04 фев 2012, 12:31
Версия LabVIEW: 2014-2019
Контактная информация:

Re: Tasking2 Library

Сообщение kkkostya »

А вот в LabView 2012 библиотека не работает :nono: :nono: :nono:

С уважением Костя
>>>
Error list

Details:
One or more of the set of VIs which this dynamic dispatch subVI or property item may call are broken. Each LabVIEW class may own a VI with the same name as a VI owned by the parent of the class or older ancestor. The dynamic dispatch subVI or property item will call one of these VIs, chosen when the subVI or property item actually executes. If any of the VIs are broken, then this subVI or property item also is broken.
Аватара пользователя
mzu2006

Professionalism Tutorials Black
doctor
doctor
Сообщения: 2456
Зарегистрирован: 16 авг 2008, 02:12
Награды: 3
Версия LabVIEW: 7.1 10 11 12
Откуда: St-Petersburg (RU), Phila, Boston, Washington DC
Контактная информация:

Re: Tasking2 Library

Сообщение mzu2006 »

Замените Tasking2 Read Queue на прилагаемый :vi:
Заменен вызов с dynamic dispatch на static. Полиморфизм здесь не используется.
Вложения
Tasking2 Read Queue.vi
(13.96 КБ) 354 скачивания
rushonda
developer
developer
Сообщения: 289
Зарегистрирован: 26 фев 2016, 06:31
Версия LabVIEW: 18-20
Благодарил (а): 6 раз
Поблагодарили: 7 раз
Контактная информация:

Re: Tasking2 Library

Сообщение rushonda »

Добрый вечер! Уточните, кто знает. Пользуюсь библиотекой Tasking 2. Отправляю в очередь сразу несколько событий (чтобы программа заходила последовательно в несколько кейсов). Если в каком-то кейсе случилась ошибка допустим, то мне необходимо удалить из очереди остальные данные. В библиотеке не вижу такой функции (может плохо смотрю)?
Ответить

Вернуться в «Модели программирования»