Рабочее поле

Обсуждение, связанное с разработкой ПО верхнего уровня
Ответить
ClickCommander
interested
interested
Сообщения: 7
Зарегистрирован: 29 окт 2012, 22:30
Версия LabVIEW: 2011
Контактная информация:

Рабочее поле

Сообщение ClickCommander »

Доброго времени суток. Проблема. Совершенно не понимаю, как можно сделать такое, если есть какое то соображения на данную тему, прошу поделитесь. А то даже не знаю с чего начать.
Даже скорее, не понятно как сделать, во время работы проекта, связь.
Вложения
image088.jpg
Аватара пользователя
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: Рабочее поле

Сообщение mzu2006 »

Покажите что пытались сделать, что не получилось.
Побуду немного К.О., но начать надо с изучения принципа работы операционного усилителя и написания математической модели того, что должно получиться.
ClickCommander
interested
interested
Сообщения: 7
Зарегистрирован: 29 окт 2012, 22:30
Версия LabVIEW: 2011
Контактная информация:

Re: Рабочее поле

Сообщение ClickCommander »

Собственно сделал то, что показано на следующих скриншотах:
1. Рабочее поле, при нажатии на определенные элементы, открываются различные окна.
2. Виртуальные элементы
3. Одна из технологических схем, которые можно собирать

И сама проблема.
Хочется свободного перемещения объектов по рабочему полю, а не как в моем примере жестко заданной цепочкой.
Вложения
111.jpg
112.jpg
113.jpg
Аватара пользователя
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: Рабочее поле

Сообщение mzu2006 »

Я видел эти картинки здесь и здесь. Скажите, Вы автор?
ClickCommander
interested
interested
Сообщения: 7
Зарегистрирован: 29 окт 2012, 22:30
Версия LabVIEW: 2011
Контактная информация:

Re: Рабочее поле

Сообщение ClickCommander »

В качестве доказательства своего авторства, скриншот темы моей работы из моей презентации для OWD 2012.
Вложения
fgfg.jpg
Dubovitsky

Автор
junior
junior
Сообщения: 52
Зарегистрирован: 21 дек 2010, 12:11
Награды: 1
Версия LabVIEW: 2011
Контактная информация:

Re: Рабочее поле

Сообщение Dubovitsky »

В Вашей программе в каждой ячейке универсальный элемент, который меняется в зависимости от содержимого? Тогда можно создать достаточное кол-во таких элементов и сделать их невидимыми, проявляя по мере необходимости, перетаскивать через Event Mouse (Up, Down, Move), "заякоривать" друг за друга и обсчитывать взаимное расположение. Только, боюсь, тормозить будет на слабых системах.
Аватара пользователя
Jakob Brontfeyn

Activity Gold Silver Black
expert
expert
Сообщения: 1729
Зарегистрирован: 28 фев 2008, 11:01
Награды: 6
Благодарил (а): 1 раз
Контактная информация:

Re: Рабочее поле

Сообщение Jakob Brontfeyn »

Вот тут у меня нечто немного подобное есть

http://www.labviewportal.org/viewtopic. ... 543#p28543
ClickCommander
interested
interested
Сообщения: 7
Зарегистрирован: 29 окт 2012, 22:30
Версия LabVIEW: 2011
Контактная информация:

Re: Рабочее поле

Сообщение ClickCommander »

В каждой ячейке не один универсальный элемент, а какое то количество исходя из его расположения на рабочем поле. Поясню. Допустим нет необходимости в первой ячейке делать участок трубопровода вверх, если он все равно ни с чем не соединиться и напротив в середине рабочего поля, почти весь набор элементов.
Поясню теперь как работает программа и чего хочу теперь от нее=)
Проще всего конечно прочитать те статьи, которые чуть выше выложены, но это утомит поиском нужного куска текста, поэтому я потружусь вкратце объяснить.
И так, в каждой ячейке определенный набор элементов, при нажатии на ячейку открывается окно выбора любого элемента, который есть в ячейке и вот таким вот образом переходя от одной ячейки к другой собирается схема. Потом производиться задание параметров и собственно моделирование (о это другая история).
Теперь, собственно, сам вопрос:
В первом моем посту, приведен скриншот одного программного комплекса, по проведению лабораторных работ. Как реализовать линии соединения между элементами, как в блок диаграмме :labview: , только на лицевой панели.
Аватара пользователя
FireFly

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

