db/LakeShore331.db
changeset 0 77d8eafe2a07
equal deleted inserted replaced
-1:000000000000 0:77d8eafe2a07
       
     1 record (stringin, "$(P)LS331:$(Q):IDN") {
       
     2   field(DTYP, "stream")
       
     3   field(INP, "@LK331.proto getIDN $(PORT)")
       
     4 }
       
     5 
       
     6 record(stringin, "$(P)LS331:$(Q):serial") {
       
     7   field(DTYP, "stream")
       
     8   field(INP, "@LK331.proto getSERIAL $(PORT)")
       
     9 }
       
    10 
       
    11 record(stringin, "$(P)LS331:$(Q):model") {
       
    12   field(DTYP, "stream")
       
    13   field(INP, "@LK331.proto getSERIAL $(PORT)")
       
    14 }
       
    15 
       
    16 
       
    17 grecord(dfanout,"$(P)LS331:$(Q):Init") {
       
    18 	field(SCAN,"1 second")
       
    19 	field(OUTA,"$(P)LS331:$(Q):Input_sel.PROC  PP NMS")
       
    20 	field(OUTB,"$(P)LS331:$(Q):Units_sel.PROC  PP NMS")
       
    21 	field(OUTC,"$(P)LS331:$(Q):HeatRg.PROC  PP NMS")
       
    22 	field(OUTD,"$(P)LS331:$(Q):Gain_set.PROC  PP NMS")
       
    23 	field(OUTE,"$(P)LS331:$(Q):Rset_set.PROC  PP NMS")
       
    24 	field(OUTF,"$(P)LS331:$(Q):Rate_set.PROC  PP NMS")
       
    25 	field(OUTG,"$(P)LS331:$(Q):RampR_set.PROC  PP NMS")
       
    26 	field(OUTH,"$(P)LS331:$(Q):InitB.PROC  PP NMS")
       
    27 }
       
    28 
       
    29 grecord(dfanout,"$(P)LS331:$(Q):InitB") {
       
    30 	field(SCAN,"Passive")
       
    31 	field(OUTA,"$(P)LS331:$(Q):Ramp_on.PROC  PP NMS")
       
    32 	field(OUTB,"$(P)LS331:$(Q):wr_SP.PROC  PP NMS")
       
    33 	field(OUTC,"$(P)LS331:$(Q):read.PROC  PP NMS")
       
    34 	field(OUTD,"$(P)LS331:$(Q):readPID.PROC  PP NMS")
       
    35 	field(OUTE,"$(P)LS331:$(Q):Init.SCAN CA NMS")
       
    36 }
       
    37 
       
    38 record(ao, "$(P)LS331:$(Q):Rset_set") {
       
    39   field(DTYP, "Soft Channel")
       
    40   field(FLNK, "$(P)LS331:$(Q):setRset.VAL  PP MS")
       
    41   field(PREC, "0")
       
    42 }
       
    43 
       
    44 record(ao, "$(P)LS331:$(Q):Rate_set") {
       
    45   field(DTYP, "Soft Channel")
       
    46   field(FLNK, "$(P)LS331:$(Q):setRate.VAL  PP MS")
       
    47   field(PREC, "0")
       
    48 }
       
    49 
       
    50 record(ao, "$(P)LS331:$(Q):RampR_set") {
       
    51   field(DTYP, "Soft Channel")
       
    52   field(FLNK, "$(P)LS331:$(Q):setRamp.VAL  PP MS")
       
    53   field(PREC, "1")
       
    54 }
       
    55 
       
    56 record(ao, "$(P)LS331:$(Q):wr_SP") {
       
    57   field(DTYP, "Soft Channel")
       
    58   field(FLNK, "$(P)LS331:$(Q):SP_scalc.VAL  PP MS")
       
    59   field(PREC, "3")
       
    60 }
       
    61 
       
    62 record(ao, "$(P)LS331:$(Q):Gain_set") {
       
    63   field(DTYP, "Soft Channel")
       
    64   field(FLNK, "$(P)LS331:$(Q):setGain.VAL  PP MS")
       
    65   field(PREC, "0")
       
    66 }
       
    67 
       
    68 record(mbbi, "$(P)LS331:$(Q):Rg_rdbk") {
       
    69   field(DTYP, "Soft Channel")
       
    70   field(INP, "$(P)LS331:$(Q):Range.VAL  NPP MS")
       
    71   field(ZRST, "OFF")
       
    72   field(ONST, "100 mA")
       
    73   field(TWST, "300 mA")
       
    74   field(THST, "1 A")
       
    75 }
       
    76 
       
    77 record(mbbi, "$(P)LS331:$(Q):Ramp_state") {
       
    78   field(DTYP, "Soft Channel")
       
    79   field(INP, "$(P)LS331:$(Q):Ramp_scalc.VAL  NPP MS")
       
    80   field(ZRST, "OFF")
       
    81   field(ONST, "ON")
       
    82 }
       
    83 
       
    84 record(mbbo, "$(P)LS331:$(Q):Input_sel") {
       
    85   field(DTYP, "Soft Channel")
       
    86   field(FLNK, "$(P)LS331:$(Q):SetCtl.VAL  NPP MS")
       
    87   field(ZRVL, "0")
       
    88   field(ONVL, "1")
       
    89   field(TWVL, "0")
       
    90   field(THVL, "0")
       
    91   field(ZRST, "A")
       
    92   field(ONST, "B")
       
    93 }
       
    94 
       
    95 record(mbbo, "$(P)LS331:$(Q):Units_sel") {
       
    96   field(DTYP, "Soft Channel")
       
    97   field(FLNK, "$(P)LS331:$(Q):SetCtl.VAL  NPP MS")
       
    98   field(ZRVL, "1")
       
    99   field(ONVL, "2")
       
   100   field(TWVL, "0")
       
   101   field(THVL, "0")
       
   102   field(ZRST, "K")
       
   103   field(ONST, "C")
       
   104 }
       
   105 
       
   106 record(mbbo, "$(P)LS331:$(Q):HeatRg") {
       
   107   field(DTYP, "Soft Channel")
       
   108   field(FLNK, "$(P)LS331:$(Q):SetHeat.VAL  PP MS")
       
   109   field(ZRVL, "0")
       
   110   field(ONVL, "1")
       
   111   field(TWVL, "2")
       
   112   field(THVL, "3")
       
   113   field(FRVL, "0")
       
   114   field(FVVL, "0")
       
   115   field(ZRST, "OFF")
       
   116   field(ONST, "100 mA")
       
   117   field(TWST, "300 mA")
       
   118   field(THST, "1 A")
       
   119 }
       
   120 
       
   121 record(mbbo, "$(P)LS331:$(Q):Ramp_on") {
       
   122   field(DTYP, "Soft Channel")
       
   123   field(FLNK, "$(P)LS331:$(Q):setRamp.PROC  PP MS")
       
   124   field(ZRVL, "0")
       
   125   field(ONVL, "1")
       
   126   field(TWVL, "0")
       
   127   field(THVL, "0")
       
   128   field(ZRST, "OFF")
       
   129   field(ONST, "ON")
       
   130 }
       
   131 
       
   132 record(seq, "$(P)LS331:$(Q):readPID") {
       
   133   field(PREC, "1")
       
   134   field(DLY1, ".05")
       
   135   field(LNK1, "$(P)LS331:$(Q):rd_Gain.PROC  PP MS")
       
   136   field(DLY2, ".05")
       
   137   field(LNK2, "$(P)LS331:$(Q):rd_Rset.PROC  PP MS")
       
   138   field(DLY3, ".05")
       
   139   field(LNK3, "$(P)LS331:$(Q):rd_Rate.PROC  PP MS")
       
   140   field(DLY4, ".05")
       
   141   field(LNK4, "$(P)LS331:$(Q):rd_Ramp.PROC  PP MS")
       
   142 }
       
   143 
       
   144 record(seq, "$(P)LS331:$(Q):read") {
       
   145   field(PREC, "1")
       
   146   field(DLY1, ".05")
       
   147   field(LNK1, "$(P)LS331:$(Q):readCtl.PROC  PP MS")
       
   148   field(DLY2, ".05")
       
   149   field(LNK2, "$(P)LS331:$(Q):rd_rdat_scalc.PROC  PP MS")
       
   150   field(DLY3, ".05")
       
   151   field(LNK3, "$(P)LS331:$(Q):rd_SplA_scalc.PROC  PP MS")
       
   152   field(DLY4, ".05")
       
   153   field(LNK4, "$(P)LS331:$(Q):rd_SplB_scalc.PROC  PP MS")
       
   154   field(DLY5, ".05")
       
   155   field(LNK5, "$(P)LS331:$(Q):rd_Heater.PROC  PP MS")
       
   156   field(DLY6, ".05")
       
   157   field(LNK6, "$(P)LS331:$(Q):readSP.PROC  PP MS")
       
   158 }
       
   159 
       
   160 record(stringout, "$(P)LS331:$(Q):rd_Rset") {
       
   161   field(DTYP, "Soft Channel")
       
   162   field(FLNK, "0")
       
   163   field(VAL, "RSET?")
       
   164   field(OUT, "$(P)LS331:$(Q):wr_rd_Rset.AOUT  PP MS")
       
   165 }
       
   166 
       
   167 record(stringout, "$(P)LS331:$(Q):rd_Rate") {
       
   168   field(DTYP, "Soft Channel")
       
   169   field(FLNK, "0")
       
   170   field(VAL, "RATE?")
       
   171   field(OUT, "$(P)LS331:$(Q):wr_rd_Rate.AOUT  PP MS")
       
   172 }
       
   173 
       
   174 record(stringout, "$(P)LS331:$(Q):rd_Ramp") {
       
   175   field(DTYP, "Soft Channel")
       
   176   field(FLNK, "0")
       
   177   field(VAL, "RAMP?")
       
   178   field(OUT, "$(P)LS331:$(Q):wr_rd_Ramp.AOUT  PP MS")
       
   179 }
       
   180 
       
   181 record(stringout, "$(P)LS331:$(Q):readSP") {
       
   182   field(DTYP, "Soft Channel")
       
   183   field(FLNK, "0")
       
   184   field(VAL, "SETP?")
       
   185   field(OUT, "$(P)LS331:$(Q):rd_SP.AOUT  PP MS")
       
   186 }
       
   187 
       
   188 record(stringout, "$(P)LS331:$(Q):rd_Gain") {
       
   189   field(DTYP, "Soft Channel")
       
   190   field(FLNK, "0")
       
   191   field(VAL, "GAIN?")
       
   192   field(OUT, "$(P)LS331:$(Q):wr_rd_Gain.AOUT  PP MS")
       
   193 }
       
   194 
       
   195 record(asyn, "$(P)LS331:$(Q):wr_rd_Rset") {
       
   196   field(FLNK, "$(P)LS331:$(Q):I.VAL  PP MS")
       
   197   field(PORT, "$(PORT)")
       
   198 }
       
   199 
       
   200 record(asyn, "$(P)LS331:$(Q):wr_rd_Rate") {
       
   201   field(FLNK, "$(P)LS331:$(Q):D.VAL  PP MS")
       
   202   field(PORT, "$(PORT)")
       
   203 }
       
   204 
       
   205 record(asyn, "$(P)LS331:$(Q):wr_rd_Gain") {
       
   206   field(FLNK, "$(P)LS331:$(Q):P.VAL  PP MS")
       
   207   field(PORT, "$(PORT)")
       
   208 }
       
   209 
       
   210 record(asyn, "$(P)LS331:$(Q):rd_Ctl") {
       
   211   field(FLNK, "$(P)LS331:$(Q):Control.VAL  PP MS")
       
   212   field(PORT, "$(PORT)")
       
   213 }
       
   214 
       
   215 record(asyn, "$(P)LS331:$(Q):rd_CtlParms") {
       
   216   field(FLNK, "$(P)LS331:$(Q):CtlInput.PROC  PP MS")
       
   217   field(PORT, "$(PORT)")
       
   218 }
       
   219 
       
   220 record(asyn, "$(P)LS331:$(Q):rd_Heater") {
       
   221   field(FLNK, "$(P)LS331:$(Q):Heater.VAL  PP MS")
       
   222   field(PORT, "$(PORT)")
       
   223   field(AOUT, "HTR?")
       
   224 }
       
   225 
       
   226 record(asyn, "$(P)LS331:$(Q):write_SP") {
       
   227   field(PORT, "$(PORT)")
       
   228 }
       
   229 
       
   230 record(asyn, "$(P)LS331:$(Q):rd_SP") {
       
   231   field(FLNK, "$(P)LS331:$(Q):SP.VAL  PP MS")
       
   232   field(PORT, "$(PORT)")
       
   233 }
       
   234 
       
   235 record(asyn, "$(P)LS331:$(Q):rd_Spl_a") {
       
   236   field(FLNK, "$(P)LS331:$(Q):SampleA.VAL  PP MS")
       
   237   field(PORT, "$(PORT)")
       
   238 }
       
   239 
       
   240 record(asyn, "$(P)LS331:$(Q):rd_Spl_b") {
       
   241   field(FLNK, "$(P)LS331:$(Q):SampleB.VAL  PP MS")
       
   242   field(PORT, "$(PORT)")
       
   243 }
       
   244 
       
   245 record(asyn, "$(P)LS331:$(Q):wr_rd_Htr") {
       
   246   field(FLNK, "$(P)LS331:$(Q):Range.VAL  PP MS")
       
   247   field(PORT, "$(PORT)")
       
   248 }
       
   249 
       
   250 record(asyn, "$(P)LS331:$(Q):wr_rd_Ramp") {
       
   251   field(FLNK, "$(P)LS331:$(Q):Ramp_scalc.VAL  PP MS")
       
   252   field(PORT, "$(PORT)")
       
   253 }
       
   254 
       
   255 record(scalcout, "$(P)LS331:$(Q):setRset") {
       
   256   field(DESC, "Format string for PID input")
       
   257   field(CALC, "$P('RSET %d;RSET?',A)")
       
   258   field(INPA, "$(P)LS331:$(Q):Rset_set.VAL  NPP MS")
       
   259   field(OUT, "$(P)LS331:$(Q):wr_rd_Rset.AOUT  PP MS")
       
   260   field(PREC, "1")
       
   261 }
       
   262 
       
   263 record(scalcout, "$(P)LS331:$(Q):setRate") {
       
   264   field(DESC, "Format string for PID input")
       
   265   field(CALC, "$P('RATE %d;RATE?',A)")
       
   266   field(INPA, "$(P)LS331:$(Q):Rate_set.VAL  NPP MS")
       
   267   field(OUT, "$(P)LS331:$(Q):wr_rd_Rate.AOUT  PP MS")
       
   268   field(PREC, "1")
       
   269 }
       
   270 
       
   271 record(scalcout, "$(P)LS331:$(Q):setGain") {
       
   272   field(DESC, "Format string for PID input")
       
   273   field(CALC, "$P('GAIN %d;GAIN?',A)")
       
   274   field(INPA, "$(P)LS331:$(Q):Gain_set.VAL  NPP MS")
       
   275   field(OUT, "$(P)LS331:$(Q):wr_rd_Gain.AOUT  PP MS")
       
   276   field(PREC, "1")
       
   277 }
       
   278 
       
   279 record(scalcout, "$(P)LS331:$(Q):Ramp_scalc") {
       
   280   field(FLNK, "$(P)LS331:$(Q):RampR.PROC  PP MS")
       
   281   field(CALC, "INT(AA)")
       
   282   field(INAA, "$(P)LS331:$(Q):wr_rd_Ramp.AINP  NPP MS")
       
   283   field(PREC, "1")
       
   284 }
       
   285 record(scalcout, "$(P)LS331:$(Q):RampR") {
       
   286   field(FLNK, "$(P)LS331:$(Q):Ramp_state.PROC  PP MS")
       
   287   field(CALC, "SSCANF(AA,'%s')[2,10]")
       
   288   field(INAA, "$(P)LS331:$(Q):wr_rd_Ramp.AINP  NPP MS")
       
   289   field(PREC, "1")
       
   290 }
       
   291 
       
   292 record(scalcout, "$(P)LS331:$(Q):P") {
       
   293   field(CALC, "INT(AA)")
       
   294   field(INAA, "$(P)LS331:$(Q):wr_rd_Gain.AINP  NPP MS")
       
   295   field(PREC, "0")
       
   296 }
       
   297 
       
   298 record(scalcout, "$(P)LS331:$(Q):I") {
       
   299   field(CALC, "INT(AA)")
       
   300   field(INAA, "$(P)LS331:$(Q):wr_rd_Rset.AINP  NPP MS")
       
   301   field(PREC, "0")
       
   302 }
       
   303 
       
   304 record(scalcout, "$(P)LS331:$(Q):D") {
       
   305   field(CALC, "INT(AA)")
       
   306   field(INAA, "$(P)LS331:$(Q):wr_rd_Rate.AINP  NPP MS")
       
   307   field(PREC, "0")
       
   308 }
       
   309 
       
   310 record(scalcout, "$(P)LS331:$(Q):Control") {
       
   311   field(DESC, "Format string for Ctl query")
       
   312   field(CALC, "DBL(AA)")
       
   313   field(INAA, "$(P)LS331:$(Q):rd_Ctl.AINP  NPP MS")
       
   314   field(INEE, "0")
       
   315   field(PREC, "3")
       
   316 }
       
   317 
       
   318 record(scalcout, "$(P)LS331:$(Q):Heater") {
       
   319   field(DESC, "Format string for Ctl query")
       
   320   field(CALC, "DBL(AA)")
       
   321   field(INAA, "$(P)LS331:$(Q):rd_Heater.AINP  NPP MS")
       
   322   field(INEE, "0")
       
   323   field(PREC, "0")
       
   324 }
       
   325 
       
   326 record(scalcout, "$(P)LS331:$(Q):Range") {
       
   327   field(DESC, "Format string for Ctl query")
       
   328   field(FLNK, "$(P)LS331:$(Q):Rg_rdbk.PROC  PP MS")
       
   329   field(CALC, "INT(AA)")
       
   330   field(INAA, "$(P)LS331:$(Q):wr_rd_Htr.AINP  NPP MS")
       
   331   field(INEE, "0")
       
   332   field(PREC, "2")
       
   333 }
       
   334 
       
   335 record(scalcout, "$(P)LS331:$(Q):SP") {
       
   336   field(DESC, "Format string for Ctl query")
       
   337   field(CALC, "DBL(AA)")
       
   338   field(INAA, "$(P)LS331:$(Q):rd_SP.AINP  NPP MS")
       
   339   field(INEE, "0")
       
   340   field(PREC, "3")
       
   341 }
       
   342 
       
   343 record(scalcout, "$(P)LS331:$(Q):SP_scalc") {
       
   344   field(DESC, "Format string for Ctl query")
       
   345   field(FLNK, "$(P)LS331:$(Q):readSP.PROC  PP MS")
       
   346   field(CALC, "$P('SETP 1,%6.3f',A)")
       
   347   field(INPA, "$(P)LS331:$(Q):wr_SP.VAL  NPP MS")
       
   348   field(INEE, "0")
       
   349   field(OUT, "$(P)LS331:$(Q):write_SP.AOUT  PP MS")
       
   350   field(PREC, "3")
       
   351 }
       
   352 
       
   353 record(scalcout, "$(P)LS331:$(Q):SampleA") {
       
   354   field(DESC, "Convt str fror SplA query")
       
   355   field(CALC, "DBL(AA)")
       
   356   field(INAA, "$(P)LS331:$(Q):rd_Spl_a.AINP  PP MS")
       
   357   field(INEE, "0")
       
   358   field(PREC, "3")
       
   359 }
       
   360 
       
   361 record(scalcout, "$(P)LS331:$(Q):SampleB") {
       
   362   field(DESC, "Convrt str from SplB query")
       
   363   field(CALC, "DBL(AA)")
       
   364   field(INAA, "$(P)LS331:$(Q):rd_Spl_b.AINP  PP MS")
       
   365   field(INEE, "0")
       
   366   field(PREC, "3")
       
   367 }
       
   368 
       
   369 record(scalcout, "$(P)LS331:$(Q):CtlInput") {
       
   370   field(DESC, "Parse string for Ctl Input")
       
   371   field(FLNK, "$(P)LS331:$(Q):CtlUnits.PROC  PP MS")
       
   372   field(CALC, "SSCANF(AA,'%s')[0,0]")
       
   373   field(INAA, "$(P)LS331:$(Q):rd_CtlParms.AINP  NPP MS")
       
   374   field(PREC, "1")
       
   375   field(AA, "A")
       
   376 }
       
   377 
       
   378 record(scalcout, "$(P)LS331:$(Q):CtlUnits") {
       
   379   field(DESC, "Parse string for Ctl Unit")
       
   380   field(FLNK, "$(P)LS331:$(Q):CtlUnits_str.PROC  PP MS")
       
   381   field(CALC, "INT(SSCANF(AA,'%s')[2,2])")
       
   382   field(INAA, "$(P)LS331:$(Q):rd_CtlParms.AINP  NPP MS")
       
   383   field(PREC, "1")
       
   384   field(AA, "A,2")
       
   385 }
       
   386 
       
   387 record(scalcout, "$(P)LS331:$(Q):CtlUnits_str") {
       
   388   field(DESC, "Make Ctl Input string")
       
   389   field(CALC, "A=1?BB:CC")
       
   390   field(INPA, "$(P)LS331:$(Q):CtlUnits.VAL  NPP MS")
       
   391   field(PREC, "1")
       
   392   field(A, "1")
       
   393   field(BB, "K")
       
   394   field(CC, "C")
       
   395 }
       
   396 
       
   397 record(scalcout, "$(P)LS331:$(Q):SetCtl") {
       
   398   field(DESC, "Format string for Ctl Set")
       
   399   field(FLNK, "$(P)LS331:$(Q):read.PROC  PP MS")
       
   400   field(CALC, "AA+(B?FF:EE)+','+STR(C)[0,0]+DD")
       
   401   field(INAA, "")
       
   402   field(INBB, "$(P)LS331:$(Q):Input_sel.VAL  PP MS")
       
   403   field(INPB, "$(P)LS331:$(Q):Input_sel.VAL  PP MS")
       
   404   field(INPC, "$(P)LS331:$(Q):Units_sel.RVAL  PP MS")
       
   405   field(INDD, "")
       
   406   field(OUT, "$(P)LS331:$(Q):rd_CtlParms.AOUT  PP MS")
       
   407   field(PREC, "1")
       
   408   field(AA, "CSET 1,")
       
   409   field(BB, "A")
       
   410   field(B, "0")
       
   411   field(C, "1")
       
   412   field(DD, ",0,1;CSET?")
       
   413   field(EE, "A")
       
   414   field(FF, "B")
       
   415 }
       
   416 
       
   417 record(scalcout, "$(P)LS331:$(Q):readCtl") {
       
   418   field(DESC, "Format string for Ctl query")
       
   419   field(CALC, "AA")
       
   420   field(INAA, "0")
       
   421   field(OUT, "$(P)LS331:$(Q):rd_CtlParms.AOUT  PP MS")
       
   422   field(PREC, "1")
       
   423   field(AA, "CSET?")
       
   424 }
       
   425 
       
   426 record(scalcout, "$(P)LS331:$(Q):SetHeat") {
       
   427   field(CALC, "AA+BB+CC")
       
   428   field(INAA, "0")
       
   429   field(INBB, "$(P)LS331:$(Q):HeatRg.RVAL  NPP MS")
       
   430   field(OUT, "$(P)LS331:$(Q):wr_rd_Htr.AOUT  PP MS")
       
   431   field(PREC, "1")
       
   432   field(AA, "RANGE ")
       
   433   field(BB, "0")
       
   434   field(CC, ";RANGE?")
       
   435 }
       
   436 
       
   437 record(scalcout, "$(P)LS331:$(Q):rd_SplA_scalc") {
       
   438   field(DESC, "Format str for A query")
       
   439   field(CALC, "AA+BB")
       
   440   field(INAA, "$(P)LS331:$(Q):CtlUnits_str.SVAL  PP MS")
       
   441   field(INBB, "0")
       
   442   field(OUT, "$(P)LS331:$(Q):rd_Spl_a.AOUT  PP MS")
       
   443   field(PREC, "1")
       
   444   field(AA, "K")
       
   445   field(BB, "RDG? A")
       
   446 }
       
   447 
       
   448 record(scalcout, "$(P)LS331:$(Q):rd_SplB_scalc") {
       
   449   field(DESC, "Format str for B query")
       
   450   field(CALC, "AA+BB")
       
   451   field(INAA, "$(P)LS331:$(Q):CtlUnits_str.SVAL  PP MS")
       
   452   field(INBB, "0")
       
   453   field(OUT, "$(P)LS331:$(Q):rd_Spl_b.AOUT  PP MS")
       
   454   field(PREC, "1")
       
   455   field(AA, "K")
       
   456   field(BB, "RDG? B")
       
   457 }
       
   458 
       
   459 record(scalcout, "$(P)LS331:$(Q):rd_rdat_scalc") {
       
   460   field(DESC, "Format str for rd query")
       
   461   field(CALC, "A=2?EE+BB+CC:DD+BB+CC")
       
   462   field(INPA, "$(P)LS331:$(Q):CtlUnits.VAL  NPP MS")
       
   463   field(INBB, "0")
       
   464   field(INCC, "$(P)LS331:$(Q):CtlInput.SVAL  NPP MS")
       
   465   field(INDD, "0")
       
   466   field(INEE, "0")
       
   467   field(OUT, "$(P)LS331:$(Q):rd_Ctl.AOUT  PP MS")
       
   468   field(PREC, "1")
       
   469   field(A, "1")
       
   470   field(BB, "RDG? ")
       
   471   field(DD, "K")
       
   472   field(EE, "C")
       
   473 }
       
   474 
       
   475 record(scalcout, "$(P)LS331:$(Q):setRamp") {
       
   476   field(DESC, "Format string for PID input")
       
   477   field(CALC, "AA+$P('%d',A)+','+$P('%5.1f',B)+BB")
       
   478   field(INPA, "$(P)LS331:$(Q):Ramp_on.RVAL  NPP MS")
       
   479   field(INPB, "$(P)LS331:$(Q):RampR_set.VAL  NPP MS")
       
   480   field(OUT, "$(P)LS331:$(Q):wr_rd_Ramp.AOUT  PP MS")
       
   481   field(PREC, "1")
       
   482   field(AA, "RAMP 1,")
       
   483   field(BB, ";RAMP?")
       
   484   field(CC, "0")
       
   485 }
       
   486 
       
   487