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.



DLL이 NI PharLap ETS 기반의 LabVIEW Real-Time 컨트롤러에서 실행 가능 여부를 어떻게 확인할 수 있습니까?



주요한 소프트웨어:
주요한 소프트웨어 버전: 2009 SP1
문제가 해결된 소프트웨어 버전: N/A
부차적인 소프트웨어: N/A

문제점:  DLL을 만들어서 NI PharLap ETS 기반의 LabVIEW RT 컨트롤러에서 실행하고 싶습니다. 이 DLL이 실행 가능 여부를 확인할 수 있는 방법이 있습니까?

솔루션:

Note: 이 내용은 NI PharLap ETS에만 해당되는 내용입니다.

 National Instruments는 C 기반의 공유 라이브러리를 위한 CVI Real-Time을 사용하길 권장합니다. 이는 원격 디버깅을 허용합니다. 만약 공유 라이브러리가 C++ 기반일경우, National Instruments 는 VC6 이나 VC7.1 컴파일러를 사용하길 권장합니다. 다른 컴파일러들은 컴파일이 될때, 연결을 위해 런타임 컴포넌트를 필요로 하여 만들어진 DLL이 RT에서 모든 기능을 지원하지 않을 수 있습니다.

만약 DLL이 윈도우 기반에서 잘 동작한다면 아마도 LabVIEW Real-Time (NI PharLap ETS)에서도 잘 동작 할 것입니다. 그러나 만약 작성한 코드가 Win32에 포함되지 않은 함수를 호출한다면, 그 코드는 오류가 발생할 것입니다. 그 에러는 예를들어 아래와 같은 메세지를 보일 것입니다:


첨부된 유틸리티를 사용하시면 해당 DLL이 real-time OS에서 동작이 가능한지 결정하는데 도움이 됩니다. 각 LabVIEW Real-Time 버전에 따라 사용하시면 됩니다.

3가지의 카테고리로 정렬이 됩니다 : Good, Stubbed, Bad


 

LabWindows/CVI는 Build»Target Settings 에서 LabVIEW Real-Time 환경에서 동작 가능한 DLL을 빌드할 수 있습니다. CVI가 지원하지 않거나 잘못된 함수를 체크하는 동안 테스트를 할 수는 없습니다. LabVIEW real-time에서 동작을 한번 더 검토하기 위해서 첨부된 유틸리티를 사용하십시오.

LabVIEW Real-Time을 위한 DLL 만들기에 더 많은 정보를 얻고 싶으시면 아래의 관련 링크를 참고하시기 바랍니다.

Note: 만약 이 유틸리티가 어떤 DLL에 의존되어 있다면(ex: wsock32.dll), 현재 real-time 타겟에 존재하거나  <National Instruments>/RT Images에 존재하는 버전을 사용하십시오. 이 DLL들은 같은 이름이라도 윈도우 버전에 따라 다를 수 있습니다.


자동 DLL 체커

 LabVIEW 2013 이상 버전에서는  DLL Checker를 추가 구문과 함께 호출하여 사용 가능합니다. 이는 프로그램이나 배치 스크립트에서 체크가 가능하도록 합니다.

사용 구문은 다음과 같습니다.

-- -d "<path to dll>" -l "<path to log file>" -include "<path to DLL includes>"

LabVIEW에서 자동으로 체크하는 예제가 아래에 있습니다.


-d "<path to dll>" - 체크하고자 하는 dll의 경로를 설정합니다.

-l "<path to log file>" - 체크한 로그의 결과를 어디에 저장할지 경로를 설정합니다. 만약 경로에 파일이 존재하지 않으면 새롭게 생성합니다.

-include "<path to DLL includes>" - 기본적으로 DLL 체커는 -d 명령으로 메인 dll만 체크합니다. 의존성있는 dll들도 체크하기 위해서 -include 플래그도 사용이 가능합니다.



관련 링크: KnowledgeBase 320HIP2Y: How Can I Debug a DLL in LabVIEW RT?
KnowledgeBase 3GD9T8SU: Can I Use MS Visual C++.NET (7.x) To Build DLLs Using the Real-Time Workshop for NI Real-Time Targets?
Developer Zone: Using LabWindows/CVI DLLs in LabVIEW Real-Time Applications
,
KnowledgeBase 320HIP2Y: How Can I Debug a DLL in LabVIEW RT?
KnowledgeBase 3GD9T8SU: Can I Use MS Visual C++.NET (7.x) To Build DLLs Using the Real-Time Workshop for NI Real-Time Targets?
Developer Zone: Using LabWindows/CVI DLLs in LabVIEW Real-Time Applications

첨부:


DLL Checker 7.0.exe - DLL Checker 7.0.exeDLL Checker 7.1.1.exe - DLL Checker 7.1.1.exeDLL Checker 8.0.exe - DLL Checker 8.0.exeDLL Checker 8.2.exe - DLL Checker 8.2.exeDLL Checker 8.5.1.exe - DLL Checker 8.5.1.exeDLL Checker 8.6.exe - DLL Checker 8.6.exeDLL Checker 2009.exe - DLL Checker 2009.exe
DLL Checker 2010.exe - DLL Checker 2010.exe



리포트 날짜: 07/23/2004
마지막 업데이트: 04/28/2015
문서 번호: 3BMI76L1