Wizard

Обсуждение, связанное с разработкой ПО верхнего уровня
Ответить
Underside
beginner
beginner
Сообщения: 13
Зарегистрирован: 09 мар 2010, 08:44
Версия LabVIEW: 8.5
Контактная информация:

Wizard

Сообщение Underside »

Можно ли в LabView создать VI потипу Wizarda, что бы можно было выполнять по шагам какие либо операции, например настройка оборудования или задание параметров устройства?
Аватара пользователя
Eugen Graf

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

Re: Wizard

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

Само собой можно. Я бы использовал Tab Indicator для ЛП и State Machine в качестве темплейта.
Underside
beginner
beginner
Сообщения: 13
Зарегистрирован: 09 мар 2010, 08:44
Версия LabVIEW: 8.5
Контактная информация:

Re: Wizard

Сообщение Underside »

А пример привести можете??? со стандартным интерфейсом back, next.
Аватара пользователя
Pavel Krivozubov

Activity Bronze
professor
professor
Сообщения: 4421
Зарегистрирован: 07 фев 2008, 16:39
Награды: 3
Версия LabVIEW: 7.0 - 2013
Откуда: г. Электросталь
Благодарил (а): 24 раза
Поблагодарили: 9 раз
Контактная информация:

Re: Wizard

Сообщение Pavel Krivozubov »

Underside писал(а):А пример привести можете??? со стандартным интерфейсом back, next.
Схема может быть такая: на каждом шаге содержимое текущей вкладки таб контрола записывается в файл, а при нажатии на кнопку Back из этого файла считывается содержимое и открывается предыдущая вкладка таб контрола, куда записывается содержимое файла. Готовых примеров такой реализации я не видел если честно.
Аватара пользователя
Eugen Graf

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

Re: Wizard

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

А для чего нужна запись в файл :dntknw:
Берёшь таб, в каждую закладку ложишь нужный тебе кластер. Делаешь кнопку back и next рядом с табом (чтобы их было видно независимо от выбранной закладки).
В блок диаграмме делаешь While Loop и внутрь Event Structure. В неё добавляешь два ивента back value change и next value change. Далее тебе нужен Shift Register для сохранения актуального значения таба. Инициализируешь его первой страничкой. В ивенте next делаешь инкремент, а в ивенте back декремент.
Аватара пользователя
Pavel Krivozubov

Activity Bronze
professor
professor
Сообщения: 4421
Зарегистрирован: 07 фев 2008, 16:39
Награды: 3
Версия LabVIEW: 7.0 - 2013
Откуда: г. Электросталь
Благодарил (а): 24 раза
Поблагодарили: 9 раз
Контактная информация:

Re: Wizard

Сообщение Pavel Krivozubov »

А, пардон, записи действительно не нужно, это же таб :D Он же восстанавливает содержимое при возврате.
Я просто аналогичным способом когда-то организовывал функции Undo и Redo. Вот там запись в файл была необходима, так как там хранились куски массива сигнала до/после изменений.
Аватара пользователя
Konstantin Sumenko

Activity Bronze
expert
expert
Сообщения: 1439
Зарегистрирован: 17 июл 2008, 12:20
Награды: 2
Версия LabVIEW: 2010
Откуда: Moscow
Поблагодарили: 1 раз
Контактная информация:

Re: Wizard

Сообщение Konstantin Sumenko »

Еще визарды делают связкой tab control+tree/listbox: по выбранной позиции в tree/listbox- открывается нужный таб.
Аватара пользователя
FireFly

Activity Black
expert
expert
Сообщения: 1321
Зарегистрирован: 25 апр 2009, 08:58
Награды: 2
Версия LabVIEW: 2014
Откуда: Санкт-Петербург
Поблагодарили: 1 раз

Re: Wizard

Сообщение FireFly »

eg писал(а):Берёшь таб, в каждую закладку ложишь нужный тебе кластер. Делаешь кнопку back и next рядом с табом (чтобы их было видно независимо от выбранной закладки).
Как лучше всего сделать, чтобы на первом табе не было кнопки Back, а на последнем вместо Next была финальная кнопка.
С помощью Property Visible? Или есть ещё идеи?
Иногда лучше молчать и слыть идиотом, чем заговорить и развеять все сомнения.
Аватара пользователя
Pavel Krivozubov

Activity Bronze
professor
professor
Сообщения: 4421
Зарегистрирован: 07 фев 2008, 16:39
Награды: 3
Версия LabVIEW: 7.0 - 2013
Откуда: г. Электросталь
Благодарил (а): 24 раза
Поблагодарили: 9 раз
Контактная информация:

Re: Wizard

Сообщение Pavel Krivozubov »

имхо Visible и переименование текста в кнопке на финальном шаге - самое эффективное решение.
Underside
beginner
beginner
Сообщения: 13
Зарегистрирован: 09 мар 2010, 08:44
Версия LabVIEW: 8.5
Контактная информация:

Re: Wizard

Сообщение Underside »

Спасибо за советы но сделал без Tab controla)))
Wizard.vi
мой визард
(22.04 КБ) 139 скачиваний
Аватара пользователя
Pavel Krivozubov

Activity Bronze
professor
professor
Сообщения: 4421
Зарегистрирован: 07 фев 2008, 16:39
Награды: 3
Версия LabVIEW: 7.0 - 2013
Откуда: г. Электросталь
Благодарил (а): 24 раза
Поблагодарили: 9 раз
Контактная информация:

Re: Wizard

Сообщение Pavel Krivozubov »

Тоже вариант. Но сейчас Wizzard'ы немыслимы без графических пояснений, подсказок и прочего. С табом это просто - на каждой вкладке статичные картинки нарисованы, а со String как ты это реализуешь? :brows:
Ответить

Вернуться в «Лицевая панель»