FTN,L,B 
C 
C HP92401A THERMOCOUPLE LINEARIZATION PACKAGE 
C 
C SOURCE TAPE 92401-80001 REV. A
C RELOC. TAPE 92401-60001 REV. A
C 
C AUTHOR - T.A. SAPONAS 
C 
C VERSION 25 SEPTEMBER 1973 
C 
C 
      FUNCTION CRALM(VOLTS,MODE,IERR) 
C 
C  CRALM CONVERTS THERMOCOUPLE VOLTAGE "VOLTS" TO TEMPERATURE 
C   "CRALM".  MODE DETERMINES THE TEMPERATURE UNIT AND REFERENCE
C   JUNCTION TEMPERATURE. 
C    MODE = 1 - FAHRENHEIT, 32 F REFERENCE JUNCTION TEMPERATURE 
C           2 - FAHRENHEIT, 150 F REFERENCE JUNCTION TEMPERATURE
C          -1 - CELSIUS, 0 C REFERENCE JUNCTION TEMPERATURE 
C          -2 - CELSIUS, 150 F REFERENCE JUNCTION TEMPERATURE 
C IF THE VOLTAGE "VOLTS" IS OUTSIDE THE RANGE OF THE LINEARIZATION, 
C  "IERR" IS SET TO -1, OTHERWISE IT IS SET TO ZERO.
C 
      IERR = 0
      V = VOLTS 
C 
C  DETERMINE REFERENCE JUNCTION TEMPERATURE 
      IF(IABS(MODE)-2)20,10 
C  ADD OFFSET FOR 150 F REFERENCE JUNCTION TEMPERATURE
10    V = V+2.6659E-3 
C 
C 
C  DETERMINE TEMPERATURE RANGE
C 
C IF TEMP. > 350 F (I.E. VOLTS > 7.2 MV) GO TO 21 
20    IF(V-7.2E-3)30,21 
C 
C IF 350 < TEMP. < 800 F  GO TO 800 
21    IF(V-17.53E-3)800,22
C 
C IF 800 < TEMP. < 1600 F  GO TO 1600, OTHERWISE OUTSIDE RANGE
22    IF(V-36.19E-3)1600,26 
C 
C IF -30 < TEMP. < 350 F  GO TO 350, OTHERWISE OUTSIDE RANGE
30    IF(V+1.34E-3)25,350 
C 
C LINEARIZATION RANGE -30 TO 350 DEGREES FAHRENHEIT 
25    IERR = -1 
350   CRALM = V*(V*(V*65332424.-672066.)+45648.7)+31.9106 
      GO TO 60
C 
C LINEARIZATION RANGE 350 TO 800 DEGREES FAHRENHEIT 
800   CRALM = V*(47147.14-V*145779.)+18.1618
      GO TO 60
C 
C LINEARIZATION RANGE 800 TO 1600 DEGREES FAHRENHEIT
26    IERR = -1 
1600  CRALM = V*(V*(V*4223385.-274369.9)+48154.64)+17.796 
C 
C  IF MODE < 0 CONVERT TEMPERATURE TO CELSIUS 
60    IF(MODE)65,27 
65    CRALM = (CRALM-32.)*.5555556
27    RETURN
      END 
      FUNCTION CUCON(VOLTS,MODE,IERR) 
C 
C  CUCON CONVERTS THERMOCOUPLE VOLTAGE "VOLTS" TO TEMPERATURE 
C   "CUCON".  MODE DETERMINES THE TEMPERATURE UNIT AND REFERENCE
C   JUNCTION TEMPERATURE. 
C    MODE = 1 - FAHRENHEIT, 32 F REFERENCE JUNCTION TEMPERATURE 
C           2 - FAHRENHEIT, 150 F REFERENCE JUNCTION TEMPERATURE
C          -1 - CELSIUS, 0 C REFERENCE JUNCTION TEMPERATURE 
C          -2 - CELSIUS, 150 F REFERENCE JUNCTION TEMPERATURE 
C IF THE VOLTAGE "VOLTS" IS OUTSIDE THE RANGE OF THE LINEARIZATION, 
C  "IERR" IS SET TO -1, OTHERWISE IT IS SET TO ZERO.
C 
      IERR = 0
      V = VOLTS 
C 
C  DETERMINE REFERENCE JUNCTION TEMPERATURE 
      IF(IABS(MODE)-2)20,10 
