qcm.vdb

Go to the documentation of this file.
00001 #! Generated by VisualDCT v2.6
00002 #! DBDSTART
00003 #! DBD("../../dbd/pmacCoord_vdct.dbd")
00004 #! DBDEND
00005 
00006 
00007 # % macro, __doc__, Use this template with CS_qcm.pmc to implement
00008 # a mode for changing energy that only moves Bragg1.
00009 # % macro, P, Pv Prefix
00010 # % macro, PORT, Motor controller serial port
00011 # % macro, COORD, Co-ordinate system number
00012 # % macro, RADMRES1, Scale factor to turn B1 units into Rads
00013 # % macro, RADMRES2, Scale factor to turn B2 units into Rads
00014 # % macro, gda_name, GDA name
00015 # % macro, name, Object name and gui association name
00016 # This associates an edm screen with the template
00017 # % gui, $(name=), edm, qcm.edl, P=$(P)
00018 # % autosave 2 VAL
00019 # % gdatag,template,simpleBinary,$(gda_name=).ENERGY.MODE,$(gda_name=) energy mode
00020 # % gdatag,binary,rw,$(gda_name=).ENERGY.MODE,RECORD,Energy Control Mode
00021 record(bo, "$(P):ENERGYMODE") {
00022   field(DTYP, "stream")
00023   field(OUT, "@pmacCoord.proto setIntVar(&$(COORD)Q20) $(PORT)")
00024   field(VAL, "0")
00025   field(ZNAM, "Bragg and Offset")
00026   field(ONAM, "Bragg1 and Bragg2")
00027   field(DESC, "Energy mode")
00028   field(PINI, "YES")
00029 }
00030 
00031 record(stringout, "$(P):B1:PHASE:START") {
00032   field(DESC, "phase bragg 1 mtr")
00033   field(DTYP, "stream")
00034   field(VAL, "enable plc 21")
00035   field(OUT, "@pmacCoord.proto sendString $(PORT)")
00036   field(FLNK, "$(P):B1:PHASING")
00037 }
00038 
00039 record(stringout, "$(P):B2:PHASE:START") {
00040   field(DESC, "phase bragg 2 mtr")
00041   field(DTYP, "stream")
00042   field(VAL, "enable plc 22")
00043   field(OUT, "@pmacCoord.proto sendString $(PORT)")
00044   field(FLNK, "$(P):B1:PHASING")
00045 }
00046 
00047 record(ai, "$(P):B1:PHASING") {
00048   field(SCAN, "Passive")
00049   field(PINI, "NO")
00050   field(DTYP, "stream")
00051   field(FLNK, "$(P):B2:PHASING")
00052   field(INP, "@pmacCoord.proto getVar(M5021) $(PORT)")
00053   field(PREC, "0")
00054 }
00055 
00056 record(ai, "$(P):B2:PHASING") {
00057   field(SCAN, "Passive")
00058   field(PINI, "NO")
00059   field(DTYP, "stream")
00060   field(INP, "@pmacCoord.proto getVar(M5022) $(PORT)")
00061   field(PREC, "0")
00062 }
00063 
00064 record(bo, "$(P):B1:CLK") {
00065   field(SCAN, "5 second")
00066   field(DTYP, "Soft Channel")
00067   field(FLNK, "$(P):B1:PHASING")
00068 }
00069 
00070 record(bi, "$(P):XTAL") {
00071   field(DTYP, "Raw Soft Channel")
00072   field(ZNAM, "Si(111)")
00073   field(ONAM, "Si(311)")
00074 }
00075 
00076 record(ai, "$(P):GET:XTALSPACE") {
00077   field(DESC, "Get pmac variable")
00078   field(SCAN, "10 second")
00079   field(DTYP, "stream")
00080   field(FLNK, "$(P):XTALSPACE")
00081   field(INP, "@pmacCoord.proto getVar(&$(COORD)Q21) $(PORT)")
00082 }
00083 
00084 record(calcout, "$(P):XTALSPACE") {
00085   field(SCAN, "Passive")
00086   field(PINI, "NO")
00087   field(DTYP, "Soft Channel")
00088   field(CALC, "A>3?0:1")
00089   field(INPA, "$(P):GET:XTALSPACE")
00090   field(OUT, "$(P):XTAL.RVAL PP")
00091   field(OOPT, "Every Time")
00092   field(DOPT, "Use CALC")
00093   field(PREC, "9")
00094 }
00095 
00096 record(stringout, "$(P):MSCLRF0") {
00097   field(DESC, "Send MSCLRF0 cmd")
00098   field(SCAN, "Passive")
00099   field(DTYP, "stream")
00100   field(VAL, "MSCLRF0")
00101   field(OUT, "@pmacCoord.proto sendString $(PORT)")
00102 }
00103 
00104 record(bo, "$(P):SETXTAL") {
00105   field(VAL, "0")
00106   field(ZNAM, "Si(111)")
00107   field(ONAM, "Si(311)")
00108   field(DESC, "set xtal type")
00109   field(FLNK, "$(P):XTAL:SPACING")
00110   field(PINI, "YES")
00111 }
00112 
00113 record(calcout, "$(P):XTAL:SPACING") {
00114   field(DTYP, "stream")
00115   field(CALC, "A=0?B:C")
00116   field(INPA, "$(P):SETXTAL")
00117   field(INPB, "3.13475")
00118   field(INPC, "1.637069796")
00119   field(OUT, "@pmacCoord.proto setVar(&$(COORD)Q21) $(PORT)")
00120   field(OOPT, "Every Time")
00121   field(DOPT, "Use CALC")
00122 }
00123 
00124 record(ao, "$(P):BRAGG1:ACTUAL") {
00125   field(DESC, "bragg energy actual")
00126   field(OMSL, "supervisory")
00127   field(DRVH, "40000")
00128   field(DRVL, "-40000")
00129   field(EGU, "eV")
00130 }
00131 
00132 record(ao, "$(P):BRAGG2:ACTUAL") {
00133   field(DESC, "bragg energy actual")
00134   field(OMSL, "supervisory")
00135   field(DRVH, "40000")
00136   field(DRVL, "-40000")
00137   field(EGU, "eV")
00138 }
00139 
00140 record(transform, "$(P):CALC:B2OFF") {
00141   field(CLCE, "(D*1000)/(2*C)")
00142   field(CLCF, "ASIN(E/A)")
00143   field(CLCG, "ASIN(E/B)")
00144   field(CLCK, "((G-F)/H)*I*32")
00145   field(CLCL, "J+K")
00146   field(INPA, "$(P):BRAGG2.RBV")
00147   field(INPB, "$(P):BRAGG2:ACTUAL")
00148   field(INPC, "$(P):XTAL:SPACING")
00149   field(INPD, "12.3985")
00150   field(INPH, "$(RADMRES2)")
00151   field(INPI, "$(P):B2:ENC1234.MRES")
00152   field(INPJ, "$(P):B2:ENC1234.OFF")
00153   field(CMTA, "bragg energy readback")
00154   field(CMTB, "bragg energy actual")
00155   field(CMTC, "xtal spacing d")
00156   field(CMTD, "Evlambda")
00157   field(CMTE, "(Evlambda*1000)/2d")
00158   field(CMTF, "bragg rad readback")
00159   field(CMTG, "bragg rad actual")
00160   field(CMTH, "RADMRES2")
00161   field(CMTI, "B2MRES")
00162   field(CMTJ, "B2OFF")
00163   field(CMTK, "B2 offset correction")
00164   field(CMTL, "new B2OFF")
00165   field(DESC, "calc new B2 motor offset")
00166   field(OUTL, "$(P):B2:ENC1234.OFF")
00167 }
00168 
00169 record(transform, "$(P):CALC:B1OFF") {
00170   field(CLCE, "(D*1000)/(2*C)")
00171   field(CLCF, "ASIN(E/A)")
00172   field(CLCG, "ASIN(E/B)")
00173   field(CLCK, "((G-F)/H)*I*32")
00174   field(CLCL, "J+K")
00175   field(INPA, "$(P):BRAGG1.RBV")
00176   field(INPB, "$(P):BRAGG1:ACTUAL")
00177   field(INPC, "$(P):XTAL:SPACING")
00178   field(INPD, "12.3985")
00179   field(INPH, "$(RADMRES1)")
00180   field(INPI, "$(P):B1:ENC1234.MRES")
00181   field(INPJ, "$(P):B1:ENC1234.OFF")
00182   field(CMTA, "bragg energy readback")
00183   field(CMTB, "bragg energy actual")
00184   field(CMTC, "xtal spacing d")
00185   field(CMTD, "Evlambda")
00186   field(CMTE, "(Evlambda*1000)/2d")
00187   field(CMTF, "bragg rad readback")
00188   field(CMTG, "bragg rad actual")
00189   field(CMTH, "RADMRES1")
00190   field(CMTI, "B1MRES")
00191   field(CMTJ, "B1OFF")
00192   field(CMTK, "B1 offset correction")
00193   field(CMTL, "new B1OFF")
00194   field(DESC, "calc new B1 motor offset")
00195   field(OUTL, "$(P):B1:ENC1234.OFF")
00196 }
00197 
00198 #! Further lines contain data used by VisualDCT
00199 #! View(1084,590,1.0)
00200 #! Record("$(P):ENERGYMODE",1420,646,0,0,"$(P):ENERGYMODE")
00201 #! Record("$(P):B1:PHASE:START",1420,814,0,1,"$(P):B1:PHASE:START")
00202 #! Field("$(P):B1:PHASE:START.FLNK",16777215,1,"$(P):B1:PHASE:START.FLNK")
00203 #! Link("$(P):B1:PHASE:START.FLNK","$(P):B1:PHASING")
00204 #! Record("$(P):B2:PHASE:START",1420,1014,0,1,"$(P):B2:PHASE:START")
00205 #! Field("$(P):B2:PHASE:START.FLNK",16777215,1,"$(P):B2:PHASE:START.FLNK")
00206 #! Link("$(P):B2:PHASE:START.FLNK","$(P):B1:PHASING")
00207 #! Record("$(P):B1:PHASING",1680,900,0,0,"$(P):B1:PHASING")
00208 #! Field("$(P):B1:PHASING.FLNK",16777215,1,"$(P):B1:PHASING.FLNK")
00209 #! Link("$(P):B1:PHASING.FLNK","$(P):B2:PHASING")
00210 #! Record("$(P):B2:PHASING",1700,1094,0,1,"$(P):B2:PHASING")
00211 #! Record("$(P):B1:CLK",1420,1182,0,1,"$(P):B1:CLK")
00212 #! Field("$(P):B1:CLK.FLNK",16777215,1,"$(P):B1:CLK.FLNK")
00213 #! Link("$(P):B1:CLK.FLNK","$(P):B1:PHASING")
00214 #! Record("$(P):XTAL",420,862,0,1,"$(P):XTAL")
00215 #! Field("$(P):XTAL.RVAL",16777215,1,"$(P):XTAL.RVAL")
00216 #! Record("$(P):GET:XTALSPACE",400,1014,0,0,"$(P):GET:XTALSPACE")
00217 #! Field("$(P):GET:XTALSPACE.FLNK",16777215,0,"$(P):GET:XTALSPACE.FLNK")
00218 #! Link("$(P):GET:XTALSPACE.FLNK","$(P):XTALSPACE")
00219 #! Field("$(P):GET:XTALSPACE.VAL",16777215,1,"$(P):GET:XTALSPACE.VAL")
00220 #! Record("$(P):XTALSPACE",380,519,0,0,"$(P):XTALSPACE")
00221 #! Field("$(P):XTALSPACE.INPA",16777215,1,"$(P):XTALSPACE.INPA")
00222 #! Link("$(P):XTALSPACE.INPA","$(P):GET:XTALSPACE.VAL")
00223 #! Field("$(P):XTALSPACE.OUT",16777215,1,"$(P):XTALSPACE.OUT")
00224 #! Link("$(P):XTALSPACE.OUT","$(P):XTAL.RVAL")
00225 #! Record("$(P):MSCLRF0",1680,654,0,1,"$(P):MSCLRF0")
00226 #! Record("$(P):SETXTAL",700,700,0,1,"$(P):SETXTAL")
00227 #! Field("$(P):SETXTAL.FLNK",16777215,1,"$(P):SETXTAL.FLNK")
00228 #! Link("$(P):SETXTAL.FLNK","$(P):XTAL:SPACING")
00229 #! Field("$(P):SETXTAL.VAL",16777215,1,"$(P):SETXTAL.VAL")
00230 #! Record("$(P):XTAL:SPACING",980,692,0,0,"$(P):XTAL:SPACING")
00231 #! Field("$(P):XTAL:SPACING.INPA",16777215,0,"$(P):XTAL:SPACING.INPA")
00232 #! Link("$(P):XTAL:SPACING.INPA","$(P):SETXTAL.VAL")
00233 #! Field("$(P):XTAL:SPACING.VAL",16777215,1,"$(P):XTAL:SPACING.VAL")
00234 #! Record("$(P):BRAGG1:ACTUAL",480,1234,0,1,"$(P):BRAGG1:ACTUAL")
00235 #! Field("$(P):BRAGG1:ACTUAL.VAL",16777215,0,"$(P):BRAGG1:ACTUAL.VAL")
00236 #! Record("$(P):BRAGG2:ACTUAL",980,1234,0,1,"$(P):BRAGG2:ACTUAL")
00237 #! Field("$(P):BRAGG2:ACTUAL.VAL",16777215,0,"$(P):BRAGG2:ACTUAL.VAL")
00238 #! Record("$(P):CALC:B2OFF",1220,1143,0,0,"$(P):CALC:B2OFF")
00239 #! Field("$(P):CALC:B2OFF.INPA",16777215,1,"$(P):CALC:B2OFF.INPA")
00240 #! Field("$(P):CALC:B2OFF.INPB",16777215,0,"$(P):CALC:B2OFF.INPB")
00241 #! Link("$(P):CALC:B2OFF.INPB","$(P):BRAGG2:ACTUAL.VAL")
00242 #! Field("$(P):CALC:B2OFF.INPC",16777215,0,"$(P):CALC:B2OFF.INPC")
00243 #! Link("$(P):CALC:B2OFF.INPC","$(P):XTAL:SPACING.VAL")
00244 #! Field("$(P):CALC:B2OFF.INPH",16777215,1,"$(P):CALC:B2OFF.INPH")
00245 #! Field("$(P):CALC:B2OFF.INPI",16777215,1,"$(P):CALC:B2OFF.INPI")
00246 #! Field("$(P):CALC:B2OFF.INPJ",16777215,1,"$(P):CALC:B2OFF.INPJ")
00247 #! Field("$(P):CALC:B2OFF.OUTL",16777215,1,"$(P):CALC:B2OFF.OUTL")
00248 #! Record("$(P):CALC:B1OFF",740,1143,0,0,"$(P):CALC:B1OFF")
00249 #! Field("$(P):CALC:B1OFF.INPA",16777215,1,"$(P):CALC:B1OFF.INPA")
00250 #! Field("$(P):CALC:B1OFF.INPB",16777215,0,"$(P):CALC:B1OFF.INPB")
00251 #! Link("$(P):CALC:B1OFF.INPB","$(P):BRAGG1:ACTUAL.VAL")
00252 #! Field("$(P):CALC:B1OFF.INPC",16777215,1,"$(P):CALC:B1OFF.INPC")
00253 #! Link("$(P):CALC:B1OFF.INPC","$(P):XTAL:SPACING.VAL")
00254 #! Field("$(P):CALC:B1OFF.INPH",16777215,1,"$(P):CALC:B1OFF.INPH")
00255 #! Field("$(P):CALC:B1OFF.INPI",16777215,1,"$(P):CALC:B1OFF.INPI")
00256 #! Field("$(P):CALC:B1OFF.INPJ",16777215,1,"$(P):CALC:B1OFF.INPJ")
00257 #! Field("$(P):CALC:B1OFF.OUTL",16777215,1,"$(P):CALC:B1OFF.OUTL")
 All Classes Files Functions Variables Typedefs Defines