Обновление страниц на TabControl

Обсуждение, связанное с разработкой ПО верхнего уровня

Обновление страниц на TabControl

Postby tumanovalex on 23 Nov 2007, 21:38

Мне нравится создавать интерфейс программы с помощью TabControl. На первую страницу я выношу элементы управления, а на другие - элементы визуализации. К сожалению, при таком построении графики на других страницах не обновляются при активной первой странице и измененении значений в органах управления на первой странице. В прикрепленном файле дается пример, который это иллюстрирует. При изменении количества отчетов с 160 например до 1600 и запуске программы при активной первой странице график на второй странице не обновляется. В реальных программах у меня несколько страниц с графиками (графики исходных сигналов, графики промежуточных и окончательных результатов). Подскажите, пожалуйста, как сделать так, чтобы при активной первой странице, изменении на ней значений элементов управления и запуске программы обновлялись графики на других страницах.
Attachments
Change_Graph.zip
(22.33 KiB) Downloaded 251 times
tumanovalex
assistant
assistant
 
Posts: 126
Joined: 23 Nov 2007, 16:44
Location: Москва
Medals: 1
Activity (1)
LabVIEW Version: 7.1;8.5.1
Karma: 5

Postby Eugen Graf on 23 Nov 2007, 23:58

1. Ну начнём с того что я не очень понял саму проблему, хотя по-моему похожие странности я замечал. С другой стороны если график не показывается пользователю, то зачем его вообще обновлять?

2. Хочу сказать что XY-Plot является лучшим выбором из трёх видов представления графиков. Сам Waveform Graph является тем же XY-Plot-ом, подогнанным для представления сигнала. Если узнать с помощью SizeArray количество элементов в эррей X, то можно сделать эррей от 0 до этого количества, умножить каждый элемент на dt и прибавить t0, то можно представить то же самое на XY-Plot.

3. Построение программы на Tab Control не лучший вариант, но у каждого свой вкус. Вариантом получше является Sub Panel (правда я с ним не работал) или же разделение управления и представления данных на два разных окна (этим я всегда и пользуюсь).

4. Что касается блок диаграммы, то я не понимаю зачем нужен Frame Sequence.
Attachments
WaveformToXY.PNG
WaveformToXY.PNG (12.08 KiB) Viewed 5980 times
Change Graph.vi
(24.6 KiB) Downloaded 224 times
User avatar
Eugen Graf
guru
guru
 
Posts: 6502
Joined: 13 Nov 2007, 02:20
Location: Saarbrücken
Medals: 4
Activity (1) Professionalism (1) Silver (1) Black (1)
LabVIEW Version: 2009
Karma: 303
CLAD I/O VIP bloggers internet

Postby tumanovalex on 24 Nov 2007, 12:44

Отвечаю на вопросы:
1. Обновлять нужно для того, посмотреть результаты работы (промежуточные, окончательные и др.) при изменении значений контролов. Если программа маленькая, то можно переключиться на нужную страницу, а если выполняется долго, то это плохо. Т.е. хотелось бы следующее: изменил значения на странице с контролами, запустил, посмотрел результаты на нужных вкладках.
2. Мне нужно посмотрель, в чем разница, раньше я с помощью функций Wafeform делал это на Waveform Graph, вообщем, посмотрю.
3. С Sub Panel не работал, даже не знаю, что это такое. Tab Control мне нравится, я могу сделать любое количество графиков любых размеров. Разделением управления и представления данных на два разных окна раньше не пользовался. Как это сделать и можно ли разместить в окне представления данных много графиков нужных размеров?
4. Frame Sequence не нужен, просто у меня есть простой шаблон из двух страниц и Frame Sequence (для сложных программ с последовательным выполнением). Я его просто не удаляю.
Я и дальше собираюсь использовать страницы, так что решение этой задачи для меня очень важно (реальная программа достаточно долго выполняется и требует удобной визуализации)
tumanovalex
assistant
assistant
 
Posts: 126
Joined: 23 Nov 2007, 16:44
Location: Москва
Medals: 1
Activity (1)
LabVIEW Version: 7.1;8.5.1
Karma: 5

Postby Eugen Graf on 26 Nov 2007, 12:06

К сожалению я никаких глюков в твоём VI не наблюдаю, или не совсем понимаю в чём проблема. У меня вроде всё обновляется:
иду на первую страницу, выставляю настройки, запускаю
потом иду на вторую и смотрю себе результат

всё в порядке.
User avatar
Eugen Graf
guru
guru
 
Posts: 6502
Joined: 13 Nov 2007, 02:20
Location: Saarbrücken
Medals: 4
Activity (1) Professionalism (1) Silver (1) Black (1)
LabVIEW Version: 2009
Karma: 303
CLAD I/O VIP bloggers internet

Postby tumanovalex on 27 Nov 2007, 08:38

