From 04:00 PM CDT – 08:00 PM CDT (09:00 PM UTC – 01:00 AM UTC) Tuesday, April 16, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.



FPGA 서브 VI 내의 로컬 변수 읽기가 항상 기본값을 반환합니다.



주요한 소프트웨어: LabVIEW Modules>>LabVIEW FPGA Module
주요한 소프트웨어 버전: 2012
문제가 해결된 소프트웨어 버전: 2012 SP1
부차적인 소프트웨어: N/A

문제점: LabVIEW FPGA 2012를 사용 중인데, FPGA 서브 VI 내에서 로컬 변수를 읽어서 그 로컬 변수와 관련된 컨트롤/인디케이터에 다시 쓰고 있습니다. 개발 컴퓨터에서 시뮬레이션을 하면 의도한 동작을 하지만, FPGA 타겟에서 실행하면 적절하게 동작하지 않습니다. 왜 이런 현상이 발생하며 어떻게 해결할 수 있습니까?

솔루션:

LabVIEW 2012에서 중간 코드 생성 (intermediate code generation) 단계가 부주의하게도 아래와 유사한 부분의 코드에서 사용되는 로컬 변수의 레지스터를 제거합니다.

FPGA 서브 VI 내에서 로컬 변수로부터 읽는 이러한 코드에서 로컬 변수 읽기는 컨트롤/인디케이터의 기본값을 항상 반환하게 됩니다. 숫자형 컨트롤이나 인디케이터의 경우 로컬 변수 읽기는 항상 0을 반환합니다.

이 이슈는 LabVIEW 2012 SP1과 그 이후 버전에서 해결되었으며, 업그레이드함으로써 현재 코드의 수정없이 해결이 가능합니다.

문제 해결을 위해 코드 수정 역시 가능합니다. 아래 그림은 틱 카운트(Ticks) 인디케이터가 컨트롤로 바뀌고 로컬 변수 읽기와 위치를 바꾼 것입니다. 이렇게 하면 로컬 변수 레지스터가 적절하게 매핑되고 유효한 값을 생성합니다.



관련 링크: LabVIEW 2012 and 2012 SP1 Known Issues
LabVIEW 2012 SP1 Bug Fixes

첨부:





리포트 날짜: 05/06/2013
마지막 업데이트: 12/08/2014
문서 번호: 695EG85Y