#! Generated by VisualDCT v2.6
#! DBDSTART
#! DBD("../../example/dbd/example.dbd")
#! DBDEND
# % macro, P, Device prefix
# % macro, Q, Device suffix
# % macro, PORT, Asyn port name
# % macro, GAD, Global address number, normally 0
# % macro, LAD, Local address number, normally 1
# % macro, SPMAX, Maximum setpoint
# % macro, RRMAX, Maximum ramp rate
# % macro, SPCMD, Setpoint command, set to 'write' for floating point
# % macro, PREC, Setpoint precision
# % macro, EGU, Engineering units for ramp rate, default is C/s
# % macro, name, object and gui association name
# % macro, gda_name, Name to export to gda as
# % macro, gda_desc, Description for gda
# % gdatag,template,eurotherm2k,$(gda_name=),$(gda_desc=)
# % gui, $(name=), edmembed, eurotherm2k_embed.edl, eurotherm=$(P)$(Q)
# % gui, $(name=), edm, eurotherm2k.edl, eurotherm=$(P)$(Q)
# % autosave 2 SCAN
record(seq, "$(P)$(Q):UPDATE") {
field(DESC, "Update Temp Params")
field(DOL1, "1")
field(DOL2, "1")
field(DOL3, "1")
field(DOL4, "1")
field(LNK1, "$(P)$(Q):SP:RBV.PROC")
field(LNK2, "$(P)$(Q):RR:RBV.PROC")
field(LNK3, "$(P)$(Q):O:RBV.PROC")
field(LNK4, "$(P)$(Q):PV:RBV.PROC")
field(SCAN, "1 second")
field(PINI, "YES")
field(DOL5, "1")
field(LNK5, "$(P)$(Q):MAN:RBV_AI.PROC")
}
# % autosave 2 SCAN
record(seq, "$(P)$(Q):PID") {
field(DESC, "Update PID Params")
field(DOL1, "1")
field(DOL2, "1")
field(DOL3, "1")
field(LNK1, "$(P)$(Q):P:RBV.PROC")
field(LNK2, "$(P)$(Q):I:RBV.PROC")
field(LNK3, "$(P)$(Q):D:RBV.PROC")
field(SCAN, "10 second")
field(PINI, "YES")
}
#% gdatag,pv,rw,$(gda_name=),SP
record(ao, "$(P)$(Q):SP") {
field(DESC, "Setpoint")
field(DTYP, "stream")
field(FLNK, "$(P)$(Q):SP:RBV")
field(OUT, "@eurotherm2k.proto $(SPCMD=writeint)($(GAD),$(LAD),S1,$(P)$(Q)) $(PORT)")
field(PREC, "$(PREC=0)")
field(EGU, "C")
field(DRVH, "$(SPMAX=1000)")
field(DRVL, "0")
field(PINI, "YES")
field(SDIS, "$(P)$(Q):DISABLE")
}
# % gdatag,pv,ro,$(gda_name=),SPRBV
# % archiver 10 Monitor
record(ai, "$(P)$(Q):SP:RBV") {
field(DESC, "Setpoint Readback")
field(DTYP, "stream")
field(INP, "@eurotherm2k.proto read($(GAD),$(LAD),S1) $(PORT)")
field(PREC, "$(PREC=0)")
field(EGU, "C")
field(SDIS, "$(P)$(Q):DISABLE")
}
#% gdatag,pv,rw,$(gda_name=),RR
record(ao, "$(P)$(Q):RR") {
field(DESC, "Ramprate")
field(DTYP, "stream")
field(FLNK, "$(P)$(Q):RR:RBV")
field(OUT, "@eurotherm2k.proto write($(GAD),$(LAD),RR,$(P)$(Q)) $(PORT)")
field(PREC, "3")
field(EGU, "$(EGU=C/s)")
field(DRVH, "$(RRMAX=1)")
field(DRVL, "0")
field(PINI, "YES")
field(SDIS, "$(P)$(Q):DISABLE")
}
# % gdatag,pv,ro,$(gda_name=),RRRBV
# % archiver 10 Monitor
record(ai, "$(P)$(Q):RR:RBV") {
field(DESC, "Ramprate Readback")
field(DTYP, "stream")
field(INP, "@eurotherm2k.proto read($(GAD),$(LAD),RR) $(PORT)")
field(PREC, "3")
field(EGU, "$(EGU=C/s)")
field(SDIS, "$(P)$(Q):DISABLE")
}
#% gdatag,pv,rw,$(gda_name=),O
record(ao, "$(P)$(Q):O") {
field(DESC, "Output")
field(DTYP, "stream")
field(FLNK, "$(P)$(Q):O:RBV")
field(OUT, "@eurotherm2k.proto write($(GAD),$(LAD),OP,$(P)$(Q)) $(PORT)")
field(PREC, "1")
field(EGU, "%")
field(DRVH, "100")
field(DRVL, "-100")
field(PINI, "YES")
field(SDIS, "$(P)$(Q):DISABLE")
}
# % gdatag,pv,ro,$(gda_name=),ORBV
# % archiver 1 Monitor
record(ai, "$(P)$(Q):O:RBV") {
field(DESC, "Ouptut Readback")
field(DTYP, "stream")
field(INP, "@eurotherm2k.proto read($(GAD),$(LAD),OP) $(PORT)")
field(PREC, "1")
field(EGU, "%")
field(SDIS, "$(P)$(Q):DISABLE")
}
# % gdatag,pv,ro,$(gda_name=),PVRBV
# % archiver 1 Monitor
record(ai, "$(P)$(Q):PV:RBV") {
field(DESC, "Temperature Readback")
field(DTYP, "stream")
field(INP, "@eurotherm2k.proto read($(GAD),$(LAD),PV) $(PORT)")
field(PREC, "1")
field(EGU, "C")
field(SDIS, "$(P)$(Q):DISABLE")
}
#% gdatag,pv,rw,$(gda_name=),P
record(ao, "$(P)$(Q):P") {
field(DESC, "P Param")
field(DTYP, "stream")
field(FLNK, "$(P)$(Q):P:RBV")
field(OUT, "@eurotherm2k.proto writeint($(GAD),$(LAD),XP,$(P)$(Q)) $(PORT)")
field(PREC, "0")
field(VAL, "150")
field(PINI, "YES")
field(SDIS, "$(P)$(Q):DISABLE")
}
# % gdatag,pv,ro,$(gda_name=),PRBV
# % archiver 10 Monitor
record(ai, "$(P)$(Q):P:RBV") {
field(DESC, "P Param Readback")
field(DTYP, "stream")
field(INP, "@eurotherm2k.proto read($(GAD),$(LAD),XP) $(PORT)")
field(PREC, "0")
field(SDIS, "$(P)$(Q):DISABLE")
}
#% gdatag,pv,rw,$(gda_name=),I
record(ao, "$(P)$(Q):I") {
field(DESC, "I Param")
field(DTYP, "stream")
field(FLNK, "$(P)$(Q):I:RBV")
field(OUT, "@eurotherm2k.proto writeint($(GAD),$(LAD),TI,$(P)$(Q)) $(PORT)")
field(PREC, "0")
field(VAL, "28")
field(PINI, "YES")
field(SDIS, "$(P)$(Q):DISABLE")
}
# % gdatag,pv,ro,$(gda_name=),IRBV
# % archiver 10 Monitor
record(ai, "$(P)$(Q):I:RBV") {
field(DESC, "I Param Readback")
field(DTYP, "stream")
field(INP, "@eurotherm2k.proto read($(GAD),$(LAD),TI) $(PORT)")
field(PREC, "0")
field(SDIS, "$(P)$(Q):DISABLE")
}
#% gdatag,pv,rw,$(gda_name=),D
record(ao, "$(P)$(Q):D") {
field(DESC, "D Param")
field(DTYP, "stream")
field(FLNK, "$(P)$(Q):D:RBV")
field(OUT, "@eurotherm2k.proto writeint($(GAD),$(LAD),TD,$(P)$(Q)) $(PORT)")
field(PREC, "0")
field(VAL, "4")
field(PINI, "YES")
field(SDIS, "$(P)$(Q):DISABLE")
}
# % gdatag,pv,ro,$(gda_name=),DRBV
# % archiver 10 Monitor
record(ai, "$(P)$(Q):D:RBV") {
field(DESC, "D Param Readback")
field(DTYP, "stream")
field(INP, "@eurotherm2k.proto read($(GAD),$(LAD),TD) $(PORT)")
field(PREC, "0")
field(SDIS, "$(P)$(Q):DISABLE")
}
# % gdatag,pv,rw,$(gda_name=),ERR
record(mbbi, "$(P)$(Q):ERR") {
field(DESC, "Error message")
field(DTYP, "stream")
field(INP, "@eurotherm2k.proto readhex($(GAD),$(LAD),EE) $(PORT)")
field(ZRVL, "0")
field(ZRST, "No Error")
field(ONVL, "1")
field(ONST, "Invalid Param")
field(TWVL, "2")
field(TWST, "Read Only")
field(THVL, "7")
field(THST, "Incorrect Msg")
field(FRVL, "8")
field(FRST, "Limit Error")
field(PINI, "YES")
field(SDIS, "$(P)$(Q):DISABLE")
}
# % gdatag,binary,rw,$(gda_name=),DISABLE
record(bo, "$(P)$(Q):DISABLE") {
field(DESC, "Disable comms")
field(PINI, "YES")
field(VAL, "1")
field(OMSL, "supervisory")
field(ZNAM, "Enabled")
field(ONAM, "Disabled")
}
record(bo, "$(P)$(Q):MAN") {
field(DESC, "Manual mode enable")
field(DTYP, "stream")
field(SDIS, "$(P)$(Q):DISABLE")
field(FLNK, "$(P)$(Q):MAN:RBV_AI")
field(OUT, "@eurotherm2k.proto writeint($(GAD),$(LAD),mA,$(P)$(Q)) $(PORT)")
field(ZNAM, "Automatic")
field(ONAM, "Manual")
field(PINI, "YES")
}
record(ai, "$(P)$(Q):MAN:RBV_AI") {
field(DESC, "Manual mode readback")
field(DTYP, "stream")
field(SDIS, "$(P)$(Q):DISABLE")
field(INP, "@eurotherm2k.proto read($(GAD),$(LAD),mA) $(PORT)")
field(FLNK, "$(P)$(Q):MAN:RBV")
}
# % archiver 10 Monitor
record(bi, "$(P)$(Q):MAN:RBV") {
field(DESC, "Manual mode readback")
field(DTYP, "Soft Channel")
field(INP, "$(P)$(Q):MAN:RBV_AI")
field(ZNAM, "Automatic")
field(ONAM, "Manual")
}
record(mbbi, "$(P)$(Q):CONF:MODE") {
field(DTYP, "stream")
field(INP, "@eurotherm2k.proto getConfMode($(P)$(Q)) $(PORT)")
field(ZRVL, "0")
field(ONVL, "2")
field(ZRST, "operational")
field(ONST, "configuration")
}
record(longin, "$(P)$(Q):ADDR") {
field(FLNK, "$(P)$(Q):CONF:DLY")
}
record(longout, "$(P)$(Q):ADDR:DEVICE") {
field(VAL, "$(LAD)")
field(OUT, "$(P)$(Q):ADDR PP")
}
record(bo, "$(P)$(Q):CONF:SETMODE") {
field(DTYP, "stream")
field(FLNK, "$(P)$(Q):CONF:ZEROADDR")
field(OUT, "@eurotherm2k.proto setConfMode($(GAD),$(LAD),$(P)$(Q)) $(PORT)")
field(ZNAM, "0")
field(ONAM, "1")
}
record(bo, "$(P)$(Q):CONF:CLEARMODE") {
field(DTYP, "stream")
field(FLNK, "$(P)$(Q):ADDR:DEVICE")
field(OUT, "@eurotherm2k.proto clearConfMode($(P)$(Q)) $(PORT)")
field(ZNAM, "0")
field(ONAM, "1")
}
record(longout, "$(P)$(Q):CONF:ZEROADDR") {
field(VAL, "0")
field(OUT, "$(P)$(Q):ADDR PP")
}
record(stringout, "$(P)$(Q):ADDR:WR") {
field(DESC, "write cmd")
field(DTYP, "stream")
field(OUT, "@eurotherm2k.proto addrWrite($(P)$(Q)) $(PORT)")
field(PINI, "NO")
}
record(stringout, "$(P)$(Q):ADDR:RD") {
field(DESC, "Read parameter")
field(DTYP, "stream")
field(OUT, "@eurotherm2k.proto addrRead($(P)$(Q)) $(PORT)")
}
record(stringin, "$(P)$(Q):ADDR:RESP") {
field(DESC, "Read response")
}
record(mbbi, "$(P)$(Q):CONF:DECP") {
field(DTYP, "stream")
field(INP, "@eurotherm2k.proto getDecPlaces($(P)$(Q)) $(PORT)")
field(ZRVL, "0")
field(ONVL, "1")
field(ZRST, "nnnn.")
field(ONST, "nnn.n")
field(DESC, "decimal places")
field(TWVL, "2")
field(TWST, "nn.nn")
}
record(mbbo, "$(P)$(Q):CONF:SET:DECP") {
field(DESC, "decimal places")
field(DTYP, "stream")
field(OUT, "@eurotherm2k.proto setDecPlaces($(P)$(Q)) $(PORT)")
field(ZRVL, "0")
field(ONVL, "1")
field(TWVL, "2")
field(ZRST, "nnnn.")
field(ONST, "nnn.n")
field(TWST, "nn.nn")
}
record(fanout, "$(P)$(Q):CONF:READ") {
field(FLNK, "$(P)$(Q):CONF:DECP")
field(LNK1, "$(P)$(Q):CONF:RREGU")
}
record(mbbi, "$(P)$(Q):CONF:RREGU") {
field(DTYP, "stream")
field(INP, "@eurotherm2k.proto getRampRateUnit($(P)$(Q)) $(PORT)")
field(ZRVL, "0")
field(ONVL, "1")
field(ZRST, "sec")
field(ONST, "min")
field(DESC, "decimal places")
field(TWVL, "2")
field(TWST, "hour")
}
record(mbbo, "$(P)$(Q):CONF:SET:RREGU") {
field(DESC, "decimal places")
field(DTYP, "stream")
field(OUT, "@eurotherm2k.proto setRampRateUnit($(P)$(Q)) $(PORT)")
field(ZRVL, "0")
field(ONVL, "1")
field(TWVL, "2")
field(ZRST, "sec")
field(ONST, "min")
field(TWST, "hour")
}
record(seq, "$(P)$(Q):CONF:DLY") {
field(SELM, "Specified")
field(SELL, "1")
field(DLY1, "5.0")
field(DOL1, "1")
field(LNK1, "$(P)$(Q):CONF:MODE.PROC CA MS")
}
#! Further lines contain data used by VisualDCT
#! View(206,1478,1.1)
#! Record("$(P)$(Q):UPDATE",960,222,0,0,"$(P)$(Q):UPDATE")
#! Field("$(P)$(Q):UPDATE.LNK1",16777215,1,"$(P)$(Q):UPDATE.LNK1")
#! Link("$(P)$(Q):UPDATE.LNK1","$(P)$(Q):SP:RBV.PROC")
#! Field("$(P)$(Q):UPDATE.LNK2",16777215,1,"$(P)$(Q):UPDATE.LNK2")
#! Link("$(P)$(Q):UPDATE.LNK2","$(P)$(Q):RR:RBV.PROC")
#! Field("$(P)$(Q):UPDATE.LNK3",16777215,1,"$(P)$(Q):UPDATE.LNK3")
#! Link("$(P)$(Q):UPDATE.LNK3","$(P)$(Q):O:RBV.PROC")
#! Field("$(P)$(Q):UPDATE.LNK4",16777215,1,"$(P)$(Q):UPDATE.LNK4")
#! Link("$(P)$(Q):UPDATE.LNK4","$(P)$(Q):PV:RBV.PROC")
#! Field("$(P)$(Q):UPDATE.LNK5",16777215,1,"$(P)$(Q):UPDATE.LNK5")
#! Link("$(P)$(Q):UPDATE.LNK5","$(P)$(Q):MAN:RBV_AI.PROC")
#! Record("$(P)$(Q):PID",1080,1258,0,1,"$(P)$(Q):PID")
#! Field("$(P)$(Q):PID.LNK1",16777215,1,"$(P)$(Q):PID.LNK1")
#! Link("$(P)$(Q):PID.LNK1","$(P)$(Q):P:RBV.PROC")
#! Field("$(P)$(Q):PID.LNK2",16777215,1,"$(P)$(Q):PID.LNK2")
#! Link("$(P)$(Q):PID.LNK2","$(P)$(Q):I:RBV.PROC")
#! Field("$(P)$(Q):PID.LNK3",16777215,1,"$(P)$(Q):PID.LNK3")
#! Link("$(P)$(Q):PID.LNK3","$(P)$(Q):D:RBV.PROC")
#! Record("$(P)$(Q):SP",1200,224,0,0,"$(P)$(Q):SP")
#! Field("$(P)$(Q):SP.FLNK",16777215,1,"$(P)$(Q):SP.FLNK")
#! Link("$(P)$(Q):SP.FLNK","$(P)$(Q):SP:RBV")
#! Field("$(P)$(Q):SP.SDIS",16777215,1,"$(P)$(Q):SP.SDIS")
#! Link("$(P)$(Q):SP.SDIS","$(P)$(Q):DISABLE.VAL")
#! Record("$(P)$(Q):SP:RBV",1480,240,0,0,"$(P)$(Q):SP:RBV")
#! Field("$(P)$(Q):SP:RBV.PROC",16777215,0,"$(P)$(Q):SP:RBV.PROC")
#! Field("$(P)$(Q):SP:RBV.SDIS",16777215,1,"$(P)$(Q):SP:RBV.SDIS")
#! Link("$(P)$(Q):SP:RBV.SDIS","$(P)$(Q):DISABLE.VAL")
#! Record("$(P)$(Q):RR",1180,564,0,0,"$(P)$(Q):RR")
#! Field("$(P)$(Q):RR.FLNK",16777215,1,"$(P)$(Q):RR.FLNK")
#! Link("$(P)$(Q):RR.FLNK","$(P)$(Q):RR:RBV")
#! Field("$(P)$(Q):RR.SDIS",16777215,1,"$(P)$(Q):RR.SDIS")
#! Link("$(P)$(Q):RR.SDIS","$(P)$(Q):DISABLE.VAL")
#! Record("$(P)$(Q):RR:RBV",1500,500,0,0,"$(P)$(Q):RR:RBV")
#! Field("$(P)$(Q):RR:RBV.PROC",16777215,0,"$(P)$(Q):RR:RBV.PROC")
#! Field("$(P)$(Q):RR:RBV.SDIS",16777215,1,"$(P)$(Q):RR:RBV.SDIS")
#! Link("$(P)$(Q):RR:RBV.SDIS","$(P)$(Q):DISABLE.VAL")
#! Record("$(P)$(Q):O",1180,824,0,0,"$(P)$(Q):O")
#! Field("$(P)$(Q):O.FLNK",16777215,1,"$(P)$(Q):O.FLNK")
#! Link("$(P)$(Q):O.FLNK","$(P)$(Q):O:RBV")
#! Field("$(P)$(Q):O.SDIS",16777215,1,"$(P)$(Q):O.SDIS")
#! Link("$(P)$(Q):O.SDIS","$(P)$(Q):DISABLE.VAL")
#! Record("$(P)$(Q):O:RBV",1480,740,0,0,"$(P)$(Q):O:RBV")
#! Field("$(P)$(Q):O:RBV.PROC",16777215,0,"$(P)$(Q):O:RBV.PROC")
#! Field("$(P)$(Q):O:RBV.SDIS",16777215,1,"$(P)$(Q):O:RBV.SDIS")
#! Link("$(P)$(Q):O:RBV.SDIS","$(P)$(Q):DISABLE.VAL")
#! Record("$(P)$(Q):PV:RBV",1460,980,0,0,"$(P)$(Q):PV:RBV")
#! Field("$(P)$(Q):PV:RBV.PROC",16777215,0,"$(P)$(Q):PV:RBV.PROC")
#! Field("$(P)$(Q):PV:RBV.SDIS",16777215,1,"$(P)$(Q):PV:RBV.SDIS")
#! Link("$(P)$(Q):PV:RBV.SDIS","$(P)$(Q):DISABLE.VAL")
#! Record("$(P)$(Q):P",1320,1231,0,0,"$(P)$(Q):P")
#! Field("$(P)$(Q):P.FLNK",16777215,1,"$(P)$(Q):P.FLNK")
#! Link("$(P)$(Q):P.FLNK","$(P)$(Q):P:RBV")
#! Field("$(P)$(Q):P.SDIS",16777215,1,"$(P)$(Q):P.SDIS")
#! Link("$(P)$(Q):P.SDIS","$(P)$(Q):DISABLE.VAL")
#! Record("$(P)$(Q):P:RBV",1580,1234,0,0,"$(P)$(Q):P:RBV")
#! Field("$(P)$(Q):P:RBV.PROC",16777215,0,"$(P)$(Q):P:RBV.PROC")
#! Field("$(P)$(Q):P:RBV.SDIS",16777215,1,"$(P)$(Q):P:RBV.SDIS")
#! Link("$(P)$(Q):P:RBV.SDIS","$(P)$(Q):DISABLE.VAL")
#! Record("$(P)$(Q):I",1300,1511,0,0,"$(P)$(Q):I")
#! Field("$(P)$(Q):I.FLNK",16777215,1,"$(P)$(Q):I.FLNK")
#! Link("$(P)$(Q):I.FLNK","$(P)$(Q):I:RBV")
#! Field("$(P)$(Q):I.SDIS",16777215,1,"$(P)$(Q):I.SDIS")
#! Link("$(P)$(Q):I.SDIS","$(P)$(Q):DISABLE.VAL")
#! Record("$(P)$(Q):I:RBV",1580,1514,0,0,"$(P)$(Q):I:RBV")
#! Field("$(P)$(Q):I:RBV.PROC",16777215,0,"$(P)$(Q):I:RBV.PROC")
#! Field("$(P)$(Q):I:RBV.SDIS",16777215,1,"$(P)$(Q):I:RBV.SDIS")
#! Link("$(P)$(Q):I:RBV.SDIS","$(P)$(Q):DISABLE.VAL")
#! Record("$(P)$(Q):D",1300,1731,0,0,"$(P)$(Q):D")
#! Field("$(P)$(Q):D.FLNK",16777215,1,"$(P)$(Q):D.FLNK")
#! Link("$(P)$(Q):D.FLNK","$(P)$(Q):D:RBV")
#! Field("$(P)$(Q):D.SDIS",16777215,1,"$(P)$(Q):D.SDIS")
#! Link("$(P)$(Q):D.SDIS","$(P)$(Q):DISABLE.VAL")
#! Record("$(P)$(Q):D:RBV",1560,1734,0,0,"$(P)$(Q):D:RBV")
#! Field("$(P)$(Q):D:RBV.PROC",16777215,0,"$(P)$(Q):D:RBV.PROC")
#! Field("$(P)$(Q):D:RBV.SDIS",16777215,1,"$(P)$(Q):D:RBV.SDIS")
#! Link("$(P)$(Q):D:RBV.SDIS","$(P)$(Q):DISABLE.VAL")
#! Record("$(P)$(Q):ERR",1480,2234,0,0,"$(P)$(Q):ERR")
#! Field("$(P)$(Q):ERR.SDIS",16777215,1,"$(P)$(Q):ERR.SDIS")
#! Link("$(P)$(Q):ERR.SDIS","$(P)$(Q):DISABLE.VAL")
#! Record("$(P)$(Q):DISABLE",1920,1040,0,1,"$(P)$(Q):DISABLE")
#! Field("$(P)$(Q):DISABLE.VAL",16777215,0,"$(P)$(Q):DISABLE.VAL")
#! Record("$(P)$(Q):MAN",1300,1971,0,1,"$(P)$(Q):MAN")
#! Field("$(P)$(Q):MAN.FLNK",16777215,1,"$(P)$(Q):MAN.FLNK")
#! Link("$(P)$(Q):MAN.FLNK","$(P)$(Q):MAN:RBV_AI")
#! Field("$(P)$(Q):MAN.SDIS",16777215,1,"$(P)$(Q):MAN.SDIS")
#! Link("$(P)$(Q):MAN.SDIS","$(P)$(Q):DISABLE.VAL")
#! Record("$(P)$(Q):MAN:RBV_AI",1560,1954,0,0,"$(P)$(Q):MAN:RBV_AI")
#! Field("$(P)$(Q):MAN:RBV_AI.SDIS",16777215,1,"$(P)$(Q):MAN:RBV_AI.SDIS")
#! Link("$(P)$(Q):MAN:RBV_AI.SDIS","$(P)$(Q):DISABLE.VAL")
#! Field("$(P)$(Q):MAN:RBV_AI.FLNK",16777215,1,"$(P)$(Q):MAN:RBV_AI.FLNK")
#! Link("$(P)$(Q):MAN:RBV_AI.FLNK","$(P)$(Q):MAN:RBV")
#! Field("$(P)$(Q):MAN:RBV_AI.VAL",16777215,1,"$(P)$(Q):MAN:RBV_AI.VAL")
#! Field("$(P)$(Q):MAN:RBV_AI.PROC",16777215,0,"$(P)$(Q):MAN:RBV_AI.PROC")
#! Record("$(P)$(Q):MAN:RBV",1920,1934,0,0,"$(P)$(Q):MAN:RBV")
#! Field("$(P)$(Q):MAN:RBV.INP",16777215,0,"$(P)$(Q):MAN:RBV.INP")
#! Link("$(P)$(Q):MAN:RBV.INP","$(P)$(Q):MAN:RBV_AI.VAL")
#! Record("$(P)$(Q):CONF:MODE",420,1660,0,1,"$(P)$(Q):CONF:MODE")
#! Field("$(P)$(Q):CONF:MODE.PROC",16777215,1,"$(P)$(Q):CONF:MODE.PROC")
#! Record("$(P)$(Q):ADDR",720,1370,0,1,"$(P)$(Q):ADDR")
#! Field("$(P)$(Q):ADDR.VAL",16777215,0,"$(P)$(Q):ADDR.VAL")
#! Field("$(P)$(Q):ADDR.FLNK",16777215,1,"$(P)$(Q):ADDR.FLNK")
#! Link("$(P)$(Q):ADDR.FLNK","$(P)$(Q):CONF:DLY")
#! Record("$(P)$(Q):ADDR:DEVICE",420,1436,0,0,"$(P)$(Q):ADDR:DEVICE")
#! Field("$(P)$(Q):ADDR:DEVICE.OUT",16777215,1,"$(P)$(Q):ADDR:DEVICE.OUT")
#! Link("$(P)$(Q):ADDR:DEVICE.OUT","$(P)$(Q):ADDR.VAL")
#! Record("$(P)$(Q):CONF:SETMODE",120,1154,0,1,"$(P)$(Q):CONF:SETMODE")
#! Field("$(P)$(Q):CONF:SETMODE.FLNK",16777215,1,"$(P)$(Q):CONF:SETMODE.FLNK")
#! Link("$(P)$(Q):CONF:SETMODE.FLNK","$(P)$(Q):CONF:ZEROADDR")
#! Record("$(P)$(Q):CONF:CLEARMODE",120,1394,0,1,"$(P)$(Q):CONF:CLEARMODE")
#! Field("$(P)$(Q):CONF:CLEARMODE.FLNK",16777215,1,"$(P)$(Q):CONF:CLEARMODE.FLNK")
#! Link("$(P)$(Q):CONF:CLEARMODE.FLNK","$(P)$(Q):ADDR:DEVICE")
#! Record("$(P)$(Q):CONF:ZEROADDR",420,1256,0,0,"$(P)$(Q):CONF:ZEROADDR")
#! Field("$(P)$(Q):CONF:ZEROADDR.OUT",16777215,1,"$(P)$(Q):CONF:ZEROADDR.OUT")
#! Link("$(P)$(Q):CONF:ZEROADDR.OUT","$(P)$(Q):ADDR.VAL")
#! Record("$(P)$(Q):ADDR:WR",40,908,0,1,"$(P)$(Q):ADDR:WR")
#! Record("$(P)$(Q):ADDR:RD",260,921,0,1,"$(P)$(Q):ADDR:RD")
#! Record("$(P)$(Q):ADDR:RESP",460,930,0,1,"$(P)$(Q):ADDR:RESP")
#! Record("$(P)$(Q):CONF:DECP",360,438,0,0,"$(P)$(Q):CONF:DECP")
#! Record("$(P)$(Q):CONF:SET:DECP",660,418,0,1,"$(P)$(Q):CONF:SET:DECP")
#! Record("$(P)$(Q):CONF:READ",20,556,0,1,"$(P)$(Q):CONF:READ")
#! Field("$(P)$(Q):CONF:READ.FLNK",16777215,1,"$(P)$(Q):CONF:READ.FLNK")
#! Link("$(P)$(Q):CONF:READ.FLNK","$(P)$(Q):CONF:DECP")
#! Field("$(P)$(Q):CONF:READ.LNK1",16777215,1,"$(P)$(Q):CONF:READ.LNK1")
#! Link("$(P)$(Q):CONF:READ.LNK1","$(P)$(Q):CONF:RREGU")
#! Record("$(P)$(Q):CONF:RREGU",360,658,0,0,"$(P)$(Q):CONF:RREGU")
#! Record("$(P)$(Q):CONF:SET:RREGU",660,658,0,1,"$(P)$(Q):CONF:SET:RREGU")
#! Record("$(P)$(Q):CONF:DLY",760,1674,0,1,"$(P)$(Q):CONF:DLY")
#! Field("$(P)$(Q):CONF:DLY.LNK1",16777215,0,"$(P)$(Q):CONF:DLY.LNK1")
#! Link("$(P)$(Q):CONF:DLY.LNK1","$(P)$(Q):CONF:MODE.PROC")