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

Простейшие вопросы в области инженерной разработки
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 127 раз
Контактная информация:

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

Сообщение dadreamer »

laryc писал(а):2. вопрос второй "изготовление ехе-шника так чтобы он работал на другой машине" .. на этом форуме я читал посты по этой теме,но они по времени старые. .. вот я воткнул себе версию ЛабВью 2013 что я там установил я ещё толком не исследовал ,но что там есть интригующее... мож моножно без всяких там убогих runtimov? неужто такая тяжёлая прога страдает всё ещё юношескими угрями?.. а без этого никак не сделать продукт ночей бессонных доступным другим пользователям..э-э-х..
Без рантайма никак не получится, у вас два варианта: либо ставить рантайм полностью с сайта NI, либо воспользоваться решением в этой теме. Есть и третий вариант: ставить :labview: полностью и распространять ваши программы в виде :vi: :wink:
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5463
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 87 раз

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

Сообщение IvanLis »

laryc писал(а):1. Нужно мультиплексировать константы 10 -> 1 ..понимаю так что нужно задействовать пачку функций "select" и ещё пачку логики? иначе никак?
нужен переключатель типа "галетник". если есть красивые решения прошу поделиться.
здесь не понятно...
мультиплексирование = объединение
переключатель = коммутация

напишите, что Вам необходимо сделать?

laryc писал(а):2. вопрос второй "изготовление ехе-шника так чтобы он работал на другой машине" .. на этом форуме я читал посты по этой теме,но они по времени старые. .. вот я воткнул себе версию ЛабВью 2013 что я там установил я ещё толком не исследовал ,но что там есть интригующее... мож моножно без всяких там убогих runtimov? неужто такая тяжёлая прога страдает всё ещё юношескими угрями?.. а без этого никак не сделать продукт ночей бессонных доступным другим пользователям..э-э-х..
в версии 2013 никаких существенных изменений не произошло, так что информация актуальна
sdk5v3
beginner
beginner
Сообщения: 16
Зарегистрирован: 25 мар 2013, 21:08
Версия LabVIEW: 2010

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

Сообщение sdk5v3 »

