]> jspc29.x-matter.uni-frankfurt.de Git - mvd_epics.git/commitdiff
HAMEG_HMP4030: OVP proper & tested implementation
authorPhilipp Klaus <klaus@physik.uni-frankfurt.de>
Tue, 8 Aug 2017 16:20:49 +0000 (18:20 +0200)
committerPhilipp Klaus <klaus@physik.uni-frankfurt.de>
Tue, 8 Aug 2017 16:21:07 +0000 (18:21 +0200)
HAMEG_HMP4030/HAMEG_HMP4030App/Db/HAMEG_HMP4030_CHANNEL.template
HAMEG_HMP4030/protocols/HAMEG_HMP4030.proto

index 0c0d82c82426a00a9ad7a57be69d7704d35b8efa..8cafe8466d47c869cf7442e4e0ae37f174770b2a 100644 (file)
@@ -42,6 +42,7 @@ record (ai, "$(sys):$(sub):POWER:$(vsys):$(CHAN_NAME):GetVoltageStepSize") {
   field (PREC, "3")
   field (ADEL, "0.005")
   field (MDEL, "0.001")
+  field (SCAN, "5 second")
 }
 
 record (ao, "$(sys):$(sub):POWER:$(vsys):$(CHAN_NAME):SetCurrent") {
@@ -88,6 +89,7 @@ record (ai, "$(sys):$(sub):POWER:$(vsys):$(CHAN_NAME):GetCurrentStepSize") {
   field (PREC, "4")
   field (ADEL, "0.005")
   field (MDEL, "0.001")
+  field (SCAN, "5 second")
 }
 
 record (bo, "$(sys):$(sub):POWER:$(vsys):$(CHAN_NAME):SetOutput") {
@@ -124,49 +126,63 @@ record (bi, "$(sys):$(sub):POWER:$(vsys):$(CHAN_NAME):GetFuse") {
   field (PINI, "YES")
 }
 
-record (ao, "$(sys):$(sub):POWER:$(vsys):$(CHAN_NAME):SetVoltageProtection") {
+record (ao, "$(sys):$(sub):POWER:$(vsys):$(CHAN_NAME):SetOVPVoltage") {
   field (DTYP, "stream")
-  field (OUT,  "@HAMEG_HMP4030.proto SetVoltageProtection($(CHAN)) $(PORT)")
+  field (OUT,  "@HAMEG_HMP4030.proto SetOVPVoltage($(CHAN)) $(PORT)")
   field (EGU, "V")
-  field (PREC, "4")
+  field (PREC, "3")
   field (ADEL, "0.005")
   field (MDEL, "0.001")
 }
 
+record (ai, "$(sys):$(sub):POWER:$(vsys):$(CHAN_NAME):GetOVPVoltage") {
+  field (DTYP, "stream")
+  field (INP,  "@HAMEG_HMP4030.proto GetOVPVoltage($(CHAN)) $(PORT)")
+  field (EGU, "V")
+  field (PREC, "3")
+  field (ADEL, "0.005")
+  field (MDEL, "0.001")
+  field (SCAN, "2 second")
+}
+
 record (bo, "$(sys):$(sub):POWER:$(vsys):$(CHAN_NAME):ClearVoltageProtection") {
   field (DTYP, "stream")
   field (OUT,  "@HAMEG_HMP4030.proto ClearVoltageProtection($(CHAN)) $(PORT)")
 }
 
-#record (ai, "$(sys):$(sub):POWER:$(vsys):$(CHAN_NAME):ReadVoltageMinProtection") {
-#  field (DTYP, "stream")
-#  field (INP,  "@HAMEG_HMP4030.proto ReadVoltageMINProtection($(CHAN)) $(PORT)")
-#  field (EGU, "V")
-#  field (PREC, "4")
-#  field (ADEL, "0.005")
-#  field (MDEL, "0.001")
-#}
-
-#record (ai, "$(sys):$(sub):POWER:$(vsys):$(CHAN_NAME):ReadVoltageMaXProtection") {
-#  field (DTYP, "stream")
-#  field (INP,  "@HAMEG_HMP4030.proto ReadVoltageMAXProtection($(CHAN)) $(PORT)")
-#  field (EGU, "V")
-#  field (PREC, "4")
-#  field (ADEL, "0.005")
-#  field (MDEL, "0.001")
-#}
-
-#record (bo, "$(sys):$(sub):POWER:$(vsys):$(CHAN_NAME):SetVoltageProtectionMeasured") {
-#  field (DTYP, "stream")
-#  field (OUT,  "@HAMEG_HMP4030.proto SetVoltageProtectionMeasured($(CHAN)) $(PORT)")
-#}
-
-#record (bo, "$(sys):$(sub):POWER:$(vsys):$(CHAN_NAME):SetVoltageProtectionProtected") {
-#  field (DTYP, "stream")
-#  field (OUT,  "@HAMEG_HMP4030.proto SetVoltageProtectionProtected($(CHAN)) $(PORT)")
-#}
-
-#record (bi, "$(sys):$(sub):POWER:$(vsys):$(CHAN_NAME):ReadVoltageProtectionMode") {
-#  field (DTYP, "stream")
-#  field (INP,  "@HAMEG_HMP4030.proto ReadVoltageProtectionMode($(CHAN)) $(PORT)")
-#}
+record (ai, "$(sys):$(sub):POWER:$(vsys):$(CHAN_NAME):GetOVPVoltageMin") {
+  field (DTYP, "stream")
+  field (INP,  "@HAMEG_HMP4030.proto GetOVPVoltageLimit($(CHAN),MIN) $(PORT)")
+  field (EGU, "V")
+  field (PREC, "3")
+  field (ADEL, "0.005")
+  field (MDEL, "0.001")
+  field (PINI, "YES")
+}
+
+record (ai, "$(sys):$(sub):POWER:$(vsys):$(CHAN_NAME):GetOVPVoltageMax") {
+  field (DTYP, "stream")
+  field (INP,  "@HAMEG_HMP4030.proto GetOVPVoltageLimit($(CHAN),MAX) $(PORT)")
+  field (EGU, "V")
+  field (PREC, "3")
+  field (ADEL, "0.005")
+  field (MDEL, "0.001")
+  field (PINI, "YES")
+}
+
+record (mbbi , "$(sys):$(sub):POWER:$(vsys):$(CHAN_NAME):GetOVPMode") {
+  field (DTYP, "stream")
+  field (INP,  "@HAMEG_HMP4030.proto GetOVPMode($(CHAN)) $(PORT)")
+  field (SCAN, "5 second")
+  field (PINI, "YES")
+  field (ZRST, "MEASURED")
+  field (ONST, "PROTECTED")
+}
+
+record (mbbo , "$(sys):$(sub):POWER:$(vsys):$(CHAN_NAME):SetOVPMode") {
+  field (DTYP, "stream")
+  field (OUT,  "@HAMEG_HMP4030.proto SetOVPMode($(CHAN)) $(PORT)")
+  field (PINI, "YES")
+  field (ZRST, "MEASURED")
+  field (ONST, "PROTECTED")
+}
index 379e7f66f22c5c141ba034e66a07bb643a304814..fa381bc66471098cb0c6325ebcf5daa8dbae0f9d 100644 (file)
@@ -104,8 +104,8 @@ SetCurrentStepSize {
   out "CURR:STEP %f";
   @init { GetCurrentStepSize; }
 }
-#---CHANNELMODE-----------------------------------------------------------------------
+
+#---CHANNEL OUTPUT--------------------------------------------------------------------
 
 GetOutput {
   out "INST OUT\$1";
@@ -135,9 +135,16 @@ SetFuse {
 
 #---PROTECTION------------------------------------------------------------------------
 
-SetVoltageProtection {
+GetOVPVoltage {
+  out "INST OUT\$1";
+  out "VOLT:PROT?";
+  in "%f";
+}
+
+SetOVPVoltage {
   out "INST OUT\$1";
   out "VOLT:PROT %f";
+  @init { GetOVPVoltage; }
 }
 
 ClearVoltageProtection {
@@ -145,30 +152,20 @@ ClearVoltageProtection {
   out "VOLT:PROT:CLE";
 }
 
-ReadVoltageMINProtection {
+GetOVPVoltageLimit {
   out "INST OUT\$1";
-  out "VOLT:PROT? MIN";
+  out "VOLT:PROT? \$2";
   in "%f";
 } 
 
-ReadVoltageMAXProtection {
+GetOVPMode {
   out "INST OUT\$1";
-  out "VOLT:PROT? MAX";
-  in "%f";
-}
-
-SetVoltageProtectionMeasured {
-  out "INST OUT\$1";
-  out "VOLT:PROT:MODE MEAS";
-}
-
-SetVoltageProtectionProtected {
-  out "INST OUT\$1";
-  out "VOLT:PROT:MODE PROT";
+  out "VOLT:PROT:MODE?";
+  in "%{measured|protected}";
 }
 
-ReadVoltageProtectionMode {
+SetOVPMode {
   out "INST OUT\$1";
-  out "VOLT:PROT:MODE?";
-  in "protected";
+  out "VOLT:PROT:MODE %{MEAS|PROT}";
+  @init { GetOVPMode; }
 }