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

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

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

Сообщение rsv »

Artem.spb писал(а): 30 апр 2020, 14:39
rsv писал(а): 30 апр 2020, 11:54 Вырезал из TypeDef, ...
может, проблема в этом?
после вырезания всё, что осталось сдвинулось вверх. Новый вставленный элемент стал последним, и неважно, что вы его на самый верх сдвинули. Надо индексацию менять ("reorder control in cluster..")
Поменял. В 2-х модулях пришло к состоянию TypeDef, а в третьем - один контрол вместо списка стал строкой. И опять та же ошибка...
Artem.spb

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

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

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

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

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

Сообщение rsv »

С контролом я ошибся - визуально в модулях всё так же как и в TypeDef. А ошибка с перечислимыми типами осталась. И ещё раз вырезать - вставить уже не помогает...
Artem.spb

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

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

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

rsv писал(а): 30 апр 2020, 16:47И ещё раз вырезать - вставить уже не помогает...
Сначала я предлагал не typedef править, а тот vi, где глюк. Просто туда скопипастить новую копию взамен глюкнувшей
rsv
advanced
advanced
Сообщения: 170
Зарегистрирован: 18 июл 2019, 13:53
Версия LabVIEW: 2020
Откуда: Россия, Ижевск
Благодарил (а): 33 раза
Контактная информация:

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

Сообщение rsv »

Мой косяк. В качестве шаблона для Bundle By Name использовал константу. Заменил на локальную переменную и всё заработало.
Вложения
Неправильный шаблон.JPG
Неправильный шаблон.JPG (32.36 КБ) 4826 просмотров
Правильно.JPG
Правильно.JPG (26.44 КБ) 4826 просмотров
Аватара пользователя
IvanLis

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

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

Сообщение IvanLis »

rsv писал(а): 01 май 2020, 09:08 Мой косяк. В качестве шаблона для Bundle By Name использовал константу. Заменил на локальную переменную и всё заработало.
Вы все правильно сделали, только константа тоже должна быть связана с TypeDef, они также как и контролы помечены "уголком".
В этом случае, при изменении TypeDef, константа так же будет изменяться.
Screenshot_20200501_112120.png
Дергать каждый раз локальную переменную не очень хорошо, особенно если все это в цикле происходит.
rsv
advanced
advanced
Сообщения: 170
Зарегистрирован: 18 июл 2019, 13:53
Версия LabVIEW: 2020
Откуда: Россия, Ижевск
Благодарил (а): 33 раза
Контактная информация:

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

Сообщение rsv »

IvanLis писал(а): 01 май 2020, 11:28
rsv писал(а): 01 май 2020, 09:08 Мой косяк. В качестве шаблона для Bundle By Name использовал константу. Заменил на локальную переменную и всё заработало.
Вы все правильно сделали, только константа тоже должна быть связана с TypeDef, они также как и контролы помечены "уголком".
В этом случае, при изменении TypeDef, константа так же будет изменяться.

Не совсем понял. Надо на каждый нумерованный список создать отдельный TypeDef и включить их в кластер и в константу?
Аватара пользователя
IvanLis

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

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

Сообщение IvanLis »

rsv писал(а): 02 май 2020, 09:04Не совсем понял. Надо на каждый нумерованный список создать отдельный TypeDef и включить их в кластер и в константу?
Нет, каждый элемент кластера, если Вы его отдельно не планируете использовать, не нужно делать TypeDef.
Но у Вас проблема, из-за того, что константа (кластер) не связана с TypeDef.
А следовательно изменения TypeDef ею не наследуются, отсюда и ошибка.
Неправильный шаблон.JPG
Неправильный шаблон.JPG (46.62 КБ) 4737 просмотров
уголок константы не закрашен
rsv
advanced
advanced
Сообщения: 170
Зарегистрирован: 18 июл 2019, 13:53
Версия LabVIEW: 2020
Откуда: Россия, Ижевск
Благодарил (а): 33 раза
Контактная информация:

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

Сообщение rsv »

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

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

Сообщение rsv »

Возникла проблема со списком состояний для конечного автомата.
После любого изменения списка (удалить, добавить, переименовать пункт) названия пунктов сбрасываются и остаются только номера (как на скрине).
Причём ещё недавно добавил в список новый пункт и все названия в списке сохранились.
Как можно исправить эту проблему?
LabVIEW 2018 SP1
Вложения
После изменения списка.png
После изменения списка.png (2.74 КБ) 3645 просмотров
Artem.spb

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

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

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

rsv писал(а): 24 ноя 2020, 15:17 После любого изменения списка
В каком виде этот список хранится и где/как меняется? Есть подозрение, что используется ring вместо enum
rsv
advanced
advanced
Сообщения: 170
Зарегистрирован: 18 июл 2019, 13:53
Версия LabVIEW: 2020
Откуда: Россия, Ижевск
Благодарил (а): 33 раза
Контактная информация:

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

Сообщение rsv »

Artem.spb писал(а): 24 ноя 2020, 15:55 В каком виде этот список хранится и где/как меняется? Есть подозрение, что используется ring вместо enum
Подсказка показывает что это enum. Хранится в самом модуле. Пробовал сохранить в TypeDef - после изменений также остаются только номера.
Перенёс enum в новый модуль, подключил case - редактируется нормально, названия пунктов не пропадают.
Вложения
enum.png
enum.png (7.76 КБ) 3622 просмотра
Artem.spb

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

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

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

rsv писал(а): 25 ноя 2020, 13:16 Перенёс enum в новый модуль, подключил case - редактируется нормально, названия пунктов не пропадают.
Странное поведение. С ходу в голову приходит только такое решение - сделать case заново. Бывают глюки, которые лечатся только переделкой с нуля
rsv
advanced
advanced
Сообщения: 170
Зарегистрирован: 18 июл 2019, 13:53
Версия LabVIEW: 2020
Откуда: Россия, Ижевск
Благодарил (а): 33 раза
Контактная информация:

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

Сообщение rsv »

Artem.spb писал(а): 25 ноя 2020, 14:33 Бывают глюки, которые лечатся только переделкой с нуля
Пожалуй, так и есть...
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2207
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 26 раз

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

Сообщение Borjomy_1 »

Надо отцепить провод от входа [?] и снова подцепить. Это баг LabView
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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