Major changes since last revision: Flukes replaced with Keithley Digital MultiMeter; previous revision says nothing about Epics.
Heating the sample for LVP runs involves sending a controlled current through a furnace and reading the temperature with a thermocouple. This involves controlling and monitoring the heater power supply voltage and current, as well as the temperature. The MEDM screens which enable these controls are shown below.
First, we have the main screen:

The two relevant buttons on this screen are Heater and Keithley and Other electronics:
![]() |
![]() |
| Heater | Keithley and Other electronics |
Most of the signals are processed by the Keithley Digital Multimeter, and we will look at that later. The buttons on the Heater menu point to various functions for monitoring and controlling the temperature:

Monitor Temp, Pressure & LVDTs
Using the middle mouse button in any of the data boxes, you can identify the Process Variable (PV) associated with that reading. For the above screen, these are:
Name on window |
PV |
Units |
| Heater Power | X17B2:LVP_furnace_calcs.D | Watts |
Temperature (Tc1) |
X17B2:LVP_tc1_calcs.I | °C |
| Temperature (Tc2) | X17B2:LVP_tc2_calcs.I | °C |
| LVDT: Gap | X17B2:scaler1_calc2.VAL | mm |
| LVDT: Bottom | X17B2:scaler1_calc3.VAL | mm |
| Oil Pressure (bars) | X17B2:LVP_furnace_calcs.G | bars |
| Load (Tons) | X17B2:LVP_furnace_calcs.H | tons |
| Pump Speed | X17B2:DMM1Ch7_calc.VAL | % of Max |
| Pump Position | X17B2:DMM1Ch8_calc.VAL | % of Max |
All these lines point to specific lines on other windows, shown below.
We will be concerned with the first three lines only for the discussion of the heater. These all refer to calculations made in a userTransform. The thermocouple calculations are performed in the Thermocouple #1 Calculations and the Thermocouple #2 Calculations windows.

