IOCINFRAApp/Db/SATECO_base.db
changeset 0 77d8eafe2a07
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/IOCINFRAApp/Db/SATECO_base.db	Thu Mar 07 09:23:26 2019 +0100
@@ -0,0 +1,473 @@
+# $Source: /cvs/G/DRV/SATECO/SATECO_base.template,v $
+# $Date: 2008/10/28 14:01:25 $
+# $Revision: 1.20 $
+# $Author: wang_x1 $
+
+
+#  Required substitutions:
+#    NAME        - prefix, e.g. X99SA-ES1-CRYOJET:
+#    UNIT        - temperature unit
+#    PTCOLS      - StreamDevice protocol file
+#    PORT        - port name
+
+# The Alarm Status of this record is used to trigger WATCHDOG
+record(stringin, "$(NAME):VERSION")
+{
+    field(DESC, "control version")
+    field(DTYP, "stream")
+    field(INP,  "@$(PTCOLS) GET_VERSION $(PORT)")
+    field(SCAN, "1 second")
+    field(DISV, "0")
+    field(SDIS, "$(NAME):WATCHDOG.VAL")
+
+    field(FLNK, "$(NAME):ONESHOT")
+}
+
+##############################################
+# Controller Mode
+##############################################
+record(mbbi, "$(NAME):MODE_RBV")
+{
+    field(DESC, "control mode")
+    field(DTYP, "stream")
+    field(INP,  "@$(PTCOLS) GET_MODE $(PORT)")
+    
+    field(ZRVL, "0")
+    field(ONVL, "1")
+
+    field(ZRST, "Local")
+    field(ONST, "Remote")
+
+    field(SCAN, "1 second")
+    field(DISV, "0")
+    field(SDIS, "$(NAME):WATCHDOG.VAL")
+}
+
+record(mbbo, "$(NAME):MODE")
+{
+    field(DESC, "control mode")
+    field(DTYP, "stream")
+    field(OUT,  "@$(PTCOLS) SET_MODE $(PORT)")
+    
+    field(ZRVL, "0")
+    field(ONVL, "1")
+
+    field(ZRST, "Local")
+    field(ONST, "Remote")
+
+    field(DISV, "0")
+    field(SDIS, "$(NAME):WATCHDOG.VAL")
+}
+
+
+##############################################
+# Connection Status Monitor
+##############################################
+record(mbbo,    "$(NAME):CONN-STAT")
+{
+    field(DESC, "connection status")
+
+    field(ZRVL, "0")
+    field(ONVL, "1")
+    field(TWVL, "2")
+
+    field(ZRST, "Disconnected")
+    field(ONST, "Connected")
+    field(TWST, "Connecting") 
+
+    field(ZRSV, "MAJOR")
+    field(ONSV, "NO_ALARM")
+    field(TWSV, "MINOR")
+}
+record(bo,      "$(NAME):CONN")
+{
+    field(DESC, "turn on/off connection")
+
+    field(ZNAM, "Disconnect")
+    field(ONAM, "Connect")
+    field(ZSV,  "MAJOR")
+    field(OSV,  "NO_ALARM")
+   
+    field(OUT,  "$(NAME):CONN-DFAN.VAL PP")
+    field(FLNK, "$(NAME):CONN-CALC")
+}
+
+record(dfanout, "$(NAME):CONN-DFAN")
+{
+    field(DESC, "fanout connect action")
+    field(OMSL, "supervisory")
+
+    field(OUTA, "$(NAME):ASYNIO.ENBL")
+#    field(OUTB, "$(NAME):ENBLSCAN.VAL")
+    field(OUTC, "$(NAME):WATCHDOG.VAL PP")
+}
+
+record(calcout, "$(NAME):CONN-CALC")
+{
+    field(DESC, "connecting")
+    field(INPA, "$(NAME):CONN.VAL")
+    field(CALC, "A=1?2:0")
+    field(DOPT, "Use CALC")
+    field(OOPT, "Transition To Non-zero")
+    field(OUT,  "$(NAME):CONN-STAT.VAL PP MS")
+    field(SCAN, "Passive")
+}
+
+record(calcout, "$(NAME):ONESHOT")
+{
+    field(DESC, "watchdog trigger")
+    field(INPA, "$(NAME):VERSION.STAT")
+    field(CALC, "A=0?1:0")
+    field(OOPT, "When Non-zero")
+    field(OUT,  "$(NAME):WATCHDOG.VAL PP MS")
+    field(SCAN, "Passive")
+}
+
+record(bo, "$(NAME):ENBLSCAN")
+{
+    field(DESC, "enable/disable record scan")
+    field(DTYP, "Soft Channel")
+    field(SCAN, "Passive")
+
+    field(ZNAM, "Disable")
+    field(ONAM, "Enable")
+}
+
+record(bo, "$(NAME):WATCHDOG")
+{
+    field(DESC, "connection indicator")
+    field(DTYP, "Soft Channel")
+
+    field(HIGH, "15")
+    field(SCAN, "Passive")
+
+    field(OUT,  "$(NAME):CONN-STAT.VAL PP")
+
+    field(ZNAM, "Disconnected")
+    field(ONAM, "Connected")
+    field(ZSV,  "MAJOR")
+    field(OSV,  "NO_ALARM")
+}
+
+record(asyn, "$(NAME):ASYNIO")
+{
+    field(DESC, "asyn port")
+    field(PORT, "$(PORT)")
+}
+
+record(calcout, "$(NAME):TRIG-CONN")
+{   
+    field(DESC, "trigger scan")
+    field(INPA, "$(NAME):WATCHDOG.VAL CPP MS")
+    field(CALC, "A")
+    field(OUT,  "$(NAME):CONN.VAL PP MS")
+    field(OOPT, "Transition To Zero")
+}
+
+###########################################
+#   PID
+###########################################
+record(ao,      "$(NAME):P")
+{
+    field(DESC, "PID - proportion set-point")
+    field(DTYP, "stream")
+    field(OUT,  "@$(PTCOLS) SET_P($(NAME)) $(PORT)")
+
+    field(DISV, "0")
+    field(SDIS, "$(NAME):WATCHDOG.VAL")
+    field(PREC, "1")
+}
+
+record(ai,      "$(NAME):P_RBV")
+{
+    field(DESC, "PID - proportion readback")
+    field(DTYP, "stream")
+    field(INP,  "@$(PTCOLS) GET_P $(PORT)")
+
+    field(SCAN, "1 second")
+    field(DISV, "0")
+    field(SDIS, "$(NAME):WATCHDOG.VAL")
+    field(PREC, "1")
+}
+record(ao,      "$(NAME):I")
+{
+    field(DESC, "PID - integral set-point")
+    field(DTYP, "stream")
+    field(OUT,  "@$(PTCOLS) SET_I($(NAME)) $(PORT)")
+
+    field(DISV, "0")
+    field(SDIS, "$(NAME):WATCHDOG.VAL")
+    field(PREC, "1")
+}
+
+record(ai,      "$(NAME):I_RBV")
+{
+    field(DESC, "PID - integral readback")
+    field(DTYP, "stream")
+    field(INP,  "@$(PTCOLS) GET_I $(PORT)")
+
+    field(SCAN, "1 second")
+    field(DISV, "0")
+    field(SDIS, "$(NAME):WATCHDOG.VAL")
+    field(PREC, "1")
+}
+record(ao,      "$(NAME):D")
+{
+    field(DESC, "PID - derivative set-point")
+    field(DTYP, "stream")
+    field(OUT,  "@$(PTCOLS) SET_D($(NAME)) $(PORT)")
+
+    field(DISV, "0")
+    field(SDIS, "$(NAME):WATCHDOG.VAL")
+    field(PREC, "1")
+}
+
+record(ai,      "$(NAME):D_RBV")
+{
+    field(DESC, "PID - derivative readback")
+    field(DTYP, "stream")
+    field(INP,  "@$(PTCOLS) GET_D $(PORT)")
+
+    field(SCAN, "1 second")
+    field(DISV, "0")
+    field(SDIS, "$(NAME):WATCHDOG.VAL")
+    field(PREC, "1")
+}
+
+###########################################
+#   Heating Level
+###########################################
+record(ao,      "$(NAME):HT-LVL")
+{
+    field(DESC, "heater level set-point")
+    field(DTYP, "stream")
+    field(OUT,  "@$(PTCOLS) SET_HEAT-LEVEL $(PORT)")
+
+
+    field(DISV, "0")
+    field(SDIS, "$(NAME):WATCHDOG.VAL")
+
+    field(HOPR, "100")
+    field(LOPR, "0")
+    field(PREC, "1")
+    field(EGU,  "%")
+}
+
+record(ai,      "$(NAME):HT-LVL_RBV")
+{
+    field(DESC, "heater level readback")
+    field(DTYP, "stream")
+    field(INP,  "@$(PTCOLS) GET_HEAT-LEVEL $(PORT)")
+
+    field(SCAN, "1 second")
+    field(DISV, "0")
+    field(SDIS, "$(NAME):WATCHDOG.VAL")
+
+    field(HOPR, "100")
+    field(LOPR, "0")
+    field(PREC, "1")
+    field(EGU,  "%")
+}
+
+###########################################
+#   Temperature
+###########################################
+
+record(ai, "$(NAME):TEMP_RBV")
+{
+    field(DESC, "temperature")
+    field(DTYP, "stream")
+    field(INP,  "@$(PTCOLS) GET_TEMP $(PORT)")
+    field(FLNK, "$(NAME):TEMP-AVG")
+
+    field(SCAN, "1 second")
+    field(DISV, "0")
+    field(SDIS, "$(NAME):WATCHDOG.VAL")
+
+    field(PREC, "2")
+    field(EGU,  "$(UNIT)")
+}
+
+record(ao, "$(NAME):TEMP")
+{
+    field(DESC, "temperature")
+    field(DTYP, "stream")
+    field(OUT,  "@$(PTCOLS) SET_TEMP $(PORT)")
+
+    field(DISV, "0")
+    field(SDIS, "$(NAME):WATCHDOG.VAL")
+
+    field(PREC, "2")
+    field(EGU,  "$(UNIT)")
+
+    field(FLNK, "$(NAME):GO-1 PP MS")
+}
+
+#!
+record(ai, "$(NAME):TEMP-SP")
+{
+    field(DESC, "temperature setpoint")
+    field(DTYP, "stream")
+    field(INP,  "@$(PTCOLS) GET_TEMP-SP $(PORT)")
+
+    field(DISV, "0")
+    field(SDIS, "$(NAME):WATCHDOG.VAL")
+
+    field(PREC, "2")
+    field(EGU,  "$(UNIT)")
+}
+
+###########################################
+#   busy record for temperature set-point
+###########################################
+record(calcout, "$(NAME):GO-1")
+{
+    field(DESC, "")
+    field(INPA, "$(NAME):TEMP.SIMM")
+    field(CALC, "A=1?0:1")
+
+    field(OUT,  "$(NAME):GO-2 PP MS")
+    field(OOPT, "When Non-zero")
+}
+
+record(bo,  "$(NAME):GO-2")
+{
+    field(DESC, "")
+    field(DTYP, "Soft Channel")
+    field(OMSL, "supervisory")
+    field(VAL,  "1")
+    field(OUT,  "$(NAME):BUSY.VAL PP MS")
+                                # update TEMP-STAT, not waiting for next readback
+    field(FLNK, "$(NAME):RNG-CALC")
+}
+
+record(busy,    "$(NAME):BUSY")
+{
+}
+
+###########################################
+#   Temperature Status Monitor
+###########################################
+
+record(longout, "$(NAME):SETTL-PRD")
+{
+    field(DESC, "settling time")
+    field(EGU,  "s")
+    field(VAL,  "120")
+    field(FLNK, "$(NAME):TEMP-AVG")
+}
+
+record(ao,      "$(NAME):TOLERANCE")
+{
+    field(DESC, "tolerance band width")
+    field(EGU,  "$(UNIT)")
+    field(VAL,  "1")
+    field(PREC, "2")
+}
+
+record(sub, "$(NAME):TEMP-AVG")
+{
+    field(DESC, "temperature average")
+    field(INPA, "$(NAME):SETTL-PRD.VAL")
+    field(INPB, "$(NAME):TEMP_RBV.VAL")
+    field(INPD, "0") # Continuous Mode
+    field(INAM, "initSubAve")
+    field(SNAM, "SubAve")
+    field(PREC, "2")
+    field(SCAN, "Passive")
+
+    field(FLNK, "$(NAME):RNG-CALC")
+}
+
+record(calcout, "$(NAME):RNG-CALC")
+{
+    field(DESC, "temperature status calc")
+    field(INPA, "$(NAME):TEMP-AVG.VAL")
+    field(INPB, "$(NAME):TEMP.VAL")
+    field(INPC, "$(NAME):TOLERANCE.VAL")
+    field(INPD, "$(NAME):TEMP_RBV.VAL")
+
+    field(CALC, "(ABS(A-B)<=C)&&(ABS(D-B)<=C)?0:1")
+    field(DOPT, "Use CALC")
+    field(OOPT, "When Zero")
+
+    field(OUT,  "$(NAME):BUSY.VAL PP MS")
+    field(FLNK, "$(NAME):TEMP-STAT.VAL PP MS")
+
+    field(SCAN, "Passive")
+}
+
+record(mbbo,    "$(NAME):TEMP-STAT")
+{
+    field(DESC, "temperature status")
+
+    field(DOL,  "$(NAME):RNG-CALC MS")
+    field(OMSL, "closed_loop")
+ 
+    field(ZRVL, "0")
+    field(ONVL, "1")
+
+    field(ZRST, "Inside Range")
+    field(ONST, "Out of Range")
+
+    field(ZRSV,  "NO_ALARM")
+    field(ONSV,  "MAJOR")
+
+    field(SCAN, "Passive")
+}
+###########################################
+#   For Debug Use
+###########################################
+record(stringout,    "$(NAME):QUERY")
+{
+    field(DESC, "debug - query")
+    field(DTYP, "stream")
+    field(OUT,  "@$(PTCOLS) QUERY($(NAME):RECV.VAL) $(PORT)")
+    field(DISV, "0")
+    field(SDIS, "$(NAME):WATCHDOG.VAL")
+}
+record(stringout,    "$(NAME):RECV")
+{
+    field(DESC, "debug - received message")
+    field(DTYP, "Soft Channel")
+}
+
+###########################################
+#  retrieve temp set-point when connected
+###########################################
+record(calcout, "$(NAME):TRIG-STAT")
+{   
+    field(DESC, "trigger TRIG-SP")
+    field(INPA, "$(NAME):CONN-STAT.VAL CPP MS")
+    field(CALC, "A=1?1:0")
+    field(OUT,  "$(NAME):TEMP-SIMM1.VAL PP MS")
+    field(OOPT, "Transition To Non-zero")
+}
+record(bo,      "$(NAME):TEMP-SIMM1")
+{
+    field(DESC, "set TEMP in simulation")
+    field(OUT,  "$(NAME):TEMP.SIMM")
+    field(FLNK, "$(NAME):SEQ")
+}
+
+record(sseq,    "$(NAME):SEQ")
+{
+    field(SELM, "All")
+
+    field(WAIT1,"Wait")
+    field(DO1,  "1")
+    field(LNK1, "$(NAME):TEMP-SP.PROC CA")
+
+    field(DOL2,  "$(NAME):TEMP-SP.VAL")
+    field(LNK2,  "$(NAME):TEMP.VAL PP")
+ 
+    field(FLNK, "$(NAME):TEMP-SIMM2")
+}
+
+record(bo,      "$(NAME):TEMP-SIMM2")
+{
+    field(DESC, "reset TEMP out simulation")
+    field(DOL,  "0")
+    field(OUT,  "$(NAME):TEMP.SIMM")
+    field(OMSL, "closed_loop")
+}