AUSTRALIAN NATIONAL UNIVERSITY

 

System Design Note 11.12

 

Created: 12 September 2001

Last modified: 12 September 2001

 

---

 

EPICS DATA LOGGER FOR THE NIFS TEMPERATURE CONTROL SYSTEM

 

Mark Jarnyk

 

Research School of Astronomy and Astrophysics

Institute of Advanced Studies

Australian National University

 

Revision History

 

Revision No.

Author &

Date

Approval &

Date

Description

Revision 1

Mark Jarnyk

11 September 2001

Peter Young

11 September 2001

Original document.

 

 

 

 

 

 

Contents

 

1 Purpose. 1

2 Applicable Documents. 2

3 Introduction. 2

4 Use. 2

5 Technical Details. 4

Appendix A: List of Figures. 4

 

 

1 Purpose

 

The purpose of this document is to describe the use of the data logger written for the Gemini Near-infrared Integral Field Spectrograph (NIFS) temperature control system.

 

2 Applicable Documents

 

Document ID

Source

Title

 

Lake Shore

User’s Manual Model 340 Temperature Controller

 

OMEGA Engineering Inc.

CYC3211, CYC3212, CYC3214 Cryogenic Temperature Controller – Operator’s Manual

 

OMEGA Engineering Inc.

Operator’s Manual Model CYD201 and CYD208 Digital Thermometer

 

 

 

 

 

3 Introduction

 

The Solaris program, tlog, is used to log all data coming from the EPICS temperature control system of the Gemini Near-infrared Integral Field Spectrograph (NIFS). It uses channel access to retrieve values from the engineering database and writes them to standard output.

 

4 Use

 

The format of the command is

tlog sample_time

where sample_time can be specified in seconds, minutes or hours by suffixing the number with “s”, “m” or “h” respectively. If no suffix is present, then the units are seconds. Thus, the commands:

tlog 300

tlog 300s

tlog 5m

are equivalent.

 

To use this command, first ensure that you are “logged in”, as with other NIFS programs. To do this, change to the NIFS root directory and type:

source nifsLogin

 

This sets up the environment which tlog and other programs use. To run tlog change to the ENG/bin/solaris directory. To log data every five minutes, type in:

./tlog 300

The data is written to standard output. If you wish to write it to a file, then simply use redirection, thus:

./tlog 300 > datafile &

The & puts the process into the background. tlog is terminated by typing in

./tlog stop

 

tlog dumps all the values from the temperature control aspects of the database. At present, this consists of fifty-seven channels, so the resulting log has a lot of data in it. The file is not meant for human viewing, but rather is intended to be loaded into a plotting program or spreadsheet. Each column is tab-delimited. Lslog was purposely designed such that individual channels could not be switched off. This was done, such that there would always be a full record of all germane information to a cool-down, making retrospective diagnosis of problems easier. This is especially important in a system like NIFS that can take a week to cool down. The large amount of resulting data should not be a problem, since it can be manipulated easily by plotting programs and text manipulators such as awk.

 

Table 1: Parameters recorded by tlog.

Column

Parameter

Units

1

time since logging started

seconds

2

Temperature at top of strap

K

3

Temperature at bottom of strap

K

4

Getter temperature

K

5

Temperature at edge of cold work surface

K

6

spare 1

 

7

spare 2

 

8

spare 3

 

9

spare 4

 

 

Cold work surface

 

10

Temperature

K

11

Set point

K

12

Heat

%

13

Proportional gain

 

14

Integral gain

 

15

Differential gain

 

16

Range

 

17

Tune

 

 

OIWFS

 

18

Temperature

K

19

Set point

K

20

Heat

%

21

Proportional gain

 

22

Integral gain

 

23

Differential gain

 

24

Range

 

25

Tune

 

 

Detector

 

26

Temperature

K

27

Set point

K

28

Heat

%

29

Proportional gain

 

30

Integral gain

 

31

Differential gain

 

32

Range

 

33

Tune

 

 

Detector Housing

 

34

Temperature

K

35

Set point

K

36

Heat

%

37

Proportional gain

 

38

Integral gain

 

39

Differential gain

 

40

Range

 

41

Tune

 

 

For loop controlling temperature on detector

 

42

output: percentage of output of an analog output

%

43

polarity: Specifies whether the analog output is bipolar or positive only.

 

44

mode : specifies data the analog output monitors: 0 = off, 1 = input, 2 = manual, 3 = loop.

 

45

input: Specifies which input to monitor if mode = 2.

 

46

Specifies input data: 1 = Kelvin, 2 = Celsius, 3 = sensor units, 4 = linear equation.

 

47

high: If mode is 1, then this is the data at which the analog output represents +100% of output.

 

48

If mode is 1, then this is the data at which the analog output represents -100% of output if bipolar, or 0% output if positive output only.

 

49

manual: If mode is 2, this parameter is the output of the analog output.

 

 

For loop controlling temperature on detector housing

 

50

output: percentage of output of an analog output

%

51

polarity: Specifies whether the analog output is bipolar or positive only.

 

52

mode : specifies data the analog output monitors: 0 = off, 1 = input, 2 = manual, 3 = loop.

 

53

input: Specifies which input to monitor if mode = 2.

 

54

Specifies input data: 1 = Kelvin, 2 = Celsius, 3 = sensor units, 4 = linear equation.

 

55

high: If mode is 1, then this is the data at which the analog output represents +100% of output.

 

56

If mode is 1, then this is the data at which the analog output represents -100% of output if bipolar, or 0% output if positive output only.

 

57

manual: If mode is 2, this parameter is the output of the analog output.

 

 

 

5 Technical Details

 

tlog is a Bourne shell script acting as a wrapper around coollog, a C program using the ezca channel access library. Whilst this library is not very efficient, it is being used in a program that will typically sleep for 5 minutes between samples, so efficiency is not needed. tlog saves coollog’s PID in the file ENG/bin/solaris/.tlog.pid, so that it can kill it later when instructed to via the “stop” command.

 

Appendix A: List of Figures

 

Figure 1

figure.gif