Странно! Вот что у меня: F = 537, #s=160, Fs = 16000, Amp = 10. Активна Page1. Запускаю программу, переключаюсь на Page2, вижу чуть более 5 периодов. Запускаю при активной второй странице, все нормально, та же картина. Опять ативна первая страница, устанавливаю #s=1600 (в 10 раз больше), запускаю программу. Переключаюсь на страницу 2 и вижу опять ту же картину (чуть более 5 периодов). Запускаю программу при активной второй странице, вижу очень много периодов. Вывод: рисунок обновляется только при активной странице с этим рисунком. На всякий случай прикрепляю файл, на котором экспериментировал.
Запустил твой пример с XYGraph, особых преимуществ перед Waveform не заметил.
Attachments
Change Graph.vi
(98.69 KiB) Downloaded 229 times
tumanovalex
assistant
assistant
 
Posts: 126
Joined: 23 Nov 2007, 16:44
Location: Москва
Medals: 1
Activity (1)
LabVIEW Version: 7.1;8.5.1
Karma: 5

Postby Eugen Graf on 27 Nov 2007, 12:06

Ок, теперь вроде бы понял в чём проблема, ну посмотрим, поищем что можно сделать.
User avatar
Eugen Graf
guru
guru
 
Posts: 6502
Joined: 13 Nov 2007, 02:20
Location: Saarbrücken
Medals: 4
Activity (1) Professionalism (1) Silver (1) Black (1)
LabVIEW Version: 2009
Karma: 303
CLAD I/O VIP bloggers internet

Postby tumanovalex on 27 Nov 2007, 21:25

Очень надеюсь на помощь, не могу никак понять, как можно решить эту проблемы
tumanovalex
assistant
assistant
 
Posts: 126
Joined: 23 Nov 2007, 16:44
Location: Москва
Medals: 1
Activity (1)
LabVIEW Version: 7.1;8.5.1
Karma: 5

Postby Eugen Graf on 27 Nov 2007, 21:52

Попробовал у себя. Всё делал как ты сказал, глюк отсутствует (версия 8.0.1)
Какую версию LabVIEW ты используешь? Посмотри в баглистинге, если что обратись в офис НИ.
Могу ещё дома на 7.1 попробовать, посмотрю может увижу глюк, напишу.

Попробуй взять совсем новый график, может ты где нибудь в свойствах переставил что нибудь и забыл.
User avatar
Eugen Graf
guru
guru
 
Posts: 6502
Joined: 13 Nov 2007, 02:20
Location: Saarbrücken
Medals: 4
Activity (1) Professionalism (1) Silver (1) Black (1)
LabVIEW Version: 2009
Karma: 303
CLAD I/O VIP bloggers internet

Postby tumanovalex on 27 Nov 2007, 23:58

Да, на 8 версии такого нет. Я использую обычно LabView 6.0, он быстрый и маленький без лишних красивостей. Раньше я глюков не замечал, это первый. Спасибо, что проверил. Теперь я буду знать особенности 6 версии.
tumanovalex
assistant
assistant
 
Posts: 126
Joined: 23 Nov 2007, 16:44
Location: Москва
Medals: 1
Activity (1)
LabVIEW Version: 7.1;8.5.1
Karma: 5

Postby Eugen Graf on 28 Nov 2007, 00:00

Ну что, остановимся на этом или будем копать дальше и искать альтернативу? У меня правда только 6.1 и только для линукса имеется, посмотрю что будет.

tumanovalex wrote:Да, на 8 версии такого нет. Я использую обычно LabView 6.0, он быстрый и маленький без лишних красивостей. Раньше я глюков не замечал, это первый. Спасибо, что проверил. Теперь я буду знать особенности 6 версии.


Наверное поэтому тебе на другух форумах никто и не отвечает, потому что не врубаются о чём ты спрашиваеш, т.к. шестая версия LabVIEW уже прошлый век.

И так, пробовал на 6.1для линукса, на 7.1, на 8.0.1 и на 8.2 и нигде глюка не наблюдается, сорри.
User avatar
Eugen Graf
guru
guru
 
Posts: 6502
Joined: 13 Nov 2007, 02:20
Location: Saarbrücken
Medals: 4
Activity (1) Professionalism (1) Silver (1) Black (1)
LabVIEW Version: 2009
Karma: 303
CLAD I/O VIP bloggers internet

Postby tumanovalex on 28 Nov 2007, 22:29

Все, спасибо, тему считаю закрытой. Посмотри, пожалуйста, мой вопрос по DLL, может быть поможешь.
tumanovalex
assistant
assistant
 
Posts: 126
Joined: 23 Nov 2007, 16:44
Location: Москва
Medals: 1
Activity (1)
LabVIEW Version: 7.1;8.5.1
Karma: 5


Return to Лицевая панель

Who is online

Users browsing this forum: No registered users and 1 guest

cron