CompactRIO에서 Scan Engine과 FPGA Mode를 동시에 사용할 수 있습니까?

업데이트 됨 Apr 29, 2024

환경

하드웨어

  • CompactRIO Controller
  • CompactRIO Chassis

소프트웨어

  • LabVIEW Real-Time Module
  • LabVIEW

Scan Interface 모드에서 일부 C 시리즈 모듈을 사용하고 LabVIEW FPGA Interface 모드에서 다른 일부 모듈을 사용하고 싶습니다. 섀시 프로퍼티를 보면 이것에 대한 옵션은 따로 제공되지 않습니다. 이 작업을 수행하려면 어떻게 설정을 해야 합니까?

CompactRIO 타겟에서 Scan Interface 와 LabVIEW FPGA Interface를 동시에 사용하는 것을 하이브리드 모드(Hybrid Mode)라고 합니다. 이를 이용하면 다른 모듈이 FPGA를 사용하여 프로그래밍이 되는 동안 I/O 변수를 사용하여 일부 Interface를 스캔 Interface와 함께 사용할 수 있습니다. 일부 C 시리즈 모듈은 스캔 Interface와 호환되지 않을 수 있으므로 확인하고 사용하시기 바랍니다. 하이브리드 모드를 사용하면 최종 응용 프로그램의 코드 용량을 줄일 수 있습니다. 

 

참고 : 주어진 모듈은 스캔 Interface 모드 또는 FPGA 모드에서 사용할 수 있지만 동시에 사용할 수는 없습니다. 



하이브리드 모드를 사용하면 최종 응용 프로그램에 두 가지 영향을 미칩니다.
  • 컴파일러는 사용자 정의 FPGA 코드를 사용하여 기본 RIO Scan Interface 로직을 하나의 비트 파일로 컴파일해야 하므로 컴파일 시간이 많이 늘어납니다.
  • Scan Interface가 2개의 DMA FIFO를 사용하므로 FPGA 코드에서 사용할 수 있는 DMA FIFO 수는 줄어듭니다. 타겟에서 사용할 수 있는 DMA FIFO 수를 확인하려면 How Many DMA Channels Are on My FPGA Target? 를 참조하십시오.

하이브리드 모드에서 CompactRIO를 설정하려면, 다음 단계를 따르십시오 :

1. 새로운 LabVIEW 프로젝트를 생성하고 프로젝트 탐색기 윈도우에서 최상단에 있는 프로젝트를 마우스 오른쪽 버튼으로 클릭하십시오. 새로 만들기(New)»타겟 및 디바이스(Target and Devices...)를 선택하여 프로젝트에 타겟과 디바이스 추가(Add Targets and Devices on Project) 대화 상자를 실행합니다.



2. 하드웨어가 설치되어 있다면 기존 타겟 또는 디바이스(Existing target or device)가 선택되었는지 확인한 뒤, Real-Time CompactRIO를 확장하고 CompactRIO 컨트롤러를 선택한 다음 확인을 클릭하십시오.



3. 하드웨어가 설치되어 있지 않다면, 새로운 타겟 또는 장치(New target or device)를 체크하고 Real-Time CompactRIO를 확장 한 다음, CompactRIO 컨트롤러를 선택하십시오. 확인을 클릭하십시오. 통합 컨트롤러 및 섀시가없는 경우 대상을 마우스 오른쪽 단추로 클릭하고 새로 만들기(New)»타켓 및 디바이스(Targets and Devices)를 선택 합니다. 새로운 타겟 또는 디바이스(New target or device)를 선택하고 Real-Time CompactRIO를 확장한 다음 섀시를 선택하십시오. 선택을 완료하면 확인을 클릭하십시오.


4. Select Programming Mode 대화 상자가 나타나면 Scan Interface를 선택하고 Continue를 클릭하십시오.



5. Discover C Series Modules? 대화 상자가 나타나면 Discover를 클릭하십시오. 선택하고 나면 C 시리즈 모듈이 섀시 아래에 추가됩니다.



6. 섀시에서 마우스 오른쪽 버튼을 클릭하고 새로 만들기(New)»FPGA Target을 선택하여 섀시에 FPGA 타겟을 추가하십시오.



