std-rs 0.14.2

Rust port of EPICS std module (epid, throttle, timestamp records)
Documentation
#! 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)