Альтернатива статистике регистра при изменении большого количества числовых элементов управления - PullRequest
1 голос
/ 12 марта 2019

Я довольно новичок в LabVIEW, но у меня есть опыт работы с другими языками программирования, такими как Python и C ++.Код, который я собираюсь спросить о работах, но при его сборке было много ручной работы.В основном я читаю из текстового файла и изменяю управляющие значения на основе значений в текстовом файле, в данном случае его 40 значений.

Я настроил его для извлечения из текстового файла и разделения строки запятыми.Затем я перебираю все значения и устанавливаю индикатор для считывания соответствующего значения.Мне нужно было создать 40 отдельных случаев для достижения этой цели.Я уверен, что есть лучший способ сделать это.У кого-нибудь есть предложения?

LabVIEW code

Ответы [ 2 ]

3 голосов
/ 13 марта 2019

Возможны следующие улучшения (в дополнение к предложению sweber :

  1. Если файл содержит только данные, без формата «метка-значение», то вы можете прочитать его в формате csv (значения, разделенные запятыми) и фактически прочитать только 1-ю строку.
  2. В настоящее время вы устанавливаете значения в зависимости от порядка. В этом случае вы можете: создать ссылку на все индикаторы, построить их в массив в правильном порядке, в цикле For Loop назначить значения индикаторам через узел свойства Value. Code snippet В целом, я поддерживаю sweber , что если это какие-то данные значения ключа, то лучше использовать либо формат JSON, либо формат файла .ini, который поддерживает такую ​​структуру.
1 голос
/ 12 марта 2019

Давайте начнем с некоторой оптимизации:

Кажется, ваш файл данных содержит не более 40 цифр. Вы можете подключить одномерный массив DBL к входу по умолчанию VI строки в массив, и вы получите только одномерный массив. Нет необходимости в 2D массиве.

Во-вторых, нет необходимости преобразовывать значение индекса FOR в строку, CASE также принимает целые числа.

Теперь о вашем вопросе. Самое простое решение - отобразить значения в виде массива так же, как они поступают из ВП строки в массив.

Но я думаю, что каждое значение имеет особое значение, и вы хотели бы как-то отобразить его имя / описание. В этом случае создайте кластер с 40 значениями, отредактируйте их метки так, как вам нравится, и убедитесь, что их порядок в кластере совпадает с порядком значений в файлах. Затем подключите одномерный массив значений к этому кластеру через VI массива в кластер.

Если вы планируете использовать текстовый файл для хранения и загрузки значений, конвертируйте данные кластера в JSON и vv. может быть что-то для вас, так как он переносит метки кластера в файл тоже. (Тем не менее, изменение меток является проблемой)

...