ni daq 예제

파이썬에서 C로 변수 형식을 변환하거나 다른 방법으로 다른 라이브러리에서 처리됩니다. PyDAQmx는 후드 에 아래 모든 작업을하고 있으며, 우리가 예를 들어, 플로트 대신 정수를 사용할 수있는 이유입니다. 그러나 항상 동일하지는 않다는 점에 유의하십시오. 일부 라이브러리는 매우 구체적인 형식을 정의해야 합니다. 아날로그 출력 전압 하위 시스템을 지원하는 장치를 검색하려면 명령 창의 목록에서 장치 이름을 클릭하거나 daq.getDevices 명령에서 반환된 어레이의 장치에 액세스합니다. 이 예제에서는 섀시 `cDAQ1`의 슬롯 2에 있는 모듈을 나타내는 ID `cDAQ1Mod2`가 있는 내쇼날인스트루먼트 CompactDAQ 장치 NI 9263을 사용합니다. 이 작업을 Python 개체로 사용하기 때문에 함수의 첫 번째 인수를 삭제합니다. PyDAQmx는 (우리가 구문 t.CreateAIVoltageChan을 사용하고 있음을 알 수 있습니다) 그것을 처리합니다. 그런 다음 다른 모든 인수를 전달하여 유형에주의를 기울여야합니다. 그래서, 그것은 char를 말한다 어디 우리는 문자열을 전달 해야; 이것이 바로 우리가 채널을 위해 하는 일입니다.

이 예제에서는 채널에 이름을 할당하지 않으므로 없음으로 둡니다. 다음으로, 우리는 터미널을 정의해야Config; 설명서를 보면 DAQmx_Val_RSE, DAQmx_Val_Diff 등과 같은 다양한 옵션이 있음을 알 수 있습니다. PyDAQmx는 이미 정의된 모든 구성을 가지고 있으며 위의 예인 니다크(nidaq)와 같이 직접 사용할 수 있습니다. DAQmx_Val_Diff. 이제 데이터를 플롯하거나 저장하거나 원하는 대로 할 수 있습니다. 읽기 함수에는 완전히 다루지 않은 많은 옵션이 있지만 설명서를 쉽게 확인할 수 있습니다. 함수는 입력이 거의 없는 다양한 시나리오를 다루기 때문에 복잡성이 발생합니다. 예를 들어, 지속적으로 획득하고 있고 가능한 한 많은 데이터 포인트를 다운로드하려고 하지만 몇 개인지 미리 알 수 없는 경우입니다. 또한 외부 트리거를 사용할 때 주의를 기울여야 하며 인수를 완료하는 데 걸리는 시간이 얼마나 걸릴지 알 수 없습니다. 내쇼날인스트루먼트 카드는 파이썬과 함께 사용할 수 있도록 설계되지 않았지만, 많은 합병증없이 다양한 프로젝트에서 여전히 사용할 수 있습니다. 모든 카드에 공통 API를 사용하면 코드를 한 번 변경해도 교환할 필요가 없으므로 이상적입니다.

그러나 각 카드는 획득 속도 또는 처리할 수 있는 동시 작업 수와 같은 매우 다른 기능을 가질 수 있습니다.