Difference between revisions of "Program to Create the Alignment of Arm1 (Server) CMM in Dual Arm Configuration"
(Created page with " ") |
|||
Line 1: | Line 1: | ||
+ | == Description == | ||
+ | This program is used to establish a new software alignment in a dual arm configuration.<br /> | ||
+ | The current software alignment, if present, will be wiped and overwritten with the new one.<br /> | ||
+ | The program runs in MAN mode, it is necessary to [[assign]] the [[variables]] to define the probe name and the sphere diameter.<br /> | ||
+ | This program runs together the relative Arm2 (Client) program which shall be started after starting the Arm1 (Server) program.<br /> | ||
+ | == Variables to be Assigned == | ||
+ | In order to have the program run it is necessary to assign the following variables:<br /> | ||
+ | |||
+ | <code>PROBE_NAME=ASSIGN/'P1_0_0P0_0'</code> Name of the probe<br /> | ||
+ | <code>DIAMETER=ASSIGN/25</code> Diameter of the sphere <br /> | ||
+ | |||
+ | == Program == | ||
+ | |||
+ | <code> | ||
+ | DECL/DOUBLE,DIAMETER<br /> | ||
+ | DECL/CHAR,100,PROBE_NAME<br /> | ||
+ | PROBE_NAME=ASSIGN/'P1_0_0P0_0'<br /> | ||
+ | DIAMETER=ASSIGN/25<br /> | ||
+ | |||
+ | |||
+ | SNSLCT/SA(@PROBE_NAME)<br /> | ||
+ | <br /> | ||
+ | SETMACREF/INIT<br /> | ||
+ | RECALL/D(MAC)<br /> | ||
+ | |||
+ | TEXT/MAN,'Measure sphere 1'<br /> | ||
+ | F(ARM2_SPH_1)=FEAT/SPHERE,OUTER,CART,0,0,0,DIAMETER<br /> | ||
+ | MEAS/SPHERE,F(ARM2_SPH_1),5<br /> | ||
+ | ENDMES<br /> | ||
+ | |||
+ | TEXT/MAN,'Measure sphere 2'<br /> | ||
+ | F(ARM2_SPH_2)=FEAT/SPHERE,OUTER,CART,0,0,0,DIAMETER<br /> | ||
+ | MEAS/SPHERE,F(ARM2_SPH_2),5<br /> | ||
+ | ENDMES | ||
+ | |||
+ | TEXT/MAN,'Measure sphere 3'<br /> | ||
+ | F(ARM2_SPH_3)=FEAT/SPHERE,OUTER,CART,0,0,0,DIAMETER<br /> | ||
+ | MEAS/SPHERE,F(ARM2_SPH_3),5<br /> | ||
+ | ENDMES | ||
+ | |||
+ | TEXT/MAN,'Measure sphere 4'<br /> | ||
+ | F(ARM2_SPH_4)=FEAT/SPHERE,OUTER,CART,0,0,0,DIAMETER<br /><br /> | ||
+ | MEAS/SPHERE,F(ARM2_SPH_4),5<br /> | ||
+ | ENDMES<br /> | ||
+ | |||
+ | DECL/DOUBLE,XX,YY,ZZ<br /> | ||
+ | XX=OBTAIN/FA(ARM1_SPH_1),4<br /> | ||
+ | YY=OBTAIN/FA(ARM1_SPH_1),5<br /> | ||
+ | ZZ=OBTAIN/FA(ARM1_SPH_1),6<br /> | ||
+ | F(ARM2_SPH_1)=FEAT/SPHERE,OUTER,CART,XX,YY,ZZ,DIAMETER<br /> | ||
+ | |||
+ | XX=OBTAIN/FA(ARM1_SPH_2),4<br /> | ||
+ | YY=OBTAIN/FA(ARM1_SPH_2),5<br /> | ||
+ | ZZ=OBTAIN/FA(ARM1_SPH_2),6<br /> | ||
+ | F(ARM2_SPH_2)=FEAT/SPHERE,OUTER,CART,XX,YY,ZZ,DIAMETER<br /> | ||
+ | |||
+ | XX=OBTAIN/FA(ARM1_SPH_3),4<br /> | ||
+ | YY=OBTAIN/FA(ARM1_SPH_3),5<br /> | ||
+ | ZZ=OBTAIN/FA(ARM1_SPH_3),6<br /> | ||
+ | F(ARM2_SPH_3)=FEAT/SPHERE,OUTER,CART,XX,YY,ZZ,DIAMETER<br /> | ||
+ | |||
+ | XX=OBTAIN/FA(ARM1_SPH_4),4<br /> | ||
+ | YY=OBTAIN/FA(ARM1_SPH_4),5<br /> | ||
+ | ZZ=OBTAIN/FA(ARM1_SPH_4),6<br /> | ||
+ | F(ARM2_SPH_4)=FEAT/SPHERE,OUTER,CART,XX,YY,ZZ,DIAMETER<br /> | ||
+ | |||
+ | |||
+ | |||
+ | SHARE/F(ARM2_SPH_1)<br /> | ||
+ | SHARE/F(ARM2_SPH_2)<br /> | ||
+ | SHARE/F(ARM2_SPH_3)<br /> | ||
+ | SHARE/F(ARM2_SPH_4)<br /> | ||
+ | |||
+ | ENDFIL<br /> | ||
+ | |||
+ | </code> | ||
+ | |||
+ | [[Category:Help_On_Line]] |
Revision as of 17:27, 15 December 2017
Description
This program is used to establish a new software alignment in a dual arm configuration.
The current software alignment, if present, will be wiped and overwritten with the new one.
The program runs in MAN mode, it is necessary to assign the variables to define the probe name and the sphere diameter.
This program runs together the relative Arm2 (Client) program which shall be started after starting the Arm1 (Server) program.
Variables to be Assigned
In order to have the program run it is necessary to assign the following variables:
PROBE_NAME=ASSIGN/'P1_0_0P0_0'
Name of the probe
DIAMETER=ASSIGN/25
Diameter of the sphere
Program
DECL/DOUBLE,DIAMETER
DECL/CHAR,100,PROBE_NAME
PROBE_NAME=ASSIGN/'P1_0_0P0_0'
DIAMETER=ASSIGN/25
SNSLCT/SA(@PROBE_NAME)
SETMACREF/INIT
RECALL/D(MAC)
TEXT/MAN,'Measure sphere 1'
F(ARM2_SPH_1)=FEAT/SPHERE,OUTER,CART,0,0,0,DIAMETER
MEAS/SPHERE,F(ARM2_SPH_1),5
ENDMES
TEXT/MAN,'Measure sphere 2'
F(ARM2_SPH_2)=FEAT/SPHERE,OUTER,CART,0,0,0,DIAMETER
MEAS/SPHERE,F(ARM2_SPH_2),5
ENDMES
TEXT/MAN,'Measure sphere 3'
F(ARM2_SPH_3)=FEAT/SPHERE,OUTER,CART,0,0,0,DIAMETER
MEAS/SPHERE,F(ARM2_SPH_3),5
ENDMES
TEXT/MAN,'Measure sphere 4'
F(ARM2_SPH_4)=FEAT/SPHERE,OUTER,CART,0,0,0,DIAMETER
MEAS/SPHERE,F(ARM2_SPH_4),5
ENDMES
DECL/DOUBLE,XX,YY,ZZ
XX=OBTAIN/FA(ARM1_SPH_1),4
YY=OBTAIN/FA(ARM1_SPH_1),5
ZZ=OBTAIN/FA(ARM1_SPH_1),6
F(ARM2_SPH_1)=FEAT/SPHERE,OUTER,CART,XX,YY,ZZ,DIAMETER
XX=OBTAIN/FA(ARM1_SPH_2),4
YY=OBTAIN/FA(ARM1_SPH_2),5
ZZ=OBTAIN/FA(ARM1_SPH_2),6
F(ARM2_SPH_2)=FEAT/SPHERE,OUTER,CART,XX,YY,ZZ,DIAMETER
XX=OBTAIN/FA(ARM1_SPH_3),4
YY=OBTAIN/FA(ARM1_SPH_3),5
ZZ=OBTAIN/FA(ARM1_SPH_3),6
F(ARM2_SPH_3)=FEAT/SPHERE,OUTER,CART,XX,YY,ZZ,DIAMETER
XX=OBTAIN/FA(ARM1_SPH_4),4
YY=OBTAIN/FA(ARM1_SPH_4),5
ZZ=OBTAIN/FA(ARM1_SPH_4),6
F(ARM2_SPH_4)=FEAT/SPHERE,OUTER,CART,XX,YY,ZZ,DIAMETER
SHARE/F(ARM2_SPH_1)
SHARE/F(ARM2_SPH_2)
SHARE/F(ARM2_SPH_3)
SHARE/F(ARM2_SPH_4)
ENDFIL