#! Generated by VisualDCT v2.6
#! DBDSTART
#! DBDEND
record(epid, "$(P)$(PID)") {
field(INP, "$(INP)")
field(OUTL, "$(OUT) PP NMS")
field(SCAN, "$(SCAN=.1 second)")
field(KP, "$(KP=.1)")
field(KI, "$(KI=1)")
field(KD, "$(KD=0)")
field(LOPR, "$(LOPR=0)")
field(HOPR, "$(HOPR=10)")
field(DRVL, "$(DRVL=0)")
field(DRVH, "$(DRVH=10)")
field(PREC, "$(PREC=3)")
field(STPL, "0")
field(FLNK, "$(P)$(PID)_limits.VAL PP NMS")
}
record(transform, "$(P)$(PID)_limits") {
field(DESC, "PID limits")
field(CMTA, "Low input")
field(INPA, "$(DRVL=0)")
field(CMTB, "High limit")
field(INPB, "$(DRVH=10)")
field(CMTO, "Low output")
field(CLCO, "a")
field(OUTO, "$(P)$(PID).DRVL NPP NMS")
field(CMTP, "High output")
field(CLCP, "b")
field(OUTP, "$(P)$(PID).DRVH NPP NMS")
field(PREC, "$(PREC=3)")
}
record(transform, "$(P)$(PID)_incalc") {
field(DESC, "PID input calc")
field(PREC, "$(PREC=3)")
}
# These records are for tweaking the output (if the feedback is off)
record(ao, "$(P)$(PID)OUT_tweak") {
field(PREC, "3")
}
record(calcout, "$(P)$(PID)OUT_tweak_down") {
field(INPA, "$(P)$(PID)OUT_tweak.VAL NPP NMS")
field(INPB, "$(OUT) NPP NMS")
field(CALC, "B-A")
field(OUT, "$(OUT) PP NMS")
}
record(calcout, "$(P)$(PID)OUT_tweak_up") {
field(INPA, "$(P)$(PID)OUT_tweak.VAL NPP NMS")
field(INPB, "$(OUT) NPP NMS")
field(CALC, "B+A")
field(OUT, "$(OUT) PP NMS")
}
# These records are for tweaking the setpoint
record(ao, "$(P)$(PID)SP_tweak") {
field(PREC, "3")
}
record(calcout, "$(P)$(PID)SP_tweak_down") {
field(INPA, "$(P)$(PID)SP_tweak.VAL NPP NMS")
field(INPB, "$(P)$(PID).VAL NPP NMS")
field(CALC, "B-A")
field(OUT, "$(P)$(PID).VAL PP NMS")
}
record(calcout, "$(P)$(PID)SP_tweak_up") {
field(INPA, "$(P)$(PID)SP_tweak.VAL NPP NMS")
field(INPB, "$(P)$(PID).VAL NPP NMS")
field(CALC, "B+A")
field(OUT, "$(P)$(PID).VAL PP NMS")
}
# STOP logic
# This record turns off feedback
record(ao, "$(P)$(PID)Stop") {
field(VAL, "0")
field(OUT, "$(P)$(PID).FBON PP NMS")
field(FLNK, "$(P)$(PID)Stop2")
}
# This record turns off the output
record(ao, "$(P)$(PID)Stop2") {
field(VAL, "0.0")
field(OUT, "$(OUT) PP NMS")
}
#! Further lines contain data used by VisualDCT
#! View(0,0,1.0)
#! Record("$(P)$(PID)",1040,282,0,0,"$(P)$(PID)")
#! Field("$(P)$(PID).INP",16777215,0,"$(P)$(PID).INP")
#! Link("$(P)$(PID).INP","$(P)$(PID)/INP")
#! Field("$(P)$(PID).OUTL",16777215,1,"$(P)$(PID).OUTL")
#! Link("$(P)$(PID).OUTL","$(P)$(PID)/OUTL")
#! Field("$(P)$(PID).FLNK",16777215,1,"$(P)$(PID).FLNK")
#! Link("$(P)$(PID).FLNK","$(P)$(PID)/FLNK")
#! Field("$(P)$(PID).DRVL",16777215,0,"$(P)$(PID).DRVL")
#! Field("$(P)$(PID).DRVH",16777215,0,"$(P)$(PID).DRVH")
#! Field("$(P)$(PID).VAL",16777215,0,"$(P)$(PID).VAL")
#! Field("$(P)$(PID).FBON",16777215,0,"$(P)$(PID).FBON")
#! Connector("$(P)$(PID)/OUTL",null,1260,560,16777215,"",2)
#! Connector("$(P)$(PID)/INP",null,980,540,16777215,"",3)
#! Connector("$(P)$(PID)/FLNK","$(P)$(PID)/FLNK1",1400,505,16777215,"",0)
#! Connector("$(P)$(PID)/FLNK1","$(P)$(PID)/FLNK2",1020,440,16777215,"",0)
#! Connector("$(P)$(PID)/FLNK2","$(P)$(PID)_limits",640,434,16777215,"",0)
#! Record("$(P)$(PID)_limits",680,316,0,0,"$(P)$(PID)_limits")
#! Field("$(P)$(PID)_limits.INPA",16777215,0,"$(P)$(PID)_limits.INPA")
#! Link("$(P)$(PID)_limits.INPA","$(P)$(PID)_limits/INPA")
#! Field("$(P)$(PID)_limits.INPB",16777215,0,"$(P)$(PID)_limits.INPB")
#! Link("$(P)$(PID)_limits.INPB","$(P)$(PID)_limits/INPB")
#! Field("$(P)$(PID)_limits.OUTO",16777215,1,"$(P)$(PID)_limits.OUTO")
#! Link("$(P)$(PID)_limits.OUTO","$(P)$(PID).DRVL")
#! Field("$(P)$(PID)_limits.OUTP",16777215,1,"$(P)$(PID)_limits.OUTP")
#! Link("$(P)$(PID)_limits.OUTP","$(P)$(PID).DRVH")
#! Connector("$(P)$(PID)_limits/INPB",null,620,560,16777215,"",3)
#! Connector("$(P)$(PID)_limits/INPA",null,620,540,16777215,"",3)
#! Record("$(P)$(PID)_incalc",320,415,0,0,"$(P)$(PID)_incalc")
#! Record("$(P)$(PID)OUT_tweak",300,129,0,0,"$(P)$(PID)OUT_tweak")
#! Field("$(P)$(PID)OUT_tweak.VAL",16777215,1,"$(P)$(PID)OUT_tweak.VAL")
#! Record("$(P)$(PID)OUT_tweak_down",720,87,0,0,"$(P)$(PID)OUT_tweak_down")
#! Field("$(P)$(PID)OUT_tweak_down.INPA",16777215,0,"$(P)$(PID)OUT_tweak_down.INPA")
#! Link("$(P)$(PID)OUT_tweak_down.INPA","$(P)$(PID)OUT_tweak.VAL")
#! Field("$(P)$(PID)OUT_tweak_down.INPB",16777215,0,"$(P)$(PID)OUT_tweak_down.INPB")
#! Link("$(P)$(PID)OUT_tweak_down.INPB","$(P)$(PID)OUT_tweak_down/INPB")
#! Field("$(P)$(PID)OUT_tweak_down.OUT",16777215,1,"$(P)$(PID)OUT_tweak_down.OUT")
#! Link("$(P)$(PID)OUT_tweak_down.OUT","$(P)$(PID)OUT_tweak_down/OUT")
#! Connector("$(P)$(PID)OUT_tweak_down/INPB",null,660,240,16777215,"",3)
#! Connector("$(P)$(PID)OUT_tweak_down/OUT",null,940,260,16777215,"",2)
#! Record("$(P)$(PID)OUT_tweak_up",720,227,0,0,"$(P)$(PID)OUT_tweak_up")
#! Field("$(P)$(PID)OUT_tweak_up.INPA",16777215,0,"$(P)$(PID)OUT_tweak_up.INPA")
#! Link("$(P)$(PID)OUT_tweak_up.INPA","$(P)$(PID)OUT_tweak.VAL")
#! Field("$(P)$(PID)OUT_tweak_up.INPB",16777215,0,"$(P)$(PID)OUT_tweak_up.INPB")
#! Link("$(P)$(PID)OUT_tweak_up.INPB","$(P)$(PID)OUT_tweak_up/INPB")
#! Field("$(P)$(PID)OUT_tweak_up.OUT",16777215,1,"$(P)$(PID)OUT_tweak_up.OUT")
#! Link("$(P)$(PID)OUT_tweak_up.OUT","$(P)$(PID)OUT_tweak_up/OUT")
#! Connector("$(P)$(PID)OUT_tweak_up/INPB",null,660,380,16777215,"",3)
#! Connector("$(P)$(PID)OUT_tweak_up/OUT",null,940,400,16777215,"",2)
#! Record("$(P)$(PID)SP_tweak",40,529,0,0,"$(P)$(PID)SP_tweak")
#! Field("$(P)$(PID)SP_tweak.VAL",16777215,1,"$(P)$(PID)SP_tweak.VAL")
#! Record("$(P)$(PID)SP_tweak_down",320,487,0,0,"$(P)$(PID)SP_tweak_down")
#! Field("$(P)$(PID)SP_tweak_down.INPA",16777215,0,"$(P)$(PID)SP_tweak_down.INPA")
#! Link("$(P)$(PID)SP_tweak_down.INPA","$(P)$(PID)SP_tweak.VAL")
#! Field("$(P)$(PID)SP_tweak_down.INPB",16777215,1,"$(P)$(PID)SP_tweak_down.INPB")
#! Link("$(P)$(PID)SP_tweak_down.INPB","$(P)$(PID).VAL")
#! Field("$(P)$(PID)SP_tweak_down.OUT",16777215,1,"$(P)$(PID)SP_tweak_down.OUT")
#! Link("$(P)$(PID)SP_tweak_down.OUT","$(P)$(PID)SP_tweak_down/OUT")
#! Connector("$(P)$(PID)SP_tweak_down/OUT","$(P)$(PID).VAL",540,640,16777215,"",0)
#! Record("$(P)$(PID)SP_tweak_up",320,627,0,0,"$(P)$(PID)SP_tweak_up")
#! Field("$(P)$(PID)SP_tweak_up.INPA",16777215,0,"$(P)$(PID)SP_tweak_up.INPA")
#! Link("$(P)$(PID)SP_tweak_up.INPA","$(P)$(PID)SP_tweak.VAL")
#! Field("$(P)$(PID)SP_tweak_up.INPB",16777215,1,"$(P)$(PID)SP_tweak_up.INPB")
#! Link("$(P)$(PID)SP_tweak_up.INPB","$(P)$(PID)SP_tweak_up/INPB")
#! Field("$(P)$(PID)SP_tweak_up.OUT",16777215,1,"$(P)$(PID)SP_tweak_up.OUT")
#! Link("$(P)$(PID)SP_tweak_up.OUT","$(P)$(PID)SP_tweak_up/OUT")
#! Connector("$(P)$(PID)SP_tweak_up/INPB","$(P)$(PID).VAL",560,700,16777215,"",0)
#! Connector("$(P)$(PID)SP_tweak_up/OUT","$(P)$(PID).VAL",560,710,16777215,"",0)
#! Record("$(P)$(PID)Stop",740,621,0,0,"$(P)$(PID)Stop")
#! Field("$(P)$(PID)Stop.OUT",16777215,1,"$(P)$(PID)Stop.OUT")
#! Link("$(P)$(PID)Stop.OUT","$(P)$(PID)Stop/OUT")
#! Field("$(P)$(PID)Stop.FLNK",16777215,1,"$(P)$(PID)Stop.FLNK")
#! Link("$(P)$(PID)Stop.FLNK","$(P)$(PID)Stop/FLNK")
#! Connector("$(P)$(PID)Stop/OUT","$(P)$(PID).FBON",960,690,16777215,"",0)
#! Connector("$(P)$(PID)Stop/FLNK","$(P)$(PID)Stop/FLNK1",960,765,16777215,"",0)
#! Connector("$(P)$(PID)Stop/FLNK1","$(P)$(PID)Stop/FLNK2",830,780,16777215,"",0)
#! Connector("$(P)$(PID)Stop/FLNK2","$(P)$(PID)Stop2",700,798,16777215,"",0)
#! Record("$(P)$(PID)Stop2",740,775,0,0,"$(P)$(PID)Stop2")
#! Field("$(P)$(PID)Stop2.OUT",16777215,1,"$(P)$(PID)Stop2.OUT")
#! Link("$(P)$(PID)Stop2.OUT","$(P)$(PID)Stop2/OUT")
#! Connector("$(P)$(PID)Stop2/OUT",null,980,880,16777215,"",2)