Правила компиляции

Создание приложений, библиотек, инсталляторов
Blackman

Activity
leader
leader
Сообщения: 932
Зарегистрирован: 17 янв 2016, 15:02
Награды: 1
Версия LabVIEW: 6.1,8.5,20

Правила компиляции

Сообщение Blackman »

Добрый день.

Есть контрол со значением по умолчанию не равным значению по умолчанию для типа данных.

Вопрос: Значение контрола после компиляции при удалении фронт панели.

Случай 1: Контрол приварен к VI connector pane.
Случай 2: Контрол не приварен к VI connector pane.

Версия LabVIEW 8.5
Artem.spb

Activity Автор
professor
professor
Сообщения: 3394
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Правила компиляции

Сообщение Artem.spb »

сохранится новое по умолчанию
Blackman

Activity
leader
leader
Сообщения: 932
Зарегистрирован: 17 янв 2016, 15:02
Награды: 1
Версия LabVIEW: 6.1,8.5,20

Re: Правила компиляции

Сообщение Blackman »

Artem.spb писал(а):сохранится новое по умолчанию
Эти бы слова да богу в уши)
Есть большое подозрение, что в случае 2 в указанной версии LabVIEW сохраняется значение по умолчанию для типа данных (boolean: false).
Хочется обойтись "без рук", перед принятием решения об исправлениях и фиксации бага.
Artem.spb

Activity Автор
professor
professor
Сообщения: 3394
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Правила компиляции

Сообщение Artem.spb »

Ну так что мешает сделать простейший тест и проверить данные?
Во многих системных vi есть как приваренные, так и не приваренные контролы. если контрол не приварен к терминалу, то почему не заменить его константой?
Blackman

Activity
leader
leader
Сообщения: 932
Зарегистрирован: 17 янв 2016, 15:02
Награды: 1
Версия LabVIEW: 6.1,8.5,20

Re: Правила компиляции

Сообщение Blackman »

Artem, спасибо. Ты был прав. Но из-за этого все стало сложнее(. Почему то не работает перезапись глобального виртуального канала DAQmx в приложении. Т.е. схема Create->Save->Create->Save не работает и приходится сначала удалять канал. В IDE все работает.
Artem.spb

Activity Автор
professor
professor
Сообщения: 3394
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Правила компиляции

Сообщение Artem.spb »

кусок кода глянуть можно?
Blackman

Activity
leader
leader
Сообщения: 932
Зарегистрирован: 17 янв 2016, 15:02
Награды: 1
Версия LabVIEW: 6.1,8.5,20

Re: Правила компиляции

Сообщение Blackman »

Основа пример от NI.
Создает AIO Voltage и Temperature:Thermocouple любого типа.
Вложения
Create DAQmx AIO GVCH
Create DAQmx AIO GVCH
Artem.spb

Activity Автор
professor
professor
Сообщения: 3394
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Правила компиляции

Сообщение Artem.spb »

у меня в 15 всё работает.
не думаю, что дело в версиях.
стоит проверить значения всех проводников, может прога не попадает в дефолтный кейс.
daqmx.png
Blackman

Activity
leader
leader
Сообщения: 932
Зарегистрирован: 17 янв 2016, 15:02
Награды: 1
Версия LabVIEW: 6.1,8.5,20

Re: Правила компиляции

Сообщение Blackman »

В Development System и у меня все работает.
В Run Time System перезапись не срабатывает. Приходится удалять руками каналы, которые надо изменить(.
Default Case - это все, кроме пустой строки -> не поддерживаемые типы каналов (DIO и CIO).

Кстати, та же история со шкалами.
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2210
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 26 раз

Re: Правила компиляции

Сообщение Borjomy_1 »

Господа, не забывайте - эти типы (Daq) не являются константами сами по себе. Их содержимое зависит от состава оборудования целевого устройства. Потому напрямую дефолтными значениями этого типа пользоваться, на самом деле, стремно. Если у вас действительно константы, меняйте этот контрол на строковый (String). И уж там спокойно прописывайте себе дефолтные значения.
Artem.spb

Activity Автор
professor
professor
Сообщения: 3394
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Правила компиляции

Сообщение Artem.spb »

Blackman писал(а):В Development System и у меня все работает.
В Run Time System перезапись не срабатывает.
скрины я для примера кода приложил. Проверял в скомпилированном exe, перезаписывает.
Borjomy_1 писал(а):Господа, не забывайте - эти типы (Daq) не являются константами сами по себе. Их содержимое зависит от состава оборудования целевого устройства. Потому напрямую дефолтными значениями этого типа пользоваться, на самом деле, стремно. Если у вас действительно константы, меняйте этот контрол на строковый (String). И уж там спокойно прописывайте себе дефолтные значения.
в моём варианте daq и не используется по дефолту, это единственный параметр, передающийся в subVI
Blackman

Activity
leader
leader
Сообщения: 932
Зарегистрирован: 17 янв 2016, 15:02
Награды: 1
Версия LabVIEW: 6.1,8.5,20

Re: Правила компиляции

Сообщение Blackman »

Artem.spb писал(а):Проверял в скомпилированном exe, перезаписывает.
Artem спасибо.
1. Overwrite Existing Channel? - исключаю
2. В Development работает +
3. Остается сделать новую версию
Borjomy_1 писал(а):Господа, не забывайте - эти типы (Daq) не являются константами сами по себе.
Константа это представление на блок диаграмме терминала с фиксированным значением. IO name терминал не исключение и может без всяких опасений и ограничений использоваться в виде константы.
Потому напрямую дефолтными значениями этого типа пользоваться, на самом деле, стремно.
Как тип данных IO name control не имеет значения по умолчанию. Это именованный референс.
Вложения
IO name control.PNG
IO name control FP.PNG
IO name control FP.PNG (9.36 КБ) 12199 просмотров
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2210
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 26 раз

Re: Правила компиляции

Сообщение Borjomy_1 »

Blackman писал(а):Как тип данных IO name control не имеет значения по умолчанию. Это именованный референс.
Тогда что именно сохраняется в контроле при "Make Current Value Default"? Кстати, отражением того, что с этими контролами (I/O) не все так просто, может быть ситуация, что при сохранении, казалось-бы прозрачно, кластера с подобными типами данных в XML, возникает неустранимая утечка памяти. Не знаю ее починили, или нет в версиях 2010+. Не тестил.
Blackman

Activity
leader
leader
Сообщения: 932
Зарегистрирован: 17 янв 2016, 15:02
Награды: 1
Версия LabVIEW: 6.1,8.5,20

Re: Правила компиляции

Сообщение Blackman »

Не для контрола (индикатора), а для типа данных IO name нет значения по умолчанию.
Вложения
Data types table.PNG
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2210
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 26 раз

Re: Правила компиляции

Сообщение Borjomy_1 »

для типа данных IO name нет значения по умолчанию.
Не совсем так. Скорее пусто. Для Picture, например, можно совершенно точно сохранить текущую картинку как дефолтную.
Ответить

Вернуться в «Создание приложений»