Thermocouple #1 Calculations
If you look at line I in this transform, you see the equation B+A*C+A^2*D+A^3*E+A*4*F+A^5*G*A^6*G. The letters A, B, C, D, E, F, G, and H refer to the values in the 4th column of the corresponding row. A is the reading of the thermocouple from the Keithley, in milliVolts. The calibration coefficients, B, C, D, E, F, G, and H, listed in the second column can either be typed in manually, or loaded using an IDL program called load_thermocouple_cal.pro, listed below:
pro load_thermocouple_cal, index, meter
if (n_elements(index) eq 0) then message,
'Usage: load_thermocouple_cal, tc_index, meter'
if (n_elements(meter) eq 0) then message, 'Usage: load_thermocouple_cal, tc_index,
meter'
if (index lt 1) or (index gt 10) then message, 'tc_index must be between 1 and
10'
if (meter lt 1) or (meter gt 2) then message, 'meter must be between 1 and 2'
; This file loads the thermocouple
calibration
; Thermocouple conversion coefficients (10)
coeffs = [ $
0,1,0,0,0,0,0, $
25.35814157,72.21224989,-2.815357654,.1698181988,-.46996988e-2,.5418247356e-4,-.2645913896e-7,
$
28.842,23.987,0,0,0,0,0, $
30.41082384,71.48460400,-2.653841116,0.1534199600,-0.3953438497E-02,0.4242474276E-04,-.1766276156E-07,
$
30.09713989,72.75952978,-3.348950307,0.2665505800,-0.1173597651E-01,0.2818261953E-03,-.2733066876E-05,
$
25.05262657,69.37059567,-2.017625153,0.0891823577,-8.1251251339e-04,-.3226719000e-04,0.6820774988e-06,
$
25.30200973,70.55820145,-2.387582938,0.1299370657,-0.2870959470E-02,0.1619613496E-04,0.2519157716E-06,
$
28.37065525,74.04641335,-1.452700146,-.04483512603,0.7197806231E-02,-.2381368548E-03,0.2612083841E-05,
$
19.41832589,75.29103822,-2.118950549,0.04461300802,0.1919626434E-02,-.9391041392E-04,0.1124852894E-05,
$
20.61286273,75.229305278,-1.99131594,0.02906734054,0.2671442980E-02,-1.105697512E-04,0.1264764189E-05]
coeffs = reform(coeffs, 7, 10)
desc = ['Volts', 'W-Re type C', 'Type K', 'W-Re type C', 'W-Re type C', 'W-Re
type C', 'W-Re type D', $
'W-Re type D', 'W-Re type D', 'W-Re type D']
prefix = 'X17B2:Fluke'+strtrim(meter,2)+'_Calc'
letters = ['B', 'C', 'D', 'E', 'F', 'G', 'H']
t = caput(prefix+'.DESC', desc[index-1])
for i=0, 6 do begin
t = caput(prefix+'.INP'+letters[i], string(coeffs[i,index-1], format='(e20.12)'))
endfor
end
Line A in the transform screen tells you that the thermocouple reading comes from Keithley#1 channel 1 (DMM1Ch1).
Let's look at the Keithley screen now:
If you press the More button, you get another menu from which you can select either the 1st 10 channels, or channels 11 through 22 (we don't use the Genersl SCPI Input button).
![]() |
![]() |
Keithley main screen |
...more |
Pressing Multi-channel 1-10, you get:

Multi-channel 1-10
If you were to point to the PV for channel 1 labeled RAW:, you would get: X17B2:DMM1Ch1_raw.VAL, while if you were to point to the PV for channel 1 labeled CALC:, you would get: X17B2:DMM1Ch1_calc.VAL There is a calculation built into this window to convert Volts to milliVolts, which is why we use DMM1Ch1_calc rather than DMM1Ch1_raw.
The heater can be controlled bi either the Heater Power Supply window (labeled Power Supply #1 10V 250A in the Heater menu) or the Furnace Control window (labeled LVP furnace #1 in the same menu). I will discuss them both here.

Heater Power Supply #1
Name on window |
PV |
meaning |
| Volts | X17B2:DMM1Ch5_calc.VAL | measured voltage across heater |
| Value (numeric) | X17B2:DAC1_1.VAL | |
| X17B2:DAC1_1_tweak.A | button to lower voltage by tweak value | |
| Value (graphic) | X17B2:DAC1_1.VAL | |
| X17B2:DAC1_1_tweak.B | button to raise voltage by tweak value | |
| Tweak | X17B2:DAC1_1_tweakVal | amount of tweak |
| unlabeled bar graph for volts | X17B2:DMM1Ch5_calc.VAL | |
| Amperes | X17B2:DMM1Ch6_calc.VAL | measured heater current using current sensor |
| Value (numeric) | X17B2:DAC1_3.VAL | |
| X17B2:DAC1_3_tweak.A | button to lower current by tweak value | |
| Value (graphic) | X17B2:DAC1_3.VAL | |
| X17B2:DAC1_3_tweak.B | button to raise current by tweak value | |
| Tweak | X17B2:DAC1_3_tweakVal | amount of tweak |
| unlabeled bar graph for volts | X17B2:DMM1Ch6_calc.VAL | |
| Temperature (Tc1) | X17B2:LVP_tc1_calcs.I | temperature from Tc1 using calculation record above |
| Temperature (Tc2) | X17B2:LVP_tc2_calcs.I | temperature from Tc2 using calculation record above |
| EMF (Tc1) | X17B2:DMM1Ch1_calc.VAL | reading in mV of Tc1 using Keithley |
| EMF (Tc2) | X17B2:DMM1Ch2_calc.VAL | reading in mV of Tc1 using Keithley |

Furnace Control for Power Supply #1
| Name on window | PV | meaning |
| Current limit | X17B2:LVP_AMP_tweak_down.PROC | |
| X17B2:DAC1_3 | ||
| X17B2:LVP_AMP_tweak_up.PROC | ||
| Current control tweak | X17B2:LVP_AMP_tweak | |
| Voltage Limit | X17B2:LVP_VOLT_tweak_down.PROC | |
| X17B2:DAC1_1 | ||
| X17B2:LVP_VOLT_tweak_up.PROC | ||
| Voltage limit tweak | X17B2:LVP_VOLT_tweak | |
| Temperature | X17B2:LVP_furnace_calcs.E | |
| Temperature setpoint | X17B2:SP_tweak_down.PROC | |
| X17B2:SP_tweak_down.PROC | ||
| X17B2:SP_tweak_up.PROC | ||
| Temperature setpoint tweak | X17B2:LVP_SP_tweak | |
| Heater Voltage (actual) | X17B2:LVP_furnace_calcs.A | |
| Heater current (actual) | X17B2:LVP_furnace_calcs.B | |
| Heater power | X17B2:LVP_furnace_calcs.D | |
| Heater resistance | X17B2:LVP_furnace_calcs.C | |
| Control Mode | X17B2:VoltageMode | |
| unlabeled | X17B2:LVP_mode_reset.PROC | |
| Quench | X17B2:LVP_quench.PROC | |
| Feedback | X17B2:LVP:PID1.FBON |
At the bottom of the screen there is a More button:


Furnace calcs
The heater voltage and current are indicated in four different places (each); each place has a different meaning. Three of these places can be seen by pressing the Monitor PS1 button at the bottom of the Keithley and Other Electronics menu:


It is the yellow readings with which we are concerned.
The first yellow row (Actual Volts & Amps) is the reading directly off the press. The volts reading comes from the wires connect to the top and bottom halves of the press which go directly to the Keithley channel 5. The current reading comes from the current sensor which feeds the Keithley channel 6 (after a conversion).
The second row (Control Volts calculated) represents the desired voltage fed into the the DACs, and represents the voltage and current desired. Due to losses in the system, they will be slightly different from the Actual Volts & Amps line.
The third row (Control Volts read) represents the same control voltages from the DACs). Again, they should be the same as the Control Volts calculated, within error. If they are substantially different, then either the DACs are faulty, or there is a bad connection.
Finally, the power supply itself has readouts, which can only be seen using the video camera. Its values will be greater than the Actual readings, because of resistance in the heater leads, and inaccuracies in the meters.