Campbell-scientific CR1000 Measurement and Control System Instrukcja Użytkownika Strona 319

  • Pobierz
  • Dodaj do moich podręczników
  • Drukuj
Przeglądanie stron 318
Section 8. Operation
319
Table 70. Example. E for a 10 Hz input signal
Scan Rising Edge / Scan E
5.0 50 50
0.5 5 5
0.05 0.5 1
TimerIO() instruction measures frequencies of 1 kHz with higher frequency
resolution over short (sub-second) intervals. In contrast, sub-second frequency
measurement with PulseCount() produce measurements of lower resolution.
Consider a 1-kHz input. Table Frequency Resolution Comparison
(p. 319) lists
frequency resolution to be expected for a 1-kHz signal measured by TimerIO()
and PulseCount() at 0.5-s and 5.0-s scan intervals.
Increasing a measurement interval from 1 second to 10 seconds, either by
increasing the scan interval (when using PulseCount()) or by averaging (when
using PulseCount() or TimerIO()), improves the resulting frequency resolution
from 1 Hz to 0.1 Hz. Averaging can be accomplished by the Average(),
AvgRun(), and AvgSpa() instructions. Also, PulseCount() has the option of
entering a number greater than 1 in the POption parameter. Doing so enters an
averaging interval in milliseconds for a direct running average computation.
However, use caution when averaging, Averaging of any measurement reduces
the certainty that the result truly represents a real aspect of the phenomenon being
measured.
Table 71. Frequency Resolution Comparison
0.5 s Scan 5.0 s Scan
PulseCount(), POption=1 FR = 2 Hz FR = 0.2 Hz
TimerIO(), Function=2 FR = 0.0011 Hz FR = 0.00011 Hz
Q — When more than one pulse is in a scan interval, what does TimerIO() return
when configured to return a frequency? Does it average the measured periods and
compute the frequency from that (f = 1/T)? For example:
Scan(50,mSec,10,0)
TimerIO(WindSpd(),11111111,00022000,60,Sec)
A — In the background, a 32-bit timer counter is saved each time the signal
transitions as programmed (rising or falling). This counter is running at a fixed
high frequency. A count is also incremented for each transition. When the
TimerIO() instruction executes, it uses the difference of time between the edge
prior to the last execution and the edge prior to this execution as the time
difference. The number of transitions that occur between these two times divided
by the time difference gives the calculated frequency. For multiple edges
occurring between execution intervals, this calculation does assume that the
frequency is not varying over the execution interval. The calculation returns the
average regardless of how the signal is changing.
Przeglądanie stron 318
1 2 ... 314 315 316 317 318 319 320 321 322 323 324 ... 587 588

Komentarze do niniejszej Instrukcji

Brak uwag