I added the Dalsa 1M60 temperature measurements to EPICS. The break down is as follows:
|
Digitizer Board Temperature |
Sensor Board Temperature |
Dalsa 1M60 menu command |
vt |
vt |
Response from 1M60
|
Camera Temperature on Digitizer Board: 47.2 Celsius |
Camera Temperature on Sensor Board: 39.4 Celsius |
Menu accessed via |
MATLAB: unix('/opt/EDTpdv/serial_cmd vt') |
MATLAB: unix('/opt/EDTpdv/serial_cmd vt') |
Temperature stored in |
MATLAB: local variable called DBtemp (from the numerical sub-string) |
MATLAB: local variable called SBtemp (from the numerical sub-string) |
EPICS channel written via |
MATLAB: unix(['ezcawrite {channel-name} ' num2str(DBtemp)]) |
MATLAB: unix(['ezcawrite {channel-name} ' num2str(SBtemp)]) |
EPICS channel defined in |
HWS.db |
HWS.db |
Channel name |
C4:TCS-HWS_TEMP_DIGITIZER |
C4:TCS-HWS_TEMP_SENSOR |
I added a softIoc called HWS to /cvs/cds/caltech/target/softIoc. It added the channels following channels: C4:TCS-HWS_TEMP_DIGITIZER and C4:TCS-HWS_TEMP_SENSOR. The ioc (input/output controller) is run with the following command:
/cvs/opt/epics-3.14.10-RC2-i386/base/bin/linux-x86/softIoc HWS.cmd
although this doesn't execute it in the background. The MATLAB routine /home/controls/matlab_scripts/read_dalsa_temperature_write_to_epics.m is run continuously to access the serial port, get the temperature data and to write it to the EPICS channels. These were then available to read in the Hartmann sensor MEDM screen which is shown below. Also shown is a StripTool monitoring the temperatures. I had just turned off a fan that was cooling the 1M60 which is why the temperature is rising.
|