agilent33220A.template

Go to the documentation of this file.
00001 # % macro, P, Device prefix
00002 # % macro, Q, Device suffix
00003 # % macro, PORT, Asyn port name
00004 # % macro, name, Name to export to gda as
00005 # % macro, gda_desc, Description for gda
00006 # % gdatag,template,agilent33220A,$(name=),$(gda_desc=)
00007 # % gui, $(name=), edm, agilent33220A.edl, agilent=$(P)$(Q)
00008 # % autosave 2 SCAN
00009 record(seq, "$(P)$(Q):UPDATE") {
00010   field(DESC, "Update Params")
00011   field(FLNK, "$(P)$(Q):UPDATEREC")    
00012   field(SCAN, "5 second")
00013 }
00014 
00015 record(seq, "$(P)$(Q):UPDATEREC") {
00016   field(DESC, "Update Params")
00017   field(DOL1, "1")
00018   field(DOL2, "1")
00019   field(DOL3, "1")
00020   field(DOL4, "1")
00021   field(DOL5, "1")  
00022   field(DOL6, "1")    
00023   field(DOL7, "1")
00024   field(DOL8, "1")      
00025   field(DOL9, "1")                
00026   field(DOLA, "1")                  
00027   field(LNK1, "$(P)$(Q):FUNC:RBV.PROC")    
00028   field(LNK2, "$(P)$(Q):FREQ:RBV.PROC")
00029   field(LNK3, "$(P)$(Q):AMP:RBV.PROC")
00030   field(LNK4, "$(P)$(Q):OFF:RBV.PROC")
00031   field(LNK5, "$(P)$(Q):OUT:RBV.PROC")
00032   field(LNK6, "$(P)$(Q):DCYC:RBV.PROC")
00033   field(LNK7, "$(P)$(Q):SYMM:RBV.PROC")
00034   field(LNK8, "$(P)$(Q):WIDT:RBV.PROC")
00035   field(LNK9, "$(P)$(Q):TRAN:RBV.PROC")
00036   field(LNKA, "$(P)$(Q):UPDATEREC2.PROC")                                              
00037 }
00038 
00039 record(seq, "$(P)$(Q):UPDATEREC2") {
00040   field(DESC, "Update Params 2")
00041   field(DOL1, "1")
00042   field(DOL2, "1")
00043   field(DOL3, "1")
00044   field(DOL4, "1")
00045   field(LNK1, "$(P)$(Q):TRIGSRC:RBV.PROC")    
00046   field(LNK2, "$(P)$(Q):BURSTMODE:RBV.PROC")
00047   field(LNK3, "$(P)$(Q):BURSTNCYC:RBV.PROC")
00048   field(LNK4, "$(P)$(Q):BURST:RBV.PROC")
00049 }
00050 
00051 # % gdatag,binary,rw,$(name=),DISABLE
00052 record(bo, "$(P)$(Q):DISABLE") {
00053   field(DESC, "Disable comms")
00054   field(VAL, "0")
00055   field(OMSL, "supervisory")
00056   field(ZNAM, "Enabled")
00057   field(ONAM, "Disabled")
00058 }
00059 
00060 #% gdatag,mbbinary,rw,$(name=),FUNC
00061 record(mbbo, "$(P)$(Q):FUNC") {
00062   field(DESC, "Function")
00063   field(DTYP, "stream")
00064   field(FLNK, "$(P)$(Q):UPDATEREC")
00065   field(OUT, "@agilent33220A.proto write_string(FUNC) $(PORT)")
00066   field(ZRST, "SIN")
00067   field(ONST, "SQU")
00068   field(TWST, "RAMP")
00069   field(THST, "PULS")
00070   field(FRST, "NOIS")
00071   field(FVST, "DC")
00072   field(SXST, "USER")                                          
00073   field(ZRVL, "0")
00074   field(ONVL, "1")
00075   field(TWVL, "2")
00076   field(THVL, "3")
00077   field(FRVL, "4")
00078   field(FVVL, "5")
00079   field(SXVL, "6")                                      
00080   field(SDIS, "$(P)$(Q):DISABLE")
00081 }
00082 
00083 # % gdatag,mbbinary,ro,$(name=),FUNCRBV
00084 # % archiver 10 Monitor
00085 record(mbbi, "$(P)$(Q):FUNC:RBV") {
00086   field(DESC, "Function Readback")
00087   field(DTYP, "stream")
00088   field(INP, "@agilent33220A.proto read_string(FUNC) $(PORT)")
00089   field(ZRST, "SIN")
00090   field(ONST, "SQU")
00091   field(TWST, "RAMP")
00092   field(THST, "PULS")
00093   field(FRST, "NOIS")
00094   field(FVST, "DC")
00095   field(SXST, "USER")                                           
00096   field(ZRVL, "0")
00097   field(ONVL, "1")
00098   field(TWVL, "2")
00099   field(THVL, "3")
00100   field(FRVL, "4")
00101   field(FVVL, "5")
00102   field(SXVL, "6")  
00103   field(SDIS, "$(P)$(Q):DISABLE")
00104 }
00105 
00106 #% gdatag,mbbinary,rw,$(name=),TRIGSRC
00107 record(mbbo, "$(P)$(Q):TRIGSRC") {
00108   field(DESC, "Trigger Source")
00109   field(DTYP, "stream")
00110   field(OUT, "@agilent33220A.proto write_string(TRIG:SOUR) $(PORT)")
00111   field(FLNK, "$(P)$(Q):TRIGSRC:RBV")  
00112   field(ZRST, "IMM")
00113   field(ONST, "EXT")
00114   field(TWST, "BUS")
00115   field(ZRVL, "0")
00116   field(ONVL, "1")
00117   field(TWVL, "2")
00118   field(SDIS, "$(P)$(Q):DISABLE")
00119 }
00120 
00121 # % gdatag,mbbinary,ro,$(name=),TRIGSRCRBV
00122 # % archiver 10 Monitor
00123 record(mbbi, "$(P)$(Q):TRIGSRC:RBV") {
00124   field(DESC, "Trigger Source Readback")
00125   field(DTYP, "stream")
00126   field(INP, "@agilent33220A.proto read_string(TRIG:SOUR) $(PORT)")
00127   field(ZRST, "IMM")
00128   field(ONST, "EXT")
00129   field(TWST, "BUS")
00130   field(ZRVL, "0")
00131   field(ONVL, "1")
00132   field(TWVL, "2")
00133   field(SDIS, "$(P)$(Q):DISABLE")
00134 }
00135 
00136 #% gdatag,mbbinary,rw,$(name=),BURSTMODE
00137 record(mbbo, "$(P)$(Q):BURSTMODE") {
00138   field(DESC, "Burst Mode")
00139   field(DTYP, "stream")
00140   field(OUT, "@agilent33220A.proto write_string(BURS:MODE) $(PORT)")
00141   field(FLNK, "$(P)$(Q):BURSTMODE:RBV")  
00142   field(ZRST, "TRIG")
00143   field(ONST, "GAT")
00144   field(ZRVL, "0")
00145   field(ONVL, "1")
00146   field(SDIS, "$(P)$(Q):DISABLE")
00147 }
00148 
00149 # % gdatag,mbbinary,ro,$(name=),BURSTMODERBV
00150 # % archiver 10 Monitor
00151 record(mbbi, "$(P)$(Q):BURSTMODE:RBV") {
00152   field(DESC, "Burst Mode Readback")
00153   field(DTYP, "stream")
00154   field(INP, "@agilent33220A.proto read_string(BURS:MODE) $(PORT)")
00155   field(ZRST, "TRIG")
00156   field(ONST, "GAT")
00157   field(ZRVL, "0")
00158   field(ONVL, "1")
00159   field(SDIS, "$(P)$(Q):DISABLE")
00160 }
00161 
00162 record(mbbo, "$(P)$(Q):TRIGEDGE") {
00163   field(DESC, "Trigger Edge")
00164   field(DTYP, "stream")
00165   field(OUT, "@agilent33220A.proto write_string(TRIG:SLOP) $(PORT)")
00166   field(FLNK, "$(P)$(Q):TRIGEDGE:RBV")  
00167   field(ZRST, "POS")
00168   field(ONST, "NEG")
00169   field(ZRVL, "0")
00170   field(ONVL, "1")
00171   field(SDIS, "$(P)$(Q):DISABLE")
00172 }
00173 
00174 # % archiver 10 Monitor
00175 record(mbbi, "$(P)$(Q):TRIGEDGE:RBV") {
00176   field(DESC, "Trigger Edge Readback")
00177   field(DTYP, "stream")
00178   field(INP, "@agilent33220A.proto read_string(TRIG:SLOP) $(PORT)")
00179   field(ZRST, "POS")
00180   field(ONST, "NEG")
00181   field(ZRVL, "0")
00182   field(ONVL, "1")
00183   field(SDIS, "$(P)$(Q):DISABLE")
00184 }
00185 
00186 #% gdatag,pv,rw,$(name=),BURSTNCYC
00187 record(longout, "$(P)$(Q):BURSTNCYC") {
00188   field(DESC, "Burst Number of Cycles")
00189   field(DTYP, "stream")
00190   field(OUT, "@agilent33220A.proto write_int(BURS:NCYC) $(PORT)")
00191   field(FLNK, "$(P)$(Q):BURSTNCYC:RBV")  
00192   field(SDIS, "$(P)$(Q):DISABLE")
00193 }
00194 
00195 #% gdatag,pv,rw,$(name=),BURSTNCYCINF,Set Burst Number of Cycles to Infinite,<pv>.PROC
00196 record(stringout, "$(P)$(Q):BURSTNCYC:INF") {
00197   field(VAL, "INF")
00198   field(DTYP, "stream")
00199   field(OUT, "@agilent33220A.proto write_string(BURS:NCYC) $(PORT)")
00200   field(FLNK, "$(P)$(Q):BURSTNCYC:RBV")    
00201 }
00202 
00203 # % gdatag,pv,ro,$(name=),BURSTNCYCRBV
00204 # % archiver 10 Monitor
00205 record(ai, "$(P)$(Q):BURSTNCYC:RBV") {
00206   field(DESC, "Burst Number of Cycles Readback")
00207   field(DTYP, "stream")
00208   field(INP, "@agilent33220A.proto read_float(BURS:NCYC) $(PORT)")
00209   field(SDIS, "$(P)$(Q):DISABLE")
00210 }
00211 
00212 #% gdatag,binary,rw,$(name=),BURST
00213 record(bo, "$(P)$(Q):BURST") {
00214   field(DESC, "Burst State")
00215   field(DTYP, "stream")
00216   field(FLNK, "$(P)$(Q):BURST:RBV")
00217   field(OUT, "@agilent33220A.proto write_string(BURS:STAT) $(PORT)")
00218   field(ZNAM, "Off")
00219   field(ONAM, "On")  
00220   field(SDIS, "$(P)$(Q):DISABLE")
00221 }
00222 
00223 # % gdatag,binary,ro,$(name=),BURSTRBV
00224 # % archiver 10 Monitor
00225 record(bi, "$(P)$(Q):BURST:RBV") {
00226   field(DESC, "Burst State Readback")
00227   field(DTYP, "stream")
00228   field(INP, "@agilent33220A.proto read_int(BURS:STAT) $(PORT)")
00229   field(ZNAM, "Off")
00230   field(ONAM, "On") 
00231   field(SDIS, "$(P)$(Q):DISABLE")
00232 }
00233 
00234 #% gdatag,pv,rw,$(name=),FREQ
00235 record(ao, "$(P)$(Q):FREQ") {
00236   field(DESC, "Frequency")
00237   field(DTYP, "stream")
00238   field(FLNK, "$(P)$(Q):FREQ:RBV")
00239   field(OUT, "@agilent33220A.proto write_float(FREQ) $(PORT)")
00240   field(PREC, "3")
00241   field(EGU, "Hz")
00242   field(SDIS, "$(P)$(Q):DISABLE")
00243 }
00244 
00245 # % gdatag,pv,ro,$(name=),FREQRBV
00246 # % archiver 10 Monitor
00247 record(ai, "$(P)$(Q):FREQ:RBV") {
00248   field(DESC, "Frequency Readback")
00249   field(DTYP, "stream")
00250   field(INP, "@agilent33220A.proto read_float(FREQ) $(PORT)")
00251   field(PREC, "3")
00252   field(EGU, "Hz")
00253   field(SDIS, "$(P)$(Q):DISABLE")
00254 }
00255 
00256 #% gdatag,pv,rw,$(name=),AMP
00257 record(ao, "$(P)$(Q):AMP") {
00258   field(DESC, "Amplitude")
00259   field(DTYP, "stream")
00260   field(FLNK, "$(P)$(Q):AMP:RBV")
00261   field(OUT, "@agilent33220A.proto write_float(VOLT) $(PORT)")
00262   field(PREC, "3")
00263   field(EGU, "V")
00264   field(SDIS, "$(P)$(Q):DISABLE")
00265 }
00266 
00267 # % gdatag,pv,ro,$(name=),AMPRBV
00268 # % archiver 10 Monitor
00269 record(ai, "$(P)$(Q):AMP:RBV") {
00270   field(DESC, "Amplitude Readback")
00271   field(DTYP, "stream")
00272   field(INP, "@agilent33220A.proto read_float(VOLT) $(PORT)")
00273   field(PREC, "3")
00274   field(EGU, "V")
00275   field(SDIS, "$(P)$(Q):DISABLE")
00276 }
00277 
00278 #% gdatag,pv,rw,$(name=),OFF
00279 record(ao, "$(P)$(Q):OFF") {
00280   field(DESC, "Offset")
00281   field(DTYP, "stream")
00282   field(FLNK, "$(P)$(Q):OFF:RBV")
00283   field(OUT, "@agilent33220A.proto write_float(VOLT:OFFS) $(PORT)")
00284   field(PREC, "3")
00285   field(EGU, "V")
00286   field(SDIS, "$(P)$(Q):DISABLE")
00287 }
00288 
00289 # % gdatag,pv,ro,$(name=),OFFRBV
00290 # % archiver 10 Monitor
00291 record(ai, "$(P)$(Q):OFF:RBV") {
00292   field(DESC, "Offset Readback")
00293   field(DTYP, "stream")
00294   field(INP, "@agilent33220A.proto read_float(VOLT:OFFS) $(PORT)")
00295   field(PREC, "3")
00296   field(EGU, "V")
00297   field(SDIS, "$(P)$(Q):DISABLE")
00298 }
00299 
00300 record(ao, "$(P)$(Q):PHASE") {
00301   field(DESC, "Burst Phase Angle")
00302   field(DTYP, "stream")
00303   field(FLNK, "$(P)$(Q):PHASE:RBV")
00304   field(OUT, "@agilent33220A.proto write_float(BURS:PHAS) $(PORT)")
00305   field(PREC, "3")
00306   field(EGU, "Deg")
00307   field(SDIS, "$(P)$(Q):DISABLE")
00308 }
00309 
00310 # % archiver 10 Monitor
00311 record(ai, "$(P)$(Q):PHASE:RBV") {
00312   field(DESC, "Burst Phase Angle Readback")
00313   field(DTYP, "stream")
00314   field(INP, "@agilent33220A.proto read_float(BURS:PHAS) $(PORT)")
00315   field(PREC, "3")
00316   field(EGU, "Deg")
00317   field(SDIS, "$(P)$(Q):DISABLE")
00318 }
00319 
00320 record(ao, "$(P)$(Q):PULSEW") {
00321   field(DESC, "Pulse Width")
00322   field(DTYP, "stream")
00323   field(FLNK, "$(P)$(Q):PULSEW:RBV")
00324   field(OUT, "@agilent33220A.proto write_float(FUNC:PULS:WIDT) $(PORT)")
00325   field(PREC, "6")
00326   field(EGU, "sec")
00327   field(SDIS, "$(P)$(Q):DISABLE")
00328 }
00329 
00330 # % archiver 10 Monitor
00331 record(ai, "$(P)$(Q):PULSEW:RBV") {
00332   field(DESC, "Pulse Width Readback")
00333   field(DTYP, "stream")
00334   field(INP, "@agilent33220A.proto read_float(FUNC:PULS:WIDT) $(PORT)")
00335   field(PREC, "6")
00336   field(EGU, "sec")
00337   field(SDIS, "$(P)$(Q):DISABLE")
00338 }
00339 
00340 #% gdatag,binary,rw,$(name=),OUT
00341 record(bo, "$(P)$(Q):OUT") {
00342   field(DESC, "Output")
00343   field(DTYP, "stream")
00344   field(FLNK, "$(P)$(Q):OUT:RBV")
00345   field(OUT, "@agilent33220A.proto write_int(OUTP) $(PORT)")
00346   field(ZNAM, "Off")
00347   field(ONAM, "On")  
00348   field(SDIS, "$(P)$(Q):DISABLE")
00349 }
00350 
00351 # % gdatag,binary,ro,$(name=),OUTRBV
00352 # % archiver 10 Monitor
00353 record(bi, "$(P)$(Q):OUT:RBV") {
00354   field(DESC, "Output Readback")
00355   field(DTYP, "stream")
00356   field(INP, "@agilent33220A.proto read_int(OUTP) $(PORT)")
00357   field(ZNAM, "Off")
00358   field(ONAM, "On") 
00359   field(SDIS, "$(P)$(Q):DISABLE")
00360 }
00361 
00362 #% gdatag,pv,rw,$(name=),DCYC
00363 record(ao, "$(P)$(Q):DCYC") {
00364   field(DESC, "Duty Cycle")
00365   field(DTYP, "stream")
00366   field(FLNK, "$(P)$(Q):DCYC:RBV")
00367   field(OUT, "@agilent33220A.proto write_float(FUNC:SQU:DCYC) $(PORT)")
00368   field(PREC, "3")
00369   field(EGU, "%") 
00370   field(SDIS, "$(P)$(Q):DISABLE")
00371 }
00372 
00373 # % gdatag,pv,ro,$(name=),DCYCRBV
00374 # % archiver 10 Monitor
00375 record(ai, "$(P)$(Q):DCYC:RBV") {
00376   field(DESC, "Duty Cycle Readback")
00377   field(DTYP, "stream")
00378   field(INP, "@agilent33220A.proto read_float(FUNC:SQU:DCYC) $(PORT)")
00379   field(PREC, "3")
00380   field(EGU, "%")
00381   field(SDIS, "$(P)$(Q):DISABLE")
00382 }
00383 
00384 #% gdatag,pv,rw,$(name=),SYMM
00385 record(ao, "$(P)$(Q):SYMM") {
00386   field(DESC, "Ramp Symmetry")
00387   field(DTYP, "stream")
00388   field(FLNK, "$(P)$(Q):DCYC:RBV")
00389   field(OUT, "@agilent33220A.proto write_float(FUNC:RAMP:SYMM) $(PORT)")
00390   field(PREC, "3")
00391   field(EGU, "%") 
00392   field(SDIS, "$(P)$(Q):DISABLE")
00393 }
00394 
00395 # % gdatag,pv,ro,$(name=),SYMMRBV
00396 # % archiver 10 Monitor
00397 record(ai, "$(P)$(Q):SYMM:RBV") {
00398   field(DESC, "Ramp Symmetry Readback")
00399   field(DTYP, "stream")
00400   field(INP, "@agilent33220A.proto read_float(FUNC:RAMP:SYMM) $(PORT)")
00401   field(PREC, "3")
00402   field(EGU, "%")
00403   field(SDIS, "$(P)$(Q):DISABLE")
00404 }
00405 
00406 #% gdatag,pv,rw,$(name=),WIDT
00407 record(ao, "$(P)$(Q):WIDT") {
00408   field(DESC, "Pulse Width")
00409   field(DTYP, "stream")
00410   field(FLNK, "$(P)$(Q):WIDT:RBV")
00411   field(OUT, "@agilent33220A.proto write_float(FUNC:PULS:WIDT) $(PORT)")
00412   field(PREC, "6")
00413   field(EGU, "s") 
00414   field(SDIS, "$(P)$(Q):DISABLE")
00415 }
00416 
00417 # % gdatag,pv,ro,$(name=),WIDTRBV
00418 # % archiver 10 Monitor
00419 record(ai, "$(P)$(Q):WIDT:RBV") {
00420   field(DESC, "Pulse Width Readback")
00421   field(DTYP, "stream")
00422   field(INP, "@agilent33220A.proto read_float(FUNC:PULS:WIDT) $(PORT)")
00423   field(PREC, "6")
00424   field(EGU, "s")
00425   field(SDIS, "$(P)$(Q):DISABLE")
00426 }
00427 
00428 #% gdatag,pv,rw,$(name=),TRAN
00429 record(ao, "$(P)$(Q):TRAN") {
00430   field(DESC, "Pulse Edge Transition")
00431   field(DTYP, "stream")
00432   field(FLNK, "$(P)$(Q):TRAN:RBV")
00433   field(OUT, "@agilent33220A.proto write_float(FUNC:PULS:TRAN) $(PORT)")
00434   field(PREC, "3")
00435   field(EGU, "s") 
00436   field(SDIS, "$(P)$(Q):DISABLE")
00437 }
00438 
00439 # % gdatag,pv,ro,$(name=),TRANRBV
00440 # % archiver 10 Monitor
00441 record(ai, "$(P)$(Q):TRAN:RBV") {
00442   field(DESC, "Pulse Edge Transition Readback")
00443   field(DTYP, "stream")
00444   field(INP, "@agilent33220A.proto read_float(FUNC:PULS:TRAN) $(PORT)")
00445   field(PREC, "3")
00446   field(EGU, "s")
00447   field(SDIS, "$(P)$(Q):DISABLE")
00448 }
00449 
00450 ###########################################################################
00451 # Records to deal with ramping the frequency up and down
00452 
00453 # % autosave 1 VAL
00454 record(ao, "$(P)$(Q):FREQSTEP") {
00455   field(DESC, "Freq step size")
00456   field(DTYP, "Soft Channel")
00457   field(VAL, "10")
00458   field(PREC, "3")
00459   field(EGU, "Hz") 
00460   field(SDIS, "$(P)$(Q):DISABLE")
00461 }
00462 
00463 # % autosave 1 VAL
00464 record(ao, "$(P)$(Q):STARTFREQ") {
00465   field(DESC, "Ramp start freq")
00466   field(DTYP, "Soft Channel")
00467   field(VAL, "1")
00468   field(PREC, "3")
00469   field(EGU, "Hz") 
00470   field(SDIS, "$(P)$(Q):DISABLE")
00471 }
00472 
00473 # % autosave 1 VAL
00474 record(ao, "$(P)$(Q):STOPFREQ") {
00475   field(DESC, "Ramp stop freq")
00476   field(DTYP, "Soft Channel")
00477   field(VAL, "100")
00478   field(PREC, "3")
00479   field(EGU, "Hz") 
00480   field(SDIS, "$(P)$(Q):DISABLE")
00481 }
00482 
00483 #Start a ramp from the start to the stop freq, using the set step size
00484 #and using the set ramp rate. Set a busy record to support caput callback.
00485 #Set the frequency equal to the start freq first.
00486 record(seq, "$(P)$(Q):STARTRAMP") {
00487   field(DESC, "Start the ramp")
00488   field(DOL1, "$(P)$(Q):STARTFREQ NPP")
00489   field(LNK1, "$(P)$(Q):FREQ.VAL PP")
00490   field(DO2, "0")
00491   field(LNK2, "$(P)$(Q):PERFORMRAMP.DISA")  
00492   field(DO3, "1")
00493   field(LNK3, "$(P)$(Q):BUSYRAMP PP")
00494   field(SDIS, "$(P)$(Q):DISABLE")
00495 }
00496 
00497 #Stop a ramp. Poll the desired and actual freq, and when equal do the stop sequence
00498 record(calcout, "$(P)$(Q):STOPRAMP") {
00499   field(DESC, "Stop the ramp")
00500   field(INPA, "$(P)$(Q):STOPFREQ NPP")
00501   field(INPB, "$(P)$(Q):FREQ:RBV NPP")
00502   field(CALC, "A=B")
00503   field(OUT, "$(P)$(Q):STOPRAMPSEQ PP")
00504   field(SCAN, "1 second")
00505   field(DOPT, "Use CALC")
00506   field(OOPT, "Transition To Non-zero")
00507   field(SDIS, "$(P)$(Q):DISABLE")
00508 }
00509 
00510 #Disable the ramp record and clear the busy record.
00511 record(seq, "$(P)$(Q):STOPRAMPSEQ") {
00512   field(DESC, "Stop the ramp")
00513   field(DO1, "1")
00514   field(LNK1, "$(P)$(Q):PERFORMRAMP.DISA")
00515   field(DO2, "0")
00516   field(LNK2, "$(P)$(Q):BUSYRAMP PP")
00517 }
00518 
00519 # Busy record to implement callback
00520 record(busy, "$(P)$(Q):BUSYRAMP") {
00521 }
00522 
00523 #This is disabled normally, and only enabled when ramping.
00524 #It is disabled again when the target freq is reached.
00525 # % autosave 1 SCAN
00526 record(calcout, "$(P)$(Q):PERFORMRAMP") {
00527   field(DESC, "Ramp the freq")
00528   field(INPA, "$(P)$(Q):STARTFREQ NPP")
00529   field(INPB, "$(P)$(Q):STOPFREQ NPP")
00530   field(INPC, "$(P)$(Q):FREQSTEP NPP")
00531   field(INPD, "$(P)$(Q):FREQ:RBV NPP")
00532   field(CALC, "(B>A)?((D<B)?(D+C):B):((D>B)?(D-C):B)")
00533   field(OUT, "$(P)$(Q):FREQ.VAL PP")
00534   field(SCAN, "Passive")
00535   field(DOPT, "Use CALC")
00536   field(OOPT, "On Change")
00537   field(DISA, "1")
00538 }
00539 
00540 #Perform a ramp down to zero and disable the output
00541 record(seq, "$(P)$(Q):RAMPTOZERO") {
00542   field(DESC, "Ramp to zero")
00543   field(DOL1, "$(P)$(Q):FREQ:RBV NPP")
00544   field(LNK1, "$(P)$(Q):STARTFREQ PP")
00545   field(DO2, "0.1")
00546   field(LNK2, "$(P)$(Q):STOPFREQ PP")
00547   field(DO3, "1")
00548   field(LNK3, "$(P)$(Q):STARTRAMP.PROC PP")  
00549   field(SDIS, "$(P)$(Q):DISABLE")
00550 }
00551 
00552 
00553 ###################################################################################
00554 
00555 
00556 record(asyn, "$(P)$(Q):ASYN") {
00557   field(PORT, "$(PORT)")
00558   field(OEOS, "\n")
00559   field(IEOS, "\n")  
00560 }
 All Files Functions Variables