이 섹션에서는 PXI-4130의 출력을 프로그래밍할 때 고려해야 할 타이밍에 대해 설명합니다. 업데이트 속도와 NI-DCPower에서 Configure VI가 어떻게 작동하는지 설명합니다.
전압 또는 전류를 프로그래밍하는 데 사용할 수 있는 VI에는 네 가지가 있습니다. 이는 Configure Voltage Level VI, Configure Current Limit VI, Configure Current Level VI, Configure Voltage Limit VI입니다. 처음 두 개의 VI는 DC 전압 출력 함수가 선택된 경우에만 적용할 수 있고, 마지막 두 개의 VI는 DC 전류 출력 함수가 선택된 경우에만 적용할 수 있습니다. 출력 함수는 Configure Output Function VI를 사용하여 설정합니다. 출력을 프로그래밍하는 방법에 대한 더 자세한 내용은 NI-DCPower 도움말 파일을 참조하십시오.
Configure VI는 루프에서 연이어 호출되어 가장 빠른 업데이트 속도에 도달할 수 있습니다. 하드웨어는 333µs마다 새 업데이트 명령을 받을 수 있기 때문에 최대 연속 업데이트 속도는 3kHz입니다. 예를 들어, 전압을 스윕하려는 경우 루프에서 Configure Voltage Level VI를 반복적으로 호출할 수 있습니다. 루프가 실행될 수 있는 가장 빠른 속도는 3kHz로, 소프트웨어가 그보다 더 빠르게 실행된다 해도 새 업데이트 명령과 이전 명령의 간격이 최소 333µs여야 하기 때문입니다. 다음 그림은 LabVIEW에서 이러한 루프를 코딩하는 방법을 나타냅니다.
그림 1: 최대 속도로 Configure Voltage Level VI를 호출합니다.
다음 테이블은 PXI-4130 채널 1에서 할 수 있는 여러 설정 변경의 처리 시간을 보여줍니다.
첫 번째 열은 특정 변경이 출력에 영향을 미치기 시작하는 데 필요한 최대 시간입니다. 이 시간은 Configure VI가 하드웨어 재설정을 완료하고 실행이 사용자 프로그램에 반환되는 때를 넘어서는 시점부터 측정됩니다.
두 번째 열은 최대 연속 업데이트 속도를 보여줍니다. 이 속도는 연속적으로 실행되는 루프의 업데이트에 대한 것입니다. 이 최대 속도에 대한 더 자세한 내용은 소프트웨어 속도 섹션을 참조하십시오.
설정 변경 | 최대 시간(µs) | 최대 연속 속도(Hz) |
전압 레벨 변경(같은 극성) | 667 | 3000 |
전압 레벨 변경(다른 극성) | 1000 | 1500 |
전류 리미트 변경 | 667 | 3000 |
전류 레벨 변경(같은 극성) | 667 | 3000 |
전류 레벨 변경(다른 극성) | 1000 | 1500 |
전압 리미트 변경 | 667 | 1500 |
전압 레벨 범위 변경 | 667 | 1500 |
전류 리미트 범위 변경 | 4000 | 273 |
전류 레벨 범위 변경 | 4000 | 273 |
전압 리미트 범위 변경 | 667 | 1500 |
3kHz의 속도로 지속적으로 출력을 업데이트할 수 있지만, 그렇다고 해서 출력이 333µs 기간 내에 안정되는 것은 아닙니다. 로드 조건에 따라 이보다 훨씬 오래 걸릴 수 있습니다. 출력 안정 시간을 결정하는 방법에 대한 자세한 내용은 NI PXI-4130 스펙과 프로그래밍 가능한 DC 전원 공급 장치 및 정밀 DC 소스 로드 시 고려사항을 참조하십시오.
전류 리미트 범위 또는 전류 레벨 범위를 변경하는 것은 다른 작업보다 시간이 더 오래 걸립니다. 출력 값에 대응하는 자동 범위 프로퍼티가 true로 설정된 경우, 출력 값을 변경하면 출력 범위가 모르는 사이에 변경될 수 있습니다. 예를 들어, niDCPower 전류 리미트 자동 범위 프로퍼티가 true로 설정된 경우, 전류 리미트를 변경하면 전류 리미트 범위가 모르는 사이에 변경될 수 있습니다.
레벨의 극성(부호)이 변경되면 전압 레벨 또는 전류 레벨을 변경하는 데 시간이 더 오래 걸립니다. 예를 들어, 전압 레벨을 -5V에서 10V로 변경하는 것은 5V에서 10V로 변경하는 것보다 시간이 더 오래 걸립니다.
NI-DCPower를 통해 두 개의 VI를 측정에 사용할 수 있습니다. 첫 번째 VI는 niDCPower Measure입니다. 이 VI를 사용하여 한 채널의 단일 전압 또는 전류 측정을 얻을 수 있습니다. 두 번째 VI는 niDCPower Measure Multiple입니다. 이 VI를 사용하여 동시에 하나 이상의 채널에서 전압과 전류를 측정할 수 있습니다.
전압와 전류 측정이 모두 필요하거나 여러 채널을 측정하는 경우 niDCPower Measure보다 Measure Multiple을 사용하는 것이 더 좋습니다. 그러나 단일 측정만 필요한 경우에는 Measure이 더 좋습니다.
PXI-4130은 3kS/s의 샘플링 속도에서 333µs마다 모든 채널의 전압과 전류를 지속적으로 측정합니다. Samples to Average 프로퍼티와 Reset Average Before Measurement 프로퍼티를 사용하여 Measure와 Measure Multiple에서 이러한 측정을 사용하고 보고하는 방법을 컨트롤할 수 있습니다.
PXI-4130은 측정 샘플의 평균값을 연산하여 노이즈를 줄이고 감도를 향상시킬 수 있습니다. 계측기는 3kS/s의 속도로 수집된 고정된 개수의 샘플 평균값을 연산합니다. niDCPower Samples to Average 프로퍼티를 사용하여 프로그래밍 방식으로 샘플의 개수를 설정하여 평균값을 연산할 수 있습니다. 측정 VI 중 하나가 호출되면 평균값이 연산된 측정이 반환됩니다.
PXI-4130은 간단한 평균값 연산 방식을 사용합니다. 이동 평균이 아닙니다. 계측기는 샘플을 고정된 개수만큼 수집할 때마다 평균값을 연산하고 샘플을 버립니다. 그 후 다음 측정의 평균값을 연산하기 위해 다음 샘플 세트를 수집하기 시작합니다.
Reset Average Before Measurement 프로퍼티를 사용하여 평균값이 연산된 샘플이 수집되는 시기를 컨트롤할 수 있습니다.
이 프로퍼티가 false로 설정된 경우 계측기는 지속적으로 측정을 수집하고 그 평균값을 연산합니다. niDCPower Measure 또는 niDCPower Measure Multiple을 호출하면 마지막으로 평균값을 연산한 측정이 반환됩니다. 이는 이 평균값을 얻기 위해 사용된 샘플이 해당 VI를 호출하기 전에 수집되었음을 의미합니다. 이 셋팅을 사용하면 어플리케이션이 다른 작업을 하는 동안 계측기가 샘플을 수집할 수 있어 최고의 성능을 발휘할 수 있습니다.
이 프로퍼티가 true로 설정된 경우 NI-DCPower는 이전 샘플과 이전 평균을 버리고 새 샘플 세트를 수집하여 평균값을 연산합니다.
그러므로 niDCPower Measure 또는 niDCPower Measure Multiple에서 반환된 측정이 VI를 호출한 후 수집한 샘플로 구성되게 하려면 Reset Average Before Measurement 프로퍼티를 true로 설정해야 합니다. 이는 기본 셋팅입니다.
소프트웨어 측정 속도는 NI-DCPower를 사용하는 어플리케이션이 측정을 수집할 수 있는 가장 빠른 속도입니다. 이 속도는 두 가지 인자로 결정됩니다. 첫 번째 인자는 PXI-4130의 고정 샘플링 속도로, 이는 3kS/s입니다. 두 번째 인자는 niDCPower Samples to Average 프로퍼티에서 설정한 대로 평균값을 연산할 샘플의 개수입니다. 이는 다음 LV 루프가 실행되는 최대 속도입니다.
그림 2: Measure Multiple VI를 최대 속도로 호출합니다.
niDCPower Samples to Average 프로퍼티와 NIDCPOWER_ATTR_SAMPLES_TO_AVERAGE 속성의 기본값은 10입니다. 다음 식과 같이 가장 빠른 소프트웨어 측정 속도는 기본값 사용 시 초당 300회 측정입니다.
측정의 평균값을 연산하지 않는 경우(Samples to Average = 1) 가장 빠른 소프트웨어 측정 속도는 초당 3,000회 측정입니다.
평균값을 연산하지 않고 측정하면 측정 속도는 가장 빨라지지만 주변 노이즈(예를 들어, 케이블 연결로 인해 발생하는 50Hz 또는 60Hz의 노이즈)로 인해 측정의 불확실성이 더 커집니다. 필요에 따라 niDCPower Samples to Average 프로퍼티 또는 NIDCPOWER_ATTR_SAMPLES_TO_AVERAGE 속성을 조정하여 어플리케이션의 노이즈 제거 성능과 측정 속도를 최적화합니다.
노이즈 제거에 대한 더 자세한 내용은 NI DC 전원 공급 장치 및 SMU 도움말 파일을 참조하십시오.
처음 두 섹션에서는 최대 업데이트 속도와 최대 측정 속도에 대해 설명했습니다. 이는 하드웨어의 최댓값 관점에서만 살펴본 것입니다. 그러나 최대 속도에 도달하려면 어플리케이션 소프트웨어가 하드웨어를 따라갈 수 있을 만큼 빠르게 실행되어야 합니다.
다음 테이블은 NI-DCPower에서 타이밍 결정성 높은 VI의 일반적인 실행 속도를 나타냅니다. 이 수치는 대부분의 최신 PC에서 소프트웨어가 PXI-4130의 최대 속도를 따라갈 수 있다는 것을 보여줍니다. 따라서 NI-DCPower 어플리케이션을 실행하는 프로세서 코어가 충분히 빠르고 다른 작업을 실행 중이지 않는 한 어플리케이션은 최대 3kHz의 PXI-4130 속도를 달성할 수 있습니다.
VI | 실행 시간(µs) |
Configure Voltage Level VI | 120 |
Configure Current Limit VI | 140 |
Configure Current Level VI | 125 |
Configure Voltage Limit VI | 125 |
Measure VI | 120 |
MeasureMultiple VI(단일 채널) | 185 |
* 이 수치는 1.86GHz Intel® Core™2 Duo 프로세서 머신의 벤치마크입니다. NI는 앞서 두 섹션에서 언급한 3kHz의 최대 루프 속도를 실현하려는 경우 멀티코어 프로세서를 권장합니다.
앞서 두 섹션에서 소스 타이밍과 측정 타이밍에 대해 별도로 설명했습니다. 그러나 NI PXI-4130은 소스 측정 작업에 가장 유용합니다.
일반적인 소스 측정 루프에서는 전압 또는 전류를 소싱하고 출력이 안정될 때까지 기다린 후 측정합니다. 소프트웨어 타이밍에 의존하기 때문에 최소 타이머 분해능은 일반적으로 1ms 범위입니다. 다음 그림은 이러한 소스-지연-측정 루프를 코딩하는 방법을 나타냅니다.
그림 3: 소스-지연-측정 루프를 구현하는 방법입니다.
루프 속도는 루프를 설정한 안정 시간에 따라 크게 달라집니다.
가장 높은 소스 측정 루프 속도를 실현하기 위해 어플리케이션에서 소프트웨어 타이머를 사용할 수 없습니다. 루프는 반드시 업데이트(Configure VI)와 측정(Measure VI)만을 포함해야 합니다. 이 방법을 사용하면 Samples to Average 프로퍼티가 1로 설정된 경우 3kHz의 루프 속도를 얻을 수 있습니다.
그러나 PXI-4130 출력이 업데이트되기 전에 Configure VI가 반환되기 때문에 측정은 같은 루프 반복에서 요청된 값과 일치하지 않습니다. 이 측정은 유효하지만 2~4번의 루프 반복 이후에 발생한 업데이트에 해당합니다. 그러므로 루프가 종료된 후 최소 2~4번 더 측정하고 루프에서 얻은 측정에 이 측정을 추가해야 합니다. 또한 동시 전압과 전류 측정(최대 250µs 간격)을 반환하는 Measure Multiple VI를 사용하고, Configure VI에 대한 입력에 의존하는 대신 루프 이후에 실행하는 데이터 처리에 이러한 전압과 전류 측정을 사용하는 것이 좋습니다.
성능을 더 높이려면 Reset Average Before Measurement 프로퍼티를 false로 설정합니다.
이 루프 속도는 Samples to Average의 개수를 늘리면 감소합니다.
다음 그림은 LabVIEW에서 이러한 루프를 코딩하는 방법을 보여줍니다.
그림 4: 가장 빠른 소스 측정 루프 속도를 구현하는 방법입니다.
PXI-4130을 사용하는 모든 시퀀스 또는 스윕은 소프트웨어에서 이루어져야 하며 소프트웨어로 타이밍이 정해져야 합니다. PXI-4130은 333µs의 새로운 전압과 전류 측정을 수집할 수 있습니다. 또한 333µs마다 업데이트를 실행할 수 있습니다. 그러므로 도달할 수 있는 가장 빠른 소스 측정 루프 속도는 3kHz입니다. 상당히 빠른 머신이 있다면 작업량을 최소화하면서 이 속도를 실현할 수 있습니다.