Запуск с предыдущими значениями в полях

Простейшие вопросы в области инженерной разработки
Ответить
Аватара пользователя
Select
developer
developer
Сообщения: 281
Зарегистрирован: 12 дек 2017, 23:56
Версия LabVIEW: 18
Откуда: Врата надежды.
Поблагодарили: 2 раза

Запуск с предыдущими значениями в полях

Сообщение Select »

Всем привет, пытаюсь задать полям в свойствах при перезапуске :vi: отображение предыдущих значений.
Сразу оговорюсь, что речь не идет о Make Current value default т.к. значения вводятся уже в запущенном режиме.
Возможно есть функция авто сохранения введенных значений с последующем их отображением при повторном запуске? :dntknw:
LabView 14,18
Аватара пользователя
ladik

Silver
developer
developer
Сообщения: 275
Зарегистрирован: 18 ноя 2014, 11:45
Награды: 1
Версия LabVIEW: 2015, 2019
Откуда: Екатеринбург
Благодарил (а): 4 раза
Поблагодарили: 3 раза
Контактная информация:

Re: Запуск с предыдущими значениями в полях

Сообщение ladik »

Дорогу осилит идущий.
Аватара пользователя
dadreamer

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

Re: Запуск с предыдущими значениями в полях

Сообщение dadreamer »

Аватара пользователя
Select
developer
developer
Сообщения: 281
Зарегистрирован: 12 дек 2017, 23:56
Версия LabVIEW: 18
Откуда: Врата надежды.
Поблагодарили: 2 раза

Re: Запуск с предыдущими значениями в полях

Сообщение Select »

Благодарю за ссылки, я их видал. Думал, возможно здесь у кого нибудь есть опыт программно обойти эту проблему простыми инструкциями, без необходимости в сторонних тулкитах. Примеры, которые там приведены больше подойдут для небольшого массива, но в моем случае массив около выводимых на переднюю панель 300 значений :think:
Сейчас я такое количество сохраняю в текстовых файлах, но это не так чтоб удобно каждый раз при запуске, если данные большую часть работы с :vi: не меняются, обращаться к таким файлам.
Я хочу замутить так, и думаю это будут не так чтоб очень сложно на уровне такого чайника как я, чтоб был флажок, который по умолчанию при запуске запускал процедуру обращения к этому файлу, а в случае необходимости была бы возможность здесь же с кнопки выполнить обращение к другому файлу.
Я такую процедуру построил, но проблема в том, что на такой флажок нужно построить процедуру, которая бы выполнялась 1 раз при запуске.
Буду пробовать, это статистически вполне востребованная во многих проектах функция, но почему-то в :labview: она явно проигнорирована и нужно за них это допиливать.
Предлагаю всем желающим в условиях самоизоляции поупражняться в своем мастерстве. :drink:
LabView 14,18
Аватара пользователя
Select
developer
developer
Сообщения: 281
Зарегистрирован: 12 дек 2017, 23:56
Версия LabVIEW: 18
Откуда: Врата надежды.
Поблагодарили: 2 раза

Re: Запуск с предыдущими значениями в полях

Сообщение Select »

Набросал вариант, с сохранением и считыванием в текстовый файл
Вложения
Saving.vi
(34.68 КБ) 109 скачиваний
VI.png
LabView 14,18
Аватара пользователя
ladik

Silver
developer
developer
Сообщения: 275
Зарегистрирован: 18 ноя 2014, 11:45
Награды: 1
Версия LabVIEW: 2015, 2019
Откуда: Екатеринбург
Благодарил (а): 4 раза
Поблагодарили: 3 раза
Контактная информация:

Re: Запуск с предыдущими значениями в полях

Сообщение ladik »

Использование переменных в VI с большим количеством контролов будет затруднительно. На мой взгляд, более гибкий вариант для этой задачи -- использовать InvokeNode. Немного подправил Ваш пример.
Вложения
Saving.vi
(37.78 КБ) 98 скачиваний
example.PNG
Дорогу осилит идущий.
Аватара пользователя
Kosist

Activity Gold
expert
expert
Сообщения: 1236
Зарегистрирован: 21 фев 2011, 23:44
Награды: 2
Версия LabVIEW: 2013-2020
Благодарил (а): 23 раза
Поблагодарили: 30 раз
Контактная информация:

Re: Запуск с предыдущими значениями в полях

Сообщение Kosist »

