Страница 1 из 2

Хранение данных о конфигурации программы

Добавлено: 04 фев 2010, 14:46
Михаил23
Добрый день подскажите пожалуйста как лучше хранить данные о конфигурации программы(путей к загружаемым подпрограммам, значений индикаторов и т.д.) В данный момент все данные хранятся в файле ini, который открывается с помощью Open config data.

Re: Хранение данных о конфигурации программы

Добавлено: 04 фев 2010, 14:48
Eugen Graf
Я предпочитаю хранить в XML:
http://www.labviewportal.org/viewtopic.php?f=49&t=143

Re: Хранение данных о конфигурации программы

Добавлено: 04 фев 2010, 16:53
Михаил23
А можно сделать SubVi в котором один выход будет становиться другого типа взависимости от поданных на него данных?

Re: Хранение данных о конфигурации программы

Добавлено: 04 фев 2010, 17:04
FireFly
Ну я видел множество Polymorphic VI в том числе и в аддонах, так что можно, но вот как... Мне тоже интересно :)

Re: Хранение данных о конфигурации программы

Добавлено: 04 фев 2010, 17:05
Eugen Graf
Отвечу так: нужно заранее знать тип данных, иначе что с этими данными делать?

Re: Хранение данных о конфигурации программы

Добавлено: 04 фев 2010, 17:15
FireFly
eg писал(а):Отвечу так: нужно заранее знать тип данных, иначе что с этими данными делать?
В ходе работы программы такое изменение VI если не невозможно (Scripting вроде может помочь), то наверняка бесполезно. А вот в ходе написания блок-диаграммы такие VI очень даже удобны. Например DB Tools Fetch Element Data VI так работает. Какой тип подашь на вход-такой и получишь на выходе. Прям коннектор меняется. А ещё очень удобны Polymorphic VI в которых вручную выбираешь желаемый тип выходных данных. Не нужно выбирать нужную VI среди кучи, а достаточно лишь выбрать селектором нужный тип VI. Вот в ADO-Tools это же сделали? Значит как-то можно...

Re: Хранение данных о конфигурации программы

Добавлено: 04 фев 2010, 17:17
Eugen Graf
Ну насколько я понимаю полиморфией при таком количестве вариантов здесь, конкретно в этом случае не обойдёшься. Зато я предлагаю использовать Typedef.

Re: Хранение данных о конфигурации программы

Добавлено: 04 фев 2010, 17:19
Михаил23
Ну может идею кто подкинет. У меня есть массив кластеров в котором указан тип, название и сами данные. VI производит поиск по названию данных и должен выдавать сами данные на выходе. Далее планируется эти данные передавать на индикаторы или другие элементы в главной программе. Можно конечно поставить case в главной программе и там преобразовывать данные в нужный тип. Но хочется чтобы не захламлять главную программу все делать в SubVi. Скрин SubVI.

Re: Хранение данных о конфигурации программы

Добавлено: 04 фев 2010, 17:26
FireFly
Сделай кластер который включает в себя все индикаторы которые нужно заполнить. Дальше в зависимости от имени в кейсе конвертируй в нужный тип и подавай его на нужный элемент кластера. На выходе SubVI этот самый кластер уже заполненый, который потом после Unbundle в основной VI разползается по всем индикаторам

Re: Хранение данных о конфигурации программы

Добавлено: 04 фев 2010, 17:34
Михаил23
FireFly писал(а):Сделай кластер который включает в себя все индикаторы которые нужно заполнить. Дальше в зависимости от имени в кейсе конвертируй в нужный тип и подавай его на нужный элемент кластера. На выходе SubVI этот самый кластер уже заполненый, который потом после Unbundle в основной VI разползается по всем индикаторам
а можно примерчик небольшой. А то не очень понял.

Re: Хранение данных о конфигурации программы

Добавлено: 04 фев 2010, 17:41
FireFly
Сразу вопрос. У тебя Refnum In это refnum как раз на тот индикатор который нужно заполнить данными, а name это его имя?

Re: Хранение данных о конфигурации программы

Добавлено: 04 фев 2010, 17:42
Михаил23
А где можно найти DB Tools Fetch Element Data VI ?

Re: Хранение данных о конфигурации программы

Добавлено: 04 фев 2010, 17:45
Михаил23
FireFly писал(а):Сразу вопрос. У тебя Refnum In это refnum как раз на тот индикатор который нужно заполнить данными, а name это его имя?
Нет тут немного другое. Вот еще один прибор. Он считывает из ini файла данные которые разбиты там на группы по типам. Потом передает в Read...

Re: Хранение данных о конфигурации программы

Добавлено: 04 фев 2010, 17:45
FireFly
Database тулкит.

Re: Хранение данных о конфигурации программы

Добавлено: 04 фев 2010, 17:59
FireFly
В общем смотри - тебе всё равно из этой SubVI тащить кучу проводов до каждого индикатора. У каждого индикатора есть имя которое ты знаешь, и его тип, так что Case со входом "имя" тебе всё равно придется заполнить самому соответствиями "тип". Автоматически это сделать не получится.