--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/IOCINFRAApp/Db/TPG26x.db Thu Mar 07 09:23:26 2019 +0100
@@ -0,0 +1,333 @@
+record(stringin, "$(P)Reset") {
+ field(DTYP, "stream")
+ field(INP, "@TPG26x.proto reset $(PORT)")
+ field(PINI,"YES")
+}
+
+record(bo, "$(P)DISABLE")
+{
+ field(DESC, "Disable comms")
+ field(PINI, "YES")
+ field(VAL, "$(DISABLE=0)")
+ field(OMSL, "supervisory")
+ field(ZNAM, "COMMS ENABLED")
+ field(ONAM, "COMMS DISABLED")
+}
+
+# This record reads both pressure and errors
+record(ai,"$(P)1:RAW_PRES")
+{
+ field(DESC, "Pressure reading from gauge 1 no error")
+ field(SCAN, "1 second")
+ field(DTYP, "stream")
+ field(INP, "@TPG26x.proto pres($(P),1:ERROR,2:ERROR,2:RAW_PRES) $(PORT)")
+ field(PINI, "YES")
+ field(PREC, "4")
+ field(SIML, "$(P)SIM")
+ field(SIOL, "$(P)SIM:1:PRESSURE")
+ field(SDIS, "$(P)DISABLE")
+ field(FLNK, "$(P)ACTIVITY")
+ field(VAL, 0)
+ info(archive, "VAL")
+}
+
+record(mbbi,"$(P)1:ERROR")
+{
+ field(DESC, "Error from the Gauge 1")
+ field(SCAN, "Passive")
+ field(ZRST, "No Error")
+ field(ZRSV, "NO_ALARM")
+ field(ZRVL, 0)
+ field(ONST, "Underrange")
+ field(ONSV, "MINOR")
+ field(ONVL, 1)
+ field(TWST, "Overrange")
+ field(TWSV, "MINOR")
+ field(TWVL, 2)
+ field(THST, "Sensor error")
+ field(THSV, "MAJOR")
+ field(THVL, 3)
+ field(FRST, "Sensor off")
+ field(FRSV, "MAJOR")
+ field(FRVL, 4)
+ field(FVST, "No Sensor")
+ field(FVSV, "MAJOR")
+ field(FVVL, 5)
+ field(SXST, "Identification Error")
+ field(SXSV, "MAJOR")
+ field(SXVL, 6)
+ field(UNSV, "MAJOR")
+ field(PINI, "YES")
+ field(VAL, 0)
+ field(SIML, "$(P)SIM")
+ field(SIOL, "$(P)SIM:1:ERROR")
+ info(archive, "VAL")
+ info(INTEREST, "MEDIUM")
+}
+
+# This record is set from 1:RAW_PRES
+record(ai,"$(P)2:RAW_PRES")
+{
+ field(DESC, "Pressure reading from gauge 2 no error")
+ field(SCAN, "Passive")
+ field(PREC, "4")
+ field(SIML, "$(P)SIM")
+ field(SIOL, "$(P)SIM:2:PRESSURE")
+ field(PINI, "YES")
+ field(VAL, 0)
+ info(archive, "VAL")
+}
+
+# This record is set from 1:RAW_PRES
+record(mbbi,"$(P)2:ERROR")
+{
+ field(DESC, "Error from the Gauge 2")
+ field(SCAN, "Passive")
+ field(ZRST, "No Error")
+ field(ZRSV, "NO_ALARM")
+ field(ZRVL, 0)
+ field(ONST, "Underrange")
+ field(ONSV, "MINOR")
+ field(ONVL, 1)
+ field(TWST, "Overrange")
+ field(TWSV, "MINOR")
+ field(TWVL, 2)
+ field(THST, "Sensor error")
+ field(THSV, "MAJOR")
+ field(THVL, 3)
+ field(FRST, "Sensor off")
+ field(FRSV, "MAJOR")
+ field(FRVL, 4)
+ field(FVST, "No Sensor")
+ field(FVSV, "MAJOR")
+ field(FVVL, 5)
+ field(SXST, "Identification Error")
+ field(SXSV, "MAJOR")
+ field(SXVL, 6)
+ field(SVSV, "MAJOR")
+ field(SVVL, 7)
+ field(EISV, "MAJOR")
+ field(EIVL, 8)
+ field(NISV, "MAJOR")
+ field(NIVL, 9)
+ field(TESV, "MAJOR")
+ field(TEVL, 10)
+ field(ELSV, "MAJOR")
+ field(ELVL, 11)
+ field(TVSV, "MAJOR")
+ field(TVVL, 12)
+ field(TTSV, "MAJOR")
+ field(TTVL, 13)
+ field(FTSV, "MAJOR")
+ field(FTVL, 14)
+ field(FFSV, "MAJOR")
+ field(FFVL, 15)
+ field(PINI, "YES")
+ field(VAL, 0)
+ field(SIML, "$(P)SIM")
+ field(SIOL, "$(P)SIM:2:ERROR")
+ info(archive, "VAL")
+ info(INTEREST, "MEDIUM")
+}
+
+
+record(calcout,"$(P)1:CALC_PRES") {
+ field(DESC, "Pressure calculation gauge 1")
+ field(INPA, "$(P)1:RAW_PRES MS CP")
+ # For the error state reported
+ field(INPB, "$(P)1:ERROR MS CP")
+
+ field(OUT, "$(P)1:PRESSURE MS PP")
+
+ field(CALC, "A")
+}
+
+record(ai,"$(P)1:PRESSURE") {
+ field(DESC, "Pressure reading from gauge 1")
+ field(EGU, "") # set by units transfer
+ field(PREC, "4")
+ $(IFPRESSUR1) info(alarm, "TPG26x")
+ info(archive, "VAL")
+ info(INTEREST, "HIGH")
+}
+
+## PV hidden on graph when value set to 0, or is displayed
+## when the channel is on and the VAL field is uncommented (sets to 1)
+
+record(bo, "$(P)1:VISIBLE")
+{
+ field(SCAN, "Passive")
+ field(DTYP, "Soft Channel")
+ field(ZNAM, "NO")
+ field(ONAM, "YES")
+ field(PINI, "YES")
+ $(IFPRESSUR1) field(VAL, "1")
+}
+
+record(calcout,"$(P)2:CALC_PRES") {
+ field(DESC, "Pressure calculation gauge 2")
+ field(INPA, "$(P)2:RAW_PRES MS CP")
+ # For the error state reported
+ field(INPB, "$(P)2:ERROR MS CP")
+ # For the disconnect error (data is pushed into 1)
+ field(INPC, "$(P)1:RAW_PRES MS CP")
+
+ field(OUT, "$(P)2:PRESSURE MS PP")
+
+ field(CALC, "A")
+}
+
+record(ai,"$(P)2:PRESSURE") {
+ field(DESC, "Pressure reading from gauge 2")
+ field(EGU, "") # set by units transfer
+ field(PREC, "4")
+ $(IFPRESSUR2) info(alarm, "TPG26x")
+ info(archive, "VAL")
+ info(INTEREST, "HIGH")
+}
+
+## PV hidden on graph when value set to 0, or is displayed
+## when the channel is on and the VAL field is uncommented (sets to 1)
+
+record(bo, "$(P)2:VISIBLE")
+{
+ field(SCAN, "Passive")
+ field(DTYP, "Soft Channel")
+ field(ZNAM, "NO")
+ field(ONAM, "YES")
+ field(PINI, "YES")
+ $(IFPRESSUR2) field(VAL, "1")
+}
+
+record(calc,"$(P)ACTIVITY") {
+ field(DESC, "Activity record")
+ field(INPA, "$(P)ACTIVITY")
+ field(CALC, "A!=0?0:1")
+ field(VAL, 0)
+ field(PINI, "YES")
+}
+
+record(stringout,"$(P)1:UNITS_TRANSFER") {
+ field(DESC, "Transfer the units to pressure 1")
+ field(DOL, "$(P)UNITS.VAL CP")
+ field(OMSL, "closed_loop")
+ field(OUT, "$(P)1:PRESSURE.EGU")
+}
+
+record(stringout,"$(P)2:UNITS_TRANSFER") {
+ field(DESC, "Transfer the units to pressure 2")
+ field(DOL, "$(P)UNITS.VAL CP")
+ field(OMSL, "closed_loop")
+ field(OUT, "$(P)2:PRESSURE.EGU")
+}
+
+record(mbbi, "$(P)UNITS")
+{
+ field(DESC, "Units of pressure")
+ field(SCAN, "1 second")
+ field(DTYP, "stream")
+ field(INP, "@TPG26x.proto getUnits $(PORT)")
+ field(ZRST, "mbar")
+ field(ONST, "Torr")
+ field(TWST, "Pa")
+ field(SIML, "$(P)SIM")
+ field(SIOL, "$(P)SIM:UNITS")
+ field(SDIS, "$(P)DISABLE")
+ info(archive, "VAL")
+ info(INTEREST, "HIGH")
+}
+
+record(mbbo, "$(P)UNITS:SP")
+{
+ field(DTYP, "stream")
+ field(DESC, "Set the units of pressure")
+ field(OUT, "@TPG26x.proto setUnits $(PORT)")
+ field(ZRST, "mbar")
+ field(ONST, "Torr")
+ field(TWST, "Pa")
+ field(SIML, "$(P)SIM")
+ field(SIOL, "$(P)SIM:UNITS:SP")
+ field(SDIS, "$(P)DISABLE")
+ info(archive, "VAL")
+}
+
+alias("$(P)UNITS", "$(P)UNITS:SP:RBV")
+
+
+
+## SIMULATION STUFF ##
+
+record(bo, "$(P)SIM")
+{
+ field(SCAN, "Passive")
+ field(DTYP, "Soft Channel")
+ field(ZNAM, "NO")
+ field(ONAM, "YES")
+ field(VAL, "$(RECSIM=0)")
+}
+
+alias("$(P)SIM", "$(P)SIM:SP")
+
+record(mbbi, "$(P)SIM:UNITS")
+{
+ field(SCAN, "Passive")
+ field(DTYP, "Soft Channel")
+ field(ZRST, "mbar")
+ field(ONST, "Torr")
+ field(TWST, "Pa")
+}
+
+alias("$(P)SIM:UNITS","$(P)SIM:UNITS:SP")
+
+alias("$(P)SIM:UNITS","$(P)SIM:UNITS:SP:RBV")
+
+record(ai,"$(P)SIM:1:PRESSURE")
+{
+ field(DESC, "Sim pressure from gauge 1 no error")
+ field(SCAN, "Passive")
+ field(DTYP, "Soft Channel")
+ field(PINI, "YES")
+ field(VAL, 0)
+}
+
+record(ai,"$(P)SIM:2:PRESSURE")
+{
+ field(DESC, "Sim pressure from gauge 2 no error")
+ field(SCAN, "Passive")
+ field(DTYP, "Soft Channel")
+ field(FLNK, "$(P)2:RAW_PRES")
+ field(PINI, "YES")
+ field(VAL, 0)
+}
+
+record(mbbi,"$(P)SIM:1:ERROR")
+{
+ field(DESC, "Simulated error from the Gauge 1")
+ field(SCAN, "Passive")
+ field(ZRST, "No Error")
+ field(ONST, "Underrange")
+ field(TWST, "Overrange")
+ field(THST, "Sensor error")
+ field(FRST, "Sensor off")
+ field(FVST, "No Sensor")
+ field(SXST, "Identification Error")
+ field(FLNK, "$(P)1:ERROR")
+ field(PINI, "YES")
+ field(VAL, 0)
+}
+
+record(mbbi,"$(P)SIM:2:ERROR")
+{
+ field(DESC, "Simulated error from the Gauge 2")
+ field(SCAN, "Passive")
+ field(ZRST, "No Error")
+ field(ONST, "Underrange")
+ field(TWST, "Overrange")
+ field(THST, "Sensor error")
+ field(FRST, "Sensor off")
+ field(FVST, "No Sensor")
+ field(SXST, "Identification Error")
+ field(PINI, "YES")
+ field(VAL, 0)
+ field(FLNK, "$(P)2:ERROR")
+}