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