kstmApp/Db/eurotherm2k.template
changeset 0 bd6bb22c6533
equal deleted inserted replaced
-1:000000000000 0:bd6bb22c6533
       
     1 #! Generated by VisualDCT v2.6
       
     2 #! DBDSTART
       
     3 #! DBD("../../example/dbd/example.dbd")
       
     4 #! DBDEND
       
     5 
       
     6 
       
     7 # % macro, P, Device prefix
       
     8 # % macro, Q, Device suffix
       
     9 # % macro, PORT, Asyn port name
       
    10 # % macro, GAD, Global address number, normally 0
       
    11 # % macro, LAD, Local address number, normally 1
       
    12 # % macro, SPMAX, Maximum setpoint
       
    13 # % macro, RRMAX, Maximum ramp rate
       
    14 # % macro, SPCMD, Setpoint command, set to 'write' for floating point
       
    15 # % macro, PREC, Setpoint precision
       
    16 # % macro, EGU, Engineering units for ramp rate, default is C/s
       
    17 # % macro, name, object and gui association name
       
    18 # % macro, gda_name, Name to export to gda as
       
    19 # % macro, gda_desc, Description for gda
       
    20 # % gdatag,template,eurotherm2k,$(gda_name=),$(gda_desc=)
       
    21 # % gui, $(name=), edmembed, eurotherm2k_embed.edl, eurotherm=$(P)$(Q)
       
    22 # % gui, $(name=), edm, eurotherm2k.edl, eurotherm=$(P)$(Q)
       
    23 # % autosave 2 SCAN
       
    24 record(seq, "$(P)$(Q):UPDATE") {
       
    25   field(DESC, "Update Temp Params")
       
    26   field(DOL1, "1")
       
    27   field(DOL2, "1")
       
    28   field(DOL3, "1")
       
    29   field(DOL4, "1")
       
    30   field(LNK1, "$(P)$(Q):SP:RBV.PROC")
       
    31   field(LNK2, "$(P)$(Q):RR:RBV.PROC")
       
    32   field(LNK3, "$(P)$(Q):O:RBV.PROC")
       
    33   field(LNK4, "$(P)$(Q):PV:RBV.PROC")
       
    34   field(SCAN, "1 second")
       
    35   field(PINI, "YES")
       
    36   field(DOL5, "1")
       
    37   field(LNK5, "$(P)$(Q):MAN:RBV_AI.PROC")
       
    38 }
       
    39 
       
    40 # % autosave 2 SCAN
       
    41 record(seq, "$(P)$(Q):PID") {
       
    42   field(DESC, "Update PID Params")
       
    43   field(DOL1, "1")
       
    44   field(DOL2, "1")
       
    45   field(DOL3, "1")
       
    46   field(LNK1, "$(P)$(Q):P:RBV.PROC")
       
    47   field(LNK2, "$(P)$(Q):I:RBV.PROC")
       
    48   field(LNK3, "$(P)$(Q):D:RBV.PROC")
       
    49   field(SCAN, "10 second")
       
    50   field(PINI, "YES")
       
    51 }
       
    52 
       
    53 #% gdatag,pv,rw,$(gda_name=),SP
       
    54 record(ao, "$(P)$(Q):SP") {
       
    55   field(DESC, "Setpoint")
       
    56   field(DTYP, "stream")
       
    57   field(FLNK, "$(P)$(Q):SP:RBV")
       
    58   field(OUT, "@eurotherm2k.proto $(SPCMD=writeint)($(GAD),$(LAD),S1,$(P)$(Q)) $(PORT)")
       
    59   field(PREC, "$(PREC=0)")
       
    60   field(EGU, "C")
       
    61   field(DRVH, "$(SPMAX=1000)")
       
    62   field(DRVL, "0")
       
    63   field(PINI, "YES")
       
    64   field(SDIS, "$(P)$(Q):DISABLE")
       
    65 }
       
    66 
       
    67 # % gdatag,pv,ro,$(gda_name=),SPRBV
       
    68 # % archiver 10 Monitor
       
    69 record(ai, "$(P)$(Q):SP:RBV") {
       
    70   field(DESC, "Setpoint Readback")
       
    71   field(DTYP, "stream")
       
    72   field(INP, "@eurotherm2k.proto read($(GAD),$(LAD),S1) $(PORT)")
       
    73   field(PREC, "$(PREC=0)")
       
    74   field(EGU, "C")
       
    75   field(SDIS, "$(P)$(Q):DISABLE")
       
    76 }
       
    77 
       
    78 #% gdatag,pv,rw,$(gda_name=),RR
       
    79 record(ao, "$(P)$(Q):RR") {
       
    80   field(DESC, "Ramprate")
       
    81   field(DTYP, "stream")
       
    82   field(FLNK, "$(P)$(Q):RR:RBV")
       
    83   field(OUT, "@eurotherm2k.proto write($(GAD),$(LAD),RR,$(P)$(Q)) $(PORT)")
       
    84   field(PREC, "3")
       
    85   field(EGU, "$(EGU=C/s)")
       
    86   field(DRVH, "$(RRMAX=1)")
       
    87   field(DRVL, "0")
       
    88   field(PINI, "YES")
       
    89   field(SDIS, "$(P)$(Q):DISABLE")
       
    90 }
       
    91 
       
    92 # % gdatag,pv,ro,$(gda_name=),RRRBV
       
    93 # % archiver 10 Monitor
       
    94 record(ai, "$(P)$(Q):RR:RBV") {
       
    95   field(DESC, "Ramprate Readback")
       
    96   field(DTYP, "stream")
       
    97   field(INP, "@eurotherm2k.proto read($(GAD),$(LAD),RR) $(PORT)")
       
    98   field(PREC, "3")
       
    99   field(EGU, "$(EGU=C/s)")
       
   100   field(SDIS, "$(P)$(Q):DISABLE")
       
   101 }
       
   102 
       
   103 #% gdatag,pv,rw,$(gda_name=),O
       
   104 record(ao, "$(P)$(Q):O") {
       
   105   field(DESC, "Output")
       
   106   field(DTYP, "stream")
       
   107   field(FLNK, "$(P)$(Q):O:RBV")
       
   108   field(OUT, "@eurotherm2k.proto write($(GAD),$(LAD),OP,$(P)$(Q)) $(PORT)")
       
   109   field(PREC, "1")
       
   110   field(EGU, "%")
       
   111   field(DRVH, "100")
       
   112   field(DRVL, "-100")
       
   113   field(PINI, "YES")
       
   114   field(SDIS, "$(P)$(Q):DISABLE")
       
   115 }
       
   116 
       
   117 # % gdatag,pv,ro,$(gda_name=),ORBV
       
   118 # % archiver 1 Monitor
       
   119 record(ai, "$(P)$(Q):O:RBV") {
       
   120   field(DESC, "Ouptut Readback")
       
   121   field(DTYP, "stream")
       
   122   field(INP, "@eurotherm2k.proto read($(GAD),$(LAD),OP) $(PORT)")
       
   123   field(PREC, "1")
       
   124   field(EGU, "%")
       
   125   field(SDIS, "$(P)$(Q):DISABLE")
       
   126 }
       
   127 
       
   128 # % gdatag,pv,ro,$(gda_name=),PVRBV
       
   129 # % archiver 1 Monitor
       
   130 record(ai, "$(P)$(Q):PV:RBV") {
       
   131   field(DESC, "Temperature Readback")
       
   132   field(DTYP, "stream")
       
   133   field(INP, "@eurotherm2k.proto read($(GAD),$(LAD),PV) $(PORT)")
       
   134   field(PREC, "1")
       
   135   field(EGU, "C")
       
   136   field(SDIS, "$(P)$(Q):DISABLE")
       
   137 }
       
   138 
       
   139 #% gdatag,pv,rw,$(gda_name=),P
       
   140 record(ao, "$(P)$(Q):P") {
       
   141   field(DESC, "P Param")
       
   142   field(DTYP, "stream")
       
   143   field(FLNK, "$(P)$(Q):P:RBV")
       
   144   field(OUT, "@eurotherm2k.proto writeint($(GAD),$(LAD),XP,$(P)$(Q)) $(PORT)")
       
   145   field(PREC, "0")
       
   146   field(VAL, "150")
       
   147   field(PINI, "YES")
       
   148   field(SDIS, "$(P)$(Q):DISABLE")
       
   149 }
       
   150 
       
   151 # % gdatag,pv,ro,$(gda_name=),PRBV
       
   152 # % archiver 10 Monitor
       
   153 record(ai, "$(P)$(Q):P:RBV") {
       
   154   field(DESC, "P Param Readback")
       
   155   field(DTYP, "stream")
       
   156   field(INP, "@eurotherm2k.proto read($(GAD),$(LAD),XP) $(PORT)")
       
   157   field(PREC, "0")
       
   158   field(SDIS, "$(P)$(Q):DISABLE")
       
   159 }
       
   160 
       
   161 #% gdatag,pv,rw,$(gda_name=),I
       
   162 record(ao, "$(P)$(Q):I") {
       
   163   field(DESC, "I Param")
       
   164   field(DTYP, "stream")
       
   165   field(FLNK, "$(P)$(Q):I:RBV")
       
   166   field(OUT, "@eurotherm2k.proto writeint($(GAD),$(LAD),TI,$(P)$(Q)) $(PORT)")
       
   167   field(PREC, "0")
       
   168   field(VAL, "28")
       
   169   field(PINI, "YES")
       
   170   field(SDIS, "$(P)$(Q):DISABLE")
       
   171 }
       
   172 
       
   173 # % gdatag,pv,ro,$(gda_name=),IRBV
       
   174 # % archiver 10 Monitor
       
   175 record(ai, "$(P)$(Q):I:RBV") {
       
   176   field(DESC, "I Param Readback")
       
   177   field(DTYP, "stream")
       
   178   field(INP, "@eurotherm2k.proto read($(GAD),$(LAD),TI) $(PORT)")
       
   179   field(PREC, "0")
       
   180   field(SDIS, "$(P)$(Q):DISABLE")
       
   181 }
       
   182 
       
   183 #% gdatag,pv,rw,$(gda_name=),D
       
   184 record(ao, "$(P)$(Q):D") {
       
   185   field(DESC, "D Param")
       
   186   field(DTYP, "stream")
       
   187   field(FLNK, "$(P)$(Q):D:RBV")
       
   188   field(OUT, "@eurotherm2k.proto writeint($(GAD),$(LAD),TD,$(P)$(Q)) $(PORT)")
       
   189   field(PREC, "0")
       
   190   field(VAL, "4")
       
   191   field(PINI, "YES")
       
   192   field(SDIS, "$(P)$(Q):DISABLE")
       
   193 }
       
   194 
       
   195 # % gdatag,pv,ro,$(gda_name=),DRBV
       
   196 # % archiver 10 Monitor
       
   197 record(ai, "$(P)$(Q):D:RBV") {
       
   198   field(DESC, "D Param Readback")
       
   199   field(DTYP, "stream")
       
   200   field(INP, "@eurotherm2k.proto read($(GAD),$(LAD),TD) $(PORT)")
       
   201   field(PREC, "0")
       
   202   field(SDIS, "$(P)$(Q):DISABLE")
       
   203 }
       
   204 
       
   205 # % gdatag,pv,rw,$(gda_name=),ERR
       
   206 record(mbbi, "$(P)$(Q):ERR") {
       
   207   field(DESC, "Error message")
       
   208   field(DTYP, "stream")
       
   209   field(INP, "@eurotherm2k.proto readhex($(GAD),$(LAD),EE) $(PORT)")
       
   210   field(ZRVL, "0")
       
   211   field(ZRST, "No Error")
       
   212   field(ONVL, "1")
       
   213   field(ONST, "Invalid Param")
       
   214   field(TWVL, "2")
       
   215   field(TWST, "Read Only")
       
   216   field(THVL, "7")
       
   217   field(THST, "Incorrect Msg")
       
   218   field(FRVL, "8")
       
   219   field(FRST, "Limit Error")
       
   220   field(PINI, "YES")
       
   221   field(SDIS, "$(P)$(Q):DISABLE")
       
   222 }
       
   223 
       
   224 # % gdatag,binary,rw,$(gda_name=),DISABLE
       
   225 record(bo, "$(P)$(Q):DISABLE") {
       
   226   field(DESC, "Disable comms")
       
   227   field(PINI, "YES")
       
   228   field(VAL, "1")
       
   229   field(OMSL, "supervisory")
       
   230   field(ZNAM, "Enabled")
       
   231   field(ONAM, "Disabled")
       
   232 }
       
   233 
       
   234 record(bo, "$(P)$(Q):MAN") {
       
   235   field(DESC, "Manual mode enable")
       
   236   field(DTYP, "stream")
       
   237   field(SDIS, "$(P)$(Q):DISABLE")
       
   238   field(FLNK, "$(P)$(Q):MAN:RBV_AI")
       
   239   field(OUT, "@eurotherm2k.proto writeint($(GAD),$(LAD),mA,$(P)$(Q)) $(PORT)")
       
   240   field(ZNAM, "Automatic")
       
   241   field(ONAM, "Manual")
       
   242   field(PINI, "YES")
       
   243 }
       
   244 
       
   245 record(ai, "$(P)$(Q):MAN:RBV_AI") {
       
   246   field(DESC, "Manual mode readback")
       
   247   field(DTYP, "stream")
       
   248   field(SDIS, "$(P)$(Q):DISABLE")
       
   249   field(INP, "@eurotherm2k.proto read($(GAD),$(LAD),mA) $(PORT)")
       
   250   field(FLNK, "$(P)$(Q):MAN:RBV")
       
   251 }
       
   252 
       
   253 # % archiver 10 Monitor
       
   254 record(bi, "$(P)$(Q):MAN:RBV") {
       
   255   field(DESC, "Manual mode readback")
       
   256   field(DTYP, "Soft Channel")
       
   257   field(INP, "$(P)$(Q):MAN:RBV_AI")
       
   258   field(ZNAM, "Automatic")
       
   259   field(ONAM, "Manual")
       
   260 }
       
   261 
       
   262 record(mbbi, "$(P)$(Q):CONF:MODE") {
       
   263   field(DTYP, "stream")
       
   264   field(INP, "@eurotherm2k.proto getConfMode($(P)$(Q)) $(PORT)")
       
   265   field(ZRVL, "0")
       
   266   field(ONVL, "2")
       
   267   field(ZRST, "operational")
       
   268   field(ONST, "configuration")
       
   269 }
       
   270 
       
   271 record(longin, "$(P)$(Q):ADDR") {
       
   272   field(FLNK, "$(P)$(Q):CONF:DLY")
       
   273 }
       
   274 
       
   275 record(longout, "$(P)$(Q):ADDR:DEVICE") {
       
   276   field(VAL, "$(LAD)")
       
   277   field(OUT, "$(P)$(Q):ADDR PP")
       
   278 }
       
   279 
       
   280 record(bo, "$(P)$(Q):CONF:SETMODE") {
       
   281   field(DTYP, "stream")
       
   282   field(FLNK, "$(P)$(Q):CONF:ZEROADDR")
       
   283   field(OUT, "@eurotherm2k.proto setConfMode($(GAD),$(LAD),$(P)$(Q)) $(PORT)")
       
   284   field(ZNAM, "0")
       
   285   field(ONAM, "1")
       
   286 }
       
   287 
       
   288 record(bo, "$(P)$(Q):CONF:CLEARMODE") {
       
   289   field(DTYP, "stream")
       
   290   field(FLNK, "$(P)$(Q):ADDR:DEVICE")
       
   291   field(OUT, "@eurotherm2k.proto clearConfMode($(P)$(Q)) $(PORT)")
       
   292   field(ZNAM, "0")
       
   293   field(ONAM, "1")
       
   294 }
       
   295 
       
   296 record(longout, "$(P)$(Q):CONF:ZEROADDR") {
       
   297   field(VAL, "0")
       
   298   field(OUT, "$(P)$(Q):ADDR PP")
       
   299 }
       
   300 
       
   301 record(stringout, "$(P)$(Q):ADDR:WR") {
       
   302   field(DESC, "write cmd")
       
   303   field(DTYP, "stream")
       
   304   field(OUT, "@eurotherm2k.proto addrWrite($(P)$(Q)) $(PORT)")
       
   305   field(PINI, "NO")
       
   306 }
       
   307 
       
   308 record(stringout, "$(P)$(Q):ADDR:RD") {
       
   309   field(DESC, "Read parameter")
       
   310   field(DTYP, "stream")
       
   311   field(OUT, "@eurotherm2k.proto addrRead($(P)$(Q)) $(PORT)")
       
   312 }
       
   313 
       
   314 record(stringin, "$(P)$(Q):ADDR:RESP") {
       
   315   field(DESC, "Read response")
       
   316 }
       
   317 
       
   318 record(mbbi, "$(P)$(Q):CONF:DECP") {
       
   319   field(DTYP, "stream")
       
   320   field(INP, "@eurotherm2k.proto getDecPlaces($(P)$(Q)) $(PORT)")
       
   321   field(ZRVL, "0")
       
   322   field(ONVL, "1")
       
   323   field(ZRST, "nnnn.")
       
   324   field(ONST, "nnn.n")
       
   325   field(DESC, "decimal places")
       
   326   field(TWVL, "2")
       
   327   field(TWST, "nn.nn")
       
   328 }
       
   329 
       
   330 record(mbbo, "$(P)$(Q):CONF:SET:DECP") {
       
   331   field(DESC, "decimal places")
       
   332   field(DTYP, "stream")
       
   333   field(OUT, "@eurotherm2k.proto setDecPlaces($(P)$(Q)) $(PORT)")
       
   334   field(ZRVL, "0")
       
   335   field(ONVL, "1")
       
   336   field(TWVL, "2")
       
   337   field(ZRST, "nnnn.")
       
   338   field(ONST, "nnn.n")
       
   339   field(TWST, "nn.nn")
       
   340 }
       
   341 
       
   342 record(fanout, "$(P)$(Q):CONF:READ") {
       
   343   field(FLNK, "$(P)$(Q):CONF:DECP")
       
   344   field(LNK1, "$(P)$(Q):CONF:RREGU")
       
   345 }
       
   346 
       
   347 record(mbbi, "$(P)$(Q):CONF:RREGU") {
       
   348   field(DTYP, "stream")
       
   349   field(INP, "@eurotherm2k.proto getRampRateUnit($(P)$(Q)) $(PORT)")
       
   350   field(ZRVL, "0")
       
   351   field(ONVL, "1")
       
   352   field(ZRST, "sec")
       
   353   field(ONST, "min")
       
   354   field(DESC, "decimal places")
       
   355   field(TWVL, "2")
       
   356   field(TWST, "hour")
       
   357 }
       
   358 
       
   359 record(mbbo, "$(P)$(Q):CONF:SET:RREGU") {
       
   360   field(DESC, "decimal places")
       
   361   field(DTYP, "stream")
       
   362   field(OUT, "@eurotherm2k.proto setRampRateUnit($(P)$(Q)) $(PORT)")
       
   363   field(ZRVL, "0")
       
   364   field(ONVL, "1")
       
   365   field(TWVL, "2")
       
   366   field(ZRST, "sec")
       
   367   field(ONST, "min")
       
   368   field(TWST, "hour")
       
   369 }
       
   370 
       
   371 
       
   372 record(seq, "$(P)$(Q):CONF:DLY") {
       
   373   field(SELM, "Specified")
       
   374   field(SELL, "1")
       
   375   field(DLY1, "5.0")
       
   376   field(DOL1, "1")
       
   377   field(LNK1, "$(P)$(Q):CONF:MODE.PROC CA MS")
       
   378 }
       
   379 
       
   380 #! Further lines contain data used by VisualDCT
       
   381 #! View(206,1478,1.1)
       
   382 #! Record("$(P)$(Q):UPDATE",960,222,0,0,"$(P)$(Q):UPDATE")
       
   383 #! Field("$(P)$(Q):UPDATE.LNK1",16777215,1,"$(P)$(Q):UPDATE.LNK1")
       
   384 #! Link("$(P)$(Q):UPDATE.LNK1","$(P)$(Q):SP:RBV.PROC")
       
   385 #! Field("$(P)$(Q):UPDATE.LNK2",16777215,1,"$(P)$(Q):UPDATE.LNK2")
       
   386 #! Link("$(P)$(Q):UPDATE.LNK2","$(P)$(Q):RR:RBV.PROC")
       
   387 #! Field("$(P)$(Q):UPDATE.LNK3",16777215,1,"$(P)$(Q):UPDATE.LNK3")
       
   388 #! Link("$(P)$(Q):UPDATE.LNK3","$(P)$(Q):O:RBV.PROC")
       
   389 #! Field("$(P)$(Q):UPDATE.LNK4",16777215,1,"$(P)$(Q):UPDATE.LNK4")
       
   390 #! Link("$(P)$(Q):UPDATE.LNK4","$(P)$(Q):PV:RBV.PROC")
       
   391 #! Field("$(P)$(Q):UPDATE.LNK5",16777215,1,"$(P)$(Q):UPDATE.LNK5")
       
   392 #! Link("$(P)$(Q):UPDATE.LNK5","$(P)$(Q):MAN:RBV_AI.PROC")
       
   393 #! Record("$(P)$(Q):PID",1080,1258,0,1,"$(P)$(Q):PID")
       
   394 #! Field("$(P)$(Q):PID.LNK1",16777215,1,"$(P)$(Q):PID.LNK1")
       
   395 #! Link("$(P)$(Q):PID.LNK1","$(P)$(Q):P:RBV.PROC")
       
   396 #! Field("$(P)$(Q):PID.LNK2",16777215,1,"$(P)$(Q):PID.LNK2")
       
   397 #! Link("$(P)$(Q):PID.LNK2","$(P)$(Q):I:RBV.PROC")
       
   398 #! Field("$(P)$(Q):PID.LNK3",16777215,1,"$(P)$(Q):PID.LNK3")
       
   399 #! Link("$(P)$(Q):PID.LNK3","$(P)$(Q):D:RBV.PROC")
       
   400 #! Record("$(P)$(Q):SP",1200,224,0,0,"$(P)$(Q):SP")
       
   401 #! Field("$(P)$(Q):SP.FLNK",16777215,1,"$(P)$(Q):SP.FLNK")
       
   402 #! Link("$(P)$(Q):SP.FLNK","$(P)$(Q):SP:RBV")
       
   403 #! Field("$(P)$(Q):SP.SDIS",16777215,1,"$(P)$(Q):SP.SDIS")
       
   404 #! Link("$(P)$(Q):SP.SDIS","$(P)$(Q):DISABLE.VAL")
       
   405 #! Record("$(P)$(Q):SP:RBV",1480,240,0,0,"$(P)$(Q):SP:RBV")
       
   406 #! Field("$(P)$(Q):SP:RBV.PROC",16777215,0,"$(P)$(Q):SP:RBV.PROC")
       
   407 #! Field("$(P)$(Q):SP:RBV.SDIS",16777215,1,"$(P)$(Q):SP:RBV.SDIS")
       
   408 #! Link("$(P)$(Q):SP:RBV.SDIS","$(P)$(Q):DISABLE.VAL")
       
   409 #! Record("$(P)$(Q):RR",1180,564,0,0,"$(P)$(Q):RR")
       
   410 #! Field("$(P)$(Q):RR.FLNK",16777215,1,"$(P)$(Q):RR.FLNK")
       
   411 #! Link("$(P)$(Q):RR.FLNK","$(P)$(Q):RR:RBV")
       
   412 #! Field("$(P)$(Q):RR.SDIS",16777215,1,"$(P)$(Q):RR.SDIS")
       
   413 #! Link("$(P)$(Q):RR.SDIS","$(P)$(Q):DISABLE.VAL")
       
   414 #! Record("$(P)$(Q):RR:RBV",1500,500,0,0,"$(P)$(Q):RR:RBV")
       
   415 #! Field("$(P)$(Q):RR:RBV.PROC",16777215,0,"$(P)$(Q):RR:RBV.PROC")
       
   416 #! Field("$(P)$(Q):RR:RBV.SDIS",16777215,1,"$(P)$(Q):RR:RBV.SDIS")
       
   417 #! Link("$(P)$(Q):RR:RBV.SDIS","$(P)$(Q):DISABLE.VAL")
       
   418 #! Record("$(P)$(Q):O",1180,824,0,0,"$(P)$(Q):O")
       
   419 #! Field("$(P)$(Q):O.FLNK",16777215,1,"$(P)$(Q):O.FLNK")
       
   420 #! Link("$(P)$(Q):O.FLNK","$(P)$(Q):O:RBV")
       
   421 #! Field("$(P)$(Q):O.SDIS",16777215,1,"$(P)$(Q):O.SDIS")
       
   422 #! Link("$(P)$(Q):O.SDIS","$(P)$(Q):DISABLE.VAL")
       
   423 #! Record("$(P)$(Q):O:RBV",1480,740,0,0,"$(P)$(Q):O:RBV")
       
   424 #! Field("$(P)$(Q):O:RBV.PROC",16777215,0,"$(P)$(Q):O:RBV.PROC")
       
   425 #! Field("$(P)$(Q):O:RBV.SDIS",16777215,1,"$(P)$(Q):O:RBV.SDIS")
       
   426 #! Link("$(P)$(Q):O:RBV.SDIS","$(P)$(Q):DISABLE.VAL")
       
   427 #! Record("$(P)$(Q):PV:RBV",1460,980,0,0,"$(P)$(Q):PV:RBV")
       
   428 #! Field("$(P)$(Q):PV:RBV.PROC",16777215,0,"$(P)$(Q):PV:RBV.PROC")
       
   429 #! Field("$(P)$(Q):PV:RBV.SDIS",16777215,1,"$(P)$(Q):PV:RBV.SDIS")
       
   430 #! Link("$(P)$(Q):PV:RBV.SDIS","$(P)$(Q):DISABLE.VAL")
       
   431 #! Record("$(P)$(Q):P",1320,1231,0,0,"$(P)$(Q):P")
       
   432 #! Field("$(P)$(Q):P.FLNK",16777215,1,"$(P)$(Q):P.FLNK")
       
   433 #! Link("$(P)$(Q):P.FLNK","$(P)$(Q):P:RBV")
       
   434 #! Field("$(P)$(Q):P.SDIS",16777215,1,"$(P)$(Q):P.SDIS")
       
   435 #! Link("$(P)$(Q):P.SDIS","$(P)$(Q):DISABLE.VAL")
       
   436 #! Record("$(P)$(Q):P:RBV",1580,1234,0,0,"$(P)$(Q):P:RBV")
       
   437 #! Field("$(P)$(Q):P:RBV.PROC",16777215,0,"$(P)$(Q):P:RBV.PROC")
       
   438 #! Field("$(P)$(Q):P:RBV.SDIS",16777215,1,"$(P)$(Q):P:RBV.SDIS")
       
   439 #! Link("$(P)$(Q):P:RBV.SDIS","$(P)$(Q):DISABLE.VAL")
       
   440 #! Record("$(P)$(Q):I",1300,1511,0,0,"$(P)$(Q):I")
       
   441 #! Field("$(P)$(Q):I.FLNK",16777215,1,"$(P)$(Q):I.FLNK")
       
   442 #! Link("$(P)$(Q):I.FLNK","$(P)$(Q):I:RBV")
       
   443 #! Field("$(P)$(Q):I.SDIS",16777215,1,"$(P)$(Q):I.SDIS")
       
   444 #! Link("$(P)$(Q):I.SDIS","$(P)$(Q):DISABLE.VAL")
       
   445 #! Record("$(P)$(Q):I:RBV",1580,1514,0,0,"$(P)$(Q):I:RBV")
       
   446 #! Field("$(P)$(Q):I:RBV.PROC",16777215,0,"$(P)$(Q):I:RBV.PROC")
       
   447 #! Field("$(P)$(Q):I:RBV.SDIS",16777215,1,"$(P)$(Q):I:RBV.SDIS")
       
   448 #! Link("$(P)$(Q):I:RBV.SDIS","$(P)$(Q):DISABLE.VAL")
       
   449 #! Record("$(P)$(Q):D",1300,1731,0,0,"$(P)$(Q):D")
       
   450 #! Field("$(P)$(Q):D.FLNK",16777215,1,"$(P)$(Q):D.FLNK")
       
   451 #! Link("$(P)$(Q):D.FLNK","$(P)$(Q):D:RBV")
       
   452 #! Field("$(P)$(Q):D.SDIS",16777215,1,"$(P)$(Q):D.SDIS")
       
   453 #! Link("$(P)$(Q):D.SDIS","$(P)$(Q):DISABLE.VAL")
       
   454 #! Record("$(P)$(Q):D:RBV",1560,1734,0,0,"$(P)$(Q):D:RBV")
       
   455 #! Field("$(P)$(Q):D:RBV.PROC",16777215,0,"$(P)$(Q):D:RBV.PROC")
       
   456 #! Field("$(P)$(Q):D:RBV.SDIS",16777215,1,"$(P)$(Q):D:RBV.SDIS")
       
   457 #! Link("$(P)$(Q):D:RBV.SDIS","$(P)$(Q):DISABLE.VAL")
       
   458 #! Record("$(P)$(Q):ERR",1480,2234,0,0,"$(P)$(Q):ERR")
       
   459 #! Field("$(P)$(Q):ERR.SDIS",16777215,1,"$(P)$(Q):ERR.SDIS")
       
   460 #! Link("$(P)$(Q):ERR.SDIS","$(P)$(Q):DISABLE.VAL")
       
   461 #! Record("$(P)$(Q):DISABLE",1920,1040,0,1,"$(P)$(Q):DISABLE")
       
   462 #! Field("$(P)$(Q):DISABLE.VAL",16777215,0,"$(P)$(Q):DISABLE.VAL")
       
   463 #! Record("$(P)$(Q):MAN",1300,1971,0,1,"$(P)$(Q):MAN")
       
   464 #! Field("$(P)$(Q):MAN.FLNK",16777215,1,"$(P)$(Q):MAN.FLNK")
       
   465 #! Link("$(P)$(Q):MAN.FLNK","$(P)$(Q):MAN:RBV_AI")
       
   466 #! Field("$(P)$(Q):MAN.SDIS",16777215,1,"$(P)$(Q):MAN.SDIS")
       
   467 #! Link("$(P)$(Q):MAN.SDIS","$(P)$(Q):DISABLE.VAL")
       
   468 #! Record("$(P)$(Q):MAN:RBV_AI",1560,1954,0,0,"$(P)$(Q):MAN:RBV_AI")
       
   469 #! Field("$(P)$(Q):MAN:RBV_AI.SDIS",16777215,1,"$(P)$(Q):MAN:RBV_AI.SDIS")
       
   470 #! Link("$(P)$(Q):MAN:RBV_AI.SDIS","$(P)$(Q):DISABLE.VAL")
       
   471 #! Field("$(P)$(Q):MAN:RBV_AI.FLNK",16777215,1,"$(P)$(Q):MAN:RBV_AI.FLNK")
       
   472 #! Link("$(P)$(Q):MAN:RBV_AI.FLNK","$(P)$(Q):MAN:RBV")
       
   473 #! Field("$(P)$(Q):MAN:RBV_AI.VAL",16777215,1,"$(P)$(Q):MAN:RBV_AI.VAL")
       
   474 #! Field("$(P)$(Q):MAN:RBV_AI.PROC",16777215,0,"$(P)$(Q):MAN:RBV_AI.PROC")
       
   475 #! Record("$(P)$(Q):MAN:RBV",1920,1934,0,0,"$(P)$(Q):MAN:RBV")
       
   476 #! Field("$(P)$(Q):MAN:RBV.INP",16777215,0,"$(P)$(Q):MAN:RBV.INP")
       
   477 #! Link("$(P)$(Q):MAN:RBV.INP","$(P)$(Q):MAN:RBV_AI.VAL")
       
   478 #! Record("$(P)$(Q):CONF:MODE",420,1660,0,1,"$(P)$(Q):CONF:MODE")
       
   479 #! Field("$(P)$(Q):CONF:MODE.PROC",16777215,1,"$(P)$(Q):CONF:MODE.PROC")
       
   480 #! Record("$(P)$(Q):ADDR",720,1370,0,1,"$(P)$(Q):ADDR")
       
   481 #! Field("$(P)$(Q):ADDR.VAL",16777215,0,"$(P)$(Q):ADDR.VAL")
       
   482 #! Field("$(P)$(Q):ADDR.FLNK",16777215,1,"$(P)$(Q):ADDR.FLNK")
       
   483 #! Link("$(P)$(Q):ADDR.FLNK","$(P)$(Q):CONF:DLY")
       
   484 #! Record("$(P)$(Q):ADDR:DEVICE",420,1436,0,0,"$(P)$(Q):ADDR:DEVICE")
       
   485 #! Field("$(P)$(Q):ADDR:DEVICE.OUT",16777215,1,"$(P)$(Q):ADDR:DEVICE.OUT")
       
   486 #! Link("$(P)$(Q):ADDR:DEVICE.OUT","$(P)$(Q):ADDR.VAL")
       
   487 #! Record("$(P)$(Q):CONF:SETMODE",120,1154,0,1,"$(P)$(Q):CONF:SETMODE")
       
   488 #! Field("$(P)$(Q):CONF:SETMODE.FLNK",16777215,1,"$(P)$(Q):CONF:SETMODE.FLNK")
       
   489 #! Link("$(P)$(Q):CONF:SETMODE.FLNK","$(P)$(Q):CONF:ZEROADDR")
       
   490 #! Record("$(P)$(Q):CONF:CLEARMODE",120,1394,0,1,"$(P)$(Q):CONF:CLEARMODE")
       
   491 #! Field("$(P)$(Q):CONF:CLEARMODE.FLNK",16777215,1,"$(P)$(Q):CONF:CLEARMODE.FLNK")
       
   492 #! Link("$(P)$(Q):CONF:CLEARMODE.FLNK","$(P)$(Q):ADDR:DEVICE")
       
   493 #! Record("$(P)$(Q):CONF:ZEROADDR",420,1256,0,0,"$(P)$(Q):CONF:ZEROADDR")
       
   494 #! Field("$(P)$(Q):CONF:ZEROADDR.OUT",16777215,1,"$(P)$(Q):CONF:ZEROADDR.OUT")
       
   495 #! Link("$(P)$(Q):CONF:ZEROADDR.OUT","$(P)$(Q):ADDR.VAL")
       
   496 #! Record("$(P)$(Q):ADDR:WR",40,908,0,1,"$(P)$(Q):ADDR:WR")
       
   497 #! Record("$(P)$(Q):ADDR:RD",260,921,0,1,"$(P)$(Q):ADDR:RD")
       
   498 #! Record("$(P)$(Q):ADDR:RESP",460,930,0,1,"$(P)$(Q):ADDR:RESP")
       
   499 #! Record("$(P)$(Q):CONF:DECP",360,438,0,0,"$(P)$(Q):CONF:DECP")
       
   500 #! Record("$(P)$(Q):CONF:SET:DECP",660,418,0,1,"$(P)$(Q):CONF:SET:DECP")
       
   501 #! Record("$(P)$(Q):CONF:READ",20,556,0,1,"$(P)$(Q):CONF:READ")
       
   502 #! Field("$(P)$(Q):CONF:READ.FLNK",16777215,1,"$(P)$(Q):CONF:READ.FLNK")
       
   503 #! Link("$(P)$(Q):CONF:READ.FLNK","$(P)$(Q):CONF:DECP")
       
   504 #! Field("$(P)$(Q):CONF:READ.LNK1",16777215,1,"$(P)$(Q):CONF:READ.LNK1")
       
   505 #! Link("$(P)$(Q):CONF:READ.LNK1","$(P)$(Q):CONF:RREGU")
       
   506 #! Record("$(P)$(Q):CONF:RREGU",360,658,0,0,"$(P)$(Q):CONF:RREGU")
       
   507 #! Record("$(P)$(Q):CONF:SET:RREGU",660,658,0,1,"$(P)$(Q):CONF:SET:RREGU")
       
   508 #! Record("$(P)$(Q):CONF:DLY",760,1674,0,1,"$(P)$(Q):CONF:DLY")
       
   509 #! Field("$(P)$(Q):CONF:DLY.LNK1",16777215,0,"$(P)$(Q):CONF:DLY.LNK1")
       
   510 #! Link("$(P)$(Q):CONF:DLY.LNK1","$(P)$(Q):CONF:MODE.PROC")