Помогите пожалуйста реализовать данную задачу.Убил целых два часа и вообще ни как...Изображение
вот что сделал....((( :suicide: Изображение

Пожалуйста ООООЧЕНЬ нужно
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5463
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 87 раз

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

Сообщение IvanLis »

sdk5v3 писал(а):Пожалуйста ООООЧЕНЬ нужно
Вы хоть бы :vi: выложили, а то по картинке не видно всего...
sdk5v3
beginner
beginner
Сообщения: 16
Зарегистрирован: 25 мар 2013, 21:08
Версия LabVIEW: 2010

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

Сообщение sdk5v3 »

IvanLis писал(а):
sdk5v3 писал(а):Пожалуйста ООООЧЕНЬ нужно
Вы хоть бы :vi: выложили, а то по картинке не видно всего...
вот все задание и ВИ.
если же я правильно понял вас.
ССН70%.vi
(35.87 КБ) 188 скачиваний
Изображение
laryc
beginner
beginner
Сообщения: 19
Зарегистрирован: 02 июл 2013, 14:18
Версия LabVIEW: 2012
Контактная информация:

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

Сообщение laryc »

подскажите"Чайнику" .. в бесконечном цикле каждый раз возникает индекс массива как инкрементировать значение элемента по индексу?
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 127 раз
Контактная информация:

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

Сообщение dadreamer »

laryc писал(а):подскажите"Чайнику" .. в бесконечном цикле каждый раз возникает индекс массива как инкрементировать значение элемента по индексу?
Ну, стандартный способ обычно такой:
Inc_Array.jpg
Inc_Array.jpg (44.14 КБ) 8841 просмотр
Inc_Array.vi
LV2011
(7.06 КБ) 206 скачиваний
Выделяем из массива элемент по индексу, увеличиваем на 1, затем заменяем в исходном массиве старое значение новым.

Мне больше нравится вот такой способ:
Inc_Array_In_Place.jpg
Inc_Array_In_Place.jpg (32.64 КБ) 8841 просмотр
Inc_Array_In_Place.vi
(7.21 КБ) 196 скачиваний
Использование структуры In Place Element. Просто, компактно и уменьшает расходы памяти при большом количестве операций.
laryc
beginner
beginner
Сообщения: 19
Зарегистрирован: 02 июл 2013, 14:18
Версия LabVIEW: 2012
Контактная информация:

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

Сообщение laryc »

очень спасибо! я думал что есть что нибудь поменьше :wink: ... и подвопрос в догонку..
дело в том что будут ситуации когда индекс массива будет выходить за предел созданного массива.. точнее размерность массива неопределённая.. будет ли Ваша конструкция расширять массив если значение индекса выходит за границы? или нужно мониторить максимальное и минимальное значение и переназначать размерность массива (меня это почти не устраивает)
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 127 раз
Контактная информация:

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

Сообщение dadreamer »

laryc писал(а):будет ли Ваша конструкция расширять массив если значение индекса выходит за границы?
При индексе, большем самого последнего индекса в массиве, или при отрицательном индексе оба вышеприведенных способа работают вхолостую, т.е. ничего с массивом не происходит. А вам нужно расширять его?
laryc
beginner
beginner
Сообщения: 19
Зарегистрирован: 02 июл 2013, 14:18
Версия LabVIEW: 2012
Контактная информация:

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

Сообщение laryc »

да он должен быть динамический от минимума до максимума причем число идущее на индекс может принять отрицательное значение .. знач надо ещё привести к положительному :brows:
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 127 раз
Контактная информация:

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

Сообщение dadreamer »

Не совсем понятны две вещи: если индекс ушёл за границы массива, чем заполнять промежутки, нулями что ли? И при отрицательном индексе какой должен быть способ приведения? Например, есть массив из трёх элементов (чисел):
1
2
3
На "кубике" выпадает индекс 5, делаем такой массив:
1
2
3
0
0
1
На "кубике" выпадает индекс -1, делаем такой массив:
1
1
2
3
Правильно понимаю?
sdk5v3
beginner
beginner
Сообщения: 16
Зарегистрирован: 25 мар 2013, 21:08
Версия LabVIEW: 2010

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

Сообщение sdk5v3 »

А мне помогите... пожалуйста.
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 127 раз
Контактная информация:

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

Сообщение dadreamer »

sdk5v3, у вас там как-то запутанно на картинке написано. Я начинал составлять программу, но потом прекратил, хотя с путаницей более менее разобрался. Не скажу, в чём у вас ошибка, однако вам в программе надо вводить условия на знаменатель, равный 0, чтобы избежать некорректных вычислений. Либо как-то учитывать эту некорректность, так как у вас при Z=0 в (2.3) B будет равно NaN. Ну, и кое где (например, тест D на 0) использовать машинный эпсилон, т.к. числа double формата. В общем, могу порекомендовать делать по частям. Разбейте вашу задачу на три этапа и делайте по порядку. Так проще будет найти ошибки. Необязятельно везде использовать Formula Express VI, можно и в :labview: реализовать алгоритм, или использовать Formula Node / Expression Node.
laryc
beginner
beginner
Сообщения: 19
Зарегистрирован: 02 июл 2013, 14:18
Версия LabVIEW: 2012
Контактная информация:

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

Сообщение laryc »

dadreamer писал(а):
Правильно понимаю?
да совершенно верно ..и пустоты забиваем нулями
и упрощаем задачу ... отрицательный индекс к положительному приводить не надо - пусть так и будет
Итого .. в чём нуждается аксакал... 1.отслеживать минимум и максимум идекса 2. динамически формировать одномерный массив величиной от минимума до максимума если он выходит за рамки причём начальный размер можно задать == 500, причём значения ранее сформированных элементов должны оставаться на своих местах. 3. образовавшиеся пустоты забить нулями. 3.инкрементировать индексированный элемент (разобрались ..ещё раз спасибо) ... на Сях проблема тривиальная,а вот в квадратно - гнездовом програмэйбл туплю.. всё цельносварное и цвета хаки ... за ранее благодарю
sdk5v3
beginner
beginner
Сообщения: 16
Зарегистрирован: 25 мар 2013, 21:08
Версия LabVIEW: 2010

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

Сообщение sdk5v3 »

dadreamer, спасибо что отозвались. Знания мои не очень, но вроде все логически верно до этого момента сравнения с эпсилон, приращения не происходит. Если я формулу экспрес передела, задача может решиться?
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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