aperture_slits.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 # # \file
00008 # # This template allows setting of variables for a set of aperture slits, 
00009 # # made up of 2 square or rectangular apertures, each probably driven in X and 
00010 # # Y. A separate instance of this CS is needed for X and Y. It needs 
00011 # # PROG10_CS_motion.pmc and Each instance requires an instantiation of 
00012 # # CS_aperture_slits.pmc with the variables shown in the image below:
00013 # # \image html aperture_slits-help.png "Setup of aperture slits in X or Y"
00014 # # Build instructions for an example IOC are available 
00015 # # \ref build_instructions_apertureSlits "here", with a pmc file containing 
00016 # # the CS definition available in iocs/apertureSlits/defs.pmc
00017 # % macro, __doc__, Supporting template that allows setting of variables for a 
00018 # set of aperture slits
00019 # % macro, P, Pv Prefix
00020 # % macro, PORT, Motor controller serial port
00021 # % macro, COORD, Co-ordinate system number
00022 # % macro, PREC, Precision to display variables
00023 # % macro, APPV, Pv of real AP motor, e.g. $(P):XA
00024 # % macro, AMPV, Pv of real AM motor, e.g. $(P):XB
00025 # % macro, name, Object name and gui association name
00026 # This associates an edm screen with the template
00027 # % gui, $(name=), edm, aperture_slits.edl, slits=$(P)
00028 # # This record will zero raw motors when processed
00029 record(fanout, "$(P):ZERO") {
00030   field(LNK1, "$(P):ZEROAP")
00031   field(LNK2, "$(P):ZEROAM")
00032 }
00033 
00034 record(calcout, "$(P):ZEROAP") {
00035   field(CALC, "-B/2-A")
00036   field(INPA, "$(APPV).DRBV")
00037   field(INPB, "$(P):ASIZE:RBV")
00038   field(OUT, "$(APPV).OFF PP")
00039 }
00040 
00041 record(calcout, "$(P):ZEROAM") {
00042   field(CALC, "B/2-A")
00043   field(INPA, "$(AMPV).DRBV")
00044   field(INPB, "$(P):ASIZE:RBV")
00045   field(OUT, "$(AMPV).OFF PP")
00046 }
00047 
00048 expand("pmacVariableWriteSync.vdb", pmacVariableWriteSync) {
00049   macro(VAR, "&$(COORD)Q20")
00050   macro(Q, ":ASIZE")
00051   macro(EGU, "mm")
00052   macro(PREC, "$(PREC=3)")
00053 }
00054 
00055 #! Further lines contain data used by VisualDCT
00056 #! View(0,0,1.0)
00057 #! Record("$(P):ZERO",20,76,0,0,"$(P):ZERO")
00058 #! Field("$(P):ZERO.LNK1",16777215,1,"$(P):ZERO.LNK1")
00059 #! Link("$(P):ZERO.LNK1","$(P):ZEROAP")
00060 #! Field("$(P):ZERO.LNK2",16777215,1,"$(P):ZERO.LNK2")
00061 #! Link("$(P):ZERO.LNK2","$(P):ZEROAM")
00062 #! Record("$(P):ZEROAP",280,108,0,0,"$(P):ZEROAP")
00063 #! Field("$(P):ZEROAP.INPA",16777215,1,"$(P):ZEROAP.INPA")
00064 #! Field("$(P):ZEROAP.INPB",16777215,1,"$(P):ZEROAP.INPB")
00065 #! Field("$(P):ZEROAP.OUT",16777215,1,"$(P):ZEROAP.OUT")
00066 #! Record("$(P):ZEROAM",280,308,0,0,"$(P):ZEROAM")
00067 #! Field("$(P):ZEROAM.INPA",16777215,1,"$(P):ZEROAM.INPA")
00068 #! Field("$(P):ZEROAM.INPB",16777215,1,"$(P):ZEROAM.INPB")
00069 #! Field("$(P):ZEROAM.OUT",16777215,1,"$(P):ZEROAM.OUT")
00070 
00071 #! TemplateInstance("pmacVariableWriteSync",500,20,0,"")
00072 #! TemplateField("pmacVariableWriteSync","VAR",16777215,0,1)
00073 #! TemplateField("pmacVariableWriteSync","EGU",16777215,0,1)
00074 #! TemplateField("pmacVariableWriteSync","Q",16777215,0,1)
00075 #! TemplateField("pmacVariableWriteSync","PORT",16777215,0,1)
00076 #! TemplateField("pmacVariableWriteSync","P",16777215,0,1)
00077 #! TemplateField("pmacVariableWriteSync","PREC",16777215,0,1)
00078 
 All Classes Files Functions Variables Typedefs Defines