Labview Сохранение нескольких сегментов в один файл - PullRequest
0 голосов
/ 17 октября 2018

enter image description here

Я конвертирую SDK vi, предоставленный компанией, занимающейся сбором данных, в соответствии с моими потребностями.Оригинальный vi записывает несколько сегментов данных в память карты и отображает график формы сигнала на передней панели без какой-либо функции сохранения в файл.Я могу ввести «Количество записей», чтобы установить, сколько сегментов (сигналов) я хочу получить.После завершения сбора я могу нажать «сегмент» («элемент управления» на передней панели для ввода числа), чтобы просмотреть n-й сегмент.Чтобы сохранить все сегменты данных в один файл, я поместил в этот ВП «Виртуальную таблицу записи с разделителями» с функцией присоединения к файлу и транспонирования.

Моя проблема заключается в том, что после добавления функции сохранения файлаВП сохраняет только один сегмент, если для параметра «Выполнить» установлено значение «Ложь», а затем, нажав стрелку, чтобы добавить его в элемент управления «Сегмент» на передней панели, данные следующего сегмента будут сохранены в том же файле иприкрепить после предыдущего сегмента.Или ВП будет сохранять данные без остановки, если для параметра «Выполнить» задано значение «Истина». Я хочу, чтобы, когда я установил «Количество записей» как X (целое число), файл будет сохранять сегменты X. Я пыталсядобавить счетчик, чтобы автоматически добавлять один каждый раз и заменить ввод «Сегмент», но он не работал.

Я чувствую, что очень близко к тому, что хочу, но через неделю я решил обратиться за помощью.Любые комментарии и предложения приветствуются. Спасибо.

1 Ответ

0 голосов
/ 17 октября 2018
  1. Необходим счетчик.Добавьте его в регистр сдвига цикла Loop (не For Loop!).
  2. Добавить сохранение данных в цикл «цикл» (переместить его из цикла «цикл»).
  3. Увеличить счетчик (в цикле «цикл») и сохранять данные, пока счетчик не достигнет значения сегмента.

Позвольте мне также дать одну рекомендацию: попытаться изменить текущую реализацию на более гибкий шаблон проектирования (например, State Machine или Producer-Consumer).В настоящее время ваш код довольно грязный, связанный и т. Д., Поэтому может возникнуть проблема с его отладкой или добавлением новых функций.Оба упомянутых паттерна можно более подробно изучить, просмотрев шаблоны проектов (доступные при создании нового проекта).

...