]> jspc29.x-matter.uni-frankfurt.de Git - mvd_epics.git/commitdiff
HUBER_COOLING: .proto and .db files by F.Feldbauer
authorPhilipp Klaus <klaus@physik.uni-frankfurt.de>
Mon, 10 Apr 2017 14:18:34 +0000 (16:18 +0200)
committerPhilipp Klaus <klaus@physik.uni-frankfurt.de>
Mon, 10 Apr 2017 14:18:34 +0000 (16:18 +0200)
Hint by Peter Zumbruch. To be found on:
http://www.aps.anl.gov/epics/tech-talk/2014/msg00948.php

HUBER_COOLING/HUBER_COOLINGApp/Db/Huber_Unistate_425.db [new file with mode: 0644]
HUBER_COOLING/protocols/Huber_Unistate_425.proto [new file with mode: 0644]

diff --git a/HUBER_COOLING/HUBER_COOLINGApp/Db/Huber_Unistate_425.db b/HUBER_COOLING/HUBER_COOLINGApp/Db/Huber_Unistate_425.db
new file mode 100644 (file)
index 0000000..bd145f3
--- /dev/null
@@ -0,0 +1,100 @@
+#############################################
+# ###                                   ### #
+# ### EPICS Database for                ### #
+# ### Huber Unistate 425                ### #
+# ###                                   ### #
+# ### author: F.Feldbauer               ### #
+# ###         R.Kieser                  ### #
+# ###                                   ### #
+# ### Ref 1.0; 2014-01-07               ### #
+# ###                                   ### #
+# ### macros: subsys  PANDA subsystem   ### #
+# ###         PORT    Asyn Interface    ### #
+# ###         sector  Sector of subsys  ### #
+#############################################
+
+record (ai, "PANDA:$(subsys):COOLING:$(sector):SetpointMom") {
+  field (DTYP, "stream")
+  field (INP,  "@Huber_Unistate_425.proto getDesVal $(PORT)")  
+  field (PINI, "YES")
+  field (EGU,  "°C")
+  field (PREC, "2")
+  field (ADEL, "1")
+  field (MDEL, "1")
+  field (ASLO, "0.01")
+  field (AOFF, "0")
+}
+
+record (ai, "PANDA:$(subsys):COOLING:$(sector):BathTemperatureMom") {
+  field (DTYP, "stream")
+  field (INP,  "@Huber_Unistate_425.proto getBathTemp $(PORT)")
+  field (SCAN, "10 second")
+  field (FLNK, "PANDA:$(subsys):COOLING:$(sector):getExtTemp")
+  field (EGU, "°C")
+  field (PREC, "2")
+  field (ADEL, "1")
+  field (MDEL, "1")
+  field (ASLO, "0.01")
+  field (AOFF, "0")
+                                             
+}
+
+record (ai, "PANDA:$(subsys):COOLING:$(sector):ExternalTemperatureMom") {
+  field (DTYP, "stream")
+  field (INP,  "@Huber_Unistate_425.proto getExtTemp $(PORT)")
+  field (EGU,  "°C")
+  field (PREC, "2")
+  field (ADEL, "1")
+  field (MDEL, "1")
+  field (ASLO, "0.01")
+  field (AOFF, "0")
+}
+
+#--------------------------------------------------------------------------------
+
+record (ao, "PANDA:$(subsys):COOLING:$(sector):Setpoint") {
+  field (DTYP, "stream")
+  field (OUT,  "@Huber_Unistate_425.proto setDesVal $(PORT)") 
+  field (EGU,  "°C")
+  field (PREC, "2")
+  field (ADEL, "1")
+  field (MDEL, "1")
+  field (ASLO, "100")
+  field (AOFF, "0")
+}
+
+record (ao , "PANDA:$(subsys):COOLING:$(sector):MinimumValue") {
+  field (DTYP, "stream")
+  field (OUT,  "@Huber_Unistate_425.proto setMinVal $(PORT)") 
+  field (EGU,  "°C")
+  field (PREC, "2")
+  field (ADEL, "1")
+  field (MDEL, "1")                                         
+  field (ASLO, "100")
+  field (AOFF, "0")
+}
+
+record (ao, "PANDA:$(subsys):COOLING:$(sector):MaximumValue") {
+  field (DTYP, "stream")
+  field (OUT,  "@Huber_Unistate_425.proto setMaxVal $(PORT)")
+  field (EGU,  "°C")
+  field (PREC, "2")
+  field (ADEL, "1")
+  field (MDEL, "1")
+  field (ASLO, "100")
+  field (AOFF, "0")
+}
+
+record (bo , "PANDA:$(subsys):COOLING:$(sector):TemperatureControl") {
+  field (DTYP, "stream")
+  field (OUT,  "@Huber_Unistate_425.proto setTempCtrl $(PORT)")
+  field (ZNAM, "OFF")
+  field (ONAM, "ON")
+}
+
+record (bo, "PANDA:$(subsys):COOLING:$(sector):TemperatureMode") {
+  field (DTYP, "stream")
+  field (OUT,  "@Huber_Unistate_425.proto setTempMode $(PORT)")
+  field (ZNAM, "INTERN")
+  field (ONAM, "EXTERN")
+}
diff --git a/HUBER_COOLING/protocols/Huber_Unistate_425.proto b/HUBER_COOLING/protocols/Huber_Unistate_425.proto
new file mode 100644 (file)
index 0000000..941933d
--- /dev/null
@@ -0,0 +1,123 @@
+#################################################
+# ###                                       ### #
+# ### StreamDevice Protocol for             ### #
+# ### Huber Unistat 425                     ### #
+# ###                                       ### #
+# ### author: F.Feldbauer                   ### #
+# ###         R.Kieser                      ### #
+# ###                                       ### #
+# ### Ref 1.0; 2014-01-07                   ### #
+#################################################
+
+###################
+# ### Globals ### #
+###################
+Terminator    = CR LF;
+LockTimeout   = 5000;
+ReplyTimeout  = 500;
+ReadTimeout   = 500;
+WriteTimeout  = 300;
+ExtraInput    = Ignore;
+
+#####################
+# ### Protocols ### #
+#####################
+
+getDesVal {
+  # get setpoint
+  # Example of command:
+  # field (INP, "@Huber_Unistat_425.proto getDesVal $(PORT)") 
+
+  out "SP?";
+  in  "SP %d";
+}
+
+getBathTemp {
+  # get bath temperature
+  # Example of command:
+  # field (INP, "@Huber_Unistat_425.proto getBathTemp $(PORT)") 
+
+  out "TI?";
+  in  "TI %d";
+}
+
+getExtTemp {
+  # get temperature at external PT100
+  # Example of command:
+  # field (INP, "@Huber_Unistat_425.proto getExtTemp $(PORT)") 
+
+  out "TE?";
+  in  "TE %d";
+}
+
+#--------------------------------------------------------------------------------
+
+setDesVal {
+  # set a new setpoint
+  # Example of command:
+  # field (OUT, "@Huber_Unistat_425.proto setDesVal $(PORT)") 
+
+  out "SP@ %+05d";
+  in  "SP %=d";
+
+  @init {
+    out "SP?";
+    in  "SP %d";
+  }
+}
+
+setMinVal {
+  # set lower limit of setpoint
+  # Example of command:
+  # field (OUT, "@Huber_Unistat_425.proto setMinVal $(PORT)") 
+
+  out "LL& %+05d";
+  in  "LL %=d";        
+
+  @init {
+    out "LL?";
+    in  "LL %d";
+  }
+}
+
+setMaxVal {
+  # set upper limit of setpoint
+  # Example of command:
+  # field (OUT, "@Huber_Unistat_425.proto setMaxVal $(PORT)") 
+
+  out "LH& %+05d";
+  in  "LH %=d";        
+
+  @init {
+    out "LH?";
+    in  "LH %d";
+  }
+}
+
+setTempCtrl {
+  # switch chiller on/off
+  # Example of command:
+  # field (OUT, "@Huber_Unistat_425.proto setTempCtrl $(PORT)") 
+
+  out "CA@ %+05u";
+  in  "CA %=u";
+
+  @init {
+    out "CA?";
+    in  "CA %u";
+  }
+}
+
+setTempMode {
+  # set temperature control mode
+  # Example of command:
+  # field (OUT, "@Huber_Unistat_425.proto setTempMode $(PORT)") 
+
+  out "TM& %+05u";
+  in  "TM %=u";
+
+  @init {
+    out "TM?";
+    in  "TM %u";
+  }
+}