System parameters
Overview CNC functionality of TwinCAT CNC, of June 2011
If there are general statements as CPU or memory, the settings can be altered based upon application specific demand or product definitions by Beckhoff.
1 | Machining Technologies | TwinCAT CNC |
---|---|---|
1.1 | Turning | √ |
1.2 | Milling | √ |
1.3 | Drilling | √ |
1.4 | Grinding | √ |
1.5 | Handling | √ |
1.6 | Special machines (plasma, laser, gas cutting, bending etc.) | √ |
2 | Axes Control | TwinCAT CNC |
---|---|---|
2.1 | Maximum number of axes | 64 |
2.2 | Standard number of axes | 8 |
2.3 | Maximum number of axes / spindles per channel | 32 |
2.4 | Number of independent channels | 12 |
2.5 | Maximum number of interpolated axes per channel | 32 |
2.6 | Maximum number of controlled spindles per channel | 6 |
2.7 | Maximum number of independent axes in channel | 32 |
2.8 | SPS controlled spindles per channel | 6 |
2.9 | Axes designations in channel | Each string beginning with X, Y, Z, U, V, W, Q, A, B, C |
2.10 | Maximum number of synchronous spindles per channel |
|
2.11 | Number of axis coupling groups | 7 |
2.12 | Number of programmable axes pairs inside a coupling group | 15 |
2.13 | Maximum number of Gantry-couplings | 16 (16 master, 1 slave each) |
2.14 | Maximum number of axes inside a Gantry-coupling | 32 (1 master, 31 slaves) |
2.15 | Programmable movement area limitation (Software limit switch) | Yes |
2.16 | Axes exchanges between channels | 32 |
2.17 | Programming precision | 0,0001 mm |
2.18 | Resolution of measurement signals | 0,0001 mm |
2.19 | Smallest programmable Increment | 0,0001 mm |
2.20 | Multi positioning systems |
|
2.21 | Switch of programming unit: inch / metric | G70/G71 |
2.22 | Backlash compensation | √ |
2.23 | Axis compensation, direction dependent (double sided lead screw error compensation) | 1500 points each |
2.24 | Cross compensation Overhang compensation | 1 axis, 1000 points |
2.25 | Axis homing with limit switch and zero impulse | √ |
2.26 | Velocity feedforward control | √ |
2.27 | Acceleration feedforward control | √ |
2.28 | Measurement | √ |
2.29 | Axes positions to PLC | √ |
2.30 | Axis filters with parameters | √ |
2.31 | Temperature compensation | √ |
2.32 | Plain compensation | 2 axes, 100 points |
2.33 | Jerk feedforward control | √ |
2.34 | Traversing range linear axis | -214m - +214m |
2.35 | Traversing range rotary axis | -594 - +594 (roundings) |
2.36 | Traversing range spindle | Unlimited |
2.37 | Circle radius | 0 106m |
2.38 | Axis specific transformation | Connection rod, E-function |
2.39 | MAX_CROSSCOMP_CYC number of cycles for coupling cross compensation (application specific) | 20 |
3 | Interpolator Functions | TwinCAT CNC |
---|---|---|
3.1 | Smallest interpolation value | 0,0001 mm |
3.2 | Rapid traverse | G0 |
3.3 | Linear interpolation | G1 |
3.4 | Exact stop | G60 |
3.5 | Circular interpolation | G2/G3 |
3.6 | Center point programming absolute / incremental | G161/G162 |
3.7 | Radius programming | √ |
3.8 | Helical interpolation | G2/G3 |
3.9 | Feedforward control/ position lag free movement | G135/G137 |
3.10 | Percental weighting of feedforward | G136 |
3.11 | Dwell time | G4 |
3.12 | Face surface machining | #FACE ON/OFF |
3.13 | Cylinder surface machining | #CYL ON/OFF |
3.14 | Thread cutting | G33 |
3.15 | Multiple threads | G33 |
3.16 | Tapping | G63 |
3.17 | Tapping without compensation chuck | G63 |
3.18 | Axis clamping |
|
3.19 | NC-blocks in Look Ahead | 70 |
3.20 | Interpolation cycle time configurable | 0,5 to 20 ms |
3.21 | Spline interpolation | AKIMA/BSPLINE |
3.22 | NC block specific parameters of acceleration profile | #SET SLOPE PROFIL |
3.23 | Forward-/Backward on path | √ |
4 | Feed Functions | TwinCAT CNC |
---|---|---|
4.1 | Rapid traverse velocity | 0,000001 - 1000 m/min |
4.2 | Rapid traverse override | √ |
4.3 | Feed | 0,000001 - 1000 m/min |
4.4 | Revs | 0,0002 100000 U/min |
4.5 | Manual mode rapid traverse | 0 - 1000 m/min |
4.6 | Manual mode feed | 0 - 1000 m/min |
4.7 | Axis specific override | √ |
4.8 | Feed rate per minute | G94 |
4.9 | Rotational feed | G95 |
4.10 | Programming of machining time | G93 |
4.11 | Block transition behavior | G8/G9 |
4.12 | Feed hold | √ |
4.13 | Acceleration ramp for rapid traverse | √ |
4.14 | Weighting factors for acceleration ramp | G132/G133 |
4.15 | Constant cutting speed | G96 |
4.16 | Feed adaptation with active tool radius compensation | G10/G11 |
4.17 | Active federate by plc | √ |
4.18 | Reduced speed by plc-signal | √ |
5 | 5-Axis Functions | TwinCAT CNC |
---|---|---|
5.1 | RTCP (rotation tool center point) | #RTCP ON/OFF |
5.2 | TLC (tool length compensation) | #TLC ON/OFF |
5.3 | Tool orientation to (A)CS | #TOOL ORI CS |
5.4 | Selection of kinematics | #KIN ID |
5.5 | Definition of work piece coordinate system | #CS ON/OFF |
5.6 | Definition of fixture adaptive coordinate system | #ACS ON/OFF |
5.7 | Chaining of coordinate systems | 10 |
5.8 | Effector coordinate system | #ECS ON/OFF |
5.9 | Temporary transition to machine axes coordinates system | #MCS ON/OFF |
5.10 | Kinematics library | √ |
5.11 | Manual mode in work piece coordinate system | √ |
6 | Programming | TwinCAT CNC |
---|---|---|
6.1 | Skip block | / |
6.2 | Number of NC-programs | Load from von HD / network |
6.3 | Arbitrary block numbering | √ |
6.4 | Radius/diameter programming | G51/G52 |
6.5 | Interpolation planes | G17/G18/G19 |
6.6 | - |
|
6.7 | Rotary axis mode | √ |
6.8 | Endless moving rotary axis | √ |
6.9 | Free definable machine coordinate system per channel | G53 |
6.10 | Work piece coordinate system per channel | #CS ON |
6.11 | Work piece origins per channel | G54 G59 |
6.12 | Extended work piece origins | 90 |
6.13 | Rotation of coordinate system | √ |
6.14 | Clamp position offsets | 150 groups |
6.15 | Preset | #PSET/#PRESET |
6.16 | Additional offset | G92 |
6.17 | Number of additive coordinate systems | 10 |
6.18 | Insertion of chamfer and radii | G301/G302 |
6.19 | Number of P-parameters per channel | 1000 |
6.20 | Dimensions of parameter arrays | 4 |
6.21 | Global variables V.P (program local) | 1000 |
6.22 | Global variables V.S (static) | 400 |
6.23 | Local variables V.L (sub program local) | 50 |
6.24 | Number of subprogram levels | 20 |
6.25 | Number of user macros per channel | 100 |
6.26 | Mirroring | G20/G21/G22/G23 |
6.27 | Absolute / incremental | G90/G91 |
6.28 | Process time calculation |
|
6.29 | Mathematical functions | +, -, *, /, **, MOD, ABS, SQR, SQRT, EXP, LN, DEXP, &, |, ^, INV, LN, ==, !=, >=, <=, <, TRUE, FALSE, SIN, COS, TAN, ASIN, ACOS, ATAN, LOG, INT, FRACT, ROUND |
6.30 | Time measurement | #TIMER |
6.31 | Control blocks | BREAK, CONTINUE, REPEAT, DO, FOR, GOTO, IF; ELSE; ENDIF, SWITCH, CASE, DEFAULT, ENDSWITCH, WHILE, ENDWHILE |
6.32 | Programming of axis designations | √ |
6.33 | Messages from the NC program | #MSG |
6.34 | Inter-channel synchronization with parameter passing | #SIGNAL/WAIT |
6.35 | Fixture adaptive CS | #ACS ON/OFF |
6.36 | Definition and activation of a work piece coordinate system | #CS ON/OFF |
6.37 | User macros: Max. string length of macro name | 30 |
6.38 | User macros: Max. string length of NC-code | 80 |
6.39 | Overwrite of user macros | √ |
6.40 | Nesting levels of user macros | 14 |
6.41 | Number of expression labels | 200 |
6.42 | Number of string labels | 200 |
6.43 | Max. length of string labels | 30 |
6.44 | Only P for parameters | √ |
6.45 | Max. number of signal parameters during inter channel synchronization | 12 |
6.46 | Max. string length of axis name | 16 |
6.47 | Workspace monitoring | 20 workspaces, each with up to 20 points |
6.48 | Change of absolute/incremental inside NC block | √ |
6.49 | Axis independent cycle programming | √ |
6.50 | User macro: Initialisation by file | 50 |
6.51 | Use Multi-Head-Tool (Fitting Cycle) | √ |
7 | Operate | TwinCAT CNC |
---|---|---|
7.1 | MDI-mode per channel | √ |
7.2 | Block search | √ |
7.3 | Axis homing | √ |
7.4 | Single step mode | √ |
7.5 | Manual mode | √ |
7.6 | Absolute position detection | √ |
7.7 | Reference point offset | √ |
7.8 | Hand wheel superimposition per channel | √ |
7.9 | Hand wheel superimposition per axis | √ |
7.10 | Hand wheel sensitivity | √ |
7.11 | Hand wheel interruption | √ |
7.12 | Jog mode | √ |
7.13 | Tipp mode | √ |
7.14 | Programmable stop | M0 |
7.15 | Optional stop | M1 |
8 | Spindle and Auxiliary Functions | TwinCAT CNC |
---|---|---|
8.1 | Configurable M-functions per channel | M0 M999 |
8.2 | Configurable H-functions per channel | H0 H999 |
8.3 | Maximum number of M-/H-functions per NC-block | 20 |
8.4 | Constant cutting speed per channel | √ |
8.5 | Tool specific rev limit per spindle | √ |
8.6 | Tool specific acceleration limit per spindle | √ |
8.7 | Spindle synchronization | √ |
8.8 | Multi spindle control | 6 |
8.9 | Spindle interpolation (C-axis) | √ |
8.10 | Block global synchronization of M-H-functions on NC-command | √ |
8.11 | Block global synchronization of M-H-functions on G1 | √ |
8.12 | Automatic determination of gear step | M40 M45 |
9 | Tool Functions | TwinCAT CNC |
---|---|---|
9.1 | Number of internal tool places per channel | 200 |
9.2 | Connection to external tool management | √ |
9.3 | Tool number | T0 to T2000000000 |
9.4 | Sister tool and variants | √ |
9.5 | Support of service live calculation | √ |
9.6 | Programmable tool data | √ |
9.7 | Fee tool specific parameters | 60 |
9.8 | Tool specific minimal- and maximum revs | √ |
9.9 | Tool specific acceleration | √ |
9.10 | Tool specific kinematics | √ |
9.11 | Tool offsets in all axes | √ |
9.12 | Tool specific kinematics parameters | √ |
9.13 | Tool length correction | D |
9.14 | Tool radius correction | G40/G41/G42 |
9.15 | Transition elements chamfer / radius | √ |
9.16 | Direct and indirect tool selection | √ |
9.17 | Cutting edge radius compensation | √ |
9.18 | Number of sister tools and variants | 3 |
9.19 | Online tool wear correction | √ |
9.20 | Selection modes of tool radius correction | G05 G138/G138 G237/G238 |
10 | PLC-Functions | TwinCAT CNC |
---|---|---|
10.1 | Configurable CNC/PLC-variables and arrays of variables | 215 per channel (Build 15xx: 225 per channel) |
10.2 | M-Code look ahead | Distance / time |
10.3. | Structure definition of CNC/PLC-variables | 30 per channel |
10.4 | CNC/PLC-variables: elements per structure | 50 per channel |
10.5 | CNC/PLC-variables: For variable structures reserved structure nodes | 600 per channel |
10.6 | Extended string length of CNC/PLC-variables | 127 characters |
11 | Further system parameters | TwinCAT CNC |
---|---|---|
11.1 | Maximum axis feed | 1000 m/s |
11.2 | Maximum axis acceleration | 1000 m/s2 |
11.3 | Minimum ramp time | 0 s |
11.4 | Maximum ramp time | 100 s |
11.5 | Maximum override | 2000 |
Conformity comparison between DIN-ISO programming and TwinCAT CNC programming language syntax
The comparison is based on the DIN 66025 form sheets Part 1 (latest issue of Jan.1983) and Part 2 (latest issue of Sept.1988):
N° | DIN/ISO Code | Description | TwinCat Code | Conformity check |
1 | G00 | Linear interpolation at high speed | G00 | in conformity |
2 | G01 | Linear interpolation at programmed feed rate | G01 | in conformity |
3 | G02 | Clockwise circular interpolation at programmed feed rate | G02 | in conformity |
4 | G03 | Counterclockwise circular interpolation at programmed feed rate | G03 | in conformity |
5 | G04 | Programmable dwell | G04 | in conformity |
6 | G05 | free | G05 | Direct tangential selection/deselection of tool radius compensation |
7 | G06 | Spline curve execution command | G151 | in conformity |
8 | G07 | free | not assigned |
|
9 | G08 | Acceleration at the block beginning | G08 | in conformity |
10 | G09 | Deceleration at the block end | G09 | in conformity |
11 | G10 | free | G10 | Feedrate constant for tool radius compensation |
12 | G11 | free | G11 | Feedrate adapted for tool radius compensation |
13 | G12 | free | G12 | Deselection of corner deceleration |
14 | G13 | free | G13 | Selection of corner deceleration |
15 | G14 | free | not assigned |
|
16 | G15 | free | not assigned |
|
17 | G16 | free | not assigned |
|
18 | G17 | Selecting the working plane XY | G17 | in conformity |
19 | G18 | Selecting the working plane ZX | G18 | in conformity |
20 | G19 | Selecting the working plane YZ | G19 | in conformity |
21 | G20 | free | G20 | Deselection of mirroring |
22 | G21 | free | G21 | Mirroring of programmed path on the Y-axis |
23 | G22 | free | G22 | Mirroring of programmed path on the X-axis |
24 | G23 | free | G23 | Superimposing of G21 and G22 |
25 | G24 | free | not assigned |
|
26 | G25 | free | G25 | Linear transitions for WRK |
27 | G26 | free | G26 | Circular transitions for WRK |
28 | G27 | free | not assigned |
|
29 | G28 | free | not assigned |
|
30 | G29 | free | not assigned |
|
31 | G30 | free | not assigned |
|
32 | G31 | free | not assigned |
|
33 | G32 | free | not assigned |
|
34 | G33 | Thread cutting, uniform lead | G33 | in conformity |
35 | G34 | Thread cutting, uniform increasing lead | not assigned | not realised |
36 | G35 | Thread cutting, uniform decreasing lead | not assigned | not realised |
37 | G36 | free | not assigned |
|
38 | G37 | free | not assigned |
|
39 | G38 | free | not assigned |
|
40 | G39 | free | not assigned |
|
41 | G40 | Deactive tool radius compensation | G40 | in conformity |
42 | G41 | Activate tool radius compensation left of contour | G41 | in conformity |
43 | G42 | Activate tool radius compensation right of contour | G42 | in conformity |
44 | G43 | free | not assigned |
|
45 | G44 | free | not assigned |
|
46 | G45 | free | not assigned |
|
47 | G46 | free | not assigned |
|
48 | G47 | free | not assigned |
|
49 | G48 | free | not assigned |
|
50 | G49 | free | not assigned |
|
51 | G50 | free | not assigned |
|
52 | G51 | free | G51 | Selection of diameter programming |
53 | G52 | free | G52 | Deselection of diameter programming |
54 | G53 | Cancellation of zero offsets | G53 | in conformity |
55 | G54 | Enabling zero offsets 1 | G54 | in conformity |
56 | G55 | Enabling zero offsets 2 | G55 | in conformity |
57 | G56 | Enabling zero offsets 3 | G56 | in conformity |
58 | G57 | Enabling zero offsets 4 | G57 | in conformity |
59 | G58 | Enabling zero offsets 5 | G58 | in conformity |
60 | G59 | Enabling zero offsets 6 | G59 | in conformity |
61 | G60 | free | G60 | Exact stop (Deceleration at end of block before continuation on next block) |
62 | G61 | free | G61 | Selection of polynom contouring |
63 | G62 | free | not assigned |
|
64 | G63 | Tapping | G63 | in conformity |
65 | G64 | free | not assigned |
|
66 | G65 | free | not assigned |
|
67 | G66 | free | not assigned |
|
68 | G67 | free | not assigned |
|
69 | G68 | free | not assigned |
|
70 | G69 | free | not assigned |
|
71 | G70 | Inch data input | G70 | in conformity |
72 | G71 | Metric data input | G71 | in conformity |
73 | G72 | free | not assigned |
|
74 | G73 | free | not assigned |
|
75 | G74 | Homing | G74 | in conformity |
76 | G75 | free | not assigned |
|
77 | G76 | free | not assigned |
|
78 | G77 | free | not assigned |
|
79 | G78 | free | not assigned |
|
80 | G79 | free | not assigned |
|
81 | G80 | Machining cycle cancel | G80 or not assigned | Implicit sub programm call (if name is configured) |
82 | G81 | Center drilling cycle | G81 or not assigned | Implicit sub programm call (if name is configured) |
83 | G82 | Counterboring cycle | G82 or not assigned | Implicit sub programm call (if name is configured) |
84 | G83 | Peck drilling cycle | G83 or not assigned | Implicit sub programm call (if name is configured) |
85 | G84 | (Rigid)Tapping cycle | G84 or not assigned | Implicit sub programm call (if name is configured) |
86 | G85 | Boring cycle | G85 or not assigned | Implicit sub programm call (if name is configured) |
87 | G86 | Boring canned cycle with spindle stop at drilling depth | G86 or not assigned | Implicit sub programm call (if name is configured) |
88 | G87 | Drilling canned cycle with chip breaking | G87 or not assigned | Implicit sub programm call (if name is configured) |
89 | G88 | Boring and traverse turning canned cycle | G88 or not assigned | Implicit sub programm call (if name is configured) |
90 | G89 | Boring cycle with dwell in hole bottom | G89 or not assigned | Implicit sub programm call (if name is configured) |
91 | G90 | Programming in absolute dimensions with respect to the program origin | G90 | in conformity |
92 | G91 | Programming in incremental dimensions with respect to the start of the block. | G91 | in conformity |
93 | G92 | Setting the part program origin | G92 | in conformity |
94 | G93 | Inverse time feedrate in 1/min. | G93 | Machining time in sec. |
95 | G94 | Feed rate expressed in mm/min, inch/min,deg /min | G94 | in conformity |
96 | G95 | Feed rate expressed in mm/revolution, inc/revolution | G95 | in conformity |
97 | G96 | Constant cutting speed in m/min | G96 | in conformity |
98 | G97 | Spindle speed expressed in revolutions/min | G97 | in conformity |
99 | G98 | free | G98 | Set negative software limit switch |
100 | G99 | free | G99 | Set positive software limit switch |
End of DIN/ISO-Definition |
N° | DIN/ISO Code | Description | TwinCat Code | Conformity check |
1 | M00 | Program stop | M00 | in conformity |
2 | M01 | Optional stop | M01 | in conformity |
3 | M02 | End of program | M02 | in conformity |
4 | M03 | Clockwise spindle rotation (class1-3) or | M03 | in conformity (method of operation is configurable) |
5 | M04 | Counterclockwise spindle rotation (class1-3) | M04 | in conformity (method of operation is configurable) |
6 | M05 | Spindle stop (class1-3) or free (class 4) | M05 | in conformity (method of operation is configurable) |
7 | M06 | Tool change | M6 or not assigned | Implicit sub programm call (if name is configured) |
8 | M10 | Clamp | M10 | in conformity |
9 | M11 | Unclamp | M11 | in conformity |
10 | M17 | free | M17 | End of subroutine |
11 | M19 | Spindle positioning (class1-3) or free (class 4) | M19 | in conformity (method of operation is configurable) |
12 | M29 | free | M29 | End of subroutine |
13 | M30 | End of program | M30 | in conformity |
14 | M40 | Automatic gear switching (class1-3) or free | M40 or not assigned | in conformity |
15 | M41 | Gear step 1 (class1-3) or free | M41 or not assigned | in conformity |
16 | M42 | Gear step 2 (class1-3) or free | M42 or not assigned | in conformity |
17 | M43 | Gear step 3 (class1-3) or free | M43 or not assigned | in conformity |
18 | M44 | Gear step 4 (class1-3) or free | M44 or not assigned | in conformity |
19 | M45 | Gear step 5 (class1-3) or free | M45 or not assigned | in conformity |
20 | M48 | Enable overrides | G166/G167 | Selection of path/spindle override 100% (Block local) |
21 | M49 | Disable overrides | not assigned |
|
22 | M60 | Work piece change | not assigned |
|
The meanings of all further M-Functions are configurable corresponding to the class specific use defined in DIN/ISO code. |
N° | DIN/ISO Code | Description | TwinCat Code | Conformity check |
1 | A | Rotation around X | A | in conformity |
2 | B | Rotation around Y | B | in conformity |
3 | C | Rotation around Z | C | in conformity |
4 | D | Tool data | D | in conformity (Time of activation of tool offsets is configurable) |
5 | E | free | not assigned |
|
6 | F | Path feed | F | in conformity |
7 | G | Path conditions | G | in conformity |
8 | H | free | H | Additional technology functions (corr. to M-functions) |
9 | I | Interpolation parameter for X | I | in conformity |
10 | J | Interpolation parameter for Y | J | in conformity |
11 | K | Interpolation parameter for Z | K | in conformity |
12 | L | free | L/LL | Definition/Call of subroutines |
13 | M | Additional technology functions | M | in conformity |
14 | N | Block number | N | in conformity |
15 | O | free | not assigned |
|
16 | P | free | P | Parameters |
17 | Q | free | Q | Free configurabel axis |
18 | R | free | R | Circle radius or indirect parameter |
19 | S | Spindel speed | S | in conformity |
20 | T | Tool selection | T | in conformity |
21 | U | Movement parallel to X-axis | U | in conformity |
22 | V | Movement parallel to Y-axis | V | in conformity |
23 | W | Movement parallel to Z-axis | W | in conformity |
24 | X | Movement in direction of X-axis | X | in conformity |
25 | Y | Movement in direction of Y-axis | Y | in conformity |
26 | Z | Movement in direction of Z-axis | Z | in conformity |
27 | % | Program beginning | % | in conformity |
28 | ( | Comment start | ( | in conformity |
29 | ) | Comment end | ) | in conformity |
30 | + | Plus | + | in conformity |
31 | - | Minus | - | in conformity |
32 | . | Decimal point | . | in conformity |
33 | / | Block skipping | / | in conformity |
34 | : | Main block, conditional stop of the program reset | : | Marker for definition of an expression label (block number) |
35 | ; | Comment start | ; | Comment until block end |