C  ADD OFFSET FOR 150 F REFERENCE JUNCTION TEMPERATURE
10    V = V+2.7113E-3 
C 
C 
C  DETERMINE TEMPERATURE RANGE
C 
C IF TEMP. > 0 F (I.E. VOLTS > -.692E-3) GO TO 21 
20    IF(V+.692E-3)30,21
C 
C IF 0 < TEMP. < 450 GO TO 450
21    IF(V-11.027E-3)450,22 
C 
C IF 450 < TEMP. < 750 F  GO TO 750, OTHERWISE TEMP. OUTSIDE RANGE
22    IF(V-20.81E-3)750,26
C 
C IF -250 < TEMP. < 0 F  GO TO 9250 , OTHERWISE OUTSIDE RANGE 
30    IF(V+4.75E-3)25,9250
C 
C LINEARIZATION RANGE -250 TO 0 DEGREES FAHRENHEIT
25    IERR = -1 
9250  CUCON = V*(V*(V*5.79384E8+1.0186E6)+50783.4)+34.357 
      GO TO 60
C 
C LINEARIZATION RANGE 0 TO 450 DEGREES FAHRENHEIT 
450   CUCON = V*(V*(V*3.13648E7-1.09738E6)+46229.4)+32.042
      GO TO 60
C 
C LINEARIZATION RANGE 450 TO 750 DEGREES FAHRENHEIT 
26    IERR = -1 
750   CUCON = V*(36562.9-185816.*V)+69.651
C 
C  IF MODE < 0 CONVERT TEMPERATURE TO CELSIUS 
60    IF(MODE)65,27 
65    CUCON = (CUCON-32.)*.5555556
27    RETURN
      END 
      FUNCTION FECON(VOLTS,MODE,IERR) 
C 
C  FECON CONVERTS THERMOCOUPLE VOLTAGE "VOLTS" TO TEMPERATURE 
C   "FECON".  MODE DETERMINES THE TEMPERATURE UNIT AND REFERENCE
C   JUNCTION TEMPERATURE. 
C    MODE = 1 - FAHRENHEIT, 32 F REFERENCE JUNCTION TEMPERATURE 
C           2 - FAHRENHEIT, 150 F REFERENCE JUNCTION TEMPERATURE
C          -1 - CELSIUS, 0 C REFERENCE JUNCTION TEMPERATURE 
C          -2 - CELSIUS, 150 F REFERENCE JUNCTION TEMPERATURE 
C IF THE VOLTAGE "VOLTS" IS OUTSIDE THE RANGE OF THE LINEARIZATION, 
C  "IERR" IS SET TO -1, OTHERWISE IT IS SET TO ZERO.
C 
      IERR = 0
      V = VOLTS 
C 
C  DETERMINE REFERENCE JUNCTION TEMPERATURE 
      IF(IABS(MODE)-2)20,10 
C  ADD OFFSET FOR 150 F REFERENCE JUNCTION TEMPERATURE
10    V = V+3.4111E-3 
C 
C 
C  DETERMINE TEMPERATURE RANGE
C 
C IF TEMP. > 250 F  GO TO 21
20    IF(V-6.42E-3)30,21
C 
C IF 250 < TEMP. < 950 F  GO TO 950 
21    IF(V-27.95E-3)950,23
C 
C IF 950 < TEMP. < 1400 F GO TO 1400 , OTHERWISE OUTSIDE RANGE
23    IF(V-42.96E-3)1400,26 
C 
C IF -10 < TEMP. < 250 F  GO TO 250 
30    IF(V+1.16E-3)31,250 
C 
C IF -250 < TEMP. < -10 F  GO TO 9250 , OTHERWISE OUTSIDE RANGE 
31    IF(V+6.71E-3)25,9250
C 
C LINEARIZATION RANGE -250 TO -10 DEGREES FAHRENHEIT
25    IERR = -1 
9250  FECON = V*(V*(V*1.9997E8+876412.)+39241.0)+34.9255
      GO TO 60
C 
C LINEARIZATION RANGE -10 TO 250 DEGREES FAHRENHEIT 
250   FECON = V*(35509.83-247837.6*V)+31.88715
      GO TO 60
C 
C LINEARIZATION RANGE 250 TO 950 DEGREES FAHRENHEIT 
950   FECON = 32527.01*V+41.31181 
      GO TO 60
C 
C LINEARIZATION RANGE 950 TO 1400 DEGREES FAHRENHEIT
26    IERR = -1 
1400  FECON = V*(39578.4-134515.0*V)-50.73999 
C 
C  IF MODE < 0 CONVERT TEMPERATURE TO CELSIUS 
60    IF(MODE)65,27 
65    FECON = (FECON-32.)*.5555556
27    RETURN
      END 
      END$
                                                                                                                                            