Definition of a coordinate system for fixture adaptation (ACS)

The fixture adaptive coordinate system (ACS) serves for compensation of a sloping position of the work piece or work piece-palette. Its definition, selection and de-selection is performed analogously to that of the machining CS.

Definition and storage of an ACS:

#ACS DEF [ [<ACS-ID>] ] [<v1>,<v2><v3><ϕ1>,<ϕ2>,<ϕ3>] (modal)

Definition and storage with simultaneous activation:

#ACS ON [ [<ACS-ID>] ] [<v1>,<v2><v3><ϕ1>,<ϕ2>,<ϕ3>] (modal)
#ACS ON [ <ACS-ID> ] Selection of a stored ACS (modal)
#ACS ON Selection of the ACS last defined (modal)
#ACS OFF Deselection of the ACS last activated (modal)

Parameter ACS-ID may not be programmed here since only the deselection of the ACS last activated is allowed.

<CS-ID> Coordinate system ID. The ACS-ID is assigned the default value 1 on program start If at #ACS DEF respectively #ACS ON the ACS-ID is not programmed, the next free ACS-ID is calculated automatically. ACS programmed in this way are not available again after deselection with #ACS OFF!

<vi> Components of the translatory shift vector. (These refer to the main axes in the sequence in the case of G17).

< ϕi> Angle of rotation.

The ACS is modal effective and may be activated and deactivated independent of a CS.

In the ACS zero offset and coordinate preset may be programmed. However, these are valid only until the deactivation of the ACS and will not be stored.

Programming example 1

N005 P1 = 2 
N010 #ACS DEF [1][P1,15,5,20,30,45] (Definition and activation of an ACS)
(under ID 1:)
(Relative shifts: X2, Y15, Z5)
(Rotations: 45°around Z, 30°around Y')
(20°around X'')
N020 #ACS ON[1] (Activation of ACS with ID 1)
:
:
N100 #ACS OFF (De-activation of ACS with ID 1)
:
:
N200 P1=10
N210 #ACS ON [P1,15,5,2,3,60] (Definition and activation of a ACS)
(under the automatic defined ID 2)
:
:
N300 #ACS OFF (Deselection of the latest activated ACS (ID2))
(After that the ACS with ID2 is deleted!)
:
N400 M30

Programming example 2

N10 #ACS DEF [1][10,15,5,2,3,4.5] (Definition and storage of an ACS (ID 1)) 
N20 #ACS DEF [3][0,15,5,2,3,4.5] (Definition and storage of an ACS (ID 3))
N30 #ACS DEF [P1+3][2*P1,1,2,0,30,30] (Definition and storage of ACS (ID 5))
N30 #ACS ON (Activation of the ACS with the lastly)
(programmed ID 5)
.
N50 #ACS OFF
N60 #ACS ON [3] (Activation of the ACS with ID 3)
.
N80 #ACS OFF
N90 #ACS DEF [3][0,1.2,1.3,0,0,3] (Redefinition of the ACS with ID 3)
.
M30

Programming example 3

If several coordinate systems were selected one after the other for example with ACS ON [...] (without ACS_ID), they form a chained new total ACS. This must be deselected step by step by corresponding #ACS OFF.

The combined ACS selection with and without ACS id's is allowed, but it is not recommended for the reason of NC program clarity.

Example for a multiple programming of ACS (without ACS_ID):

N010 #ACS ON [0,0,0,0,0,20] (Definition and activation of a ACS under)
(the automatically defined ID 1)
(No shifts, only rotation 20°around Z)
:
:
N050 #ACS ON [0,0,0,0,0,30] (Definition and activation of a ACS under)
(the automatically defined ID 2)
(No shifts, only rotation 30° around Z)
->(The result is a ACS with a total rotation of 50° around Z)
:
N100 #ACS OFF (Deselection of ACS with ID 2, after that the ACS)
(with ID 2 is deleted!)
->(ACS with ID 1 with a rotation of 20° around Z remains active)
:
:
N200 #ACS OFF (Deselection of ACS with ID 1, after that the ACS)
(with ID 1 is deleted and all ACS are deselected!)
:
:
N400 M30