|
| 1 | +#! Generated by VisualDCT v2.5 |
| 2 | +#! DBDSTART |
| 3 | +#! DBDEND |
| 4 | + |
| 5 | + |
| 6 | +record(ai, "$(P)$(SM):timer$(N):secsPastEpoch") { |
| 7 | + field(DESC, "Seconds Past Epoch") |
| 8 | + field(SCAN, "Passive") |
| 9 | + field(PINI, "NO") |
| 10 | + field(DTYP, "Sec Past Epoch") |
| 11 | + field(PHAS, "1") |
| 12 | + field(PREC, "2") |
| 13 | +} |
| 14 | + |
| 15 | +record(transform, "$(P)$(SM):timer$(N):calcElapsed") { |
| 16 | + field(SCAN, "Passive") |
| 17 | + field(CLCB, "d?a:b") |
| 18 | + field(CLCC, "a-b") |
| 19 | + field(CLCD, "0") |
| 20 | + field(INPA, "$(P)$(SM):timer$(N):secsPastEpoch.VAL PP") |
| 21 | + field(OUTC, "$(P)$(SM):timer$(N):elapsedSecs.VAL PP") |
| 22 | + field(PREC, "2") |
| 23 | + field(CLCF, "e-c") |
| 24 | + field(CLCG, "e?e-c:0") |
| 25 | + field(OUTF, "$(P)$(SM):timer$(N):doneCalc.C PP") |
| 26 | + field(CMTA, "raw secsPastEpoch") |
| 27 | + field(CMTB, "start time") |
| 28 | + field(CMTC, "elapsed time") |
| 29 | + field(CMTD, "reset command") |
| 30 | + field(CMTE, "preset") |
| 31 | + field(CMTF, "time remaining") |
| 32 | + field(CMTG, "remaining for display") |
| 33 | + field(OUTG, "$(P)$(SM):timer$(N):remainingSecs PP") |
| 34 | + field(CLCH, "h") |
| 35 | + field(CMTH, "update period") |
| 36 | +} |
| 37 | + |
| 38 | +record(ao, "$(P)$(SM):timer$(N):elapsedSecs") { |
| 39 | + field(PREC, "2") |
| 40 | +} |
| 41 | + |
| 42 | +record(bo, "$(P)$(SM):timer$(N):Go") { |
| 43 | + field(FLNK, "$(P)$(SM):timer$(N):resetOnGo") |
| 44 | + field(ZNAM, "Stop") |
| 45 | + field(ONAM, "Go/Reset") |
| 46 | + field(OUT, "$(P)$(SM):timer$(N):setBusy.A PP") |
| 47 | +} |
| 48 | + |
| 49 | +record(stringin, "$(P)$(SM):timer$(N):currentTime") { |
| 50 | + field(SCAN, "Passive") |
| 51 | + field(DTYP, "Soft Timestamp") |
| 52 | + field(INP, "@%Y/%m/%d %H:%M:%S.%03f") |
| 53 | +} |
| 54 | + |
| 55 | +record(calcout, "$(P)$(SM):timer$(N):doneCalc") { |
| 56 | + field(CALC, "(a>0)&&b&&(c<=0.05)") |
| 57 | + field(INPA, "$(P)$(SM):timer$(N):calcElapsed.E") |
| 58 | + field(INPB, "$(P)$(SM):timer$(N):Go.VAL") |
| 59 | + field(OUT, "$(P)$(SM):timer$(N):doStop1 PP") |
| 60 | + field(OOPT, "When Non-zero") |
| 61 | + field(DOPT, "Use OCAL") |
| 62 | + field(OCAL, "0") |
| 63 | +} |
| 64 | + |
| 65 | +record(ao, "$(P)$(SM):timer$(N):preset") { |
| 66 | + field(PREC, "2") |
| 67 | + field(OUT, "$(P)$(SM):timer$(N):calcElapsed.E PP") |
| 68 | + field(PINI, "YES") |
| 69 | +} |
| 70 | + |
| 71 | +record(bo, "$(P)$(SM):timer$(N):resetOnGo") { |
| 72 | + field(UDF, "0") |
| 73 | + field(DOL, "1") |
| 74 | + field(OUT, "$(P)$(SM):timer$(N):calcElapsed.D PP") |
| 75 | + field(PINI, "NO") |
| 76 | + field(DISV, "0") |
| 77 | + field(SDIS, "$(P)$(SM):timer$(N):Go.VAL") |
| 78 | + field(FLNK, "$(P)$(SM):timer$(N):startTime") |
| 79 | +} |
| 80 | + |
| 81 | +record(stringin, "$(P)$(SM):timer$(N):startTime") { |
| 82 | + field(SCAN, "Passive") |
| 83 | + field(DTYP, "Soft Timestamp") |
| 84 | + field(INP, "@%Y/%m/%d %H:%M:%S.%03f") |
| 85 | +} |
| 86 | + |
| 87 | +record(bo, "$(P)$(SM):timer$(N):doStop") { |
| 88 | + field(OUT, "$(P)$(SM):timer$(N):Go PP") |
| 89 | + field(DESC, "FLNK belongs to user") |
| 90 | + field(FLNK, "$(TFLNK).PROC CA") |
| 91 | +} |
| 92 | + |
| 93 | +record(fanout, "$(P)$(SM):timer$(N):scanFanout") { |
| 94 | + field(LNK1, "$(P)$(SM):timer$(N):currentTime") |
| 95 | + field(LNK2, "$(P)$(SM):timer$(N):calcElapsed") |
| 96 | +} |
| 97 | + |
| 98 | +record(bo, "$(P)$(SM):timer$(N):update") { |
| 99 | + field(SCAN, ".1 second") |
| 100 | + field(FLNK, "$(P)$(SM):timer$(N):scanFanout") |
| 101 | + field(DISV, "0") |
| 102 | + field(SDIS, "$(P)$(SM):timer$(N):Go") |
| 103 | +} |
| 104 | + |
| 105 | +record(bo, "$(P)$(SM):timer$(N):updateCurrent") { |
| 106 | + field(SCAN, "1 second") |
| 107 | + field(FLNK, "$(P)$(SM):timer$(N):currentTime") |
| 108 | + field(SDIS, "$(P)$(SM):timer$(N):Go") |
| 109 | +} |
| 110 | + |
| 111 | +record(ao, "$(P)$(SM):timer$(N):remainingSecs") { |
| 112 | + field(PREC, "2") |
| 113 | +} |
| 114 | + |
| 115 | +record(busy, "$(P)$(SM):timer$(N):busy") { |
| 116 | +} |
| 117 | + |
| 118 | +record(calcout, "$(P)$(SM):timer$(N):setBusy") { |
| 119 | + field(CALC, "A") |
| 120 | + field(OUT, "$(P)$(SM):timer$(N):busy PP") |
| 121 | + field(OOPT, "Transition To Non-zero") |
| 122 | +} |
| 123 | + |
| 124 | + |
| 125 | +record(bo, "$(P)$(SM):timer$(N):clearBusy") { |
| 126 | + field(OMSL, "closed_loop") |
| 127 | + field(DOL, "0") |
| 128 | + field(OUT, "$(P)$(SM):timer$(N):busy CA") |
| 129 | +} |
| 130 | + |
| 131 | +record(bo, "$(P)$(SM):timer$(N):doStop1") { |
| 132 | + field(FLNK, "$(P)$(SM):timer$(N):clearBusy") |
| 133 | + field(OMSL, "closed_loop") |
| 134 | + field(DOL, "0") |
| 135 | + field(OUT, "$(P)$(SM):timer$(N):doStop PP") |
| 136 | +} |
| 137 | + |
| 138 | +#! Further lines contain data used by VisualDCT |
| 139 | +#! View(1032,139,0.9) |
| 140 | +#! Record("$(P)$(SM):timer$(N):secsPastEpoch",1360,442,0,0,"$(P)$(SM):timer$(N):secsPastEpoch") |
| 141 | +#! Field("$(P)$(SM):timer$(N):secsPastEpoch.VAL",16777215,1,"$(P)$(SM):timer$(N):secsPastEpoch.VAL") |
| 142 | +#! Record("$(P)$(SM):timer$(N):calcElapsed",1820,223,0,0,"$(P)$(SM):timer$(N):calcElapsed") |
| 143 | +#! Field("$(P)$(SM):timer$(N):calcElapsed.INPA",16777215,0,"$(P)$(SM):timer$(N):calcElapsed.INPA") |
| 144 | +#! Link("$(P)$(SM):timer$(N):calcElapsed.INPA","$(P)$(SM):timer$(N):secsPastEpoch.VAL") |
| 145 | +#! Field("$(P)$(SM):timer$(N):calcElapsed.OUTC",16777215,1,"$(P)$(SM):timer$(N):calcElapsed.OUTC") |
| 146 | +#! Link("$(P)$(SM):timer$(N):calcElapsed.OUTC","$(P)$(SM):timer$(N):elapsedSecs.VAL") |
| 147 | +#! Field("$(P)$(SM):timer$(N):calcElapsed.D",16777215,0,"$(P)$(SM):timer$(N):calcElapsed.D") |
| 148 | +#! Field("$(P)$(SM):timer$(N):calcElapsed.E",16777215,1,"$(P)$(SM):timer$(N):calcElapsed.E") |
| 149 | +#! Field("$(P)$(SM):timer$(N):calcElapsed.OUTF",16777215,1,"$(P)$(SM):timer$(N):calcElapsed.OUTF") |
| 150 | +#! Link("$(P)$(SM):timer$(N):calcElapsed.OUTF","$(P)$(SM):timer$(N):doneCalc.C") |
| 151 | +#! Field("$(P)$(SM):timer$(N):calcElapsed.OUTG",16777215,1,"$(P)$(SM):timer$(N):calcElapsed.OUTG") |
| 152 | +#! Link("$(P)$(SM):timer$(N):calcElapsed.OUTG","$(P)$(SM):timer$(N):remainingSecs.VAL") |
| 153 | +#! Record("$(P)$(SM):timer$(N):elapsedSecs",2140,433,0,1,"$(P)$(SM):timer$(N):elapsedSecs") |
| 154 | +#! Field("$(P)$(SM):timer$(N):elapsedSecs.VAL",16777215,0,"$(P)$(SM):timer$(N):elapsedSecs.VAL") |
| 155 | +#! Record("$(P)$(SM):timer$(N):Go",980,449,0,1,"$(P)$(SM):timer$(N):Go") |
| 156 | +#! Field("$(P)$(SM):timer$(N):Go.VAL",16777215,1,"$(P)$(SM):timer$(N):Go.VAL") |
| 157 | +#! Field("$(P)$(SM):timer$(N):Go.FLNK",16777215,1,"$(P)$(SM):timer$(N):Go.FLNK") |
| 158 | +#! Link("$(P)$(SM):timer$(N):Go.FLNK","$(P)$(SM):timer$(N):resetOnGo") |
| 159 | +#! Field("$(P)$(SM):timer$(N):Go.OUT",16777215,1,"$(P)$(SM):timer$(N):Go.OUT") |
| 160 | +#! Link("$(P)$(SM):timer$(N):Go.OUT","$(P)$(SM):timer$(N):Go/OUT") |
| 161 | +#! Connector("$(P)$(SM):timer$(N):Go/OUT","$(P)$(SM):timer$(N):setBusy.A",1200,770,16777215,"",0) |
| 162 | +#! Record("$(P)$(SM):timer$(N):currentTime",1820,404,0,0,"$(P)$(SM):timer$(N):currentTime") |
| 163 | +#! Visibility("$(P)$(SM):timer$(N):currentTime.SCAN",1) |
| 164 | +#! Record("$(P)$(SM):timer$(N):doneCalc",2140,447,0,1,"$(P)$(SM):timer$(N):doneCalc") |
| 165 | +#! Field("$(P)$(SM):timer$(N):doneCalc.INPA",16777215,0,"$(P)$(SM):timer$(N):doneCalc.INPA") |
| 166 | +#! Link("$(P)$(SM):timer$(N):doneCalc.INPA","$(P)$(SM):timer$(N):doneCalc/INPA") |
| 167 | +#! Field("$(P)$(SM):timer$(N):doneCalc.INPB",16777215,0,"$(P)$(SM):timer$(N):doneCalc.INPB") |
| 168 | +#! Link("$(P)$(SM):timer$(N):doneCalc.INPB","$(P)$(SM):timer$(N):doneCalc/INPB") |
| 169 | +#! Field("$(P)$(SM):timer$(N):doneCalc.C",16777215,0,"$(P)$(SM):timer$(N):doneCalc.C") |
| 170 | +#! Field("$(P)$(SM):timer$(N):doneCalc.OUT",16777215,1,"$(P)$(SM):timer$(N):doneCalc.OUT") |
| 171 | +#! Link("$(P)$(SM):timer$(N):doneCalc.OUT","$(P)$(SM):timer$(N):doStop1.VAL") |
| 172 | +#! Connector("$(P)$(SM):timer$(N):doneCalc/INPB","$(P)$(SM):timer$(N):doneCalc/INPB1",2060,835,16777215,"",0) |
| 173 | +#! Connector("$(P)$(SM):timer$(N):doneCalc/INPB1","$(P)$(SM):timer$(N):doneCalc/INPB2",1490,1040,16777215,"",0) |
| 174 | +#! Connector("$(P)$(SM):timer$(N):doneCalc/INPB2","$(P)$(SM):timer$(N):Go.VAL",920,805,16777215,"",0) |
| 175 | +#! Connector("$(P)$(SM):timer$(N):doneCalc/INPA","$(P)$(SM):timer$(N):calcElapsed.E",2040,620,16777215,"",0) |
| 176 | +#! Record("$(P)$(SM):timer$(N):preset",1360,724,0,1,"$(P)$(SM):timer$(N):preset") |
| 177 | +#! Field("$(P)$(SM):timer$(N):preset.OUT",16777215,1,"$(P)$(SM):timer$(N):preset.OUT") |
| 178 | +#! Link("$(P)$(SM):timer$(N):preset.OUT","$(P)$(SM):timer$(N):preset/OUT") |
| 179 | +#! Connector("$(P)$(SM):timer$(N):preset/OUT","$(P)$(SM):timer$(N):calcElapsed.E",1600,730,16777215,"",0) |
| 180 | +#! Record("$(P)$(SM):timer$(N):resetOnGo",1360,527,0,0,"$(P)$(SM):timer$(N):resetOnGo") |
| 181 | +#! Field("$(P)$(SM):timer$(N):resetOnGo.SDIS",16777215,0,"$(P)$(SM):timer$(N):resetOnGo.SDIS") |
| 182 | +#! Link("$(P)$(SM):timer$(N):resetOnGo.SDIS","$(P)$(SM):timer$(N):resetOnGo/SDIS") |
| 183 | +#! Field("$(P)$(SM):timer$(N):resetOnGo.OUT",16777215,1,"$(P)$(SM):timer$(N):resetOnGo.OUT") |
| 184 | +#! Link("$(P)$(SM):timer$(N):resetOnGo.OUT","$(P)$(SM):timer$(N):resetOnGo/OUT") |
| 185 | +#! Field("$(P)$(SM):timer$(N):resetOnGo.FLNK",16777215,1,"$(P)$(SM):timer$(N):resetOnGo.FLNK") |
| 186 | +#! Link("$(P)$(SM):timer$(N):resetOnGo.FLNK","$(P)$(SM):timer$(N):startTime") |
| 187 | +#! Connector("$(P)$(SM):timer$(N):resetOnGo/OUT","$(P)$(SM):timer$(N):calcElapsed.D",1580,660,16777215,"",0) |
| 188 | +#! Connector("$(P)$(SM):timer$(N):resetOnGo/SDIS","$(P)$(SM):timer$(N):Go.VAL",1220,630,16777215,"",0) |
| 189 | +#! Record("$(P)$(SM):timer$(N):startTime",1820,664,0,0,"$(P)$(SM):timer$(N):startTime") |
| 190 | +#! Record("$(P)$(SM):timer$(N):doStop",2660,558,0,1,"$(P)$(SM):timer$(N):doStop") |
| 191 | +#! Field("$(P)$(SM):timer$(N):doStop.VAL",16777215,0,"$(P)$(SM):timer$(N):doStop.VAL") |
| 192 | +#! Field("$(P)$(SM):timer$(N):doStop.OUT",16777215,1,"$(P)$(SM):timer$(N):doStop.OUT") |
| 193 | +#! Link("$(P)$(SM):timer$(N):doStop.OUT","$(P)$(SM):timer$(N):doStop/OUT") |
| 194 | +#! Connector("$(P)$(SM):timer$(N):doStop/OUT","$(P)$(SM):timer$(N):doStop/OUT1",2920,855,16777215,"",0) |
| 195 | +#! Connector("$(P)$(SM):timer$(N):doStop/OUT1","$(P)$(SM):timer$(N):doStop/OUT2",1920,1040,16777215,"",0) |
| 196 | +#! Connector("$(P)$(SM):timer$(N):doStop/OUT2","$(P)$(SM):timer$(N):Go.VAL",920,805,16777215,"",0) |
| 197 | +#! Visibility("$(P)$(SM):timer$(N):doStop.DESC",1) |
| 198 | +#! Record("$(P)$(SM):timer$(N):scanFanout",1540,378,0,0,"$(P)$(SM):timer$(N):scanFanout") |
| 199 | +#! Field("$(P)$(SM):timer$(N):scanFanout.LNK1",16777215,1,"$(P)$(SM):timer$(N):scanFanout.LNK1") |
| 200 | +#! Link("$(P)$(SM):timer$(N):scanFanout.LNK1","$(P)$(SM):timer$(N):currentTime") |
| 201 | +#! Field("$(P)$(SM):timer$(N):scanFanout.LNK2",16777215,1,"$(P)$(SM):timer$(N):scanFanout.LNK2") |
| 202 | +#! Link("$(P)$(SM):timer$(N):scanFanout.LNK2","$(P)$(SM):timer$(N):scanFanout/LNK2") |
| 203 | +#! Connector("$(P)$(SM):timer$(N):scanFanout/LNK2","$(P)$(SM):timer$(N):calcElapsed",1780,440,16777215,"",0) |
| 204 | +#! Record("$(P)$(SM):timer$(N):update",1280,309,0,1,"$(P)$(SM):timer$(N):update") |
| 205 | +#! Field("$(P)$(SM):timer$(N):update.FLNK",16777215,1,"$(P)$(SM):timer$(N):update.FLNK") |
| 206 | +#! Link("$(P)$(SM):timer$(N):update.FLNK","$(P)$(SM):timer$(N):scanFanout") |
| 207 | +#! Field("$(P)$(SM):timer$(N):update.SDIS",16777215,0,"$(P)$(SM):timer$(N):update.SDIS") |
| 208 | +#! Link("$(P)$(SM):timer$(N):update.SDIS","$(P)$(SM):timer$(N):scan/SDIS") |
| 209 | +#! Connector("$(P)$(SM):timer$(N):scan/SDIS","$(P)$(SM):timer$(N):Go.VAL",1220,510,16777215,"",0) |
| 210 | +#! Visibility("$(P)$(SM):timer$(N):update.SCAN",1) |
| 211 | +#! Record("$(P)$(SM):timer$(N):updateCurrent",1280,204,0,1,"$(P)$(SM):timer$(N):updateCurrent") |
| 212 | +#! Field("$(P)$(SM):timer$(N):updateCurrent.FLNK",16777215,1,"$(P)$(SM):timer$(N):updateCurrent.FLNK") |
| 213 | +#! Link("$(P)$(SM):timer$(N):updateCurrent.FLNK","$(P)$(SM):timer$(N):currentTime") |
| 214 | +#! Field("$(P)$(SM):timer$(N):updateCurrent.SDIS",16777215,0,"$(P)$(SM):timer$(N):updateCurrent.SDIS") |
| 215 | +#! Link("$(P)$(SM):timer$(N):updateCurrent.SDIS","$(P)$(SM):timer$(N):Go.VAL") |
| 216 | +#! Visibility("$(P)$(SM):timer$(N):updateCurrent.SCAN",1) |
| 217 | +#! Record("$(P)$(SM):timer$(N):remainingSecs",2140,713,0,1,"$(P)$(SM):timer$(N):remainingSecs") |
| 218 | +#! Field("$(P)$(SM):timer$(N):remainingSecs.VAL",16777215,0,"$(P)$(SM):timer$(N):remainingSecs.VAL") |
| 219 | +#! Record("$(P)$(SM):timer$(N):busy",1540,886,0,1,"$(P)$(SM):timer$(N):busy") |
| 220 | +#! Field("$(P)$(SM):timer$(N):busy.VAL",16777215,1,"$(P)$(SM):timer$(N):busy.VAL") |
| 221 | +#! Record("$(P)$(SM):timer$(N):setBusy",1260,824,0,1,"$(P)$(SM):timer$(N):setBusy") |
| 222 | +#! Field("$(P)$(SM):timer$(N):setBusy.A",16777215,0,"$(P)$(SM):timer$(N):setBusy.A") |
| 223 | +#! Field("$(P)$(SM):timer$(N):setBusy.OUT",16777215,1,"$(P)$(SM):timer$(N):setBusy.OUT") |
| 224 | +#! Link("$(P)$(SM):timer$(N):setBusy.OUT","$(P)$(SM):timer$(N):busy.VAL") |
| 225 | +#! Record("$(P)$(SM):timer$(N):clearBusy",2400,724,0,0,"$(P)$(SM):timer$(N):clearBusy") |
| 226 | +#! Field("$(P)$(SM):timer$(N):clearBusy.OUT",16777215,1,"$(P)$(SM):timer$(N):clearBusy.OUT") |
| 227 | +#! Link("$(P)$(SM):timer$(N):clearBusy.OUT","$(P)$(SM):timer$(N):clearBusy/OUT") |
| 228 | +#! Connector("$(P)$(SM):timer$(N):clearBusy/OUT","$(P)$(SM):timer$(N):busy.VAL",2660,890,16777215,"",0) |
| 229 | +#! Record("$(P)$(SM):timer$(N):doStop1",2400,529,0,1,"$(P)$(SM):timer$(N):doStop1") |
| 230 | +#! Field("$(P)$(SM):timer$(N):doStop1.OUT",16777215,1,"$(P)$(SM):timer$(N):doStop1.OUT") |
| 231 | +#! Link("$(P)$(SM):timer$(N):doStop1.OUT","$(P)$(SM):timer$(N):doStop.VAL") |
| 232 | +#! Field("$(P)$(SM):timer$(N):doStop1.VAL",16777215,0,"$(P)$(SM):timer$(N):doStop1.VAL") |
| 233 | +#! Field("$(P)$(SM):timer$(N):doStop1.FLNK",16777215,1,"$(P)$(SM):timer$(N):doStop1.FLNK") |
| 234 | +#! Link("$(P)$(SM):timer$(N):doStop1.FLNK","$(P)$(SM):timer$(N):doStop1/FLNK") |
| 235 | +#! Connector("$(P)$(SM):timer$(N):doStop1/FLNK","$(P)$(SM):timer$(N):doStop1/FLNK1",2620,705,16777215,"",0) |
| 236 | +#! Connector("$(P)$(SM):timer$(N):doStop1/FLNK1","$(P)$(SM):timer$(N):doStop1/FLNK2",2490,720,16777215,"",0) |
| 237 | +#! Connector("$(P)$(SM):timer$(N):doStop1/FLNK2","$(P)$(SM):timer$(N):clearBusy",2360,746,16777215,"",0) |
0 commit comments