Библиотеки состояний Controls фронт паннели

Обсуждение программ, пользовательского обеспечения, операционных систем
Ответить
Аватара пользователя
Select
professional
professional
Сообщения: 319
Зарегистрирован: 12 дек 2017, 23:56
Версия LabVIEW: 18
Откуда: Врата надежды.
Поблагодарили: 4 раза

Библиотеки состояний Controls фронт паннели

Сообщение Select »

Всем привет,
возникла идея с последовательным обращением к ранее сохраненным библиотекам состояний передней панели, когда при обращении к примеру к Библиотеке 1.txt с со статусом True Controls 1,2 True, 3 и 4 False, при ссылке к другой библиотеке 2.txt, где 3 и 4 True, выполнится конкатенация состояний 3 и 4 как True.
Т.е.есть основная библиотека 0.txt которую я смогу сохранить после в.у. поочередных заполнений.
Не знаю, на сколько понятна моя формулировка алгоритма такого ускоренного "редактирования", если понадобится отвечу как то по другому. В проекте намного больше Controls которые в той или иной ситуации требуют от персонала изменений. В настоящий момент это делается вручную, и это отнимает много времени, одна библиотека содержит много различий по отношению к другим и есть состояния которые не везде совпадают.
Возможно есть иные методы быстрой реконфигурации состояний панели по заранее созданным библиотекам, приветствуются любые альтернативные идеи.
Прикрепляю сам метод для ясности, который на данный момент рабочий.
Я очень сомневаюсь что этот метод применим в моей ситуации и понимаю почему.
Вложения
screenshot 2025-09-21 001.png
LabView 14,18
Artem.spb

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

Re: Библиотеки состояний Controls фронт паннели

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

Select писал(а): 21 сен 2025, 23:48 Не знаю, на сколько понятна моя формулировка алгоритма такого ускоренного "редактирования",
Я ничего не понял.
Прикрепляю сам метод для ясности, который на данный момент рабочий.
Я очень сомневаюсь что этот метод применим в моей ситуации и понимаю почему.
Метод странный. Зачем сохранять каждое значение по два раза?

А по вопросу, из того, что понял только необходимость сохранять состояния, так пользователь настраивает конфигурацию, выбирает куда её сохранить (имя файла), потом так же по имени выбирает, что загрузить.

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

Re: Библиотеки состояний Controls фронт паннели

Сообщение Select »

Понял, попробую так:

Сейчас каждая сохранённая библиотека (например, 1.txt, 2.txt) представляет собой полный снимок всех групп Controls при том что их массив отличается друг от друга.
При загрузке библиотека через цикл Ctrl Val.Set полностью перезаписывает состояния передней панели.
Из-за этого невозможно использовать несколько библиотек последовательно: каждая новая библиотека заменяет всё состояние предыдущей.

Что требуется:

Нужна возможность загружать не только “полный снимок”, но и частично обновлять состояние панели по определённым группам Controls (в зависимости от назначения библиотеки).
Тогда можно будет взять базовую конфигурацию (например, 0.txt) и пошагово накладывать на неё изменения из других библиотек.
... Зачем сохранять каждое значение по два раза?
второй Invoke Node, если Вы про это, он особой погоды не строит, я с ним экспериментировал для фильтрации и добавления состояний из других источников, оставил пока так, но согласен, он пока что лишний.
LabView 14,18
Аватара пользователя
IvanLis

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

Re: Библиотеки состояний Controls фронт паннели

Сообщение IvanLis »

Select писал(а): 22 сен 2025, 09:24 Нужна возможность загружать не только “полный снимок”, но и частично обновлять состояние панели по определённым группам Controls (в зависимости от назначения библиотеки).
Тогда можно будет взять базовую конфигурацию (например, 0.txt) и пошагово накладывать на неё изменения из других библиотек.
Ну во первых, хочу предупредить, что даже bin файл от версии LV зависит, и например созданный в 2014 скорее всего не откроется в 2019.
Во вторых используйте нормальные "человеко-читаемые" конфиги, можно то-то XML.
Но XML как и bin привязан к структуре.

