#! Generated by VisualDCT v2.5 #! DBDSTART #! DBDEND record(ao, HAD:RPC:S3:M2:C10:ToTL) { field(DESC, "0 0 0 0") field(DTYP, "Raw Soft Channel") field(FLNK, "HAD:RPC:S3:M2:C10:stToTL") field(OUT, "HAD:RPC:S3:M2:C10:stToTL") field(EOFF, "0") field(LOPR, "0") field(HOPR, "999") field(LINR, "LINEAR") field(OMSL, "supervisory") } record(sub, HAD:RPC:S3:M2:C10:stToTL) { field(DESC, "store 0 0 0 0") field(INAM, "mySubInit") field(SNAM, "myStoreFcn") field(INPA, "0") field(INPB, "0") field(INPC, "0") field(INPD, "HAD:RPC:S3:M2:C10:ToTL.RVAL") field(INPE, "0") } record(ai, HAD:RPC:S3:M2:C10:readToTL) { field(DESC, "TRB 0 MB 0 CHIP 0 DBO_IN 0") field(DTYP, "Raw Soft Channel") field(INP, "HAD:RPC:S3:M2:C10:retToTL") field(FLNK, "HAD:RPC:S3:M2:C10:DRWToTL") } record(sub, HAD:RPC:S3:M2:C10:retToTL) { field(DESC, "Retrieve T0 M0 C0 CH0") field(INAM, "mySubInit") field(SNAM, "myRetrieveFcn") field(INPA, "0") field(INPB, "0") field(INPC, "0") field(INPE, "0") field(FLNK, "HAD:RPC:S3:M2:C10:readToTL") field(SCAN, "5 second") } record(calc, HAD:RPC:S3:M2:C10:DRWToTL) { field(DESC, "DeltaRawRW:T0 M0 C0 CH0") field(CALC, "(ABS(A-B) > E)") field(INPA, "HAD:RPC:S3:M2:C10:readToTL.RVAL NPP NMS") field(INPB, "HAD:RPC:S3:M2:C10:spToTL.RVAL NPP NMS") field(INPE, "HAD:RPC:S3:M2:C10:eDRWToTL NPP NMS") } record(ai, HAD:RPC:S3:M2:C10:eDRWToTL) { field(DESC, "EpsDeltaRawRW:T0 M0 C0 DBI0") field(INP, "CONSTANT") field(VAL, "0.5") } record(ai, HAD:RPC:S3:M2:C10:spToTL) { field(DTYP, "Raw Soft Channel") field(DESC, "show preset 0 0 0 0") field(INP, "HAD:RPC:S3:M2:C10:gpToTL") field(LINR, "LINEAR") } record(sub, HAD:RPC:S3:M2:C10:gpToTL) { field(DESC, "get preset 0 0 0 0") field(FLNK, "HAD:RPC:S3:M2:C10:spToTL") field(INAM, "mySubInit") field(SNAM, "readWriteTable") field(INPA, "0") field(INPB, "0") field(INPC, "0") field(INPE, "0") field(SCAN, "5 second") } record(calc, HAD:RPC:S3:M2:C10:frToTL) { field(DESC, "freeze 0 0 0 0") field(CALC, "A#0") field(INPA, "0") field(SCAN, "Passive") field(FLNK, "HAD:RPC:S3:M2:C10:dfToTL") } record(dfanout, HAD:RPC:S3:M2:C10:dfToTL) { field(DESC, "set freeze table 0 0 0 0") field(DOL, "HAD:RPC:S3:M2:C10:frToTL") field(OMSL, "closed_loop") field(FLNK, "HAD:RPC:S3:M2:C10:sftToTL") field(OUTA, "HAD:RPC:S3:M2:C10:ToTL.DISA") field(OUTB, "HAD:RPC:S3:M2:C10:spToTL.DISA") } record(sub, HAD:RPC:S3:M2:C10:sftToTL) { field(DESC, "set freeze table 0 0 0 0") field(INAM, "mySubInit") field(SNAM, "setFreezeTable") field(INPA, "0") field(INPB, "0") field(INPC, "0") field(INPD, "HAD:RPC:S3:M2:C10:dfToTL") field(INPE, "0") } #! Further lines contain data used by VisualDCT #! View(0,0,1.0) #! Record(HAD:RPC:S3:M2:C10:ToTL,320,38,0,0,"HAD:RPC:S3:M2:C10:ToTL") #! Field("HAD:RPC:S3:M2:C10:ToTL.FLNK",16777215,1,"HAD:RPC:S3:M2:C10:ToTL.FLNK") #! Link("HAD:RPC:S3:M2:C10:ToTL.FLNK",HAD:RPC:S3:M2:C10:stToTL) #! Field("HAD:RPC:S3:M2:C10:ToTL.OUT",16777215,1,"HAD:RPC:S3:M2:C10:ToTL.OUT") #! Link("HAD:RPC:S3:M2:C10:ToTL.OUT","HAD:RPC:S3:M2:C10:stToTL.VAL") #! Field("HAD:RPC:S3:M2:C10:ToTL.RVAL",16777215,0,"HAD:RPC:S3:M2:C10:ToTL.RVAL") #! Field("HAD:RPC:S3:M2:C10:ToTL.DISA",16777215,1,"HAD:RPC:S3:M2:C10:ToTL.DISA") #! Record(HAD:RPC:S3:M2:C10:stToTL,580,71,0,0,"HAD:RPC:S3:M2:C10:stToTL") #! Field("HAD:RPC:S3:M2:C10:stToTL.VAL",16777215,1,"HAD:RPC:S3:M2:C10:stToTL.VAL") #! Field("HAD:RPC:S3:M2:C10:stToTL.INPD",16777215,0,"HAD:RPC:S3:M2:C10:stToTL.INPD") #! Link("HAD:RPC:S3:M2:C10:stToTL.INPD","HAD:RPC:S3:M2:C10:ToTL.RVAL") #! Record(HAD:RPC:S3:M2:C10:readToTL,1040,87,0,0,"HAD:RPC:S3:M2:C10:readToTL") #! Field("HAD:RPC:S3:M2:C10:readToTL.FLNK",16777215,1,"HAD:RPC:S3:M2:C10:readToTL.FLNK") #! Link("HAD:RPC:S3:M2:C10:readToTL.FLNK",HAD:RPC:S3:M2:C10:DRWToTL) #! Field("HAD:RPC:S3:M2:C10:readToTL.RVAL",16777215,1,"HAD:RPC:S3:M2:C10:readToTL.RVAL") #! Field("HAD:RPC:S3:M2:C10:readToTL.INP",16777215,0,"HAD:RPC:S3:M2:C10:readToTL.INP") #! Link("HAD:RPC:S3:M2:C10:readToTL.INP","HAD:RPC:S3:M2:C10:retToTL.VAL") #! Record(HAD:RPC:S3:M2:C10:retToTL,780,38,0,0,"HAD:RPC:S3:M2:C10:retToTL") #! Field("HAD:RPC:S3:M2:C10:retToTL.FLNK",16777215,1,"HAD:RPC:S3:M2:C10:retToTL.FLNK") #! Link("HAD:RPC:S3:M2:C10:retToTL.FLNK",HAD:RPC:S3:M2:C10:readToTL) #! Field("HAD:RPC:S3:M2:C10:retToTL.VAL",16777215,0,"HAD:RPC:S3:M2:C10:retToTL.VAL") #! Field("HAD:RPC:S3:M2:C10:retToTL.INPA",16777215,1,"HAD:RPC:S3:M2:C10:retToTL.INPA") #! Field("HAD:RPC:S3:M2:C10:retToTL.INPB",16777215,1,"HAD:RPC:S3:M2:C10:retToTL.INPB") #! Field("HAD:RPC:S3:M2:C10:retToTL.INPC",16777215,1,"HAD:RPC:S3:M2:C10:retToTL.INPC") #! Record(HAD:RPC:S3:M2:C10:DRWToTL,1320,273,0,0,"HAD:RPC:S3:M2:C10:DRWToTL") #! Field("HAD:RPC:S3:M2:C10:DRWToTL.INPA",16777215,0,"HAD:RPC:S3:M2:C10:DRWToTL.INPA") #! Link("HAD:RPC:S3:M2:C10:DRWToTL.INPA","HAD:RPC:S3:M2:C10:readToTL.RVAL") #! Field("HAD:RPC:S3:M2:C10:DRWToTL.INPE",16777215,0,"HAD:RPC:S3:M2:C10:DRWToTL.INPE") #! Link("HAD:RPC:S3:M2:C10:DRWToTL.INPE","HAD:RPC:S3:M2:C10:eDRWToTL.VAL") #! Field("HAD:RPC:S3:M2:C10:DRWToTL.INPB",16777215,0,"HAD:RPC:S3:M2:C10:DRWToTL.INPB") #! Link("HAD:RPC:S3:M2:C10:DRWToTL.INPB","HAD:RPC:S3:M2:C10:spToTL.RVAL") #! Record(HAD:RPC:S3:M2:C10:eDRWToTL,1040,301,0,0,"HAD:RPC:S3:M2:C10:eDRWToTL") #! Field("HAD:RPC:S3:M2:C10:eDRWToTL.INP",16777215,1,"HAD:RPC:S3:M2:C10:eDRWToTL.INP") #! Field("HAD:RPC:S3:M2:C10:eDRWToTL.VAL",16777215,1,"HAD:RPC:S3:M2:C10:eDRWToTL.VAL") #! Record(HAD:RPC:S3:M2:C10:spToTL,1040,447,0,0,"HAD:RPC:S3:M2:C10:spToTL") #! Field("HAD:RPC:S3:M2:C10:spToTL.INP",16777215,0,"HAD:RPC:S3:M2:C10:spToTL.INP") #! Link("HAD:RPC:S3:M2:C10:spToTL.INP","HAD:RPC:S3:M2:C10:gpToTL.VAL") #! Field("HAD:RPC:S3:M2:C10:spToTL.RVAL",16777215,1,"HAD:RPC:S3:M2:C10:spToTL.RVAL") #! Field("HAD:RPC:S3:M2:C10:spToTL.DISA",16777215,0,"HAD:RPC:S3:M2:C10:spToTL.DISA") #! Record(HAD:RPC:S3:M2:C10:gpToTL,780,358,0,0,"HAD:RPC:S3:M2:C10:gpToTL") #! Field("HAD:RPC:S3:M2:C10:gpToTL.FLNK",16777215,1,"HAD:RPC:S3:M2:C10:gpToTL.FLNK") #! Link("HAD:RPC:S3:M2:C10:gpToTL.FLNK",HAD:RPC:S3:M2:C10:spToTL) #! Field("HAD:RPC:S3:M2:C10:gpToTL.VAL",16777215,0,"HAD:RPC:S3:M2:C10:gpToTL.VAL") #! Record(HAD:RPC:S3:M2:C10:frToTL,20,453,0,0,"HAD:RPC:S3:M2:C10:frToTL") #! Field("HAD:RPC:S3:M2:C10:frToTL.FLNK",16777215,1,"HAD:RPC:S3:M2:C10:frToTL.FLNK") #! Link("HAD:RPC:S3:M2:C10:frToTL.FLNK",HAD:RPC:S3:M2:C10:dfToTL) #! Field("HAD:RPC:S3:M2:C10:frToTL.VAL",16777215,1,"HAD:RPC:S3:M2:C10:frToTL.VAL") #! Record(HAD:RPC:S3:M2:C10:dfToTL,300,459,0,0,"HAD:RPC:S3:M2:C10:dfToTL") #! Field("HAD:RPC:S3:M2:C10:dfToTL.OUTA",16777215,1,"HAD:RPC:S3:M2:C10:dfToTL.OUTA") #! Link("HAD:RPC:S3:M2:C10:dfToTL.OUTA","HAD:RPC:S3:M2:C10:ToTL.DISA") #! Field("HAD:RPC:S3:M2:C10:dfToTL.OUTB",16777215,1,"HAD:RPC:S3:M2:C10:dfToTL.OUTB") #! Link("HAD:RPC:S3:M2:C10:dfToTL.OUTB","HAD:RPC:S3:M2:C10:spToTL.DISA") #! Field("HAD:RPC:S3:M2:C10:dfToTL.FLNK",16777215,1,"HAD:RPC:S3:M2:C10:dfToTL.FLNK") #! Link("HAD:RPC:S3:M2:C10:dfToTL.FLNK",HAD:RPC:S3:M2:C10:sftToTL) #! Field("HAD:RPC:S3:M2:C10:dfToTL.DOL",16777215,0,"HAD:RPC:S3:M2:C10:dfToTL.DOL") #! Link("HAD:RPC:S3:M2:C10:dfToTL.DOL","HAD:RPC:S3:M2:C10:frToTL.VAL") #! Field("HAD:RPC:S3:M2:C10:dfToTL.VAL",16777215,1,"HAD:RPC:S3:M2:C10:dfToTL.VAL") #! Record(HAD:RPC:S3:M2:C10:sftToTL,580,711,0,0,"HAD:RPC:S3:M2:C10:sftToTL") #! Field("HAD:RPC:S3:M2:C10:sftToTL.INPD",16777215,0,"HAD:RPC:S3:M2:C10:sftToTL.INPD") #! Link("HAD:RPC:S3:M2:C10:sftToTL.INPD","HAD:RPC:S3:M2:C10:dfToTL.VAL") #! Box(Box0,740,440,0,920,1,6711039,null) #! Box(Box2,760,20,1560,800,1,16724787,null) #! Box(Box1,20,20,740,420,1,16724787,null) #! TextBox(TB0,340,860,20,760,1,"Dialog",12,1,16777215,"FREEZE: \n frToTL (calc) (not) equal 0: (on change)\n - disables ToTL (ao)\n - disables spToTL (ai)\n - stores status in Freeze Table via sftToTL (sub)",null) #! TextBox(TB2,1540,780,780,640,1,"Dialog",12,1,16777215,"(pseudo) READ:\n- retToTL (sub) periodically scans (5 sec), reads the READ table filled via routine myRetrieveFcn \n (at the moment just copying the values from the WRITE/PRESETS table when writing to the device)\n - forward links to readToTL (ai) showing the result of the (pseudo) read process\n- gpToTL (get presets - sub) periodically scans (5 sec), reads the WRITE/PRESET via routine readWriteTable \n - forward links to spToTL (show preset - ai), which displays the preset values\n- DRWToTL (Delta Read Write - calc) compares read and preset values, \n whether they are equal within an epsilon of eDRWToTL (ai)\n\n ",null) #! TextBox(TB1,40,320,420,400,1,"Dialog",12,1,16777215,"WRITE Thresholds (presets):\nprocessing ToTL (ao)\n- stores values/raw values (TODO) via stToTL (sub)\n into preset table\n",null)