Советы по программированию на LabVIEW

Простейшие вопросы в области инженерной разработки
rsv
advanced
advanced
Сообщения: 187
Зарегистрирован: 18 июл 2019, 13:53
Версия LabVIEW: 2020
Откуда: Россия, Ижевск
Благодарил (а): 38 раз
Контактная информация:

Re: Советы по программированию на LabVIEW

Сообщение rsv »

jane_wild писал(а): 25 июл 2024, 14:59 Так если это enum, так и отдавайте команды enum-ом, а не числовой константой
Нет возможности. На вход приходит просто число, вытащенное из прибора.
Artem.spb

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

Re: Советы по программированию на LabVIEW

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

rsv писал(а): 25 июл 2024, 15:32 Нет возможности. На вход приходит просто число, вытащенное из прибора.
Jane вам правильно написала. Даже если у вас число с прибора, если его подать на вход sunVI, где ожидается enum, то он будет корректно преобразован, и дальше можно делать что угодно.

Если уж совсем напрямик, то вот так
enum.png
enum.png (13.98 КБ) 2372 просмотра
rsv
advanced
advanced
Сообщения: 187
Зарегистрирован: 18 июл 2019, 13:53
Версия LabVIEW: 2020
Откуда: Россия, Ижевск
Благодарил (а): 38 раз
Контактная информация:

Re: Советы по программированию на LabVIEW

Сообщение rsv »

По поводу числа на входа неточно выразился, это не параметр. На самом деле ВПП возвращает число. А получить надо строку из enum, соответствующую этому числу.
Сделал через свойство.
Вложения
ENum_Name_2.JPG
FredP
user
user
Сообщения: 75
Зарегистрирован: 19 апр 2020, 01:22
Версия LabVIEW: 2021
Благодарил (а): 8 раз
Поблагодарили: 14 раз
Контактная информация:

Re: Советы по программированию на LabVIEW

Сообщение FredP »

rsv писал(а): 26 июл 2024, 09:58 По поводу числа на входа неточно выразился, это не параметр. На самом деле ВПП возвращает число. А получить надо строку из enum, соответствующую этому числу.
Сделал через свойство.
Я тут недавно пробовал не прочитать, а записать свойство. Оказалось что можно только через запись typedef и не динамически, а пока файл не открыт (пока не открыта subVI). Ну, в принципе, работает https://forums.ni.com/t5/LabVIEW/error- ... -p/1075994
Вложения
ArrayToEnum.llb
(137.69 КБ) 91 скачивание
rsv
advanced
advanced
Сообщения: 187
Зарегистрирован: 18 июл 2019, 13:53
Версия LabVIEW: 2020
Откуда: Россия, Ижевск
Благодарил (а): 38 раз
Контактная информация:

Re: Советы по программированию на LabVIEW

Сообщение rsv »

FredP писал(а): 26 июл 2024, 17:56 Я тут недавно пробовал не прочитать, а записать свойство. Оказалось что можно только через запись typedef и не динамически, а пока файл не открыт (пока не открыта subVI). Ну, в принципе, работает https://forums.ni.com/t5/LabVIEW/error- ... -p/1075994
У меня OpenG не установлен, а библиотека просит модуль оттуда. Не подскажете, в каком из 3-х десятков пакетов OpenG этот модуль находится?
Вложения
ArrayToEnum,vi Недостающий модуль.JPG
Artem.spb

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

Re: Советы по программированию на LabVIEW

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

rsv писал(а): 06 авг 2024, 12:51 У меня OpenG не установлен, а библиотека просит модуль оттуда. Не подскажете, в каком из 3-х десятков пакетов OpenG этот модуль находится?
А Bob Biller не раскрывает секреты по той ссылке?

Скорее всего, OG Variant, но в разных версиях они комбинируются по-разному.
og.png
Аватара пользователя
dadreamer

Activity Professionalism Tutorials Gold Silver
Bronze Black Автор
professor
professor
Сообщения: 3996
Зарегистрирован: 17 фев 2013, 16:33
Награды: 9
Версия LabVIEW: 2.5 — 2025
Благодарил (а): 14 раз
Поблагодарили: 147 раз

Re: Советы по программированию на LabVIEW

Сообщение dadreamer »

