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 3jack CS. The 3 jacks can 00009 # # be constructed in any geometry, and should be numbered in a clockwise order 00010 # # looking from the top with J1 having the smallest Z value of the jacks 00011 # # It requires PROG10_CS_motion.pmc and an instantiation of CS_3jack.pmc with 00012 # # the variables shown in the image below: 00013 # # \image html 3jack-help.png "Setup of 3 jack CS" 00014 # # Build instructions for an example IOC are available 00015 # # \ref build_instructions_CS3jack "here", with a pmc file containing 00016 # # the CS definition available in iocs/CS3jack/defs.pmc 00017 # % macro, __doc__, Supporting template that allows setting of variables for a 00018 # 3jack CS 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, J1PV, Pv of real Jack1 motor, e.g. $(P):J1 00024 # % macro, J2PV, Pv of real Jack1 motor, e.g. $(P):J2 00025 # % macro, J3PV, Pv of real Jack1 motor, e.g. $(P):J3 00026 # % macro, name, Object name and gui association name 00027 # This associates an edm screen with the template 00028 # % gui, $(name=), edm, 3jack.edl, 3jack=$(P) 00029 # # This record will zero J1, J2 and J3 when processed 00030 record(fanout, "$(P):ZERO") { 00031 field(LNK1, "$(P):ZEROJ1") 00032 field(LNK2, "$(P):ZEROJ2") 00033 field(LNK3, "$(P):ZEROJ3") 00034 } 00035 00036 record(calcout, "$(P):ZEROJ1") { 00037 field(CALC, "-A") 00038 field(INPA, "$(J1PV=$(P):J1).DRBV") 00039 field(OUT, "$(J1PV=$(P):J1).OFF PP") 00040 } 00041 00042 record(calcout, "$(P):ZEROJ2") { 00043 field(CALC, "-A") 00044 field(INPA, "$(J2PV=$(P):J2).DRBV") 00045 field(OUT, "$(J2PV=$(P):J2).OFF PP") 00046 } 00047 00048 record(calcout, "$(P):ZEROJ3") { 00049 field(CALC, "-A") 00050 field(INPA, "$(J3PV=$(P):J3).DRBV") 00051 field(OUT, "$(J3PV=$(P):J3).OFF PP") 00052 } 00053 00054 expand("pmacVariableWriteSync.vdb", pmacVariableWriteSync1) { 00055 macro(VAR, "&$(COORD)Q20") 00056 macro(Q, ":J1X") 00057 macro(EGU, "mm") 00058 macro(PREC, "$(PREC=3)") 00059 } 00060 00061 expand("pmacVariableWriteSync.vdb", pmacVariableWriteSync2) { 00062 macro(VAR, "&$(COORD)Q21") 00063 macro(Q, ":J1Z") 00064 macro(EGU, "mm") 00065 macro(PREC, "$(PREC=3)") 00066 } 00067 00068 expand("pmacVariableWriteSync.vdb", pmacVariableWriteSync3) { 00069 macro(VAR, "&$(COORD)Q22") 00070 macro(Q, ":J2X") 00071 macro(EGU, "mm") 00072 macro(PREC, "$(PREC=3)") 00073 } 00074 00075 expand("pmacVariableWriteSync.vdb", pmacVariableWriteSync4) { 00076 macro(VAR, "&$(COORD)Q23") 00077 macro(Q, ":J2Z") 00078 macro(EGU, "mm") 00079 macro(PREC, "$(PREC=3)") 00080 } 00081 00082 expand("pmacVariableWriteSync.vdb", pmacVariableWriteSync5) { 00083 macro(VAR, "&$(COORD)Q24") 00084 macro(Q, ":J3X") 00085 macro(EGU, "mm") 00086 macro(PREC, "$(PREC=3)") 00087 } 00088 00089 expand("pmacVariableWriteSync.vdb", pmacVariableWriteSync6) { 00090 macro(VAR, "&$(COORD)Q25") 00091 macro(Q, ":J3Z") 00092 macro(EGU, "mm") 00093 macro(PREC, "$(PREC=3)") 00094 } 00095 00096 expand("pmacVariableWriteSync.vdb", pmacVariableWriteSync11) { 00097 macro(VAR, "&$(COORD)Q30") 00098 macro(Q, ":MD") 00099 macro(EGU, "mm") 00100 macro(PREC, "$(PREC=3)") 00101 } 00102 00103 expand("pmacVariableWriteSync.vdb", pmacVariableWriteSync12) { 00104 macro(VAR, "&$(COORD)Q31") 00105 macro(Q, ":MCX") 00106 macro(EGU, "mm") 00107 macro(PREC, "$(PREC=3)") 00108 } 00109 00110 expand("pmacVariableWriteSync.vdb", pmacVariableWriteSync13) { 00111 macro(VAR, "&$(COORD)Q32") 00112 macro(Q, ":MCZ") 00113 macro(EGU, "mm") 00114 macro(PREC, "$(PREC=3)") 00115 } 00116 00117 #! Further lines contain data used by VisualDCT 00118 #! View(175,553,1.0) 00119 #! Record("$(P):ZERO",220,702,0,0,"$(P):ZERO") 00120 #! Field("$(P):ZERO.LNK1",16777215,1,"$(P):ZERO.LNK1") 00121 #! Link("$(P):ZERO.LNK1","$(P):ZEROJ1") 00122 #! Field("$(P):ZERO.LNK2",16777215,1,"$(P):ZERO.LNK2") 00123 #! Link("$(P):ZERO.LNK2","$(P):ZEROJ2") 00124 #! Field("$(P):ZERO.LNK3",16777215,1,"$(P):ZERO.LNK3") 00125 #! Link("$(P):ZERO.LNK3","$(P):ZEROJ3") 00126 #! Record("$(P):ZEROJ1",520,702,0,0,"$(P):ZEROJ1") 00127 #! Field("$(P):ZEROJ1.INPA",16777215,1,"$(P):ZEROJ1.INPA") 00128 #! Field("$(P):ZEROJ1.OUT",16777215,1,"$(P):ZEROJ1.OUT") 00129 #! Record("$(P):ZEROJ2",520,862,0,0,"$(P):ZEROJ2") 00130 #! Field("$(P):ZEROJ2.INPA",16777215,1,"$(P):ZEROJ2.INPA") 00131 #! Field("$(P):ZEROJ2.OUT",16777215,1,"$(P):ZEROJ2.OUT") 00132 #! Record("$(P):ZEROJ3",500,1022,0,0,"$(P):ZEROJ3") 00133 #! Field("$(P):ZEROJ3.INPA",16777215,1,"$(P):ZEROJ3.INPA") 00134 #! Field("$(P):ZEROJ3.OUT",16777215,1,"$(P):ZEROJ3.OUT") 00135 00136 #! TemplateInstance("pmacVariableWriteSync1",740,580,0,"") 00137 #! TemplateField("pmacVariableWriteSync1","VAR",16777215,0,1) 00138 #! TemplateField("pmacVariableWriteSync1","EGU",16777215,0,1) 00139 #! TemplateField("pmacVariableWriteSync1","Q",16777215,0,1) 00140 #! TemplateField("pmacVariableWriteSync1","PORT",16777215,0,1) 00141 #! TemplateField("pmacVariableWriteSync1","P",16777215,0,1) 00142 #! TemplateField("pmacVariableWriteSync1","PREC",16777215,0,1) 00143 00144 00145 #! TemplateInstance("pmacVariableWriteSync2",960,580,0,"") 00146 #! TemplateField("pmacVariableWriteSync2","VAR",16777215,0,1) 00147 #! TemplateField("pmacVariableWriteSync2","EGU",16777215,0,1) 00148 #! TemplateField("pmacVariableWriteSync2","Q",16777215,0,1) 00149 #! TemplateField("pmacVariableWriteSync2","PORT",16777215,0,1) 00150 #! TemplateField("pmacVariableWriteSync2","P",16777215,0,1) 00151 #! TemplateField("pmacVariableWriteSync2","PREC",16777215,0,1) 00152 00153 00154 #! TemplateInstance("pmacVariableWriteSync3",1180,580,0,"") 00155 #! TemplateField("pmacVariableWriteSync3","VAR",16777215,0,1) 00156 #! TemplateField("pmacVariableWriteSync3","EGU",16777215,0,1) 00157 #! TemplateField("pmacVariableWriteSync3","Q",16777215,0,1) 00158 #! TemplateField("pmacVariableWriteSync3","PORT",16777215,0,1) 00159 #! TemplateField("pmacVariableWriteSync3","P",16777215,0,1) 00160 #! TemplateField("pmacVariableWriteSync3","PREC",16777215,0,1) 00161 00162 00163 #! TemplateInstance("pmacVariableWriteSync4",1400,580,0,"") 00164 #! TemplateField("pmacVariableWriteSync4","VAR",16777215,0,1) 00165 #! TemplateField("pmacVariableWriteSync4","EGU",16777215,0,1) 00166 #! TemplateField("pmacVariableWriteSync4","Q",16777215,0,1) 00167 #! TemplateField("pmacVariableWriteSync4","PORT",16777215,0,1) 00168 #! TemplateField("pmacVariableWriteSync4","P",16777215,0,1) 00169 #! TemplateField("pmacVariableWriteSync4","PREC",16777215,0,1) 00170 00171 00172 #! TemplateInstance("pmacVariableWriteSync5",1620,580,0,"") 00173 #! TemplateField("pmacVariableWriteSync5","VAR",16777215,0,1) 00174 #! TemplateField("pmacVariableWriteSync5","EGU",16777215,0,1) 00175 #! TemplateField("pmacVariableWriteSync5","Q",16777215,0,1) 00176 #! TemplateField("pmacVariableWriteSync5","PORT",16777215,0,1) 00177 #! TemplateField("pmacVariableWriteSync5","P",16777215,0,1) 00178 #! TemplateField("pmacVariableWriteSync5","PREC",16777215,0,1) 00179 00180 00181 #! TemplateInstance("pmacVariableWriteSync6",740,920,0,"") 00182 #! TemplateField("pmacVariableWriteSync6","VAR",16777215,0,1) 00183 #! TemplateField("pmacVariableWriteSync6","EGU",16777215,0,1) 00184 #! TemplateField("pmacVariableWriteSync6","Q",16777215,0,1) 00185 #! TemplateField("pmacVariableWriteSync6","PORT",16777215,0,1) 00186 #! TemplateField("pmacVariableWriteSync6","P",16777215,0,1) 00187 #! TemplateField("pmacVariableWriteSync6","PREC",16777215,0,1) 00188 00189 00190 #! TemplateInstance("pmacVariableWriteSync11",740,1260,0,"") 00191 #! TemplateField("pmacVariableWriteSync11","VAR",16777215,0,1) 00192 #! TemplateField("pmacVariableWriteSync11","EGU",16777215,0,1) 00193 #! TemplateField("pmacVariableWriteSync11","Q",16777215,0,1) 00194 #! TemplateField("pmacVariableWriteSync11","PORT",16777215,0,1) 00195 #! TemplateField("pmacVariableWriteSync11","P",16777215,0,1) 00196 #! TemplateField("pmacVariableWriteSync11","PREC",16777215,0,1) 00197 00198 00199 #! TemplateInstance("pmacVariableWriteSync12",960,1260,0,"") 00200 #! TemplateField("pmacVariableWriteSync12","VAR",16777215,0,1) 00201 #! TemplateField("pmacVariableWriteSync12","EGU",16777215,0,1) 00202 #! TemplateField("pmacVariableWriteSync12","Q",16777215,0,1) 00203 #! TemplateField("pmacVariableWriteSync12","PORT",16777215,0,1) 00204 #! TemplateField("pmacVariableWriteSync12","P",16777215,0,1) 00205 #! TemplateField("pmacVariableWriteSync12","PREC",16777215,0,1) 00206 00207 00208 #! TemplateInstance("pmacVariableWriteSync13",1180,1260,0,"") 00209 #! TemplateField("pmacVariableWriteSync13","VAR",16777215,0,1) 00210 #! TemplateField("pmacVariableWriteSync13","EGU",16777215,0,1) 00211 #! TemplateField("pmacVariableWriteSync13","Q",16777215,0,1) 00212 #! TemplateField("pmacVariableWriteSync13","PORT",16777215,0,1) 00213 #! TemplateField("pmacVariableWriteSync13","P",16777215,0,1) 00214 #! TemplateField("pmacVariableWriteSync13","PREC",16777215,0,1) 00215