7. Deploy CompactRIO Chassis Settings? 대화 상자에서 Deploy Later 선택하십시오. 프로젝트를 설정한 후 섀시를 LabVIEW FPGA 인터페이스 모드로 전환할 것입니다.



8. LabVIEW FPGA Interface 모드를 사용하여 인터페이스 하고자 하는 모듈을 FPGA 타겟 아래로 드래그하십시오. 모듈 I/O는 FPGA 타겟 아래의 폴더에 나타나며 섀시에서는 사라집니다.



9. 스캔 인터페이스와 호환되지 않는 모듈이 있으면 FPGA 타겟을 마우스 오른쪽 버튼으로 클릭하고 새로 만들기(New)»C series Modules...을 선택하여 FPGA 타겟에 추가하십시오. 기존 모듈을 추가하거나 모듈을 프로젝트에 수동으로 추가하십시오.



참고 : RIO 17.0 드라이버부터는 "RSI 리소스" 또는 "실시간 검색 리소스"라는 프로젝트 트리 섀시 항목 아래에 새 폴더가 추가됩니다. 이 항목에는 스캔 인터페이스 모드에서 프로그램하기로 선택한 모든 모듈이 포함되어 있습니다. 스캔 인터페이스 모드에서 C 시리즈 모듈을 프로젝트에 추가하려면 Real-Time Scan Resources를 오른쪽 클릭하고 새로 만들기(New)»C 시리즈 모듈(C Series Module...)을 선택하십시오. 이것은 위에서 설명한 FPGA 인터페이스 모드에서 FPGA 타겟에 모듈을 추가하는데 사용되는 방법과 동일한 프로세스입니다.



10. 대상에 연결된 경우 프로젝트에서 섀시를 마우스 오른쪽 단추로 클릭하고 배포(Deploy)를 선택합니다. 타겟에 연결되어 있지 않다면, 하드웨어에 연결하고 어플리케이션을 실행하기 전에 섀시를 LabVIEW FPGA 인터페이스 모드로 배포하십시오.



11. FPGA 타겟에서 마우스 오른쪽 버튼을 클릭하고 새로 만들기»VI를 선택하여 FPGA 타겟 아래에 새 VI를 생성합니다. LabVIEW FPGA 인터페이스 모드에서 사용되는 모듈에 FPGA I/O 노드를 사용하여 FPGA 코드를 구현하십시오.

12. VI를 컴파일하십시오. 이렇게 하면 FPGA 코드에 RIO 스캔 인터페이스 로직이 추가되어 어플리케이션이 스캔 엔진과 FPGA를 동시에 사용할 수 있습니다.
참고 : cRIO-904x 컨트롤러는 DAQmx 프로그래밍도 지원합니다. C 시리즈 모듈을 Real-Time CPU 모드 (NI-DAQmx 프로그래밍의 경우) 프로젝트에 추가하려면 Real-Time Scan Resources를 마우스 오른쪽 버튼으로 클릭하고 새로 만들기(New)»C 시리즈 모듈(C Series Module...)을 선택하십시오. 이는 위에서 설명한 대로 다른 프로그래밍 모드를 위해 모듈을 프로젝트에 추가하는데 사용하는 방법과 동일한 프로세스입니다. 이러한 디바이스의 경우, 모듈별로 DAQmx 또는 FPGA 모드를 선택할 수 있습니다.
 

Additional Information

하이브리드 모드를 사용한다는 것은 RT 타겟 아래에 C 시리즈 모듈이 있고 LabVIEW 프로젝트의 FPGA 타겟 아래에 일부 C 시리즈 모듈이 있다는 것을 의미합니다.

어플리케이션을 실행하려고 할 때 다음과 같은 오류가 나타나면 섀시가 LabVIEW FPGA Interface 모드에 있는지 확인하십시오.

Error -61141: LabVIEW FPGA: The operation could not be performed because the FPGA is busy. Stop all activities on the FPGA before requesting this operation. If the target is in Scan Interface programming mode, put it in FPGA Interface programming mode.


  1.  프로젝트에서 섀시를 마우스 오른쪽 단추를 클릭하고 프로퍼티(Properties)를 선택하십시오.

 
  1. LabVIEW FPGA Interface 가 선택되었는지 확인하십시오. 확인을 클릭하십시오.

 
  1. 섀시를 마우스 오른쪽 단추로 클릭하고 배포(Deploy)를 선택합니다.