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

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

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

Сообщение Select »

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

Аватара пользователя
ladik

Silver
adviser
adviser
Сообщения: 245
Зарегистрирован: 18 ноя 2014, 11:45
Награды: 1
Репутация: 0
Версия LabVIEW: 2011, 2015
Откуда: Астана
Контактная информация:

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

Сообщение ladik »

Дорогу осилит идущий.

Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3479
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Репутация: 0
Версия LabVIEW: 2.5 — 2019
Контактная информация:

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

Сообщение dadreamer »


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

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

Сообщение Select »

Благодарю за ссылки, я их видал. Думал, возможно здесь у кого нибудь есть опыт программно обойти эту проблему простыми инструкциями, без необходимости в сторонних тулкитах. Примеры, которые там приведены больше подойдут для небольшого массива, но в моем случае массив около выводимых на переднюю панель 300 значений :think:
Сейчас я такое количество сохраняю в текстовых файлах, но это не так чтоб удобно каждый раз при запуске, если данные большую часть работы с :vi: не меняются, обращаться к таким файлам.
Я хочу замутить так, и думаю это будут не так чтоб очень сложно на уровне такого чайника как я, чтоб был флажок, который по умолчанию при запуске запускал процедуру обращения к этому файлу, а в случае необходимости была бы возможность здесь же с кнопки выполнить обращение к другому файлу.
Я такую процедуру построил, но проблема в том, что на такой флажок нужно построить процедуру, которая бы выполнялась 1 раз при запуске.
Буду пробовать, это статистически вполне востребованная во многих проектах функция, но почему-то в :labview: она явно проигнорирована и нужно за них это допиливать.
Предлагаю всем желающим в условиях самоизоляции поупражняться в своем мастерстве. :drink:
LabView 14

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

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

Сообщение Select »

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

Аватара пользователя
ladik

Silver
adviser
adviser
Сообщения: 245
Зарегистрирован: 18 ноя 2014, 11:45
Награды: 1
Репутация: 0
Версия LabVIEW: 2011, 2015
Откуда: Астана
Контактная информация:

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

Сообщение ladik »

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

Аватара пользователя
Kosist

Activity Gold
expert
expert
Сообщения: 1067
Зарегистрирован: 21 фев 2011, 23:44
Награды: 2
Репутация: 0
Версия LabVIEW: 2013-2017
Контактная информация:

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

Сообщение Kosist »

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

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

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

Сообщение Select »

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

Аватара пользователя
Kosist

Activity Gold
expert
expert
Сообщения: 1067
Зарегистрирован: 21 фев 2011, 23:44
Награды: 2
Репутация: 0
Версия LabVIEW: 2013-2017
Контактная информация:

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

Сообщение Kosist »

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

Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
professor
professor
Сообщения: 4921
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Репутация: 0
Версия LabVIEW: 2015, 2016
Откуда: СССР

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

Сообщение IvanLis »

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

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

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

Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
professor
professor
Сообщения: 4921
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Репутация: 0
Версия LabVIEW: 2015, 2016
Откуда: СССР

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

Сообщение IvanLis »

Select писал(а):Если я здесь начну разворачивать все чем занимался или занимаюсь, я погрязну в судах, т.к. подписываюсь о неразглашении.
Я понимаю, что часть ПО показать нет возможности, но речь шла о паре ссылок, я думаю у каждого найдется один два проекта, не обремененные соглашениями. Тем более исходники и не требуются, достаточно видео и скринов, Вы же должны иметь некоторое портфолио для создания имиджа при контакте с потенциальными заказчиками.

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

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

Сообщение Select »

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

Аватара пользователя
Kosist

Activity Gold
expert
expert
Сообщения: 1067
Зарегистрирован: 21 фев 2011, 23:44
Награды: 2
Репутация: 0
Версия LabVIEW: 2013-2017
Контактная информация:

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

Сообщение Kosist »

Select писал(а):Буду пробовать, это статистически вполне востребованная во многих проектах функция, но почему-то в :labview: она явно проигнорирована и нужно за них это допиливать.
Как-то сразу я эту фразу пропустил...
:labview: предоставляет все средства для реализации требуемого функционала. Считать и записать данные с контролов можно; сделать запись в разные типы файлов - тоже. Ну а остальное - зависит от бизнес-логики. Как :labview: разработчики, по-вашему, должны предвидеть что именно Вам понадобится? Какие типы данных будете писать, в какой точке исполнения будете считывать данные, и сохранять? Так что ничего не проигнорированно - просто это уже бизнес-логика, и :labview: само по себе ее не должно содержать.
Мы делили апельсин - много наших полегло...

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

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

Сообщение Select »

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

Ответить

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