Select, Вы опять за свое - за изобретение велосипеда? Люди стараются, создают тулкиты, тратят свое личное (очень часто даже неоплачиваемое) время для того, чтобы именно вот в таких вот случаях кто-то другой мог взять, установить этот тулкит, и с его помощью решить свою задачу. Время - деньги, и если кто-то уже сделал решение которое работает, его нужно использовать. dadreamer сбросил отличную ссылку на OpenG тулкит. Одна виайка на запись, вторая - на чтение. Куда проще-то? Вы ведь пишете, цитирую:
"Я хочу замутить так, и думаю это будут не так чтоб очень сложно на уровне такого чайника как я, чтоб был флажок, который по умолчанию при запуске запускал процедуру обращения к этому файлу, а в случае необходимости была бы возможность здесь же с кнопки выполнить обращение к другому файлу."
Вам дают готовое решение, а Вы начинаете изобретать велосипед. Без обид, ничего личного - но зачем? А если хотите решить вопрос сами - то зачем здесь спрашивать?
Мы делили апельсин - много наших полегло...
Аватара пользователя
Select
developer
developer
Сообщения: 281
Зарегистрирован: 12 дек 2017, 23:56
Версия LabVIEW: 18
Откуда: Врата надежды.
Поблагодарили: 2 раза

Re: Запуск с предыдущими значениями в полях

Сообщение Select »

ladik,
С нодами мне понравилось, но я их не очень хорошо знаю но непременно возьму на вооружение.
Ваш пример полезный, но проблему не решает, после перезапуска мне все же нужно вручную ссылаться на конфигурацию.
Придумал все же вариант с автоматическим вбросом ранее сохраненной конфигурации, что в принципе рулит.
Kosist,
Почему не люблю сторонние тулкиты, по мере обновлений :labview: некоторые модули так же меняются. Был очень гиморойный опыт когда по этой причине возник у клиента после апгреита :labview: баг, пришлось все там перелапачивать чтоб исправить ситуацию.
В.у. разработчик строит свои тулкиты на :labview: 2009, да и не такая это сложная оказалась задача, чтоб брать тулсы со стороны.
Вложения
VI1.png
Saving1.vi
(34.97 КБ) 91 скачивание
LabView 14,18
Аватара пользователя
Kosist

Activity Gold
expert
expert
Сообщения: 1236
Зарегистрирован: 21 фев 2011, 23:44
Награды: 2
Версия LabVIEW: 2013-2020
Благодарил (а): 23 раза
Поблагодарили: 30 раз
Контактная информация:

Re: Запуск с предыдущими значениями в полях

Сообщение Kosist »

Select, серьезно? На опыте с одним тулкитом теперь отметать все остальные :dntknw:? Это как в поговорке, "Обжегся на молоке, дует и на воду"...
Версия :labview: вообще ни при чем - какая разница, если работает? Вот Вы откройте исходники тулкита, посмотрите как это делают другие люди - найдете какие-то идеи, выучите новые вещи. Полезно ведь.
Я бы советовал Вам развиваться в сторону более правильных решений и подходов. Паттерны программирования ведь не дураки придумали. Вот эти Flat Sequence Structure ненужные заменяются стейт-машиной, обрабатывание кнопок в цикле вот так - сомнительный подход. Вы добавите еще один контрол - и читание/запись нужно обновлять на двух местах. Если первая кейс-структура будет в состянии False, то вторая не получит путь к файлу. И т.д., и т.п. А Вы спрашиваете советы, люди Вам пытаются помочь - но все равно делаете свое решение, далекое от правильного.
Вам ведь для решения ladikа достаточно один проводок переподключить - а Вы пишете что оно не подходит. Удалить кнопку Read, и вместо нее подключить кнопку Play... А ведь Ваш изначальный пример имел кнопку Read - так это значит что Вы неправильно вначале описываете задачу/даете неправильные входные данные; а потом говорите что предложенные решения не решают Вашу проблему :dntknw: .
Мы делили апельсин - много наших полегло...
Аватара пользователя
IvanLis

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

Re: Запуск с предыдущими значениями в полях

Сообщение IvanLis »

Select писал(а):Буду пробовать, это статистически вполне востребованная во многих проектах функция, но почему-то в :labview: она явно проигнорирована и нужно за них это допиливать.
Предлагаю всем желающим в условиях самоизоляции поупражняться в своем мастерстве. :drink:
А можно пару ссылок на Ваши проекты, очень интересно посмотреть их функционал и проработанность деталей?
Select писал(а):Придумал все же вариант с автоматическим вбросом ранее сохраненной конфигурации, что в принципе рулит.
А Вас не смущает, что пишите Вы DBL, а читаете I32, при этом игнорируя дробную часть. И как Вы будите выходить из ситуации, когда необходимо сохранить состояния элементов с типом String или Boolean, я не говорю уже о всеми любимых и используемых, массивах, кластерах, массивов кластеров содержащих массивы :crazy:
Аватара пользователя
Select
developer
developer
Сообщения: 281
Зарегистрирован: 12 дек 2017, 23:56
Версия LabVIEW: 18
Откуда: Врата надежды.
Поблагодарили: 2 раза

Re: Запуск с предыдущими значениями в полях

Сообщение Select »

