#! Generated by VisualDCT v2.5 #! DBDSTART #! DBDEND record(bo, "$(P)AClock$(N):Enable") { field(DESC, "User enable") field(SCAN, "Passive") field(DTYP, "Soft Channel") field(ZNAM, "Disable") field(ONAM, "Enable") } # TOD Set Handling Records record(scalcout, "$(P)AClock$(N):Set1") { field(DESC, "Set Date") field(SCAN, "Passive") field(INPA, "$(P)AClock$(N):Set:mm CP") field(INPB, "$(P)AClock$(N):Set:dd CP") field(CALC, "$P('%d',A)+'/'+$P('%d',B)+'/'") } record(scalcout, "$(P)AClock$(N):Set2") { field(DESC, "Set Date") field(SCAN, "Passive") field(INPC, "$(P)AClock$(N):Set:yy CP") field(INPD, "$(P)AClock$(N):Set:HH CP") field(INAA, "$(P)AClock$(N):Set1.SVAL CP") field(CALC, "AA+$P('%d',C)+' '+$P('%d',D)") } record(scalcout, "$(P)AClock$(N):Set") { field(DESC, "Set Date") field(SCAN, "Passive") field(INPE, "$(P)AClock$(N):Set:MM CP") field(INPF, "$(P)AClock$(N):Set:SS CP") field(INAA, "$(P)AClock$(N):Set2.SVAL CP") field(CALC, "AA+':'+$P('%d',E)+':'+$P('%d',F)") } # Parse TOD record(stringin, "$(P)AClock$(N):TOD") { field(SCAN, "Passive") field(DTYP, "Soft Channel") field(INP, "S:IOC:timeOfDayForm2SI CP") } record(calcout, "$(P)AClock$(N):Trigger") { field(DESC, "Expired Set Check") field(SCAN, "Passive") field(INPA, "$(P)AClock$(N):Enable CP") field(INPB, "$(P)AClock$(N):TOD:yy.OVAL CP") field(INPC, "$(P)AClock$(N):TOD:mm.OVAL CP") field(INPD, "$(P)AClock$(N):TOD:dd.OVAL CP") field(INPE, "$(P)AClock$(N):TOD:HH.OVAL CP") field(INPF, "$(P)AClock$(N):TOD:MM.OVAL CP") field(INPG, "$(P)AClock$(N):TOD:SS.OVAL CP") field(CALC, "A&B#0&C#0&D#0&E#0&F#0&G#0") field(OOPT, "Transition To Non-zero") } record(scalcout, "$(P)AClock$(N):TOD:yy") { field(DESC, "TOD Yr") field(SCAN, "Passive") field(INAA, "$(P)AClock$(N):TOD CP") field(INPA, "$(P)AClock$(N):Set:yy") field(CALC, "AA[6,7]") field(DOPT, "Use OCAL") field(OCAL, "AA[6,7]>A?2:(AA[6,7]=A?1:0)") } record(scalcout, "$(P)AClock$(N):TOD:mm") { field(DESC, "TOD Mon") field(SCAN, "Passive") field(INAA, "$(P)AClock$(N):TOD CP") field(INPA, "$(P)AClock$(N):Set:mm") field(INPB, "$(P)AClock$(N):TOD:yy.OVAL") field(CALC, "AA[0,1]") field(DOPT, "Use OCAL") field(OCAL, "B=2|AA[0,1]>A?2:(AA[0,1]=A?1:0)") } record(scalcout, "$(P)AClock$(N):TOD:dd") { field(DESC, "TOD Day") field(SCAN, "Passive") field(INAA, "$(P)AClock$(N):TOD CP") field(INPA, "$(P)AClock$(N):Set:dd") field(INPB, "$(P)AClock$(N):TOD:mm.OVAL") field(CALC, "AA[3,4]") field(DOPT, "Use OCAL") field(OCAL, "B=2|AA[3,4]>A?2:(AA[3,4]=A?1:0)") } record(scalcout, "$(P)AClock$(N):TOD:HH") { field(DESC, "TOD Hr") field(SCAN, "Passive") field(INAA, "$(P)AClock$(N):TOD CP") field(INPA, "$(P)AClock$(N):Set:HH") field(INPB, "$(P)AClock$(N):TOD:dd.OVAL") field(CALC, "AA[9,10]") field(DOPT, "Use OCAL") field(OCAL, "B=2|AA[9,10]>A?2:(AA[9,10]=A?1:0)") } record(scalcout, "$(P)AClock$(N):TOD:MM") { field(DESC, "TOD Min") field(SCAN, "Passive") field(INAA, "$(P)AClock$(N):TOD CP") field(INPA, "$(P)AClock$(N):Set:MM") field(INPB, "$(P)AClock$(N):TOD:HH.OVAL") field(CALC, "AA[12,13]") field(DOPT, "Use OCAL") field(OCAL, "B=2|AA[12,13]>A?2:(AA[12,13]=A?1:0)") } record(scalcout, "$(P)AClock$(N):TOD:SS") { field(DESC, "TOD Sec") field(SCAN, "Passive") field(INAA, "$(P)AClock$(N):TOD CP") field(INPA, "$(P)AClock$(N):Set:SS") field(INPB, "$(P)AClock$(N):TOD:MM.OVAL") field(CALC, "AA[15,16]") field(DOPT, "Use OCAL") field(OCAL, "B=2|AA[15,16]>=A?1:0") } # Set Alarm Date : Month record(bo, "$(P)AClock$(N):UD:mm") { field(DESC, "Mon UpDown") field(SCAN, "Passive") field(DTYP, "Soft Channel") field(ZNAM, "Up") field(ONAM, "Down") field(OUT, "$(P)AClock$(N):Chk:mm.A PP") } record(transform, "$(P)AClock$(N):Chk:mm") { field(DESC, "RangeCheck mm") field(CMTA, "Up/Down Req") field(A, "-1") field(INPB, "$(P)AClock$(N):Set:mm CP") field(C, "1") field(D, "12") field(E, "28") field(F, "30") field(G, "31") field(CMTH, "Up/Down Check") field(CLCH, "A=0?B+1:(A=1?B-1:B)") field(CMTI, "Range Check") field(CLCI, "H>D?1:(H<1?D:H)") field(OUTI, "$(P)AClock$(N):Set:mm PP") field(INPJ, "$(P)AClock$(N):Set:yy CP") field(CMTK, "LeapYr Chk") field(CLCK, "!(J%400)|!(J%4)&(J%100?1:0)") field(CLCL, "K?29:28") field(OUTL, "$(P)AClock$(N):Chk:mm.E PP") field(CMTM, "Day Limit") field(CLCM, "I=2?E:(I=4|I=6|I=9|I=11?F:G)") field(OUTM, "$(P)AClock$(N):Chk:dd.D PP") field(CMTP, "Reset UP/DOWN") field(P, "-1") field(OUTP, "$(P)AClock$(N):Chk:mm.A") } # Set expire date input records record(ao, "$(P)AClock$(N):Set:mm") { field(DESC, "Set Month") field(SCAN, "Passive") field(DTYP, "Soft Channel") field(EGU, "Mon") field(HOPR, "12") field(LOPR, "1") field(PREC, "0") } record(transform, "$(P)AClock$(N):Chk:dd") { field(DESC, "RangeCheck Day") field(CMTA, "Up/Down Req") field(A, "-1") field(INPB, "$(P)AClock$(N):Set:dd CP") field(C, "1") field(D, "30") field(CMTH, "Up/Down Check") field(CLCH, "A=0?B+1:(A=1?B-1:B)") field(CMTI, "Range Check") field(CLCI, "H>D?C:(HD?C:(HD?C:(HD?C:(H