Страница 1 из 1

Небольшая проблема с подпрограммами

Добавлено: 13 сен 2017, 15:05
Nikel097
Добрый день!
Хотел создать подпрограмму, так как определенный фрагмент кода будет часто повторяться.
Суть п/п заключается в "переворачивании" одномерного массива чисел, т.е. первый элемент становится последним, а последний первым и так все остальные.
Код п/п ниже:
1.png
Однако при внедрении п/п в реальную программу в первом случае выдается что-то совсем не другое, а во втором случае вроде все ровно. Такое ощущение, будто в п/п остаются данные от других исполнений п/п. Скрин ниже:
2.png
Подскажите пожалуйста, в чем причина?

P.S. заранее массив вводить задом на перед не проще, ибо это связано с особенностями теории автоматического управления ;)

Re: Небольшая проблема с подпрограммами

Добавлено: 13 сен 2017, 15:29
IvanLis
Nikel097 писал(а):Суть п/п заключается в "переворачивании" одномерного массива чисел, т.е. первый элемент становится последним, а последний первым и так все остальные.
А чем не устраивает существующий Reverse 1D Array Function
Nikel097 писал(а):Однако при внедрении п/п в реальную программу в первом случае выдается что-то совсем не другое, а во втором случае вроде все ровно. Такое ощущение, будто в п/п остаются данные от других исполнений п/п.
У Вас используется неинициализированный сдвиговый регистр, по этому в нем остаются данные от предыдущего. Вам его необходимо инициализировать при каждом запуске SubVI: http://zone.ni.com/reference/en-XX/help ... _feedback/
Как-то так
1.png
1.png (14.61 КБ) 1472 просмотра
Оба регистра равнозначны, мне более симпатично использование в нижнем варианте, чтение кода значительно легче.

Re: Небольшая проблема с подпрограммами

Добавлено: 13 сен 2017, 16:09
Juri
Или запускать клоны vi