Я пытаюсь считать амплитуду с формы волны и светить зеленым, желтым или красным светом в зависимости от амплитуды сигнала. Я довольно новичок в labVIEW и не смог реализовать свою идею, которая бы работала с любым другим языком программирования, который я знаю, для работы. То, что я пытаюсь сделать, это взять значение сигнала, и при каждом его обновлении я буду сохранять значение амплитуды в индексе большого массива. С каждым измерением, сохраненным в индексе n + 1 массива.
После определенного количества точек данных я хочу начать заново и заменить значения в массиве (я использую узел формулы с модулем для этого). Сохраняя конечное количество индексов для проверки максимального значения, я ограничиваю свою проверку амплитуды определенным периодом времени.
Однако моя проблема заключается в том, что всякий раз, когда я использую подмножество массива замены, чтобы вставить новое значение в индекс n,все остальные индексные точки стираются. Оказывать это в значительной степени бесполезно. Я думал, что массив Initialize вызывает проблемы, но я просто не могу понять, что здесь делать.
Я пытался создать только основные массивы на передней панели, но это либо массивы элементов управления или индикаторов, ине может быть написано и прочитано, его можно либо контролировать (читать, но не писать), либо указывать (писать, но не читать)? Может быть, просто невозможно сделать то, что я имел в виду, красноречиво в LabVIEW. Если это не возможно сделать с массивами в LabVIEW, я поищу другой способ сделать это.
Я почти уверен, что большую часть остального кода я записал, за исключением незавершенной части здесь итам. Это просто моя проблема с массивами не работает, как я хочу их тоже.
Я ожидал, что массив сохранит свои ранее введенные данные для индекса n-1 при вводе индекса n. И будет заменен только после того, как индекс вернется к этой конкретной точке.
Вместо этого каждый раз, когда вводится новый индекс, инициализируется новый массив.
ссылка для загрузки дляVI