rework Epics support/testing with LS336

second approach, better fitting what was agreed upon so far.
- pv_names are local to SEC-node, so not exporting via json and marking
  them 'private'
- 2 devices for 2 temperature control loops, not one 'monster' device
  which handles everything.
- read_status implemented
- write_target also updates the status (may be sensible to go to the core?)
- provide working stubs in case epics is not installed (-> testing possible)
- tested with the stubs.
- tests with real epics.

found problems:
in EpicsTempCtrl(EpicsDriveable) the read/write_<paramname> methods from
EpicsDriveable needed to be reimplemented. This should not be needed!

Change-Id: I9e4eeaff83114131d117c8f04fba758dfe22237b
This commit is contained in:
Erik Dahlbäck
2017-01-18 14:06:00 +01:00
committed by Erik Dahlbäck
parent c0fd2e9907
commit 502d0f152a
4 changed files with 258 additions and 27 deletions

View File

@ -1,5 +1,9 @@
[equipment]
# set SEC-node properties
id=cryo_7
description = short description
This is a very long description providing all the glory details in all the glory details about the stuff we are describing
[interface tcp]
interface=tcp

View File

@ -1,11 +1,59 @@
[server]
bindto=0.0.0.0
bindport=10767
[equipment]
id=see_demo_equipment
[client]
connectto=0.0.0.0
port=10767
interface = tcp
framing=eol
encoding=text
[device epicspv]
class=devices.epics.EPICS_PV
sensor="test_sensor"
max_rpm="very high"
[interface testing]
interface=tcp
bindto=0.0.0.0
bindport=10767
# protocol to use for this interface
framing=eol
encoding=demo
[device tc1]
class=devices.demo.CoilTemp
sensor="X34598T7"
[device tc2]
class=devices.demo.CoilTemp
sensor="X39284Q8'
[device sensor1]
class=devices.epics.EpicsReadable
epics_version="v4"
.group="Lakeshore336"
value_pv="DEV:KRDG1"
[device loop1]
class=devices.epics.EpicsTempCtrl
epics_version="v4"
.group="Lakeshore336"
value_pv="DEV:KRDG1"
target_pv="DEV:SETP_S1"
heaterrange_pv="DEV:RANGE_S1"
[device sensor2]
class=devices.epics.EpicsReadable
epics_version="v4"
.group="Lakeshore336"
value_pv="DEV:KRDG2"
[device loop2]
class=devices.epics.EpicsTempCtrl
epics_version="v4"
.group="Lakeshore336"
value_pv="DEV:KRDG2"
target_pv="DEV:SETP_S2"
heaterrange_pv="DEV:RANGE_S2"