rsv
advanced
advanced
Сообщения: 187
Зарегистрирован: 18 июл 2019, 13:53
Версия LabVIEW: 2020
Откуда: Россия, Ижевск
Благодарил (а): 38 раз
Контактная информация:

Re: Советы по программированию на LabVIEW

Сообщение rsv »

Доброго времени суток.
В любой панели присутствует некая ось координат. При создании новой панели пространство панели размещается в правом нижнем квадранте. Сама ось при этом скрыта, а видна только метка начала координат.
Видимое пространство можно перемещать в любых направлениях относительно начала коодинат и, как будто, не имеет никакого значения взимное расподожение начала коодинат и видимого пространства панели. Но ведь для чего-то эти координатные оси нарисовали?
Кто знает, подскажите плиз - какую-нибудь пользу можно извлечь из этой оси координат?
Коордиатная ось_1.JPG
Коордиатная ось_2.JPG
Аватара пользователя
zxc_pavel
developer
developer
Сообщения: 263
Зарегистрирован: 02 июн 2016, 12:07
Версия LabVIEW: 15
Благодарил (а): 9 раз
Поблагодарили: 30 раз
Контактная информация:

Re: Советы по программированию на LabVIEW

Сообщение zxc_pavel »

Можно считывать/устанавливать положения контролов. Эта точка - (0,0)
Вложения
0412.png
Artem.spb

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

Re: Советы по программированию на LabVIEW

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

rsv писал(а): 04 дек 2025, 12:48 Кто знает, подскажите плиз - какую-нибудь пользу можно извлечь из этой оси координат?
Кроме считывания положения контролов есть ещё более полезная польза: после запуска иметь нормальный вид окна примерно всегда. При работе иногда случайно, иногда специально можно сдвинуть окно и всё полезное уедет куда-нибудь, и пользователь увидит служебные элементы.
Я при старте всегда двигаю окно в "00" и точно знаю, что пользователь увидит то, что я ожидаю ему показать. Даже если перед компиляцией я забуду сдвинуть окно в нормальное положение.
origin.PNG
origin.PNG (6.27 КБ) 113 просмотров
rsv
advanced
advanced
Сообщения: 187
Зарегистрирован: 18 июл 2019, 13:53
Версия LabVIEW: 2020
Откуда: Россия, Ижевск
Благодарил (а): 38 раз
Контактная информация:

Re: Советы по программированию на LabVIEW

Сообщение rsv »

Artem.spb писал(а): 04 дек 2025, 13:19 Кроме считывания положения контролов есть ещё более полезная польза: после запуска иметь нормальный вид окна примерно всегда.
Дельный совет, спасибо. Множество раз сталкивался с тем, что при запуске ехе съезжали формы.

Уточнение:
1. Цикл приводит к 0х0 все панели, вызываемые из текущей формы?
2. Эффект будет проявляться только при работе ехе? При запуске из LabVIEW панели будут показываться в текущем положении?
Artem.spb

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

Re: Советы по программированию на LabVIEW

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

rsv писал(а): 05 дек 2025, 08:41 1. Цикл приводит к 0х0 все панели, вызываемые из текущей формы?
не знаю, что такое форма :)
Все panes заданного окна. Панели - это то, что получается при использовании разделителей. Без них будет одна, она же окно.
Вот тут три панели и все "уехали".
panes.PNG
2. Эффект будет проявляться только при работе ехе? При запуске из LabVIEW панели будут показываться в текущем положении?
Нет, при каждом запуске эта функция сдвигает всё в 00:
Set_origin_00.vi
(22.68 КБ) 23 скачивания
если нет ссылки, она открывает ссылку на того, кто её вызвал.
panes2.PNG
panes2.PNG (3.93 КБ) 98 просмотров
rsv
advanced
advanced
Сообщения: 187
Зарегистрирован: 18 июл 2019, 13:53
Версия LabVIEW: 2020
Откуда: Россия, Ижевск
Благодарил (а): 38 раз
Контактная информация:

Re: Советы по программированию на LabVIEW

Сообщение rsv »

Artem.spb писал(а): 05 дек 2025, 13:30 Все panes заданного окна. Панели - это то, что получается при использовании разделителей. Без них будет одна, она же окно.
Спасибо за пояснения и пример, теперь понятно. Не знал, что pane в одном окне может быть несколько.
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Для чайников»