From efee948eb2586ca4560183b05827de1ac1cb997d Mon Sep 17 00:00:00 2001 From: Rory-Potter-Tessella Date: Thu, 16 Aug 2018 11:09:18 +0100 Subject: [PATCH 01/15] Added Voltage PV --- kickerSup/kicker.db | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/kickerSup/kicker.db b/kickerSup/kicker.db index 4c7f7b3..36a4744 100644 --- a/kickerSup/kicker.db +++ b/kickerSup/kicker.db @@ -1,5 +1,4 @@ -record(bo, "$(P)SIM") -{ +record(bo, "$(P)SIM") { field(SCAN, "Passive") field(DTYP, "Soft Channel") field(ZNAM, "NO") @@ -8,8 +7,7 @@ record(bo, "$(P)SIM") field(PINI, "YES") } -record(bo, "$(P)DISABLE") -{ +record(bo, "$(P)DISABLE") { field(DESC, "Disable comms") field(PINI, "YES") field(VAL, "$(DISABLE=0)") @@ -17,3 +15,17 @@ record(bo, "$(P)DISABLE") field(ZNAM, "COMMS ENABLED") field(ONAM, "COMMS DISABLED") } + +record(ai, "$(P)VOLT") { + field(DESC, "Voltage of the Kicker PSU") + field(DTYP, "Soft Channel") + field(SCAN, "1 second") + field(INP, "$(DAQMX)R00:DATA:_RAW CA MS") + field(EGU, "V") + + info(INTEREST, "HIGH") + info(archive, "VAL") + + field(SDIS, "$(P)DISABLE") + field(TPRO, "1") +} From aee2366c30ca74ff6a9887964ebbcabaea55b358 Mon Sep 17 00:00:00 2001 From: Rory-Potter-Tessella Date: Thu, 16 Aug 2018 11:30:55 +0100 Subject: [PATCH 02/15] Added calibration record --- kickerSup/kicker.db | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/kickerSup/kicker.db b/kickerSup/kicker.db index 36a4744..8963aae 100644 --- a/kickerSup/kicker.db +++ b/kickerSup/kicker.db @@ -19,13 +19,22 @@ record(bo, "$(P)DISABLE") { record(ai, "$(P)VOLT") { field(DESC, "Voltage of the Kicker PSU") field(DTYP, "Soft Channel") - field(SCAN, "1 second") - field(INP, "$(DAQMX)R00:DATA:_RAW CA MS") - field(EGU, "V") - + field(EGU, "kV") + info(INTEREST, "HIGH") info(archive, "VAL") field(SDIS, "$(P)DISABLE") - field(TPRO, "1") +} + +record(calcout, "$(P)CALIBRATE:VOLT"){ + field(DESC, "Calibrates the voltage") + field(DTYP, "Soft Channel") + + field(INPA, "$(DAQMX)R00:DATA:_RAW CP MS") + field(CALC, "A * 45 / 10") + + field(OUT, "$(P)VOLT") + field(OOPT, "On Change") + field(DOPT, "Use CALC") } From 40ef6a5f84b31512ddc5aa842b8b78f89edf5cfe Mon Sep 17 00:00:00 2001 From: Rory-Potter-Tessella Date: Thu, 16 Aug 2018 13:25:51 +0100 Subject: [PATCH 03/15] Added alarms to voltage record --- kickerSup/kicker.db | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/kickerSup/kicker.db b/kickerSup/kicker.db index 8963aae..a10d7f3 100644 --- a/kickerSup/kicker.db +++ b/kickerSup/kicker.db @@ -20,6 +20,16 @@ record(ai, "$(P)VOLT") { field(DESC, "Voltage of the Kicker PSU") field(DTYP, "Soft Channel") field(EGU, "kV") + field(PREC, "3") + field(HOPR, "$(PSU_MAX_VOLT)") + field(LOPR, "0") + field(INP, "$(P)CALIBRATE:VOLT CP MS") + + + field(HIGH, "$(PSU_MAX_VOLT)") + field(HSV, "MAJOR") + field(LOW, "0") + field(LSV, "MAJOR") info(INTEREST, "HIGH") info(archive, "VAL") @@ -27,14 +37,10 @@ record(ai, "$(P)VOLT") { field(SDIS, "$(P)DISABLE") } -record(calcout, "$(P)CALIBRATE:VOLT"){ +record(calc, "$(P)CALIBRATE:VOLT"){ field(DESC, "Calibrates the voltage") field(DTYP, "Soft Channel") field(INPA, "$(DAQMX)R00:DATA:_RAW CP MS") - field(CALC, "A * 45 / 10") - - field(OUT, "$(P)VOLT") - field(OOPT, "On Change") - field(DOPT, "Use CALC") + field(CALC, "A * $(PSU_MAX_VOLT) / 10") } From 42e56574e8567e263fb50899e95020e88946ac79 Mon Sep 17 00:00:00 2001 From: Rory-Potter-Tessella Date: Thu, 16 Aug 2018 17:22:03 +0100 Subject: [PATCH 04/15] Added current PV --- kickerSup/kicker.db | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/kickerSup/kicker.db b/kickerSup/kicker.db index a10d7f3..48cb7ec 100644 --- a/kickerSup/kicker.db +++ b/kickerSup/kicker.db @@ -44,3 +44,34 @@ record(calc, "$(P)CALIBRATE:VOLT"){ field(INPA, "$(DAQMX)R00:DATA:_RAW CP MS") field(CALC, "A * $(PSU_MAX_VOLT) / 10") } + +record(ai, "$(P)CURR") { + field(DESC, "Current of the Kicker PSU") + field(DTYP, "Soft Channel") + field(EGU, "mA") + field(PREC, "3") + + field(HOPR, "$(PSU_MAX_CURR)") + field(LOPR, "0") + + field(INP, "$(P)CALIBRATE:CURR CP MS") + + + field(HIGH, "$(PSU_MAX_CURR)") + field(HSV, "MAJOR") + field(LOW, "0") + field(LSV, "MAJOR") + + info(INTEREST, "HIGH") + info(archive, "VAL") + + field(SDIS, "$(P)DISABLE") +} + +record(calc, "$(P)CALIBRATE:CURR"){ + field(DESC, "Calibrates the voltage") + field(DTYP, "Soft Channel") + + field(INPA, "$(DAQMX)R02:DATA:_RAW CP MS") + field(CALC, "A * $(PSU_MAX_CURR) / 10") +} From d89cad47a304d6e30f05a5335e27d46aa14e13b0 Mon Sep 17 00:00:00 2001 From: Rory-Potter-Tessella Date: Fri, 17 Aug 2018 09:14:40 +0100 Subject: [PATCH 05/15] Tidy up --- kickerSup/kicker.db | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/kickerSup/kicker.db b/kickerSup/kicker.db index 48cb7ec..af5b223 100644 --- a/kickerSup/kicker.db +++ b/kickerSup/kicker.db @@ -39,8 +39,6 @@ record(ai, "$(P)VOLT") { record(calc, "$(P)CALIBRATE:VOLT"){ field(DESC, "Calibrates the voltage") - field(DTYP, "Soft Channel") - field(INPA, "$(DAQMX)R00:DATA:_RAW CP MS") field(CALC, "A * $(PSU_MAX_VOLT) / 10") } @@ -69,9 +67,7 @@ record(ai, "$(P)CURR") { } record(calc, "$(P)CALIBRATE:CURR"){ - field(DESC, "Calibrates the voltage") - field(DTYP, "Soft Channel") - + field(DESC, "Calibrates the current") field(INPA, "$(DAQMX)R02:DATA:_RAW CP MS") field(CALC, "A * $(PSU_MAX_CURR) / 10") } From 3f7044dd6ba43dea2e5391a73b4e24d8dc2f73e7 Mon Sep 17 00:00:00 2001 From: Rory-Potter-Tessella Date: Fri, 17 Aug 2018 13:30:28 +0100 Subject: [PATCH 06/15] Added modbus bit reading record --- kickerSup/Makefile | 1 + kickerSup/kicker_power.substitutions | 6 ++++++ 2 files changed, 7 insertions(+) create mode 100644 kickerSup/kicker_power.substitutions diff --git a/kickerSup/Makefile b/kickerSup/Makefile index de9defe..8f37913 100644 --- a/kickerSup/Makefile +++ b/kickerSup/Makefile @@ -4,6 +4,7 @@ include $(TOP)/configure/CONFIG # Install .dbd and .db files DB += kicker.db +DB += kicker_power.db DATA += kicker.proto #======================================= diff --git a/kickerSup/kicker_power.substitutions b/kickerSup/kicker_power.substitutions new file mode 100644 index 0000000..d3cb7e6 --- /dev/null +++ b/kickerSup/kicker_power.substitutions @@ -0,0 +1,6 @@ +file "..\..\..\modbus\master\modbusApp\Db\bi_bit.template" { + +pattern +{P, R, PORT, OFFSET, ZNAM, ONAM, ZSV, OSV, SCAN} +{"\$(P)", "POWER", "\$(DEVICE):PLC", "0", "Low", "High", "NO_ALARM", "NO_ALARM", "I/O Intr"} +} From dc7be333347499dfa512c9758e0564d34b5a014b Mon Sep 17 00:00:00 2001 From: Rory-Potter-Tessella Date: Mon, 20 Aug 2018 16:38:33 +0100 Subject: [PATCH 07/15] Updated DAQ records in line with Liam's --- kickerSup/Makefile | 3 ++ kickerSup/kicker.db | 56 ----------------------- kickerSup/kicker_voltage.db | 90 +++++++++++++++++++++++++++++++++++++ 3 files changed, 93 insertions(+), 56 deletions(-) create mode 100644 kickerSup/kicker_voltage.db diff --git a/kickerSup/Makefile b/kickerSup/Makefile index 8f37913..73d627b 100644 --- a/kickerSup/Makefile +++ b/kickerSup/Makefile @@ -4,7 +4,10 @@ include $(TOP)/configure/CONFIG # Install .dbd and .db files DB += kicker.db +DB += kicker_voltage.db +DB += kicker_current.db DB += kicker_power.db + DATA += kicker.proto #======================================= diff --git a/kickerSup/kicker.db b/kickerSup/kicker.db index af5b223..6dbab92 100644 --- a/kickerSup/kicker.db +++ b/kickerSup/kicker.db @@ -15,59 +15,3 @@ record(bo, "$(P)DISABLE") { field(ZNAM, "COMMS ENABLED") field(ONAM, "COMMS DISABLED") } - -record(ai, "$(P)VOLT") { - field(DESC, "Voltage of the Kicker PSU") - field(DTYP, "Soft Channel") - field(EGU, "kV") - field(PREC, "3") - field(HOPR, "$(PSU_MAX_VOLT)") - field(LOPR, "0") - field(INP, "$(P)CALIBRATE:VOLT CP MS") - - - field(HIGH, "$(PSU_MAX_VOLT)") - field(HSV, "MAJOR") - field(LOW, "0") - field(LSV, "MAJOR") - - info(INTEREST, "HIGH") - info(archive, "VAL") - - field(SDIS, "$(P)DISABLE") -} - -record(calc, "$(P)CALIBRATE:VOLT"){ - field(DESC, "Calibrates the voltage") - field(INPA, "$(DAQMX)R00:DATA:_RAW CP MS") - field(CALC, "A * $(PSU_MAX_VOLT) / 10") -} - -record(ai, "$(P)CURR") { - field(DESC, "Current of the Kicker PSU") - field(DTYP, "Soft Channel") - field(EGU, "mA") - field(PREC, "3") - - field(HOPR, "$(PSU_MAX_CURR)") - field(LOPR, "0") - - field(INP, "$(P)CALIBRATE:CURR CP MS") - - - field(HIGH, "$(PSU_MAX_CURR)") - field(HSV, "MAJOR") - field(LOW, "0") - field(LSV, "MAJOR") - - info(INTEREST, "HIGH") - info(archive, "VAL") - - field(SDIS, "$(P)DISABLE") -} - -record(calc, "$(P)CALIBRATE:CURR"){ - field(DESC, "Calibrates the current") - field(INPA, "$(DAQMX)R02:DATA:_RAW CP MS") - field(CALC, "A * $(PSU_MAX_CURR) / 10") -} diff --git a/kickerSup/kicker_voltage.db b/kickerSup/kicker_voltage.db new file mode 100644 index 0000000..cce4fc2 --- /dev/null +++ b/kickerSup/kicker_voltage.db @@ -0,0 +1,90 @@ +record(ai, "$(P)VOLT") +{ + field(DESC, "Voltage") + field(EGU, "kV") + field(DTYP, "Soft Channel") + field(INP, "$(P)CALIBRATE:VOLT CP MS") + field(PREC, "5") + + field(HIGH, "$(PSU_MAX_VOLT)") + field(HSV, "MAJOR") + + field(LOW, "0") + field(LSV, "MAJOR") + + info(INTEREST, "HIGH") + info(archive, "VAL") +} + +record(calc, "$(P)CALIBRATE:VOLT") +{ + field(DESC, "Calibrates the voltage") + field(INPA, "$(DAQMX)VOLT:DATA CP MS") + field(CALC, "A * $(PSU_MAX_VOLT) / 10") + field(PREC, "5") +} + +record(subArray, "$(DAQMX)VOLT:DATA") { + field(DESC, "Gets the raw voltage data") + field(PINI, "NO") + field(DTYP, "Soft Channel") + field(PREC, "5") + field(INP, "$(DAQMX)VOLT:_RAW CP MS") + field(NELM, "1") + field(INDX, "0") + field(FTVL, "DOUBLE") +} + +record(waveform, "$(DAQMX)VOLT:_RAW") { + $(IFNOTRECSIM) field(SCAN,"I/O Intr") + field(PINI, "NO") + $(IFNOTRECSIM) field(DTYP, "asynFloat64ArrayIn") + $(IFRECSIM) field(DTYP, "Soft Channel") + field(PREC, "5") + field(INP, "@asyn(R0 2 5.0) DATA") + field(NELM, "1000") + field(FTVL, "DOUBLE") + field(EVNT, "1") + field(SIML, "$(P)SIM") + field(SIOL, "$(DAQMX)VOLT:WV:SIM CP") +} + +record(calcout, "$(DAQMX)VOLT:ACQUIRE:_TRIG") { + + field(INPA, "$(DAQMX)VOLT:ACQUIRE.VAL CP MS") + field(CALC, "!A") + field(OUT, "$(DAQMX)VOLT:ACQUIRE.VAL PP") + field(OOPT, "When Non-zero") +} + +record(longout, "$(DAQMX)VOLT:ACQUIRE") { + field(SCAN, ".5 second") + field(DTYP, "asynUInt32Digital") + field(OUT, "@asynMask(R0 2 0x01) ACQUIRE") +} +## SIM RECORDS + +record(waveform, "$(DAQMX)VOLT:WV:SIM") { + field(DESC, "Voltage simulation") + field(NELM, "1000") + field(FTVL, "DOUBLE") +} + +record(acalcout, "$(DAQMX)VOLT:SIM:CALC"){ + field(DESC, "Converts voltage to waveform") + field(INPA, "$(DAQMX)VOLT:SIM CP") + field(CALC, "ARR(A)") + field(NELM, "1000") + + field(OOPT, "Every Time") + field(OUT, "$(DAQMX)VOLT:WV:SIM PP") + field(DOPT, "Use CALC") +} + +record(ai, "$(DAQMX)VOLT:SIM") { + field(DESC, "Device voltage") + field(DTYP, "Soft Channel") + field(PREC, "5") +} + + \ No newline at end of file From 3c5273da104d2fee27e0c6ea3f1fefd0b6cf8a67 Mon Sep 17 00:00:00 2001 From: Rory-Potter-Tessella Date: Mon, 20 Aug 2018 16:38:59 +0100 Subject: [PATCH 08/15] Added current DAQ records --- kickerSup/kicker_current.db | 90 +++++++++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 kickerSup/kicker_current.db diff --git a/kickerSup/kicker_current.db b/kickerSup/kicker_current.db new file mode 100644 index 0000000..277e9e8 --- /dev/null +++ b/kickerSup/kicker_current.db @@ -0,0 +1,90 @@ +record(ai, "$(P)CURR") +{ + field(DESC, "Current") + field(EGU, "mA") + field(DTYP, "Soft Channel") + field(INP, "$(P)CALIBRATE:CURR CP MS") + field(PREC, "5") + + field(HIGH, "$(PSU_MAX_CURR)") + field(HSV, "MAJOR") + + field(LOW, "0") + field(LSV, "MAJOR") + + info(INTEREST, "HIGH") + info(archive, "VAL") +} + +record(calc, "$(P)CALIBRATE:CURR") +{ + field(DESC, "Calibrates the current") + field(INPA, "$(DAQMX)CURR:DATA CP MS") + field(CALC, "A * $(PSU_MAX_CURR) / 10") + field(PREC, "5") +} + +record(subArray, "$(DAQMX)CURR:DATA") { + field(DESC, "Gets the raw current data") + field(PINI, "NO") + field(DTYP, "Soft Channel") + field(PREC, "5") + field(INP, "$(DAQMX)CURR:_RAW CP MS") + field(NELM, "1") + field(INDX, "0") + field(FTVL, "DOUBLE") +} + +record(waveform, "$(DAQMX)CURR:_RAW") { + $(IFNOTRECSIM) field(SCAN,"I/O Intr") + field(PINI, "NO") + $(IFNOTRECSIM) field(DTYP, "asynFloat64ArrayIn") + $(IFRECSIM) field(DTYP, "Soft Channel") + field(PREC, "5") + field(INP, "@asyn(R0 2 5.0) DATA") + field(NELM, "1000") + field(FTVL, "DOUBLE") + field(EVNT, "1") + field(SIML, "$(P)SIM") + field(SIOL, "$(DAQMX)CURR:WV:SIM CP") +} + +record(calcout, "$(DAQMX)CURR:ACQUIRE:_TRIG") { + + field(INPA, "$(DAQMX)CURR:ACQUIRE.VAL CP MS") + field(CALC, "!A") + field(OUT, "$(DAQMX)CURR:ACQUIRE.VAL PP") + field(OOPT, "When Non-zero") +} + +record(longout, "$(DAQMX)CURR:ACQUIRE") { + field(SCAN, ".5 second") + field(DTYP, "asynUInt32Digital") + field(OUT, "@asynMask(R0 2 0x01) ACQUIRE") +} +## SIM RECORDS + +record(waveform, "$(DAQMX)CURR:WV:SIM") { + field(DESC, "Current simulation") + field(NELM, "1000") + field(FTVL, "DOUBLE") +} + +record(acalcout, "$(DAQMX)CURR:SIM:CALC"){ + field(DESC, "Converts current to waveform") + field(INPA, "$(DAQMX)CURR:SIM CP") + field(CALC, "ARR(A)") + field(NELM, "1000") + + field(OOPT, "Every Time") + field(OUT, "$(DAQMX)CURR:WV:SIM PP") + field(DOPT, "Use CALC") +} + +record(ai, "$(DAQMX)CURR:SIM") { + field(DESC, "Device current") + field(DTYP, "Soft Channel") + field(PREC, "5") +} + + \ No newline at end of file From 0e002c9acacf3d9ca26e76c3f10c8db54d118a93 Mon Sep 17 00:00:00 2001 From: Rory-Potter-Tessella Date: Tue, 21 Aug 2018 16:56:59 +0100 Subject: [PATCH 09/15] Changes to work with actual device --- kickerSup/kicker_current.db | 6 +++--- kickerSup/kicker_voltage.db | 18 +++++++++++++----- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/kickerSup/kicker_current.db b/kickerSup/kicker_current.db index 277e9e8..51b70fa 100644 --- a/kickerSup/kicker_current.db +++ b/kickerSup/kicker_current.db @@ -41,7 +41,7 @@ record(waveform, "$(DAQMX)CURR:_RAW") { $(IFNOTRECSIM) field(DTYP, "asynFloat64ArrayIn") $(IFRECSIM) field(DTYP, "Soft Channel") field(PREC, "5") - field(INP, "@asyn(R0 2 5.0) DATA") + field(INP, "@asyn(R0 1 5.0) DATA") field(NELM, "1000") field(FTVL, "DOUBLE") field(EVNT, "1") @@ -58,9 +58,9 @@ record(calcout, "$(DAQMX)CURR:ACQUIRE:_TRIG") { } record(longout, "$(DAQMX)CURR:ACQUIRE") { - field(SCAN, ".5 second") + field(SCAN, "1 second") field(DTYP, "asynUInt32Digital") - field(OUT, "@asynMask(R0 2 0x01) ACQUIRE") + field(OUT, "@asynMask(R0 1 0x01) ACQUIRE") } ## SIM RECORDS diff --git a/kickerSup/kicker_voltage.db b/kickerSup/kicker_voltage.db index cce4fc2..9a850ef 100644 --- a/kickerSup/kicker_voltage.db +++ b/kickerSup/kicker_voltage.db @@ -9,11 +9,12 @@ record(ai, "$(P)VOLT") field(HIGH, "$(PSU_MAX_VOLT)") field(HSV, "MAJOR") - field(LOW, "0") + field(LOW, "-1") field(LSV, "MAJOR") info(INTEREST, "HIGH") info(archive, "VAL") + field(TPRO, "1") } record(calc, "$(P)CALIBRATE:VOLT") @@ -22,6 +23,7 @@ record(calc, "$(P)CALIBRATE:VOLT") field(INPA, "$(DAQMX)VOLT:DATA CP MS") field(CALC, "A * $(PSU_MAX_VOLT) / 10") field(PREC, "5") + field(TPRO, "1") } record(subArray, "$(DAQMX)VOLT:DATA") { @@ -33,6 +35,7 @@ record(subArray, "$(DAQMX)VOLT:DATA") { field(NELM, "1") field(INDX, "0") field(FTVL, "DOUBLE") + field(TPRO, "1") } record(waveform, "$(DAQMX)VOLT:_RAW") { @@ -41,27 +44,32 @@ record(waveform, "$(DAQMX)VOLT:_RAW") { $(IFNOTRECSIM) field(DTYP, "asynFloat64ArrayIn") $(IFRECSIM) field(DTYP, "Soft Channel") field(PREC, "5") - field(INP, "@asyn(R0 2 5.0) DATA") + field(INP, "@asyn(R0 0 5.0) DATA") field(NELM, "1000") field(FTVL, "DOUBLE") field(EVNT, "1") field(SIML, "$(P)SIM") field(SIOL, "$(DAQMX)VOLT:WV:SIM CP") + field(TPRO, "1") } -record(calcout, "$(DAQMX)VOLT:ACQUIRE:_TRIG") { - +record(calcout, "$(DAQMX)VOLT:ACQUIRE:_TRIG") +{ field(INPA, "$(DAQMX)VOLT:ACQUIRE.VAL CP MS") field(CALC, "!A") field(OUT, "$(DAQMX)VOLT:ACQUIRE.VAL PP") field(OOPT, "When Non-zero") + field(TPRO, "1") } -record(longout, "$(DAQMX)VOLT:ACQUIRE") { +record(longout, "$(DAQMX)VOLT:ACQUIRE") +{ field(SCAN, ".5 second") field(DTYP, "asynUInt32Digital") field(OUT, "@asynMask(R0 2 0x01) ACQUIRE") + field(TPRO, "1") } + ## SIM RECORDS record(waveform, "$(DAQMX)VOLT:WV:SIM") { From 0be0d51650b872d2dc5415bf690562ba99277b89 Mon Sep 17 00:00:00 2001 From: Rory-Potter-Tessella Date: Tue, 28 Aug 2018 11:37:48 +0100 Subject: [PATCH 10/15] Tidied up voltage records --- kickerSup/kicker_voltage.db | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kickerSup/kicker_voltage.db b/kickerSup/kicker_voltage.db index 9a850ef..1e5197a 100644 --- a/kickerSup/kicker_voltage.db +++ b/kickerSup/kicker_voltage.db @@ -9,7 +9,7 @@ record(ai, "$(P)VOLT") field(HIGH, "$(PSU_MAX_VOLT)") field(HSV, "MAJOR") - field(LOW, "-1") + field(LOW, "0") field(LSV, "MAJOR") info(INTEREST, "HIGH") From 48fd900c6737a37c5a227ef0a0555cb55360c03d Mon Sep 17 00:00:00 2001 From: Rory-Potter-Tessella Date: Tue, 28 Aug 2018 12:26:36 +0100 Subject: [PATCH 11/15] Finished up voltage and current records --- kickerSup/kicker_current.db | 124 +++++++++++++++++++---------------- kickerSup/kicker_voltage.db | 127 ++++++++++++++++++------------------ 2 files changed, 130 insertions(+), 121 deletions(-) diff --git a/kickerSup/kicker_current.db b/kickerSup/kicker_current.db index 51b70fa..4a748ed 100644 --- a/kickerSup/kicker_current.db +++ b/kickerSup/kicker_current.db @@ -1,23 +1,21 @@ -record(ai, "$(P)CURR") -{ - field(DESC, "Current") - field(EGU, "mA") - field(DTYP, "Soft Channel") - field(INP, "$(P)CALIBRATE:CURR CP MS") - field(PREC, "5") - - field(HIGH, "$(PSU_MAX_CURR)") - field(HSV, "MAJOR") - - field(LOW, "0") - field(LSV, "MAJOR") - - info(INTEREST, "HIGH") - info(archive, "VAL") +record(ai, "$(P)CURR") { + field(DESC, "Kicker PSU current") + field(EGU, "mA") + field(DTYP, "Soft Channel") + field(INP, "$(P)CALIBRATE:CURR CP MS") + field(PREC, "5") + + field(HIGH, "$(PSU_MAX_CURR)") + field(HSV, "MAJOR") + + field(LOW, "0") + field(LSV, "MAJOR") + + info(INTEREST, "HIGH") + info(archive, "VAL") } -record(calc, "$(P)CALIBRATE:CURR") -{ +record(calc, "$(P)CALIBRATE:CURR") { field(DESC, "Calibrates the current") field(INPA, "$(DAQMX)CURR:DATA CP MS") field(CALC, "A * $(PSU_MAX_CURR) / 10") @@ -25,66 +23,76 @@ record(calc, "$(P)CALIBRATE:CURR") } record(subArray, "$(DAQMX)CURR:DATA") { - field(DESC, "Gets the raw current data") - field(PINI, "NO") - field(DTYP, "Soft Channel") - field(PREC, "5") - field(INP, "$(DAQMX)CURR:_RAW CP MS") - field(NELM, "1") - field(INDX, "0") - field(FTVL, "DOUBLE") + field(DESC, "Reads a single raw current val") + field(PINI, "NO") + field(DTYP, "Soft Channel") + field(PREC, "5") + field(INP, "$(DAQMX)CURR:_RAW CP MS") + field(NELM, "1") + field(INDX, "0") + field(FTVL, "DOUBLE") } record(waveform, "$(DAQMX)CURR:_RAW") { - $(IFNOTRECSIM) field(SCAN,"I/O Intr") - field(PINI, "NO") - $(IFNOTRECSIM) field(DTYP, "asynFloat64ArrayIn") - $(IFRECSIM) field(DTYP, "Soft Channel") - field(PREC, "5") - field(INP, "@asyn(R0 1 5.0) DATA") - field(NELM, "1000") - field(FTVL, "DOUBLE") - field(EVNT, "1") - field(SIML, "$(P)SIM") - field(SIOL, "$(DAQMX)CURR:WV:SIM CP") + field(DESC, "Reads an array of raw current data") + + $(IFNOTRECSIM) field(SCAN,"I/O Intr") + $(IFNOTRECSIM) field(DTYP, "asynFloat64ArrayIn") + $(IFRECSIM) field(DTYP, "Soft Channel") + + field(PINI, "NO") + field(PREC, "5") + field(INP, "@asyn(R0 1 5.0) DATA") + field(NELM, "$(NELM)") + field(FTVL, "DOUBLE") + field(EVNT, "1") + field(SIML, "$(P)SIM") + field(SIOL, "$(DAQMX)CURR:WV:SIM CP") + + info(INTEREST, "LOW") + info(archive, "VAL") } record(calcout, "$(DAQMX)CURR:ACQUIRE:_TRIG") { - - field(INPA, "$(DAQMX)CURR:ACQUIRE.VAL CP MS") - field(CALC, "!A") - field(OUT, "$(DAQMX)CURR:ACQUIRE.VAL PP") - field(OOPT, "When Non-zero") + field(DESC, "Triggers the ACQUIRE record.") + field(INPA, "$(DAQMX)CURR:ACQUIRE.VAL CP MS") + field(CALC, "!A") + field(OUT, "$(DAQMX)CURR:ACQUIRE.VAL PP") + field(OOPT, "When Non-zero") } record(longout, "$(DAQMX)CURR:ACQUIRE") { - field(SCAN, "1 second") - field(DTYP, "asynUInt32Digital") - field(OUT, "@asynMask(R0 1 0x01) ACQUIRE") + field(DESC, "Acquires the data") + field(SCAN, "1 second") + field(DTYP, "asynUInt32Digital") + field(OUT, "@asynMask(R0 1 0x01) ACQUIRE") } + ## SIM RECORDS record(waveform, "$(DAQMX)CURR:WV:SIM") { - field(DESC, "Current simulation") - field(NELM, "1000") - field(FTVL, "DOUBLE") + field(DESC, "Simulates an array of data") + + field(NELM, "$(NELM)") + field(FTVL, "DOUBLE") } record(acalcout, "$(DAQMX)CURR:SIM:CALC"){ - field(DESC, "Converts current to waveform") - field(INPA, "$(DAQMX)CURR:SIM CP") - field(CALC, "ARR(A)") - field(NELM, "1000") + field(DESC, "Converts simulated current to waveform") + + field(INPA, "$(DAQMX)CURR:SIM CP") + field(CALC, "ARR(A)") + field(NELM, "$(NELM)") - field(OOPT, "Every Time") - field(OUT, "$(DAQMX)CURR:WV:SIM PP") - field(DOPT, "Use CALC") + field(OOPT, "Every Time") + field(OUT, "$(DAQMX)CURR:WV:SIM PP") + field(DOPT, "Use CALC") } record(ai, "$(DAQMX)CURR:SIM") { - field(DESC, "Device current") - field(DTYP, "Soft Channel") - field(PREC, "5") + field(DESC, "Simulates current") + field(DTYP, "Soft Channel") + field(PREC, "5") } \ No newline at end of file diff --git a/kickerSup/kicker_voltage.db b/kickerSup/kicker_voltage.db index 1e5197a..26c8c20 100644 --- a/kickerSup/kicker_voltage.db +++ b/kickerSup/kicker_voltage.db @@ -1,96 +1,97 @@ record(ai, "$(P)VOLT") { - field(DESC, "Voltage") - field(EGU, "kV") - field(DTYP, "Soft Channel") - field(INP, "$(P)CALIBRATE:VOLT CP MS") - field(PREC, "5") - - field(HIGH, "$(PSU_MAX_VOLT)") - field(HSV, "MAJOR") - - field(LOW, "0") - field(LSV, "MAJOR") - - info(INTEREST, "HIGH") - info(archive, "VAL") - field(TPRO, "1") + field(DESC, "Kicker PSU voltage") + field(EGU, "kV") + field(DTYP, "Soft Channel") + field(INP, "$(P)CALIBRATE:VOLT CP MS") + field(PREC, "5") + + field(HIGH, "$(PSU_MAX_VOLT)") + field(HSV, "MAJOR") + + field(LOW, "0") + field(LSV, "MAJOR") + + info(INTEREST, "HIGH") + info(archive, "VAL") } -record(calc, "$(P)CALIBRATE:VOLT") -{ +record(calc, "$(P)CALIBRATE:VOLT") { field(DESC, "Calibrates the voltage") field(INPA, "$(DAQMX)VOLT:DATA CP MS") field(CALC, "A * $(PSU_MAX_VOLT) / 10") field(PREC, "5") - field(TPRO, "1") } record(subArray, "$(DAQMX)VOLT:DATA") { - field(DESC, "Gets the raw voltage data") - field(PINI, "NO") - field(DTYP, "Soft Channel") - field(PREC, "5") - field(INP, "$(DAQMX)VOLT:_RAW CP MS") - field(NELM, "1") - field(INDX, "0") - field(FTVL, "DOUBLE") - field(TPRO, "1") + field(DESC, "Reads a single raw voltage val") + field(PINI, "NO") + field(DTYP, "Soft Channel") + field(PREC, "5") + field(INP, "$(DAQMX)VOLT:_RAW CP MS") + field(NELM, "1") + field(INDX, "0") + field(FTVL, "DOUBLE") } record(waveform, "$(DAQMX)VOLT:_RAW") { - $(IFNOTRECSIM) field(SCAN,"I/O Intr") - field(PINI, "NO") - $(IFNOTRECSIM) field(DTYP, "asynFloat64ArrayIn") - $(IFRECSIM) field(DTYP, "Soft Channel") - field(PREC, "5") - field(INP, "@asyn(R0 0 5.0) DATA") - field(NELM, "1000") - field(FTVL, "DOUBLE") - field(EVNT, "1") - field(SIML, "$(P)SIM") - field(SIOL, "$(DAQMX)VOLT:WV:SIM CP") - field(TPRO, "1") + field(DESC, "Reads an array of raw voltage data") + + $(IFNOTRECSIM) field(SCAN,"I/O Intr") + $(IFNOTRECSIM) field(DTYP, "asynFloat64ArrayIn") + $(IFRECSIM) field(DTYP, "Soft Channel") + + field(PINI, "NO") + field(PREC, "5") + field(INP, "@asyn(R0 0 5.0) DATA") + field(NELM, "$(NELM)") + field(FTVL, "DOUBLE") + field(EVNT, "1") + + field(SIML, "$(P)SIM") + field(SIOL, "$(DAQMX)VOLT:WV:SIM CP") + + info(INTEREST, "LOW") + info(archive, "VAL") } -record(calcout, "$(DAQMX)VOLT:ACQUIRE:_TRIG") -{ - field(INPA, "$(DAQMX)VOLT:ACQUIRE.VAL CP MS") - field(CALC, "!A") - field(OUT, "$(DAQMX)VOLT:ACQUIRE.VAL PP") - field(OOPT, "When Non-zero") - field(TPRO, "1") +record(calcout, "$(DAQMX)VOLT:ACQUIRE:_TRIG") { + field(DESC, "Triggers the ACQUIRE record.") + field(INPA, "$(DAQMX)VOLT:ACQUIRE.VAL CP MS") + field(CALC, "!A") + field(OUT, "$(DAQMX)VOLT:ACQUIRE.VAL PP") + field(OOPT, "When Non-zero") } -record(longout, "$(DAQMX)VOLT:ACQUIRE") -{ - field(SCAN, ".5 second") - field(DTYP, "asynUInt32Digital") - field(OUT, "@asynMask(R0 2 0x01) ACQUIRE") - field(TPRO, "1") +record(longout, "$(DAQMX)VOLT:ACQUIRE"){ + field(DESC, "Acquires the data") + field(SCAN, ".5 second") + field(DTYP, "asynUInt32Digital") + field(OUT, "@asynMask(R0 0 0x01) ACQUIRE") } ## SIM RECORDS record(waveform, "$(DAQMX)VOLT:WV:SIM") { - field(DESC, "Voltage simulation") - field(NELM, "1000") - field(FTVL, "DOUBLE") + field(DESC, "Simulates an array of data") + field(DESC, "Voltage simulation") + field(NELM, "$(NELM)") + field(FTVL, "DOUBLE") } record(acalcout, "$(DAQMX)VOLT:SIM:CALC"){ - field(DESC, "Converts voltage to waveform") - field(INPA, "$(DAQMX)VOLT:SIM CP") - field(CALC, "ARR(A)") - field(NELM, "1000") + field(DESC, "Converts simulated voltage to waveform") + field(INPA, "$(DAQMX)VOLT:SIM CP") + field(CALC, "ARR(A)") + field(NELM, "$(NELM)") - field(OOPT, "Every Time") - field(OUT, "$(DAQMX)VOLT:WV:SIM PP") - field(DOPT, "Use CALC") + field(OOPT, "Every Time") + field(OUT, "$(DAQMX)VOLT:WV:SIM PP") + field(DOPT, "Use CALC") } record(ai, "$(DAQMX)VOLT:SIM") { - field(DESC, "Device voltage") + field(DESC, "Simulates voltage") field(DTYP, "Soft Channel") field(PREC, "5") } From e1cd21ab8adead2602b8f38cd091f2e32ec8d850 Mon Sep 17 00:00:00 2001 From: Rory-Potter-Tessella Date: Tue, 28 Aug 2018 13:45:17 +0100 Subject: [PATCH 12/15] Tidy up --- kickerSup/kicker_current.db | 3 +-- kickerSup/kicker_voltage.db | 2 -- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/kickerSup/kicker_current.db b/kickerSup/kicker_current.db index 4a748ed..9a96dde 100644 --- a/kickerSup/kicker_current.db +++ b/kickerSup/kicker_current.db @@ -94,5 +94,4 @@ record(ai, "$(DAQMX)CURR:SIM") { field(DTYP, "Soft Channel") field(PREC, "5") } - - \ No newline at end of file + \ No newline at end of file diff --git a/kickerSup/kicker_voltage.db b/kickerSup/kicker_voltage.db index 26c8c20..2556844 100644 --- a/kickerSup/kicker_voltage.db +++ b/kickerSup/kicker_voltage.db @@ -95,5 +95,3 @@ record(ai, "$(DAQMX)VOLT:SIM") { field(DTYP, "Soft Channel") field(PREC, "5") } - - \ No newline at end of file From 8fbea5465a7a3cc719fea3b2162d6a7b94515fbf Mon Sep 17 00:00:00 2001 From: Rory-Potter-Tessella Date: Tue, 28 Aug 2018 13:45:49 +0100 Subject: [PATCH 13/15] Tidy up take 2 --- kickerSup/kicker_current.db | 1 - 1 file changed, 1 deletion(-) diff --git a/kickerSup/kicker_current.db b/kickerSup/kicker_current.db index 9a96dde..56e703e 100644 --- a/kickerSup/kicker_current.db +++ b/kickerSup/kicker_current.db @@ -94,4 +94,3 @@ record(ai, "$(DAQMX)CURR:SIM") { field(DTYP, "Soft Channel") field(PREC, "5") } - \ No newline at end of file From 75324d10bab9068c4b5127d0ad315cc4173fe510 Mon Sep 17 00:00:00 2001 From: Rory-Potter-Tessella Date: Thu, 6 Sep 2018 13:50:31 +0100 Subject: [PATCH 14/15] Added comments to clarify ACQUIRE record logic --- kickerSup/kicker_current.db | 38 +++++++++++++++++++++++------------- kickerSup/kicker_voltage.db | 39 ++++++++++++++++++++++++------------- 2 files changed, 51 insertions(+), 26 deletions(-) diff --git a/kickerSup/kicker_current.db b/kickerSup/kicker_current.db index 56e703e..42bf569 100644 --- a/kickerSup/kicker_current.db +++ b/kickerSup/kicker_current.db @@ -17,23 +17,23 @@ record(ai, "$(P)CURR") { record(calc, "$(P)CALIBRATE:CURR") { field(DESC, "Calibrates the current") - field(INPA, "$(DAQMX)CURR:DATA CP MS") + field(INPA, "$(P)$(DAQMX)CURR:DATA CP MS") field(CALC, "A * $(PSU_MAX_CURR) / 10") field(PREC, "5") } -record(subArray, "$(DAQMX)CURR:DATA") { +record(subArray, "$(P)$(DAQMX)CURR:DATA") { field(DESC, "Reads a single raw current val") field(PINI, "NO") field(DTYP, "Soft Channel") field(PREC, "5") - field(INP, "$(DAQMX)CURR:_RAW CP MS") + field(INP, "$(P)$(DAQMX))CURR:_RAW CP MS") field(NELM, "1") field(INDX, "0") field(FTVL, "DOUBLE") } -record(waveform, "$(DAQMX)CURR:_RAW") { +record(waveform, "$(P)$(DAQMX)CURR:_RAW") { field(DESC, "Reads an array of raw current data") $(IFNOTRECSIM) field(SCAN,"I/O Intr") @@ -47,21 +47,33 @@ record(waveform, "$(DAQMX)CURR:_RAW") { field(FTVL, "DOUBLE") field(EVNT, "1") field(SIML, "$(P)SIM") - field(SIOL, "$(DAQMX)CURR:WV:SIM CP") + field(SIOL, "$(P)$(DAQMX)CURR:WV:SIM CP") info(INTEREST, "LOW") info(archive, "VAL") } -record(calcout, "$(DAQMX)CURR:ACQUIRE:_TRIG") { +## The two records below work together to tell +## the DAQ to acquire data - otherwise no data is +## populated in $(P)$(DAQMX)CURR:_RAW record. +## +## In order to acquire data we need to set the ACQUIRE record to 1. +## The _TRIG record does this when it notices that the ACQUIRE +## record is zero, setting the VAL field of ACQUIRE to 1. +## +## Next time the ACQUIRE record scans it will process the +## AQUIRE command with the acquire property set to 1 , +## triggering the asyn driver to acquire data from the DAQ. + +record(calcout, "$(P)$(DAQMX)CURR:ACQUIRE:_TRIG") { field(DESC, "Triggers the ACQUIRE record.") field(INPA, "$(DAQMX)CURR:ACQUIRE.VAL CP MS") field(CALC, "!A") - field(OUT, "$(DAQMX)CURR:ACQUIRE.VAL PP") + field(OUT, "$(P)$(DAQMX)CURR:ACQUIRE.VAL PP") field(OOPT, "When Non-zero") } -record(longout, "$(DAQMX)CURR:ACQUIRE") { +record(longout, "$(P)$(DAQMX)CURR:ACQUIRE") { field(DESC, "Acquires the data") field(SCAN, "1 second") field(DTYP, "asynUInt32Digital") @@ -70,26 +82,26 @@ record(longout, "$(DAQMX)CURR:ACQUIRE") { ## SIM RECORDS -record(waveform, "$(DAQMX)CURR:WV:SIM") { +record(waveform, "$(P)$(DAQMX)CURR:WV:SIM") { field(DESC, "Simulates an array of data") field(NELM, "$(NELM)") field(FTVL, "DOUBLE") } -record(acalcout, "$(DAQMX)CURR:SIM:CALC"){ +record(acalcout, "$(P)$(DAQMX)CURR:SIM:CALC"){ field(DESC, "Converts simulated current to waveform") - field(INPA, "$(DAQMX)CURR:SIM CP") + field(INPA, "$(P)$(DAQMX)CURR:SIM CP") field(CALC, "ARR(A)") field(NELM, "$(NELM)") field(OOPT, "Every Time") - field(OUT, "$(DAQMX)CURR:WV:SIM PP") + field(OUT, "$(P)$(DAQMX)CURR:WV:SIM PP") field(DOPT, "Use CALC") } -record(ai, "$(DAQMX)CURR:SIM") { +record(ai, "$(P)$(DAQMX)CURR:SIM") { field(DESC, "Simulates current") field(DTYP, "Soft Channel") field(PREC, "5") diff --git a/kickerSup/kicker_voltage.db b/kickerSup/kicker_voltage.db index 2556844..04c70e3 100644 --- a/kickerSup/kicker_voltage.db +++ b/kickerSup/kicker_voltage.db @@ -18,23 +18,23 @@ record(ai, "$(P)VOLT") record(calc, "$(P)CALIBRATE:VOLT") { field(DESC, "Calibrates the voltage") - field(INPA, "$(DAQMX)VOLT:DATA CP MS") + field(INPA, "$(P)$(DAQMX)VOLT:DATA CP MS") field(CALC, "A * $(PSU_MAX_VOLT) / 10") field(PREC, "5") } -record(subArray, "$(DAQMX)VOLT:DATA") { +record(subArray, "$(P)$(DAQMX)VOLT:DATA") { field(DESC, "Reads a single raw voltage val") field(PINI, "NO") field(DTYP, "Soft Channel") field(PREC, "5") - field(INP, "$(DAQMX)VOLT:_RAW CP MS") + field(INP, "$(P)$(DAQMX)VOLT:_RAW CP MS") field(NELM, "1") field(INDX, "0") field(FTVL, "DOUBLE") } -record(waveform, "$(DAQMX)VOLT:_RAW") { +record(waveform, "$(P)$(DAQMX)VOLT:_RAW") { field(DESC, "Reads an array of raw voltage data") $(IFNOTRECSIM) field(SCAN,"I/O Intr") @@ -49,21 +49,34 @@ record(waveform, "$(DAQMX)VOLT:_RAW") { field(EVNT, "1") field(SIML, "$(P)SIM") - field(SIOL, "$(DAQMX)VOLT:WV:SIM CP") + field(SIOL, "$(P)$(DAQMX)VOLT:WV:SIM CP") info(INTEREST, "LOW") info(archive, "VAL") } -record(calcout, "$(DAQMX)VOLT:ACQUIRE:_TRIG") { +## The two records below work together to tell +## the DAQ to acquire data - otherwise no data is +## populated in $(P)$(DAQMX)VOLT:_RAW record. +## +## In order to acquire data we need to set the ACQUIRE record to 1. +## The _TRIG record does this when it notices that the ACQUIRE +## record is zero, setting the VAL field of ACQUIRE to 1. +## +## Next time the ACQUIRE record scans it will process the +## AQUIRE command with the acquire property set to 1 , +## triggering the asyn driver to acquire data from the DAQ. + + +record(calcout, "$(P)$(DAQMX)VOLT:ACQUIRE:_TRIG") { field(DESC, "Triggers the ACQUIRE record.") field(INPA, "$(DAQMX)VOLT:ACQUIRE.VAL CP MS") field(CALC, "!A") - field(OUT, "$(DAQMX)VOLT:ACQUIRE.VAL PP") + field(OUT, "$(P)$(DAQMX)VOLT:ACQUIRE.VAL PP") field(OOPT, "When Non-zero") } -record(longout, "$(DAQMX)VOLT:ACQUIRE"){ +record(longout, "$(P)$(DAQMX)VOLT:ACQUIRE"){ field(DESC, "Acquires the data") field(SCAN, ".5 second") field(DTYP, "asynUInt32Digital") @@ -72,25 +85,25 @@ record(longout, "$(DAQMX)VOLT:ACQUIRE"){ ## SIM RECORDS -record(waveform, "$(DAQMX)VOLT:WV:SIM") { +record(waveform, "$(P)$(DAQMX)VOLT:WV:SIM") { field(DESC, "Simulates an array of data") field(DESC, "Voltage simulation") field(NELM, "$(NELM)") field(FTVL, "DOUBLE") } -record(acalcout, "$(DAQMX)VOLT:SIM:CALC"){ +record(acalcout, "$(P)$(DAQMX)VOLT:SIM:CALC"){ field(DESC, "Converts simulated voltage to waveform") - field(INPA, "$(DAQMX)VOLT:SIM CP") + field(INPA, "$(P)$(DAQMX)VOLT:SIM CP") field(CALC, "ARR(A)") field(NELM, "$(NELM)") field(OOPT, "Every Time") - field(OUT, "$(DAQMX)VOLT:WV:SIM PP") + field(OUT, "$(P)$(DAQMX)VOLT:WV:SIM PP") field(DOPT, "Use CALC") } -record(ai, "$(DAQMX)VOLT:SIM") { +record(ai, "$(P)$(DAQMX)VOLT:SIM") { field(DESC, "Simulates voltage") field(DTYP, "Soft Channel") field(PREC, "5") From 04d389ac5eef795eeb3bd60f3ac5589064be67e0 Mon Sep 17 00:00:00 2001 From: Rory-Potter-Tessella Date: Thu, 6 Sep 2018 16:54:10 +0100 Subject: [PATCH 15/15] Update voltage and current to take an average of current and voltage readings. --- kickerSup/kicker_current.db | 44 +++++++++++-------------------------- kickerSup/kicker_voltage.db | 44 +++++++++++-------------------------- 2 files changed, 26 insertions(+), 62 deletions(-) diff --git a/kickerSup/kicker_current.db b/kickerSup/kicker_current.db index 42bf569..8b89593 100644 --- a/kickerSup/kicker_current.db +++ b/kickerSup/kicker_current.db @@ -2,7 +2,7 @@ record(ai, "$(P)CURR") { field(DESC, "Kicker PSU current") field(EGU, "mA") field(DTYP, "Soft Channel") - field(INP, "$(P)CALIBRATE:CURR CP MS") + field(INP, "$(P)CURR:_CALIBRATE CP MS") field(PREC, "5") field(HIGH, "$(PSU_MAX_CURR)") @@ -15,22 +15,22 @@ record(ai, "$(P)CURR") { info(archive, "VAL") } -record(calc, "$(P)CALIBRATE:CURR") { +record(calc, "$(P)CURR:_CALIBRATE") { field(DESC, "Calibrates the current") - field(INPA, "$(P)$(DAQMX)CURR:DATA CP MS") + field(INPA, "$(P)CURR:DATA:_AVG CP MS") field(CALC, "A * $(PSU_MAX_CURR) / 10") field(PREC, "5") } -record(subArray, "$(P)$(DAQMX)CURR:DATA") { - field(DESC, "Reads a single raw current val") - field(PINI, "NO") +record (acalcout, "$(P)CURR:DATA:_AVG") { + field(DESC, "Averages the RAW data array") field(DTYP, "Soft Channel") - field(PREC, "5") - field(INP, "$(P)$(DAQMX))CURR:_RAW CP MS") - field(NELM, "1") - field(INDX, "0") - field(FTVL, "DOUBLE") + field(NELM, "$(NELM)") + field(INAA, "$(P)$(DAQMX)CURR:_RAW CP MS") + + field(CALC, "AVG(AA)") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") } record(waveform, "$(P)$(DAQMX)CURR:_RAW") { @@ -47,7 +47,7 @@ record(waveform, "$(P)$(DAQMX)CURR:_RAW") { field(FTVL, "DOUBLE") field(EVNT, "1") field(SIML, "$(P)SIM") - field(SIOL, "$(P)$(DAQMX)CURR:WV:SIM CP") + field(SIOL, "$(P)$(DAQMX)CURR:WV:SIM CP MS") info(INTEREST, "LOW") info(archive, "VAL") @@ -83,26 +83,8 @@ record(longout, "$(P)$(DAQMX)CURR:ACQUIRE") { ## SIM RECORDS record(waveform, "$(P)$(DAQMX)CURR:WV:SIM") { - field(DESC, "Simulates an array of data") + field(DESC, "Simulates an array of current data") field(NELM, "$(NELM)") field(FTVL, "DOUBLE") } - -record(acalcout, "$(P)$(DAQMX)CURR:SIM:CALC"){ - field(DESC, "Converts simulated current to waveform") - - field(INPA, "$(P)$(DAQMX)CURR:SIM CP") - field(CALC, "ARR(A)") - field(NELM, "$(NELM)") - - field(OOPT, "Every Time") - field(OUT, "$(P)$(DAQMX)CURR:WV:SIM PP") - field(DOPT, "Use CALC") -} - -record(ai, "$(P)$(DAQMX)CURR:SIM") { - field(DESC, "Simulates current") - field(DTYP, "Soft Channel") - field(PREC, "5") -} diff --git a/kickerSup/kicker_voltage.db b/kickerSup/kicker_voltage.db index 04c70e3..972c246 100644 --- a/kickerSup/kicker_voltage.db +++ b/kickerSup/kicker_voltage.db @@ -3,7 +3,7 @@ record(ai, "$(P)VOLT") field(DESC, "Kicker PSU voltage") field(EGU, "kV") field(DTYP, "Soft Channel") - field(INP, "$(P)CALIBRATE:VOLT CP MS") + field(INP, "$(P)VOLT:_CALIBRATE CP MS") field(PREC, "5") field(HIGH, "$(PSU_MAX_VOLT)") @@ -16,22 +16,22 @@ record(ai, "$(P)VOLT") info(archive, "VAL") } -record(calc, "$(P)CALIBRATE:VOLT") { +record(calc, "$(P)VOLT:_CALIBRATE") { field(DESC, "Calibrates the voltage") - field(INPA, "$(P)$(DAQMX)VOLT:DATA CP MS") + field(INPA, "$(P)VOLT:DATA:_AVG CP MS") field(CALC, "A * $(PSU_MAX_VOLT) / 10") field(PREC, "5") } -record(subArray, "$(P)$(DAQMX)VOLT:DATA") { - field(DESC, "Reads a single raw voltage val") - field(PINI, "NO") +record (acalcout, "$(P)VOLT:DATA:_AVG") { + field(DESC, "Averages the RAW data array") field(DTYP, "Soft Channel") - field(PREC, "5") - field(INP, "$(P)$(DAQMX)VOLT:_RAW CP MS") - field(NELM, "1") - field(INDX, "0") - field(FTVL, "DOUBLE") + field(NELM, "$(NELM)") + field(INAA, "$(P)$(DAQMX)VOLT:_RAW CP MS") + + field(CALC, "AVG(AA)") + field(OOPT, "Every Time") + field(DOPT, "Use CALC") } record(waveform, "$(P)$(DAQMX)VOLT:_RAW") { @@ -86,25 +86,7 @@ record(longout, "$(P)$(DAQMX)VOLT:ACQUIRE"){ ## SIM RECORDS record(waveform, "$(P)$(DAQMX)VOLT:WV:SIM") { - field(DESC, "Simulates an array of data") - field(DESC, "Voltage simulation") + field(DESC, "Simulates an array of voltage data") field(NELM, "$(NELM)") field(FTVL, "DOUBLE") -} - -record(acalcout, "$(P)$(DAQMX)VOLT:SIM:CALC"){ - field(DESC, "Converts simulated voltage to waveform") - field(INPA, "$(P)$(DAQMX)VOLT:SIM CP") - field(CALC, "ARR(A)") - field(NELM, "$(NELM)") - - field(OOPT, "Every Time") - field(OUT, "$(P)$(DAQMX)VOLT:WV:SIM PP") - field(DOPT, "Use CALC") -} - -record(ai, "$(P)$(DAQMX)VOLT:SIM") { - field(DESC, "Simulates voltage") - field(DTYP, "Soft Channel") - field(PREC, "5") -} +} \ No newline at end of file