Я бы рекомендовал не "прыгать на граблях", а использовать готовые и проверенные решения.
Типа такого:
Снимок экрана от 2025-09-22 21-22-32.png
Тут и удалить можно из конфиг файла ненужные параметры и подправить их и нет жесткой связи Panel <-> Config.
Все определяется именами контролов.
Artem.spb

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

Re: Библиотеки состояний Controls фронт паннели

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

Select писал(а): 22 сен 2025, 09:24 Нужна возможность загружать не только “полный снимок”, но и частично обновлять состояние панели по определённым группам Controls (в зависимости от назначения библиотеки).
Тогда можно будет взять базовую конфигурацию (например, 0.txt) и пошагово накладывать на неё изменения из других библиотек.
Дополню совет Ивана. Я не встречал подобных решений и вряд ли они существуют, потому что довольно специфичные. Обычно один раз создают варианты настроек, и потом их подгружают.
Если уж хочется поизвращаться, то придётся городить своё решение: диалог, где пользователь отмечает, какие именно значения использовать. Но этот диалог может занять больше времени, чем простой ручной ввод.
Аватара пользователя
Select
professional
professional
Сообщения: 319
Зарегистрирован: 12 дек 2017, 23:56
Версия LabVIEW: 18
Откуда: Врата надежды.
Поблагодарили: 4 раза

Re: Библиотеки состояний Controls фронт паннели

Сообщение Select »

IvanLis писал(а): 22 сен 2025, 21:27 Тут и удалить можно из конфиг файла ненужные параметры и подправить их и нет жесткой связи Panel <-> Config.
Все определяется именами контролов.
Идея с кластером понятна, но она не решает проблему группового наполнения из таких кластеров, как я понял, мне под каждый такой кластер нужна отдельная библиотека ini т.к. вошедшая его группа контролов, является всeго лишь частью оркестрации сценария, в который входят и другие аналогичные кластеры.

Для понимания приведу пример:
Клиент настраивает управление гантри XYZ состоящий 3 лиенйных актуаторов, когда на драйверы со со стороны I/O в одном случае подаются/считываются от датчиков одни группы состояний каналов, а в другом случае другие состояния в зависимости от всех возможных вариаций перемещения гантри в пространстве. Таким образом моторы XY могут вообще не приводиться в движение а Z из определенной точки останова, должен быть запущен для перехода в нулевую точку и т.д. и т.п. Т.е. невозможно на уровне сохраненных значений для 1-го кластера автоматизировать ввод полноого сервиса, который является частью в оркестрации контейнеров во всем сценарии с различными задачами.
В данном случае с Вашей идеей я да, могу наполнить кластер для подачи питания, запуска PWM генератора и активации датчика положения и еще пару параметров по работе с коммуникациями, где понадобится править номера I/O каналов. В случае с XY это еще 2 кластера, в которых присутствуют все контролы для каждого привода. В общем есть некоторое упрощение, пока еще не понимаю на сколько, т.к. нет той возможности о которой я говорил изначально где я могу построить полный цикл для определенной группы железа и сохранить его для применения в дальнейших оркестрациях, а если к примеру под весь гантри строить отдельную библиотеку, на клиента налагается дополнительный слой инструкции в которой надо понимать что подгружать для его работы. В общем есть над чем покурить. В любом случае всех благодарю за ценные советы.
LabView 14,18
Аватара пользователя
IvanLis

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

Re: Библиотеки состояний Controls фронт паннели

Сообщение IvanLis »

Select писал(а): 23 сен 2025, 11:55 В любом случае всех благодарю за ценные советы.
На мой взгляд, Вы значительно усложняете задачу, и не только себе.
Никто не будет "курить" документацию сутками, что бы составить необходимую конфигурацию из возможных 10! комбинаций.

Вы должны упрощать жизнь пользователю, а не усложнять ее. Не забываем:
1. бритва Оккама
2. парадокс выбора

Дайте пользователю 30 самых распространенных комбинаций, а остальное пусть сам себе подправит :D
Ну либо помогите ему самому синтезировать настройку за 5..10 шагов путем выбора нужных вариантов и установки требуемых значений.
Ответить

Вернуться в «Софт»