Там написано. Установить значения по умолчанию для контролов и индикаторов можно только в IDE режиме, то есть вручную через ПКМ -> Make Current Value Default или через меню LabVIEW. Это связано с тем, что в ран-тайме панель скомпилирована и никакие изменения не могут быть внесены. Для установки default значений нужна перекомпиляция.ladik писал(а):Кстати, вопрос к опытным коллегам: почему конструкция с третьей картинки выдаёт ошибку?
Симуляция сигнала в Labview по формуле.
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
Re: Симуляция сигнала в Labview по формуле.
Последний раз редактировалось dadreamer 20 мар 2016, 12:14, всего редактировалось 1 раз.
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
Re: Симуляция сигнала в Labview по формуле.
Если не рассматривать очевидные решения посредством ini/xml и прочих промежуточных файлов, то есть ещё вот такое решение: http://www.originalcode.com/SavDef.htm Смысл в том, что SubVI вызывает метод Default Values:Make Current Default на главном , когда он уже отработал.
Прошу прощения, сразу не увидел:
Исходники:
Прошу прощения, сразу не увидел:
Я проверил на 2015 (32-bit) - всё работает чётко! Сохраняет и контролы, и индикаторы.ladik писал(а):Вот тут интересный способ http://www.originalcode.com/SavDef.htm, но не я его не проверял.
Исходники:
- Вложения
-
- Example Program with Save Defaults.vi
- lv8.0
- (8.08 КБ) 149 скачиваний
-
- Save Defaults.vi
- lv8.0
- (18.01 КБ) 134 скачивания
-
- Save Defaults Core.vi
- lv8.0
- (16.49 КБ) 144 скачивания
Последний раз редактировалось dadreamer 17 мар 2016, 19:35, всего редактировалось 4 раза.
-
- professor
- Сообщения: 3409
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 176 раз
- Контактная информация:
Re: Симуляция сигнала в Labview по формуле.
Что ж вы усложнять любите :)
Зачем все эти "по умолчанию", когда можно контрол сделать входным значением, и при вызове подавать на его вход нужные параметры.
Зачем все эти "по умолчанию", когда можно контрол сделать входным значением, и при вызове подавать на его вход нужные параметры.
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
Re: Симуляция сигнала в Labview по формуле.
По-моему, ТС хотел несколько иное...Artem.spb писал(а):Что ж вы усложнять любите :)
Зачем все эти "по умолчанию", когда можно контрол сделать входным значением, и при вызове подавать на его вход нужные параметры.
То есть, при выключении основной программы параметры сохранить, тогда при включении они не сбросятся на дефолтные (потому что будут считаны, например, из файла): http://labviewportal.org/viewtopic.php?p=64447#p64447DefectoMed писал(а):почему когда меняю параметры , они сбрасываются,при включении основной программы?
Усложнять ничего не хотим и желаем автору сделать всё как можно проще и элегантней. :)
-
- leader
- Сообщения: 932
- Зарегистрирован: 17 янв 2016, 15:02
- Награды: 1
- Версия LabVIEW: 6.1,8.5,20
Re: Симуляция сигнала в Labview по формуле.
Можно сохранять в самом используя VI Tag or Object Tag Methods, как в Options... Dialog .
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
Re: Симуляция сигнала в Labview по формуле.
Как это сделать? Есть какой-то пример или мануал?..Blackman писал(а):Можно сохранять в самом используя VI Tag or Object Tag Methods, как в Options... Dialog .
-
- leader
- Сообщения: 932
- Зарегистрирован: 17 янв 2016, 15:02
- Награды: 1
- Версия LabVIEW: 6.1,8.5,20
Re: Симуляция сигнала в Labview по формуле.
VI & Objects Methods Tаgs официальная библиотека начиная с 8.6. Должны быть и в Scripting. Там все интуитивно понятно. Была тема и видео на NI форум или LAVA. Где то был пример. Найду выложу.
-
- leader
- Сообщения: 932
- Зарегистрирован: 17 янв 2016, 15:02
- Награды: 1
- Версия LabVIEW: 6.1,8.5,20
Re: Симуляция сигнала в Labview по формуле.
Сохранение значения контрола в Persistent VI Tag.
- Вложения
-
- Blackman_VI Tags__Example .vi
- (15.99 КБ) 131 скачивание
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
Re: Симуляция сигнала в Labview по формуле.
Blackman, интересная штука, посидел-поразбирался. При включённом скриптинге подобные узлы появляются, но они для GObject, имеют голубой окрас и при подключении к VI refnum работать не хотят. Чтобы получить доступ к аналогичным узлам для , нужно подключать private stuff. Тогда доступны методы из контекстного меню, а узлы будут коричневого цвета. Получается так, что тэги пишутся в сам в виде ресурса VITS (для скриптовых узлов это, должно быть, ресурсы FPTS и BDTS, судя по этой теме). В ресурс загоняется количество тэгов и по порядку для каждого тэга: длина имени, имя тэга, служебная инфа (?), type descriptor контрола, значение контрола, разделитель (нули). Естественно, пишутся только persistent тэги, и то лишь при сохранении (т.е., если установить тэг и закрыть без сохранения, то при новом открытии и чтении этого тэга не будет). Почему-то модификация звёздочкой не помечается и при закрытии ничего не говорит. Это, конечно, минус, т.к. легко забыть, что какие-то тэги были установлены для .
В экзшешнике методы работают, но толку от них там никакого, ибо save/load функции отсутствуют в lvrt. Складывается впечатление, что работа с тэгами предназначена в основном для работы в рамках запущенного экземпляра приложения (ну, и для скриптинга, если речь о голубых блоках), а не для постоянного хранения каких-то данных.
В экзшешнике методы работают, но толку от них там никакого, ибо save/load функции отсутствуют в lvrt. Складывается впечатление, что работа с тэгами предназначена в основном для работы в рамках запущенного экземпляра приложения (ну, и для скриптинга, если речь о голубых блоках), а не для постоянного хранения каких-то данных.
-
- leader
- Сообщения: 932
- Зарегистрирован: 17 янв 2016, 15:02
- Награды: 1
- Версия LabVIEW: 6.1,8.5,20
Re: Симуляция сигнала в Labview по формуле.
Использую как Dictionary или WORM, как VI Tags так и GObject Tags.В экзшешнике методы работают, но толку от них там никакого,...
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
Re: Симуляция сигнала в Labview по формуле.
Посмотрел, в общем, после вчерашних тестов нового для себя ничего не нашёл. Можно private узлы использовать, можно готовые блоки в C:\Program Files (x86)\National Instruments\LabVIEW 2015\vi.lib\UserTags\, разница только в префиксе user. в готовых . Не знаю, почему второй пример автор называет Inter-Process Communication. Там идёт обмен данными через ref'ы между двумя , а IPC предполагает обмен между процессами (т.е., EXE). Естественно, если проверить работу тэгов между двумя EXE, то ничего работать не будет, ибо области памяти разные будут.Blackman писал(а):Еще примеры + видео
https://decibel.ni.com/content/docs/DOC-15330
И вот ещё чуть-чуть инфы:
- тэги появились в 6.1;
- для 8.0 и более поздних нужна опция SuperSecretPrivateSpecialStuff=True для активации скрытых пунктов меню; для более ранних версий опция другая - SuperPrivateScriptingFeatureVisible=True.
Blackman писал(а):Использую как Dictionary или WORM, как VI Tags так и GObject Tags.
-
- leader
- Сообщения: 932
- Зарегистрирован: 17 янв 2016, 15:02
- Награды: 1
- Версия LabVIEW: 6.1,8.5,20
Re: Симуляция сигнала в Labview по формуле.
Various Inter-process Communication Methods:Не знаю, почему второй пример автор называет Inter-Process Communication. Там идёт обмен данными через ref'ы между двумя VI, а IPC предполагает обмен между процессами (т.е., EXE)
This table lists various inter-process communication methods organized by scope and transfer type.
This list is not comprehensive, but it is beneficial to know about all of the listed methods.
Table List
Single-process shared variables
Local variables
Global variables
Network-published shared variables (single-element)
Network-published shared variables (multiple-element)
Functional global variables (FGV)
Single Element Queues (SEQ)
Data Value Reference (DVR)
Current Value Table (CVT)
Client CVT Communication (CCC)
Источник: LabVIEW Developer Education Day
https://decibel.ni.com/content/servlet/ ... iables.zip
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
Re: Симуляция сигнала в Labview по формуле.
Blackman, это общепризнанная терминология:
Inter-process communication (Wiki)
Interprocess Communications (Microsoft)
Inter-Application Communication (NI)
Всё остальное - собственное изобретение отдельных членов NI, например разделение на Inter-Processes и Inter-Target Data Communication, где Inter-Target - это обмен между несколькими физическими устройствами (по сети и т.д.), а всё остальное, включая обмен между потоками одного процесса - это Inter-Processes. Но для меня, как и для многих из тех, кто не только в программы пишет, такая терминология непривычна и сбивает с толку. Если речь о , то IPC (IAC) - это TCP, UDP, Network Streams, Shared Variables, CVT + функционал ОС (Pipes, Shared Memory и т.д.). А то, что позволяет обмениваться данными между потоками (параллельными циклами или в рамках одного процесса/экземпляра приложения) - это Inter-Thread Communication - Queues, Notifiers, Semaphores, Rendez-Vous, Occurences, DVR, локальные и глобальные переменные.
Inter-process communication (Wiki)
Interprocess Communications (Microsoft)
Inter-Application Communication (NI)
Всё остальное - собственное изобретение отдельных членов NI, например разделение на Inter-Processes и Inter-Target Data Communication, где Inter-Target - это обмен между несколькими физическими устройствами (по сети и т.д.), а всё остальное, включая обмен между потоками одного процесса - это Inter-Processes. Но для меня, как и для многих из тех, кто не только в программы пишет, такая терминология непривычна и сбивает с толку. Если речь о , то IPC (IAC) - это TCP, UDP, Network Streams, Shared Variables, CVT + функционал ОС (Pipes, Shared Memory и т.д.). А то, что позволяет обмениваться данными между потоками (параллельными циклами или в рамках одного процесса/экземпляра приложения) - это Inter-Thread Communication - Queues, Notifiers, Semaphores, Rendez-Vous, Occurences, DVR, локальные и глобальные переменные.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 14 Ответы
- 595 Просмотры
-
Последнее сообщение IvanLis
-
- 3 Ответы
- 2075 Просмотры
-
Последнее сообщение PozhiloyGoblin
-
- 0 Ответы
- 346 Просмотры
-
Последнее сообщение maxim_MA
-
- 23 Ответы
- 2435 Просмотры
-
Последнее сообщение dadreamer
-
- 2 Ответы
- 391 Просмотры
-
Последнее сообщение ujin1