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 mirror bender with a single 00009 # # actuator. It requiresPROG10_CS_motion.pmc and an instantiation of 00010 # # CS_bender.pmc with the variables shown in the image below: 00011 # # \image html bender-help.png "Setup of aperture slits in X or Y" 00012 # # Build instructions for an example IOC are available 00013 # # \ref build_instructions_bender "here", with a pmc file containing 00014 # # the CS definition available in iocs/bender/defs.pmc 00015 # % macro, __doc__, Supporting template that allows setting of variables for a 00016 # bender CS 00017 # % macro, P, Pv Prefix 00018 # % macro, PORT, Motor controller serial port 00019 # % macro, COORD, Co-ordinate system number 00020 # % macro, name, Object name and gui association name 00021 # This associates an edm screen with the template 00022 # % gui, $(name=), edm, bender-mirror.edl, bender=$(P) 00023 record(calc, "$(P):SNG") { 00024 field(DESC, "Singularity position") 00025 field(INPA, "$(P):INTERCEPT:RBV") 00026 field(INPB, "$(P):SLOPE:RBV") 00027 field(CALC, "-A/B") 00028 field(PREC, "3") 00029 field(EGU, "mm") 00030 } 00031 00032 expand("pmacVariableWriteSync.vdb", pmacVariableWriteSync) { 00033 macro(VAR, "&$(COORD)Q20") 00034 macro(Q, ":SLOPE") 00035 macro(EGU, "1/Km/mm") 00036 macro(PREC, "6") 00037 } 00038 00039 expand("pmacVariableWriteSync.vdb", pmacVariableWriteSync2) { 00040 macro(VAR, "&$(COORD)Q21") 00041 macro(Q, ":INTERCEPT") 00042 macro(EGU, "1/Km") 00043 macro(PREC, "6") 00044 } 00045 00046 expand("pmacVariableWriteSync.vdb", pmacVariableWriteSync3) { 00047 macro(VAR, "&$(COORD)Q22") 00048 macro(Q, ":LIMIT") 00049 macro(EGU, "Km") 00050 macro(PREC, "1") 00051 } 00052 00053 record(calcout, "$(P):SLOPE:SYNC") { 00054 field(FLNK, "$(P):SNG") 00055 } 00056 00057 record(calcout, "$(P):INTERCEPT:SYNC") { 00058 field(FLNK, "$(P):SNG") 00059 } 00060 00061 #! Further lines contain data used by VisualDCT 00062 #! View(1649,2032,1.0) 00063 #! Record("$(P):SNG",2040,1820,0,0,"$(P):SNG") 00064 #! Field("$(P):SNG.INPA",16777215,1,"$(P):SNG.INPA") 00065 #! Field("$(P):SNG.INPB",16777215,1,"$(P):SNG.INPB") 00066 00067 #! TemplateInstance("pmacVariableWriteSync",2020,2140,0,"") 00068 #! TemplateField("pmacVariableWriteSync","VAR",16777215,0,1) 00069 #! TemplateField("pmacVariableWriteSync","EGU",16777215,0,1) 00070 #! TemplateField("pmacVariableWriteSync","Q",16777215,0,1) 00071 #! TemplateField("pmacVariableWriteSync","PORT",16777215,0,1) 00072 #! TemplateField("pmacVariableWriteSync","P",16777215,0,1) 00073 #! TemplateField("pmacVariableWriteSync","PREC",16777215,0,1) 00074 00075 00076 #! TemplateInstance("pmacVariableWriteSync2",2240,2140,0,"") 00077 #! TemplateField("pmacVariableWriteSync2","VAR",16777215,0,1) 00078 #! TemplateField("pmacVariableWriteSync2","EGU",16777215,0,1) 00079 #! TemplateField("pmacVariableWriteSync2","Q",16777215,0,1) 00080 #! TemplateField("pmacVariableWriteSync2","PORT",16777215,0,1) 00081 #! TemplateField("pmacVariableWriteSync2","P",16777215,0,1) 00082 #! TemplateField("pmacVariableWriteSync2","PREC",16777215,0,1) 00083 00084 00085 #! TemplateInstance("pmacVariableWriteSync3",2460,2140,0,"") 00086 #! TemplateField("pmacVariableWriteSync3","VAR",16777215,0,1) 00087 #! TemplateField("pmacVariableWriteSync3","EGU",16777215,0,1) 00088 #! TemplateField("pmacVariableWriteSync3","Q",16777215,0,1) 00089 #! TemplateField("pmacVariableWriteSync3","PORT",16777215,0,1) 00090 #! TemplateField("pmacVariableWriteSync3","P",16777215,0,1) 00091 #! TemplateField("pmacVariableWriteSync3","PREC",16777215,0,1) 00092 00093 #! Record("$(P):SLOPE:SYNC",1740,1850,0,0,"$(P):SLOPE:SYNC") 00094 #! Field("$(P):SLOPE:SYNC.FLNK",16777215,1,"$(P):SLOPE:SYNC.FLNK") 00095 #! Link("$(P):SLOPE:SYNC.FLNK","$(P):SNG") 00096 #! Record("$(P):INTERCEPT:SYNC",1740,1970,0,0,"$(P):INTERCEPT:SYNC") 00097 #! Field("$(P):INTERCEPT:SYNC.FLNK",16777215,1,"$(P):INTERCEPT:SYNC.FLNK") 00098 #! Link("$(P):INTERCEPT:SYNC.FLNK","$(P):SNG")