Kosist,
...Удалить кнопку Read, и вместо нее подключить кнопку Play... А ведь Ваш изначальный пример имел кнопку Read - так это значит что Вы неправильно вначале описываете задачу/даете неправильные входные данные; а потом говорите что предложенные решения не решают Вашу проблему
Этот проводок додумал, не претендуя на чье-либо авторство, да и некоторые свойства пришлось подправлять по методу обращения к источнику.
По поводу нечеткой формулировки ... изначальной задачи, никто ничего здесь не пытался уточнять, я решил что формулировка понятна. Собственно она по смыслу свою суть не меняет, если кто меня неверно истолковал, каюсь.
Еще раз, по рекомендуемым тулсам я несколько раз перечитывал авторские туториалы, по свободе покурю их, но меня смущает версия на которой они строились :labview: Далеко ходить не нужно. Откройте модуль Write To Spreadsheet File.vi от :labview: 14 в :labview: 18 и вы увидите ситуацию, есть и другие подобные грабли.
Относительно Вашего примера с Read Panel from INI и Write Panel to INI красиво и не громоздко, перезапись в config.ini по умолчанию текущего состояния всей панели в запущенном состоянии, стоит его объединить с методом ladikа

IvanLis,
DBL формат не смущает, если Вы по моим прошлым постам, там со стрингами все иначе.
По проектам, что конкретно интересует? У меня периодически возникают вопросы, мой стиль далек от хрестоматийного, опыт приходит по мере решения проблем. Многие вещи наследую от проекта к проекту. Если я здесь начну разворачивать все чем занимался или занимаюсь, я погрязну в судах, т.к. подписываюсь о неразглашении.

IvanLis,
20,000 10,000 10,000 20,000 10,000 20,000 10,000 20,000 1,000 1,000 1,000 1,000
LabView 14,18
Аватара пользователя
IvanLis

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

Re: Запуск с предыдущими значениями в полях

Сообщение IvanLis »

Select писал(а):Если я здесь начну разворачивать все чем занимался или занимаюсь, я погрязну в судах, т.к. подписываюсь о неразглашении.
Я понимаю, что часть ПО показать нет возможности, но речь шла о паре ссылок, я думаю у каждого найдется один два проекта, не обремененные соглашениями. Тем более исходники и не требуются, достаточно видео и скринов, Вы же должны иметь некоторое портфолио для создания имиджа при контакте с потенциальными заказчиками.
Аватара пользователя
Select
developer
developer
Сообщения: 281
Зарегистрирован: 12 дек 2017, 23:56
Версия LabVIEW: 18
Откуда: Врата надежды.
Поблагодарили: 2 раза

Re: Запуск с предыдущими значениями в полях

Сообщение Select »

IvanLis,
Немного разгружусь выставлю что найду.
LabView 14,18
Аватара пользователя
Kosist

Activity Gold
expert
expert
Сообщения: 1236
Зарегистрирован: 21 фев 2011, 23:44
Награды: 2
Версия LabVIEW: 2013-2020
Благодарил (а): 23 раза
Поблагодарили: 30 раз
Контактная информация:

Re: Запуск с предыдущими значениями в полях

Сообщение Kosist »

Select писал(а):Буду пробовать, это статистически вполне востребованная во многих проектах функция, но почему-то в :labview: она явно проигнорирована и нужно за них это допиливать.
Как-то сразу я эту фразу пропустил...
:labview: предоставляет все средства для реализации требуемого функционала. Считать и записать данные с контролов можно; сделать запись в разные типы файлов - тоже. Ну а остальное - зависит от бизнес-логики. Как :labview: разработчики, по-вашему, должны предвидеть что именно Вам понадобится? Какие типы данных будете писать, в какой точке исполнения будете считывать данные, и сохранять? Так что ничего не проигнорированно - просто это уже бизнес-логика, и :labview: само по себе ее не должно содержать.
Мы делили апельсин - много наших полегло...
Аватара пользователя
Select
developer
developer
Сообщения: 281
Зарегистрирован: 12 дек 2017, 23:56
Версия LabVIEW: 18
Откуда: Врата надежды.
Поблагодарили: 2 раза

Re: Запуск с предыдущими значениями в полях

Сообщение Select »

Kosist,
По части именно этой функции я не согласен, т.к. она присутствует во многих ядрах популярного софта и по усмотрению юзеров подключается в настройках.
ladik, очень шикарно, я в восторге и еще раз благодарю. Благодаря такому решению моя БД избавилась от квадратных метров кода, и в целом :vi: обрел универсальную вкуснятину.
Я все что нужно подправил, дизаблы перевел в енаблы, теперь я сохраняю не только переменные, но и все состояния контролов одним пинком, даже USB номера портов сохраняются, уж на что я никак не надеялся. Одним махом все вопросы отпали.
Вместе с тем я могу создавать дополнительные конфигурации в каждом конкретном случае. :drink:
LabView 14,18
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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