worst-case is (91 segments) • (4 s / segment) = 364 s per complete self-calibration.
During instrument power-up, the CR1000 computes calibration coefficients by
averaging ten complete sets of self-calibration measurements. After power up,
newly determined G and B values are low-pass filtered as follows:
Next_Value = (1/5) • (new value) + (4/5) • (old value)
This results in the following settling percentages:
• 20% for 1 new value,
• 49% for 3 new values
• 67% for 5 new values
• 89% for 10 new values
• 96% for 14 new values
If this rate of update is too slow, the Calibrate() instruction can be used. The
Calibrate() instruction computes the necessary G and B values every scan
without any low-pass filtering.
For a VoltSe() instruction, B is determined as part of self-calibration only if the
parameter MeasOff = 0. An exception is B for VoltSe() on the ±2500 input range
with a 250 µs integration, which is always determined in self-calibration for use
internally. For a VoltDiff() instruction, B is determined as part of self-calibration
only if the parameter RevDiff = 0.
VoltSe() and VoltDiff() instructions, on a given input range with the same
integration durations, use the same G values but different B values. The six input-
voltage ranges (±5000 mV, ±2500 mV, ±250 mV, and ±25 mV), in combination
with the three most common integration durations (250 µs, 50 Hz half-cycle, and
60 Hz half-cycle) result in a maximum of 18 different gains (G), and 18 offsets for
VoltSe() measurements (B), and 18 offsets for VoltDiff() measurements (B) to be
determined during CR1000 self-calibration (maximum of 54 values). These
values can be viewed in the Status table, with entries identified as listed in table
Status Table Calibration Entries
(p. 346).
Automatic self-calibration can be overridden with the Calibrate() instruction,
which forces a calibration for each execution, and does not employ low-pass
filtering on the newly determined G and B values. The Calibrate() instruction
has two parameters: CalRange and Dest. CalRange determines whether to
calibrate only the necessary input ranges for a given CRBasic program (CalRange
= 0) or to calibrate all input ranges (CalRange ≠ 0). The Dest parameter should
be of sufficient dimension for all returned G and B values, which is a minimum of
two for the automatic self-calibration of VoltSE() including B (offset) for the
±2500 mV input range with first 250 µs integration, and a maximum of 54 for all
input-voltage ranges used and possible integration durations.
An example use of the Calibrate() instruction programmed to calibrate all input
ranges is given in the following CRBasic code snip:
'Calibrate(Dest,Range)
Calibrate(cal(1),true)
where Dest is an array of 54 variables, and Range ≠ 0 to calibrate all input ranges.
Results of this command are listed in the table Calibrate() Instruction Results
(p.
347).
345