Правила компиляции
-
- leader
- Сообщения: 932
- Зарегистрирован: 17 янв 2016, 15:02
- Награды: 1
- Версия LabVIEW: 6.1,8.5,20
Правила компиляции
Добрый день.
Есть контрол со значением по умолчанию не равным значению по умолчанию для типа данных.
Вопрос: Значение контрола после компиляции при удалении фронт панели.
Случай 1: Контрол приварен к VI connector pane.
Случай 2: Контрол не приварен к VI connector pane.
Версия LabVIEW 8.5
Есть контрол со значением по умолчанию не равным значению по умолчанию для типа данных.
Вопрос: Значение контрола после компиляции при удалении фронт панели.
Случай 1: Контрол приварен к VI connector pane.
Случай 2: Контрол не приварен к VI connector pane.
Версия LabVIEW 8.5
-
- leader
- Сообщения: 932
- Зарегистрирован: 17 янв 2016, 15:02
- Награды: 1
- Версия LabVIEW: 6.1,8.5,20
Re: Правила компиляции
Эти бы слова да богу в уши)Artem.spb писал(а):сохранится новое по умолчанию
Есть большое подозрение, что в случае 2 в указанной версии LabVIEW сохраняется значение по умолчанию для типа данных (boolean: false).
Хочется обойтись "без рук", перед принятием решения об исправлениях и фиксации бага.
-
- professor
- Сообщения: 3404
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 174 раза
- Контактная информация:
Re: Правила компиляции
Ну так что мешает сделать простейший тест и проверить данные?
Во многих системных vi есть как приваренные, так и не приваренные контролы. если контрол не приварен к терминалу, то почему не заменить его константой?
Во многих системных vi есть как приваренные, так и не приваренные контролы. если контрол не приварен к терминалу, то почему не заменить его константой?
-
- leader
- Сообщения: 932
- Зарегистрирован: 17 янв 2016, 15:02
- Награды: 1
- Версия LabVIEW: 6.1,8.5,20
Re: Правила компиляции
Artem, спасибо. Ты был прав. Но из-за этого все стало сложнее(. Почему то не работает перезапись глобального виртуального канала DAQmx в приложении. Т.е. схема Create->Save->Create->Save не работает и приходится сначала удалять канал. В IDE все работает.
-
- leader
- Сообщения: 932
- Зарегистрирован: 17 янв 2016, 15:02
- Награды: 1
- Версия LabVIEW: 6.1,8.5,20
Re: Правила компиляции
Основа пример от NI.
Создает AIO Voltage и Temperature:Thermocouple любого типа.
Создает AIO Voltage и Temperature:Thermocouple любого типа.
-
- professor
- Сообщения: 3404
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 174 раза
- Контактная информация:
Re: Правила компиляции
у меня в 15 всё работает.
не думаю, что дело в версиях.
стоит проверить значения всех проводников, может прога не попадает в дефолтный кейс.
не думаю, что дело в версиях.
стоит проверить значения всех проводников, может прога не попадает в дефолтный кейс.
-
- leader
- Сообщения: 932
- Зарегистрирован: 17 янв 2016, 15:02
- Награды: 1
- Версия LabVIEW: 6.1,8.5,20
Re: Правила компиляции
В Development System и у меня все работает.
В Run Time System перезапись не срабатывает. Приходится удалять руками каналы, которые надо изменить(.
Default Case - это все, кроме пустой строки -> не поддерживаемые типы каналов (DIO и CIO).
Кстати, та же история со шкалами.
В Run Time System перезапись не срабатывает. Приходится удалять руками каналы, которые надо изменить(.
Default Case - это все, кроме пустой строки -> не поддерживаемые типы каналов (DIO и CIO).
Кстати, та же история со шкалами.
-
- doctor
- Сообщения: 2211
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 27 раз
Re: Правила компиляции
Господа, не забывайте - эти типы (Daq) не являются константами сами по себе. Их содержимое зависит от состава оборудования целевого устройства. Потому напрямую дефолтными значениями этого типа пользоваться, на самом деле, стремно. Если у вас действительно константы, меняйте этот контрол на строковый (String). И уж там спокойно прописывайте себе дефолтные значения.
-
- professor
- Сообщения: 3404
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 174 раза
- Контактная информация:
Re: Правила компиляции
скрины я для примера кода приложил. Проверял в скомпилированном exe, перезаписывает.Blackman писал(а):В Development System и у меня все работает.
В Run Time System перезапись не срабатывает.
в моём варианте daq и не используется по дефолту, это единственный параметр, передающийся в subVIBorjomy_1 писал(а):Господа, не забывайте - эти типы (Daq) не являются константами сами по себе. Их содержимое зависит от состава оборудования целевого устройства. Потому напрямую дефолтными значениями этого типа пользоваться, на самом деле, стремно. Если у вас действительно константы, меняйте этот контрол на строковый (String). И уж там спокойно прописывайте себе дефолтные значения.
-
- leader
- Сообщения: 932
- Зарегистрирован: 17 янв 2016, 15:02
- Награды: 1
- Версия LabVIEW: 6.1,8.5,20
Re: Правила компиляции
Artem спасибо.Artem.spb писал(а):Проверял в скомпилированном exe, перезаписывает.
1. Overwrite Existing Channel? - исключаю
2. В Development работает +
3. Остается сделать новую версию
Константа это представление на блок диаграмме терминала с фиксированным значением. IO name терминал не исключение и может без всяких опасений и ограничений использоваться в виде константы.Borjomy_1 писал(а):Господа, не забывайте - эти типы (Daq) не являются константами сами по себе.
Как тип данных IO name control не имеет значения по умолчанию. Это именованный референс.Потому напрямую дефолтными значениями этого типа пользоваться, на самом деле, стремно.
-
- doctor
- Сообщения: 2211
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 27 раз
Re: Правила компиляции
Тогда что именно сохраняется в контроле при "Make Current Value Default"? Кстати, отражением того, что с этими контролами (I/O) не все так просто, может быть ситуация, что при сохранении, казалось-бы прозрачно, кластера с подобными типами данных в XML, возникает неустранимая утечка памяти. Не знаю ее починили, или нет в версиях 2010+. Не тестил.Blackman писал(а):Как тип данных IO name control не имеет значения по умолчанию. Это именованный референс.
-
- leader
- Сообщения: 932
- Зарегистрирован: 17 янв 2016, 15:02
- Награды: 1
- Версия LabVIEW: 6.1,8.5,20
Re: Правила компиляции
Не для контрола (индикатора), а для типа данных IO name нет значения по умолчанию.
-
- doctor
- Сообщения: 2211
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 27 раз
Re: Правила компиляции
Не совсем так. Скорее пусто. Для Picture, например, можно совершенно точно сохранить текущую картинку как дефолтную.для типа данных IO name нет значения по умолчанию.