Re: Рабочее поле

Сообщение FireFly »

Насколько я понимаю задачу - её можно разбить на 3 части:
1) Создание элементов: Генератор 1, Генератор 1, Осцилограф, ОУ
2) Перетаскивание элементов мышкой по рабочему столу
3) Соединение элементов связями

Для начала рассмотрим второй пункт:
Мне почему-то сразу пришел в голову пример Dynamically Register for Events. Возможно вам стоит пойти по тому же пути. Ловить событие нажатия мышкой, перетаскивать Controls типа SubPanel.

Тогда первый пункт будет следовать из второго - на FP необходимо создавать SubPanels наполненные нужными VI (осцилограф, генератор, и пр.). Для этого видимо придется создать заранее десяток пустых SubPanels и спрятать их. А по нажатию кнопок меню брать очередную SubPanel, заполнять нужной VI и делать видимой.

Пункт насчет связей не очень прост... Как их рисовать прямо на FP я сразу придумать не могу. Пока в голову пришло только:
на фоне расположить большую Picture.
В меню есть инструмент "создать связь", когда пользователь её выбирает - отслеживаются щелчки мышью по нашим SubPanels/отдельным местам SubPanels. После пары щелчков автоматически проверяется допустимость такой связи, она автоматически рисуется на фоновой Picture, и вносятся изменения в граф связей в программе.

За отдельную плату готов даже попробовать всё это реализовать ))))
Иногда лучше молчать и слыть идиотом, чем заговорить и развеять все сомнения.
Dubovitsky

Автор
junior
junior
Сообщения: 52
Зарегистрирован: 21 дек 2010, 12:11
Награды: 1
Версия LabVIEW: 2011
Контактная информация:

Re: Рабочее поле

Сообщение Dubovitsky »

FireFly писал(а):... Пока в голову пришло только:
на фоне расположить большую Picture...
Когда-то встречал такой интерфейс, там именно линии рисовались по кликам на узлах, как Вы и описали, обрабатывается граф соединений, координаты узлов и рисуется красиво (вертикалями и горизонталями).

P.S.> А я подумал, что надо сами элементы произвольно стыковать...
Аватара пользователя
FireFly

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

Re: Рабочее поле

Сообщение FireFly »

Dubovitsky писал(а):P.S.> А я подумал, что надо сами элементы произвольно стыковать...
Я понял по первому посту, что нужно произвольно располагать произвольные элементы. А затем так же произвольно проводить между ними связи.
Собственно автор говорит примерно то же:
ClickCommander писал(а):В первом моем посту, приведен скриншот одного программного комплекса, по проведению лабораторных работ. Как реализовать линии соединения между элементами, как в блок диаграмме :labview: , только на лицевой панели.
Иногда лучше молчать и слыть идиотом, чем заговорить и развеять все сомнения.
Аватара пользователя
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: Рабочее поле

Сообщение mzu2006 »

Могу предложить подход реализованный мной в этой статье

Вкратце: создан набор скриптовых утилит, позволяющих работать с CD&SIM диаграммами опеределённого вида, и это всё интегрировано в среду LabVIEW.
Тогда, диаграмма процесса (у меня биология, у Вас гидродинамика), выстраивается на CD&SIM диаграмме (там можно сделать не отвратительные иконки произвольного размера с произвольным наполнением).
Этим решается проблема "рабочего поля".
Работа с моделями производится как средствами CD&SIM так и встроенным в среду менеджером моделей.
ClickCommander
interested
interested
Сообщения: 7
Зарегистрирован: 29 окт 2012, 22:30
Версия LabVIEW: 2011
Контактная информация:

Re: Рабочее поле

Сообщение ClickCommander »

Спасибо за статью. Прочитаю, отпишусь.
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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