Because of clear arrangement, this documentation does not inform about all details of all
types of the product. Therefore, it cannot take into account all possible cases of
installations, operation and maintenance.
If you require additional information or have special questions, please seek further
particulars from your local SIEMENS office.
The content of this documentation is not part of an earlier or existing agreement,
acceptance or legal matter. All obligations by SIEMENS are set in the corresponding
sales contract which also contains the complete and single valid settlement. The
contract guarantee will not be enlarged or limited by this documentation.
BERO, SIMATIC, SIMODRIVE, SINEC, SINUMERIK, STEP are registered trade marks of Siemens.
The remaining designations contained in this programming guide may be trade marks whose use
through third parties for their own purposes may infringe the rights of the owners of the mark.
Subject to technical changes.
The reproduction, transmission or use of this document or of its
contents is not permitted without express written authority.
Offenders will be liable for damages. All rights, including rights
supplied by patent grant or registration of a utility model or
design, are reserved.
This manual gives you detailed information about the
programming of the positioning module. The programming of
functions is described in the context. Examples and practical
tips provide improvement for your own cases of application.
See the end of this manual for application area, contents and
target group of this WF 723 C manual.
This programming guide is intended for machine design
engineers who plan to use the WF 723 C and have to observe
the relevant guidelines.
The target group must be qualified according to the definitions
on page 1-2.
Beside this programming guide, all general safety regulations,
regulations of the VDE and the national safety rules must be
observed.
This programming guide is divided up into the sections:
➤ Basic description
➤ Programming
Each chapter of this programming guide is a self-contained unit.
In the appendix, you will find an alphabetic index.
Improvements required?Please do not hesitate to inform us if you have any suggestions
or improvements, using the form at the end of this manual. We
will try to consider your suggestions in the next edition.
Siemens AG 1997 All Rights Reserved 6ZB5 440-0VU02
WF 723 C (Programming Guide)
Page 10
04.97Basic Definitions
2Basic Definitions
2.1Overview
The WF 723 C positions up to three position-controlled axes, both independent of each other
and coordinated and combined. functions like linear interpolation, synchronism and chaining, in
addition to simple point-to-point positioning processes, are an important part of today's
automation tasks. Further possibilities, such as flying actual-value setting, external block
change, the use of tool offsets, zero point offsets and the output of M-functions, are also
offered by the WF 723 C module.
These functions are applied in:
•Handling devices
•Portals
•Press feeding devices
•Wood working machines
•Storage and retrieval units
•Special machines
•Packaging machines
Furthermore, the roll feed function is integrated in the WF 723 C. The roll feed serves for fast
and exact positioning of highly dynamic conveyors
This functions is applied in:
•Sheet metal working machines
•Packaging and filling machines
To make all these possibilities available for the user, the programming of traversing programs
is the means to formulate information and translate it into a language understandable to the
WF module.
2.2Traversing program
The program structure is defined according to DIN 66025. A traversing program consists of a
sequence of up to 200 traversing blocks and is assigned to a programm number.
The traversing program is situated in the RAM memory of the WF module and is buffered by
the SIMATIC S5.
In case of a RAM memory failure the RAM memory contents of the
WF module is lost.
The programming examples are displayed according to DIN 66025. Inputs
via COM 723 are entered in this format. The programs are stored in the
SIMATIC S5 and the WF in S5 format. See a comparison of DIN format and
S5 format in the chapter ”programming in S5 format”.
Siemens AG 1997 All Rights Reserved 6ZB5 440-0VU02
WF 723 C (Programming Guide)
2 – 1
Page 11
Basic Definitions04.97
2.2.1Channel structure
In principle, the WF 723 C possesses 3 channels, in accordance with its 3 axes. Therefore, it
is possible to have all axes execute their own traversing programs simultaneously. for this
purpose, however, the traversing program must only contain information for the related axis.
As all axes are treated as equivalent, all axes are master axes.
If in one traversing program the information of mor than one axis is formulated, this information
belongs to a channel. Coordination in the form of program preselection and start is always
carried out by the master axis. The other axes appearing in the traversing program are slave
axes.
Siemens AG 1997 All Rights Reserved 6ZB5 440-0VU02
WF 723 C (Programming Guide)
Page 12
04.97Basic Definitions
2.2.2Feed axes in the traversing program
If the axis is used as a feed axis, the traversing block must contain exclusively the information
of this one feed axis. Furthermore, the traversing program must be started in this axis.
If two or three feed axes are operated, these must be supplied in separate channels, i.e. with
their own traversing programs, with the exception of permanent synchronism (see channel
structure, example a).
2.2.3Synchronism in the traversing program
Axes as well as feed axes can be operated in permanent synchronism. The coupling of the
axes is not effected by the traversing program, but through machine data. The machine data
determine which axis is the master axis and which is the slave axis for the synchronism. Only
the master axis has to be programmed in the traversing program. The slave axes "follow"
automatically.
2.2.4Coordination of the control signals in the traversing program
As the master axis is the coordinating axis, program preselection and start are effected in this
axis. In addition, the operating mode "automatic" or "single block" must be preset in the
master axis. To operate the slave axes contained in the traversing program as slave axes, they
must be switched to the "slave" operating mode, otherwise the WF 723 C will not start
program execution.
For further details on the operation of the control signals, see the
description of functions, chapter "control and acknowledgment signals"
and the operating mode "automatic, single block and slave".
2.2.5Memory capacity
Up to 200 programs or subroutines can be stored at the same time in the program memory.
The sum of traversing blocks must not exceed 1000 for S5 format. One traversing block in DIN
format may consist of several traversing blocks in S5 format.
2.2.6Program number / Subroutine number
The figures 1 to 200 are possible program or subroutine numbers.
Siemens AG 1997 All Rights Reserved 6ZB5 440-0VU02
WF 723 C (Programming Guide)
2 – 3
Page 13
Basic Definitions04.97
2.2.7Program structure
A traversing program consists of a number of traversing blocks, which are processed in
ascending order of the block numbers. Start and end of the program need not be marked. The
first traversing block is automatically the start of the program and the last traversing block, the
end of the program. For better readability of the programs, special M-functions which
according to DIN 66025 effect program end (M02, M30) or subroutine end (M17, M29), can be
used.
In principle, subroutines do not differ from main programs, as they become subroutines only
when called from a traversing program, i.e. subroutines can also be run as main programs.
2.3Traversing blocks
A traversing block contains all data to execute a processing step, e.g. positioning, dwelling or
output of switching functions.
2.3.1Block structure
A traversing block consists of:
•Character for block start
•Block number
•Number of words containing data for the execution of a processing step
NBlock No. Word WordWord
A word is an element of a traversing block and consists of an address character and a
sequence of digits. The address character is an alphanumerical sequence of digits. The
sequence of digits may have a sign and a decimal point. The sign must be located between
the address character and the sequence of digits, a positive sign is not entered. No blank is
admitted between the address and the value.
Block numbers from 1 to 200 are admitted. The blocks may be assigned to any number but
make sure that the program is executed in ascending order of the block numbers. It is
recommended to define the block numbers in steps of five (5, 10, 15 ...) to be able to insert
further blocks subsequently.
2.3.3Axis assignment
The physical hardware axes A*, B* and C* are situated on the WF 723 C module. A logic name
(X, Y, Z for linear axes and A, B, C for rotary axes) can be assigned to each hardware axis by
means of machine data 38.
You may assign linear and rotary axes as required. Wrong axis assignments
are programming errors and may lead to incorrect movements of the axes.
It is not allowed to assign one logic axis twice to one module.
2.3.4G-functions
On the one hand, the type of movement is defined via the G-functions, on the other hand, they
serve to call offsets, displacements, and special functions.
The G-functions are divided into G-groups according to their definitions. In each G-group there
is a switch-on status or basic position, i.e. the G-function is active without selection.
Example: G00 - interpolation with rapid traverse for the first G-group.
The effectiveness of G-functions is characterised by ”modal” or ”block (local)”. G-functions
effective block by block are only effective in the programmed block. Modally effective Gfunctions are active until they are replaced by other G-functions of the same G-group.
Example: G77 - chaining with axis velocity deselects G76 - chaining with rapid traverse.
Several G-functions may be defined in one traversing block. Each program is a self-contained
unit, separated from other traversing programs. Therefore, all G-groups are in basic position at
the beginning of the program and brought in the required position if necessary.
For roll feed, only a limited number of G-functions are admissible
(see table G-functions).
The path information is defined by the address character for the axis designation (X, Y, Z ...)
and the position value. A negative or positive sign may be entered with the path information.
When entering positive values, no sign need be entered.
The WF 723 C distinguishes between a defined path velocity and an axis velocity.
•For interpolation with path velocity (G01), enter the velocity together with the address letter
F. The input velocity value F refers to the programmed path. The individual axis velocities
are calculated from the distances to be traversed. The resulting path is a straight line.
•For chaining with axis velocity (G77), enter the velocity together with the address letters
FX, FY, etc.. The input velocities refer to the axes X and Y, so that each axis moves at the
programmed axis velocity. The resulting path depends on the distances to be traversed
and on the axis velocities.
Both during interpolation and during chaining, the WF 723 C monitors that no axis traverses at
a velocity higher than its own traversing velocity - maximally (MD 31). All velocity values are
modally effective.
M-functions are defined by the address character M1=, M2=, M3= and a figure between 0
and 254. Up to three M-functions can be programmed per traversing block. The user-assigned
M-functions may be programmed as desired. The M-functions with special functions must be
programmed in the M1 group (Exeption: M97 and M98).
•Assignment of M-functions
M1M2M3Special functions
0Stop at block end
111User function
2Program end
3-163-163-16User functions
17Subroutine end
18Continuous loop
19-2819-2819-28User functions
29Subroutine end
30Program end
31-9631-9631-96User functions
979797Output programmable
989898Output programmable
999999User function
The tool offset number is defined by the address character D and a figure between 0 and 20.
The corresponding offset is selected by assigning D1 to D20. In connection with G43 (positive
tool length offset) and G44 (negative tool length offset), the direction of the tool offset is
defined.
The entry of D0 deselects the tool length offset.
2.3.9Dwell time
The dwell time is defined by the address character X and the dwell time value.
Programming:
N10 G04 X1.000 M1=10 M2=11 M3=13
A traversing block with dwell time may only contain the G function 04, time and M-functions.
If a block with dwell time is defined as the last block in the traversing
program, an automatic returned to the beginning of the program takes
place after executing the dwell time block (continuous loop).
A traversing program is defined by a number of traversing blocks, the block numbers in
ascending order determining the direction of processing.
The WF 723 C is provided with a traversing block decoder which edits the traversing blocks in
such a way that necessary calculations and verifications during execution of the traversing
block can be avoided. This ensures short block-change and executing times.
Apart from basic conditions that have to be met for starting a stored program, the program
number, the read-in enable and the start signal must be available. The read-in enable activates
the traversing block decoder, the start signal enables the traversing block execution.
For a detailed description, see the chapter "control and acknowledgment
signals" in the description of functions.
N10
N20
N30
N40
For roll feed, there is no pre-decoding of traversing block, as they have to
be started one by one externally.
Program blocks that shall not be executed with every program run can be marked as skippable
blocks by the character ”/”. The control signal Skip Block [SA] determines whether skippable
blocks are skipped.
The last traversing block of a program or subroutine must not be skipped.
Siemens AG 1997 All Rights Reserved 6ZB5 440-0VU02
WF 723 C (Programming Guide)
Page 22
04.97Program Execution / Subroutines
N50 ....
N30 L21 P ..
N20 L20 P ..
N1 ....
N50 ....
N30 L30 P ..
N10 ....
N40 ....
N10 ....
N30 ....
N20 L30 P ..
N10 ....
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
Level 0
Main program PR 10
aaaaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
a
a
Level 1
Subroutine PR 20/PR 21
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
Level 2
Subrotuine PR 30
3.3Subroutines
The WF 723 C offers the subroutine technology for self-contained processes called or
executed several times.
3.3.1Subroutine call
The subroutine call is defined by the address character L followed by a figure from 1 to 200.
The number of loops is defined by the address character P and a loop value from 0 to 65535.
Programming:
N10 L24 P23
Subroutine call with
Number of loops=23
program number 24
A traversing block with subroutine call must not contain other words apart from the number of
loops.
If 0 is entered as the number of loops, the subroutine will not be called.
3.3.2Subroutine execution
The WF 723 C allows a two-level nesting depth, the number of subroutine calls being only
restricted by the memory space of the WF module.
Siemens AG 1997 All Rights Reserved 6ZB5 440-0VU02
WF 723 C (Programming Guide)
3 – 3
Page 23
Program Execution / Subroutines04.97
The WF 723 C does not distinguish between main program or subroutine, i.e. a subroutine can
be directly started like a main program or by a subroutine call.
A called subroutine is executed block by block, starting with the first block number, until a
return to the next higher level is effected. Such a return is triggered by a traversing block with
subroutine end (M17 or M29) or by the execution of the last traversing block of a subroutine.
Modally effective G-functions are effective starting at the block number in which they are
programmed. They stay also effective when jumping to subroutines or back to the main
program.
If a subroutine is terminated with M18, M18 will only be output as an
M-function
➯
no return function.
3.3.3Programming guidelines
Please adhere to the following guidelines for subroutine execution:
•The 2-level nesting depth must not be exceeded, otherwise the program execution is
aborted and an error message is output.
•Calling a superior program (main program or subroutine) in the subroutine results in an
exceeded nesting depth and is illegal. It is also illegal that a program calls itself.
•When changing program levels, flying block change is not possible. Before the program
level is changed, the axes are brought to an exact stop.
•If subroutine calls are programmed in skippable blocks, the subroutine will not be executed
if the control signal ”Skip block” [SA] is set.
•All definitions in the main program (G- functions, tool offset, zero point offsets, etc.) are
Siemens AG 1997 All Rights Reserved 6ZB5 440-0VU02
WF 723 C (Programming Guide)
Page 24
04.97Program Execution / Subroutines
3.4Block search forwards
With the "Block search forwards" function, you can start program execution at any point. This
is necessary, for example, if after an abortion of the program execution, you do not want to
start it from the beginning again.
The program will be aborted if during execution
•there is a WF "traversing" error message
(no error that has to be acknowledged with RESET)
•the operating mode is changed
Stopping the program execution by removing the control signal [ST] is not
a program abortion, i.e. by setting [ST], program execution is continued.
The "block search forwards" function distinguishes between "manual block search" and
"automatic block search". Block search forwards is activated by the commands "read in
manual block search" and "read in automatic block search".
The commands are described in the description of functions in chapter
"Command identification" (AK05).
3.4.1Automatic block search
Upon a program abortion, the WF 723 C automatically saves the data of the interruption point.
After activation of automatic block search, program execution continues at the last point of
interruption, i.e. with the traversing block at which the program was interrupted.
An automatic block search can only be carried out after a program interruption has occurred.
After a RESET of the axis/axes [RST], no automatic block search is
possible.
With the command "Read in manual block search", the following data have to be transferred:
①
Programm number level 0 ➯ 10
➁
Block number level 0 at which the subroutine level 1 is called ➯ 10
➂
Program number level 1 ➯ 20
➃
Block number level 1 at which the subroutine level 2 is called ➯ 15
➄
Remaining number of loops of level 1 ➯ e.g. 20
➅
Programm number level 2 ➯ 30
➆
Block number level 2 at which program execution shall be continued ➯ 25
➇
Remaining number of loops of level 2 ➯ e.g. 5
3.4.3Conditions of block search forwards
Block search forwards has to be activated in the master axis and can only be executed under
the following conditions:
•Automatic operating mode [BA] 5 has been selected.
•The program number [PROG] of the main program (level 0) has been selected.
•Program execution is inactive, stopped or aborted ([ST] must not be available).
•The block search data have correctly been defined.
Any faulty operation generates a corresponding Data exchange/traversing WF error message.
After successful activation through the command "read in automatic/manual block search", the
current block search data can be checked with the command "read out block search", as long
as program execution has not yet been started. Afterwards, the output block search data will
be "0".
Siemens AG 1997 All Rights Reserved 6ZB5 440-0VU02
WF 723 C (Programming Guide)
3 – 7
Page 27
Program Execution / Subroutines04.97
3.4.4Program start after activation of block search forwards
Program decoding is effected from the beginning of the program. Axis movements and the
output of M-functions are only effected from the defined entry point. Tool offsets, zero point
offsets, self-holding G-functions and velocities are maintained up to the entry point.
Important hints:
•If a jump is made to a block with incremental dimension (G91), the entire traversing path
will be traversed, even if before the program abortion part of the path was already
traversed.
•M-functions of the block jumped to will be output, even if they were already output before
the program abortion.
•If a program execution is interrupted and the M-functions are still pending, they will be
deleted through the block search forwards.
Siemens AG 1997 All Rights Reserved 6ZB5 440-0VU02
WF 723 C (Programming Guide)
Page 28
04.97Programming of Traversing Blocks
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaa
aaaaaaaaa
a
a
a
a
a
a
aaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
4Programming of Traversing Blocks
4.1Coordinate system and reference point
The traversing directions of a machine tool refer to a coordinate system assigned to the
traversing axes of the machine tool. A right-handed and right-angled coordinate system with
the axes X, Y, and Z is used. The coordinate system is assigned to the main axes of the
machine tool.
Y
B
C
Z
A
X
The WF axis has a number of machine data for the adaption to the coordinate system that
have to be entered during installation.
Siemens AG 1997 All Rights Reserved 6ZB5 440-0VU02
WF 723 C (Programming Guide)
WR
+X
XMW
4 – 1
Page 29
Programming of Traversing Blocks04.97
aaaaaaaa
a
a
a
aaaaaaaaaaaaaaa
a
aaaaaaa
a
aaaaaaa
a
aaaaaaa
a
aaa
a
a
a
a
a
aaaaaaa
a
aaaaaaa
a
aaaaaaa
a
aaaaaaa
a
Usually, the definitions according to the DIN standard 66025 apply. If the axis is traversed
towards the workpiece, the actual value must decrease, i.e the traversing direction is negative.
When traversing from the workpiece the actual value increases and the axes executes a
positive movement. The reference point definitions are different for every machine tool, but, in
most cases, the reference point is the zero point of the workpiece. The programming of the
traversing blocks of the WF axis also refers to the zero point. Furthermore, the following
coordinate-specific machine data refer to the zero point:
•Reference point coordinate (MD 3)
•Reference point traversing direction (MD 5)
•Limit switch (MD 20, MD 21)
4.2Dimensions G90, G91
The traversing direction to a specified point can be defined by the
•absolute dimension G90 or
•incremental dimension G91
The user can switch between absolute and incremental dimensions as desired. When
switching the machine on, the programming status refers to absolute dimensioning G90. G90
and G91 are modal. Thus, G90 or G91 only have to be entered when switching over to the
other dimension.
4.2.1Linear axis
Absolute dimension G90Incremental dimension G91
Absolute dimensions refer, in most cases,Incremental dimensions refer to the
to the workpiece zero point W or last actual position.
machine zero point M.
Siemens AG 1997 All Rights Reserved 6ZB5 440-0VU02
WF 723 C (Programming Guide)
Page 30
04.97Programming of Traversing Blocks
4.2.2Rotary axis, shortest distance G68
If the WF axis is used as a rotary axis, the measuring system should be ajusted in such a way
that the dimensions refer to a full circle (e.g. 1°/1000), so that the positions that can be
reached lie between 0° and 360°. Any other adjustment is also possible.
•Absolute dimension G90
When using a full circle with 360°, the input of absolute dimensions (G90) has the
particularity that there are always 2 possibilities to reach the set position.
G68 - shortest distance
When G68 is programmed, the axis moves
to the programmed position, traversing the
shortest possible distance and ignoring the
sign of the position value. G68 is effective
block by block.
Programmed
position
o
315
o
270
o
225
0
180
Actual
o
position
o
45
o
135
o
90
Programming the direction of rotation
The axis traverses to the programmed
position, the sign of the position value
defining the traversing direction:
+: Traversing in the direction of increasing
degrees (actual values)
– : Traversing in the direction of decreasing
degrees (set values)
Programmed
position
o
315
o
270
o
o
225
0
180
o
o
Actual
position
135
45
o
o
90
o
Programming:
N10 G90 G68 C315.000 FC1000.00
•Incremental dimension G91
When the incremental dimension G91 is programmed, the direction of rotation of the rotary
axis is determined by the sign of the position set value. Several revolutions may be
programmed if a multiple of 360° is defined as the position set value.
If G68 is programmed in connection with G91, an error message will be output.
The program end is here characterized by G04 and a time value. After the dwell time of
100 ms has expired, there is an automatic return to the beginning of the program and the
sequence is repeated.
The zero point offset is the distance between the workpiece zero point W and the machine
zero point M.
Z
NPV z
Y
W
a
a
M
a
a
aaaaaaa
NPV x
aaaaaaa
aaaaa
NPV
aaaaa
X
Y
X
The WF 723 C offers six zero point offsets per axis, activated by the G-functions G54 to G59.
G53 triggers the deselection of the zero point offsets in all axes.
aaaaa
a
aaaaa
a
aaaaa
a
aaaaa
a
aaaaa
a
aaaaa
a
Z
1st
aaaaa
aaaaa
G54
aaaaa
aaaaaaaaaa
A*
aaaaa
B*
aaaaa
aaaaa
C*
aaaaa
2nd
a
aaaaa
a
aaaaa
G55
a
aaaaa
a
aaaaa
a
aaaaa
A*
a
aaaaa
B*
a
aaaaa
a
aaaaa
C*
a
aaaaa
3rd
a
aaaaa
a
aaaaa
G56
a
aaaaa
a
aaaaa
a
aaaaa
A*
a
aaaaa
B*
a
aaaaa
a
aaaaa
C*
a
aaaaa
4th
a
aaaaa
a
aaaaa
G57
a
aaaaa
a
aaaaa
a
aaaaa
A*
a
aaaaa
B*
a
aaaaa
a
aaaaa
C*
a
aaaaa
5th
a
aaaaa
a
aaaaa
G58
a
aaaaa
a
aaaaa
a
aaaaa
A*
a
aaaaa
B*
a
aaaaa
a
aaaaa
C*
a
aaaaa
6th
a
aaaaa
a
aaaaa
G59
a
aaaaa
a
aaaaa
a
aaaaa
A*
a
aaaaa
B*
a
aaaaa
a
aaaaa
C*
a
aaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaa
Settable zero point offset
a
aaaaaaaaaaaaaaaaaaaaaaaaaaa
aa
aa
aa
aa
aa
Each zero point offset includes the values defining the three hardware axis A*, B* and C*. The
zero point offsets are alternatively effective. Selecting another zero point offset cancels all
previously effective zero point offsets. There is the following input limit for all values of the
zero point offset:
At the beginning of the program no zero point offset is active, i.e. it must be selected if
required. This does not apply to subroutines. A zero point offset selected in the main program
is also effective in the subroutine. A zero point offset selected in the subroutine is also
effective in the main program.
All values for the zero point offsets used in a program must be transferred
before program start.
The path to be traversed in a block is determined under consideration of all offsets and
compensations:
Absolute programming G90:
•Selection of NPV:Path=new set position – old set position+NPV
•New selection of NPV:Path=new set position – old set position+new NPV – old NPV
•Deselection of NPV:Path=new set position – old set position – NPV
NPV=zero point offset
Incremental programming G91:
•Path=incremental dimension
The absolute positions of the software limit switches remain when using
the zero point offset as these refer to the machine zero point.
Programming:
N10 G90 X100.000 FX5000.00
N20 G90 G54 X100.000
N30 G53 .....
Z
a
a
M
a
a
aaa
100
aaa
0
aaaaaaaaaaa
NPV=300
aaaaaaaaaaa
aaaaaa
400
W
aa
N10:The X axis traverses to 100.000.
X
aaa
a
100
aaa
0
a
N20:The function G54 activates the zero point offset. The zero point is shifted by 300 mm
in positive direction and the axis traverses to the position 100.000. All position values
following refer to the shifted zero point.
Siemens AG 1997 All Rights Reserved 6ZB5 440-0VU02
WF 723 C (Programming Guide)
Page 34
04.97Programming of Traversing Blocks
aaaaaa
a
a
a
a
a
aaaaa
a
a
a
a
a
aaaaaa
a
a
a
4.5Chaining with rapid traverse G76
The path programmed with G76 "chaining with rapid traverse" is traversed in each axis with
maximum traversing speed (MD31), the resulting path being dependent on the distances to be
traversed and the axis velocities.
The rapid traversing movements are programmed through the preparatory function G76 and
indication of the point of destination. The point of destination can be specified in absolute
dimension G90 or in incremental dimension G91. G76 is modally effective. With "chaining with
rapid traverse", one, two or all three axes can be traversed simultaneously.
Programming:
N10 G76 X10.000
N20 Y20.000
N30 X30.000 Y30.000
Movement in the
coordinate system:
Y
40.
aaa
N30
aaa
v-t diagrams:
V
x
MD 31
V
y
N10N20N30
MD 31
10.
N20
aaa
a
aaaaaa
N10
aaa
10.40.
V
path
X
aaa
a
N10:The X-axis moves in rapid traverse (MD31 = e.g. 3000 mm/min) to position X10.000.
N20:The Y-axis moves in rapid traverse (MD31 = e.g. 3000 mm/min) to position Y20.000.
N30:The X and Y-axes move in rapid traverse to position X30.000/Y30.000. Each axis
traverses at its own maximum velocity (MD31). As the distance to traverse of the Yaxis is shorter than that of the X-axis, the Y-axis reaches its point of destination
earlier.
t
t
t
In this example, "exact stop G60" is assumed to be the block transition
behaviour. In the chapter "block transitions", the different possibilities of
block transition are described in detail.
As for chaining in rapid traverse, the override is effective, the maximum
traversing velocity is only reached with 100% override.
Siemens AG 1997 All Rights Reserved 6ZB5 440-0VU02
WF 723 C (Programming Guide)
4 – 7
Page 35
Programming of Traversing Blocks04.97
4.6Chaining with axis velocity G77
The path programmed with G77 "chaining with axis velocity" is traversed in each axis with the
programmed traversing speed, the resulting path being dependent on the distances to be
traversed and the axis velocities.
The "chaining with axis velocity" is programmed through the preparatory function G77,
indication of a point of destination, and the axis velocities. The point of destination can be
specified in absolute dimension G90 or in incremental dimension G91. G77 is modally
effective. With "chaining with axis velocity", one, two or all three axes can be traversed
simultaneously.
Siemens AG 1997 All Rights Reserved 6ZB5 440-0VU02
WF 723 C (Programming Guide)
Page 36
04.97Programming of Traversing Blocks
v-t diagrams:
V
x
5000
N10N20N30
N40N50N60N70
1000
V
5000
1000
V
Path
5000
1000
y
t
t
t
N10:The X-axis moves in absolute dimension G90 at its axis velocity FX5000.00 to
position X10.000.
N20:The Y-axis moves in absolute dimension G90 at its axis velocity FY2000.00 to
position Y10.000
N30The X and Y-axes move together in absolute dimension to position X20.000/Y20.000,
each axis traversing at its own axis velocity FX5000.00/FY2000.00. As the X-axis has
to traverse the same distance, but moves at a higher axis velocity, it reaches its point
of destination earlier.
N40:The X-axis moves on in incremental dimension G91 by X10.000, at its axis velocity
FX5000.00. Furthermore, the Y-axis is assigned the new velocity value FY3000.00.
N50:The Y-axis moves on in incremental dimension G91 by Y10.000, at the new axis
velocity FY3000.00 assigned in N40. Furthermore, the X-axis is assigned the new
velocity value FX2000.00.
N60:The X and Y-axes move together in absolute dimension G90 to position
X40.000/Y40.000, at the axis velocities FX2000.00/FY3000.00. As the Y-axis has to
traverse the same distance, but moves at a higher axis velocity, it reaches its point of
destination earlier.
N70:The X and Y-axes move together in absolute dimension G90 at their new axis
velocities FX5000.00/FY5000.00 to position X50.000/Y50.000. As both axes traverse
the same distance at the same axis velocity, the path is a straight line.
In this example, "exact stop G60" is assumed to be the block transition
behaviour. In the chapter "block transitions", the different possibilities of
block transition are described in detail.
The programmed axis velocities refer to 100% override. Lower or higher
override values are taken into account in the axis velocities.
Siemens AG 1997 All Rights Reserved 6ZB5 440-0VU02
WF 723 C (Programming Guide)
4 – 9
Page 37
Programming of Traversing Blocks04.97
aaaaaa
a
a
a
aaaaa
a
a
a
a
a
a
a
aaaaaa
a
a
a
aaaaaa
a
a
a
4.7Interpolation with rapid traverse G00
The path programmed with G00 "interpolation with rapid traverse" is traversed at the highest
possible speed along a straight line. The rapid traversing movements are programmed through
the preparatory function G00 and indication of the point of destination. The point of destination
can be specified in absolute dimension G90 or in incremental dimension G91.
If the rapid traversing movement is effected in several axes at the same time, the WF 723 C
will monitor the axes to make sure that none of the axes traverses at a higher velocity than its
maximum traversing speed (MD31).
The basic position is G00. G00 is modally effective. With "interpolation with rapid traverse",
one or two axes can be moved in rapid traverse along a straight line.
Siemens AG 1997 All Rights Reserved 6ZB5 440-0VU02
WF 723 C (Programming Guide)
Page 38
04.97Programming of Traversing Blocks
N10:The X-axis moves in absolute dimension G90 in rapid traverse to position X10.000.
G00 need not be specified, as G00 is active in basic position.
N20:The Y-axis moves in absolute dimension G90 in rapid traverse to position Y20.000.
N30:The X and Y-axes move in incremental dimension G91 in rapid traverse to position
X10.000/Y10.000. As the two axes have to traverse the same distance, they can both
traverse at their maximum traversing speed (MD31).
N40:The X and Y-axes move in absolute dimension G90 in rapid traverse to position
X40.000/Y40.000. The X-axis has to traverse a longer distance and, therefore, moves
at maximum traversing speed. The Y-axis traverses a shorter distance and must,
therefore, reduce its velocity, so that it reaches its point of destination at the same
time as the X-axis.
In this example, "exact stop G60" is assumed to be the block transition
behaviour. In the chapter "block transitions", the different possibilities of
block transition are described in detail.
As for interpolation with rapid traverse, the override is effective, the
maximum traversing velocity is only reached with 100% override.
4.8Interpolation with path velocity G01
The path programmed with G01 "interpolation with path velocity" is traversed at the
programmed path velocity along a straight line.
The "interpolation with path velocity" is programmed through the preparatory function G01,
indication of a point of destination, and the path velocity. The point of destination can be
specified in absolute dimension G90 or in incremental dimension G91.
G01 is modally effective. With "interpolation with path velocity", one or two axes can be
moved along a straight line.
N10:The X-axis moves in absolute dimension G90 at path velocity F2000.00 to position
X10.000.
N20:The Y-axis moves in absolute dimension G90 at path velocity F2000.00 to position
Y20.000.
N30:The X and Y-axes move in incremental dimension G91 to position X10.000/Y10.000.
As the two axes have to traverse the same distance, they move at the same axis
velocities.
t
t
t
N40:The X and Y-axes move in absolute dimension G90 to position X40.000/Y40.000. The
X-axis has to traverse a longer distance, it traverses at a higher axis velocity than the
Y-axis.
In this example, "exact stop G60" is assumed to be the block transition
behaviour. In the chapter "block transitions", the different possibilities of
block transition are described in detail.
The programmed axis velocities refer to 100% override. Lower or higher
override values are taken into account in the axis velocities.
Siemens AG 1997 All Rights Reserved 6ZB5 440-0VU02
WF 723 C (Programming Guide)
Page 40
04.97Programming of Traversing Blocks
4.9Synchronism
In the "synchronism" function, 2 or 3 axes traverse the same distance at the same time. The
synchronous axes can be monitored. With the synchronism monitoring activated, a comparison
of the actual values will stop the synchronous axes if a defined limit (synchronism tolerance) is
exceeded. With the WF 723 C, permanent or selectable synchronism is possible.
4.9.1Permanent synchronism
In permanent synchronism, 2 or 3 axes are coupled by machine data. Master axis, slave
axis/axes, and the admissible synchronism tolerance are formulated. In the traversing program,
only the master axis is programmed. During program execution, the slave axis is firmly coupled
with the master axis.
Example:X-axis = master axisZ-axis = slave axis
Programming:
N10 X100.000
N20 X200.000 Y200.000
N10:X and Z-axes are traversed in synchronism to the positions X100.000 and Z100.000.
N20:The synchronizing axes X and Z are traversed together with the Y-axis to the
positions X200.000, Y200.000 and Z200.000.
4.9.2Selectable synchronism
In selectable synchronism, there is no external coupling of the axes, coupling is effected in the
traversing program. The synchronism tolerance is defined by means of the command
"synchronism tolerance".
Programming:
N10 XZ100.000
N20 XZ200.000 Y200.000
N10:The synchronous axes X and Z are traversed to the positions X100.000 and
Z100.000. The axis which was programmed first, in this example the X-axis, is the
master axis, and the Z-axis is the slave axis.
N20:The synchronizing axes X and Z are traversed together with the Y-axis to the
positions X200.000, Y200.000 and Z200.000.
The program must not be started in the Z-axis, as the Z-axis is defined in
the traversing program as a slave axis.
N10:If the Y-axis (slave axis) is not in the same position as the master axis, the Y axis will
be traversed at speed F1000.000 to the position of the master axis. The position
value X(Y)1234.000 only serves for selecting the axis/axes. If the Y-axis is already in
the position of the master axis, N10 will be ignored.
N20:The synchronous axes X and Z are traversed together to X(Y)2000.000.
Synchronism monitoring must only be switched on when the axes have
been synchronized.
Siemens AG 1997 All Rights Reserved 6ZB5 440-0VU02
WF 723 C (Programming Guide)
Page 42
04.97Programming of Traversing Blocks
4.9.4Synchronism in combination with interpolation and chaining
Programming:
N10 G00 X(Z)100.000 Y100.000
N20 G01 X(Z)200.000 Y300.000 F1000.00
N30 G76 X(Z)300.000 Y400.000
N40 G77 X(Z)400.000 Y800.000 FX1000.00 FY2000.00
(Z) In case of permanent synchroism, Z is not indicated
N10:Interpolation with rapid traverse
There is an interpolation between the X and Y-axes. The Z-axis follows the X-axis.
The resulting axis velocities are determined in such a way that all axes traverse at
their maximum velocity along a straight line.
N20:Interpolation with path velocity
There is an interpolation between the X and Y-axes. The partial velocities are
determined for the X and Y-axes. The Z-axis traverses at the velocity of the X-axis.
If the partial velocity calculated for the X-axis is higher than the admissible maximum
velocity (MD31) for the Z-axis, all partical velocities are reduced so far that,
nevertheless, an interpolation straight line can be traversed without violating any axis
velocities.
N30:Chaining with rapid traverse
The Y-axis traverses with its maximum velocity (MD31). At the same time, the X and
Z-axis traverse with the velocity of the MD31 of the slower axis.
N40:Chaining with axis velocity
The synchronous axes traverse with the axis velocity FX1000.00 and at the same
time, the Y-axis moves to its position with FY2000.00.
Make sure that in synchronism the axis programmed first determines at the
same time which axis speed is used.
By means of the collision monitoring function, the axes can quickly be stopped, triggered by
the selection of a rapid input.
G96:Selection of collision monitoring
When reading in a traversing block with G96, collision monitoring will be activated
➯ release of the inquiry of the rapid input.
G97:Deselection of collision monitoring
When reading in a traversing block with G97, collision monitoring will be deactivated
➯ the rapid input will no longer be inquired.
In basic position, G97 is active. G96 and G97 are modally effective.
4.10.1 Specifying a deceleration value
With the "Deceleration at collision" command, the braking deceleration of the axis in case of
collision can be specified. For each axis, a separate value can be specified, the lower input
limit being limited by MD 28 (deceleration).
As in N10, the collision monitoring is not yet active, the removal of the rapid input does not
stop the axes.
➁
In N20, the collision monitoring is activated with G96. As chaining is active, the removal of
the rapid input stops the axes with the "deceleration at collision" specified for the
respective axis.
➂
Upon selection of the rapid input, the axes are accelerated with the acceleration values
(MD 27).
➃
If the rapid input is removed for a short time only, the axes will be braked with
"deceleration at collision". Then, traversing will be continued with the acceleration values
(MD 27).
t
t
t
➄
In N30, the interpolation is switched on. When the rapid input is removed, the axes stop,
observing the interpolation conditions (the contour must not be left), i.e. the "deceleration
at collision" of the "weaker" axis (lower deceleration value) is taken into consideration as
the maximally admissible deceleration (in this case axis Y).
➅
Upon selection of the rapid input, the axes are accelerated with the acceleration values
(MD 27).
➆
If the rapid input is removed for a short time only, the axes will be braked with the
"deceleration at collision" of the "weaker" axis, observing the interpolation conditions.
Then, traversing will be continued with the acceleration values (MD 27).
Siemens AG 1997 All Rights Reserved 6ZB5 440-0VU02
WF 723 C (Programming Guide)
4 – 17
Page 45
Programming of Traversing Blocks04.97
➇
In N40, tracking is selected. When the rapid input is removed, the axes stop, observing the
tracking conditions (the axes must not move apart), i.e. the "deceleration at collision" of
the "weaker" axis (lower deceleration value) is taken into consideration as the maximally
admissible deceleration (in this case axis X).
➈
Upon selection of the rapid input, the axes are accelerated with the acceleration values
(MD 27).
➉
If the rapid input is removed for a short time only, the axes will be braked with the
"deceleration at collision" of the "weaker" axis, observing the tracking conditions. Then,
traversing will be continued with the acceleration values (MD 27).
As in N50, collision monitoring is deselected via G97, a removal of the rapid input will not
Siemens AG 1997 All Rights Reserved 6ZB5 440-0VU02
WF 723 C (Programming Guide)
Page 46
04.97Programming of Traversing Blocks
4.11Block transitions
Traversing programs are executed according to the programmed sequence of traversing
blocks. Depending on the contents of the traversing blocks, there are various block transitions.
4.11.1 Maximum loop-over G64
G64 is active in basic position. G64 is modally effective. Maximum loop-over means that
consecutive movement blocks are traversed in the shortest time possible and with the smallest
speed reductions possible. In this way, very fast sequences of movements are possible.
The so-called braking point is of great importance for the block transition; it determines the
earliest possible moment of a block change. The braking point is the moment when an axis
would have to start braking in order to stop at the programmed point of destination or slow
down to the new velocity. Therefore, this braking point depends on the selected deceleration
(braking ramp) and the current velocity.
Programming:
N10 X100.000
N20 Y100.000
Loop-over behaviour with
different braking points
➂
➁
➀
F
x
F
y
➀
Braking point at low speed➯ small loop-over
➁
Braking point at high speed➯ larger loop-over
➂
Braking point with flat braking ramp➯ large loop-over
N10:The X-axis moves with velocity FX1000.00 to position X100.000.
N20:In the braking point of the X-axis, the Y-axis is started and moves with velocity
FY1000.00 in the direction of position Y100.000.
N30:At the braking point, the Y-axis accelerates to its new velocity FY2000.00.
N40:While the Y-axis approaches the new position Y385.000 without speed reduction, the
X-axis is started. As this axis needs more time to reach its point of destination, the Y-
axis starts to brake.
N50:The X and Y-axes accelerate to their respective velocities. As the Y-axis reaches its
destination earlier, it stops in its position and waits until the X-axis has reached its
braking point.
N60:At the braking point of the X-axis, the Y-axis accelerates again. The two axes move
Traversing to "digital zero" means
that the interpolator must have
reached the programmed position.
t
1000
V
Bahn
2000
1000
t
t
N10:The X-axis moves with velocity F1000.00 to position X100.000.
N20:At "digital zero" of the X-axis, the Y-axis is started and moves with velocity F1000.00
to position Y100.000.
N30:At "digital zero", the Y-axis accelerates to the new velocity F2000.00.
N40:At "digital zero" of the Y-axis, the X and Y-axis accelerate with interpolation to their
path velocity F2000.00.
N50:Block change is again effected at "digital zero".
N60:At "digital zero", the X and Y-axes traverse at the new path velocity F1000.00 to
Siemens AG 1997 All Rights Reserved 6ZB5 440-0VU02
WF 723 C (Programming Guide)
4 – 21
Page 49
Programming of Traversing Blocks04.97
aaaaa
a
a
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
aaaaaaaaa
aaaaaaaaa
aaaaaa
a
a
a
a
a
aaaaaa
a
a
a
aaaaaaaaa
aaaaaaaaaaa
a
a
a
a
a
aaaaaaaaaaaaaaaaaa
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
4.11.2 Exact stop G60
If programmed positions shall be approached exactly, exact stop G60 has to be programmed.
G60 is modally effective. When G60 has been programmed, program execution is stopped
until all axes involved have reached their respective PEH window.
S
aaaaaaaaaaaaaaaaaaaaaaaaa
Position of destination
aaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaa
∆
x
1
aaa
➀
➁
aaaaaa
∆
x
aaa
➂
2
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Actual value
aaa
a
∆
x
aaa
a
3
aaaaaaaaaaaaaaaaaaaaaaaaa
PEH exact-stop window
aaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
Set value
aa
t
➀
In case of a block change in the braking point, maximum loop-over takes place.
➁
In case of traversing to "digital zero", a small loop-over is reached.
➂
In case of exact stop G60, the axis approaches the position exactly, as program execution
is stopped until the actual value has reached the PEH window.
If the PEH window shall be larger than the following distance at the
moment of "digital zero" (
N10:The X-axis moves with velocity FX1000.00 to position X100.000.
N20:As soon as the X-axis has reached its PEH window, the Y-axis moves to position
Y100.000.
N30:When the Y-axis has reached its PEH window, it moves on to position Y300.000.
N40:When the Y-axis has reached its PEH window, the X and Y-axes move to positions
X300.000 and Y500.000. As the Y-axis reaches its destination earlier, it stops and
waits for the X-axis.
N50:When the two axes have reached their respective PEH window, they traverse to their
N10:The X-axis moves with velocity F1000.00 to position X100.000.
N20:As soon as the X-axis has reached its PEH window, the Y-axis moves to position
Y100.000.
N30:When the Y-axis has reached its PEH window, it moves on to position Y300.000.
N40:When the Y-axis has reached its PEH window, the X and Y-axes move with
interpolation to positions X300.000 and Y500.000.
N50:When the X and Y-axes have reached their PEH windows, they move on to positions
Block change at the braking point G64 leads to fast sequences of movements, but the large
loop-over results in a great deviation from the programmed path. Block change with exact stop
G60 guarantees that the positions are exactly reached, but the positioning time is increased
because sequences of movements are again and again passed to the PEH window and,
therefore, stopped.
For a more flexible programming, the WF 723 C offers two loop-over windows. For loop-over,
two dimensions can be defined, which lie between the braking point
G66 activates the loop-over window 1 (MD46), G67, the loop-over window 2 (MD47). G66 and
G67 are modally effective.
N10:The X-axis moves with velocity FX1000.00 to position X100.000.
N20:As no axis change takes place at the change-over from N20 to N30, i.e. the loop-
over refers to the same axis, looping over is effected without a sudden velocity drop
(as with G64).
N30:After the velocity of the Y-axis has been reduced so far that the actual value has
reached the loop-over window 1, the Y-axis is accelerated again.
N40:In the loop-over window 1 of the Y-axis, the X-axis is additionally started. The X and
Y-axes move together to positions X300.000 and Y300.000. As the X-axis needs
more time for its path, the Y-axis stops.
N50:In the loop-over window 1 of the X-axis, the Y-axis is additionally started.
•Interpolation (G00, G01) with loop-over (G66, G67)
With interpolation, a loop-over in loop-over window 1/2 is only possible if
the loop-over window 1/2 is smaller than the loop-over value for "digital
zero". It is, therefore, not possible to enlarge the loop-over behaviour
beyond "digital zero" through a correspondingly large loop-over window.
Siemens AG 1997 All Rights Reserved 6ZB5 440-0VU02
WF 723 C (Programming Guide)
Page 54
04.97Programming of Traversing Blocks
aaa
a
a
a
a
a
aaaaaaaaa
aaa
a
a
a
a
a
aaaaaaaaaa
a
a
a
aaaaaaaaaa
a
a
a
aaaaaaaaa
aaa
a
a
a
a
a
aaaaaa
a
a
a
aaaaaaaaaa
a
a
a
a
a
aaaaaaa
a
a
a
a
a
aaaaaaaaaa
a
a
a
aaaaaaa
a
a
a
a
a
4.11.4 Path-dependent chaining (G63)
For certain applications it is necessary to start an axis independently of the current position of
another axis, without stopping the latter. This can be realized by the function of pathdependent chaining G63. G63 is modally effective.
With G64, the Y-axis is started in the braking point ➀ of the X-axis. As the braking point
depends on the amounts of speed, deceleration or time override, coupling with the Y-axis
is effected at different positions of the X-axis.
With G63, the coupling of the Y-axis is decelerated until the actual value of the X-axis has
reached the programmed position value (in the example: 100.000). That means that the
amounts of speed, deceleration or time override have not influence on the coupling, so
that coupling can only be delayed by the WF cycle time (2 ms).
The function G63 is derived from G64, i.e. if path-dependent chaining is
not possible, G63 will have the same effect as G64.
Siemens AG 1997 All Rights Reserved 6ZB5 440-0VU02
WF 723 C (Programming Guide)
Page 56
04.97Programming of Traversing Blocks
aaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
a
a
aaaaaa
a
a
a
a
a
a
a
a
a
aaa
a
a
a
a
a
aaaaaaaaaaaaaaaa
a
a
a
Braking point
a
a
a
a
a
a
s
aaaaaa
a
a
a
v
X
a
a
a
a
a
a
s
aaa
a
a
a
a
a
v
y
Under the following circumstandes, path-dependent chaining is not possible:
•in case of interpolation (G00, G01)
•in case of switchover between interpolation, chaining and synchronization
(see section 4.11.5)
•if the special functions "flying actual-value setting" and "external block change" are used
•if exclusively other axes are used in the next traversing block
Programming (G63 has the same effect as G64):
N10 G76 G63 X100.000 Y100.000
N20 Z100.000
•if at the moment of block change (braking point) all programmed axes are moving
Programming:
N10 G76 G63 X... Y...
N20 X... Y...
aaaaaaaaaaaaa
Braking point
aaa
v
aaa
X
aaaaaaaaaaaaa
s
a
a
a
a
v
y
s
Path-dependent chaining is not possible, because at the moment of the braking point of
the X-axis, the Y-axis is still moving (➯ G63 has the same effect as G64).
aaaaaaaaaaaaa
aaaaaa
aa
aa
aaaaaaaaaaaaa
Path-dependent chaining is effected, because at the moment of the braking point of the
X-axis, the Y-axis has already stopped (digital zero).
Siemens AG 1997 All Rights Reserved 6ZB5 440-0VU02
WF 723 C (Programming Guide)
4 – 29
Page 57
Programming of Traversing Blocks04.97
The following table shows the many possible combinations of block transitions and their effect
in connection with G63:
from ⇓ to ⇒XYZXYXZYZXYZ
Xaaabbab
Yaaababb
Zaaaabbb
XYaaacbbb (Z) / c
XZaaabcbb (Y) / c
YZaaabbcb (X) / c
XYZaaacccc
a. . .G63 has the same effect as G64
b. . .G63 effects a path-dependent chaining
c. . .G63 effects a path-dependent chaining for the axis/axes which at the moment of the
braking point of the traversing axis/axes has/have stopped. Otherwise, G63 has the
same effect as G64.
4.11.5 Block transitions with different coupling types
Block transitions between different types of coupling are generally effected at "digital 0", i.e. all
axes brake until the set-value interpolater has reached its point of destination.
The transition to a block with synchronism (N20 ➯ N30) activates the
synchronism monitoring. It the block transition takes place at "digital 0", the axes
involved are not yet synchronous at that moment. The synchronism monitoring
might respond.
This can be avoided in two ways:
•Increasing the synchronism tolerance, so that with block transitions at
"digital 0" no error occurs.
•Programming G60 (exact stop) in the preceding block (N20). In this way,
synchronism monitoring is only activated after all axes involved have
reached their PEH window.
Siemens AG 1997 All Rights Reserved 6ZB5 440-0VU02
WF 723 C (Programming Guide)
Page 58
04.97Programming of Traversing Blocks
4.11.6 M-functions
The M-functions are optional parts of a traversing block. In connection with the moment of
output of the M-function, different block transitions take place.
4.11.6.1Output of M-functions during positioning
Output of M-functions and traversing movement take place when the execution of the
traversing block is enabled.
Moment of execution
enable for the next
traversing block
t
M9M10M11M12M13 M14
t
N10:The M-function M9 is output upon start of the axis.
N20:As the interpolation G01 is active, the block change N10 ➯ N20 takes place at
"digital 0". Therefore, M10 is output at "digital 0".
N30:A transition of the coupling type "interpolation G01 to chaining G77" takes place.
Therefore, M11 is also output at "digital 0".
N40:The block transition N30 ➯ N40 is flying, i.e. the block change and, consequently,
the output of M12 take place in the theoretical braking point.
N50:As only one M-function has been programmed in block N50, M13 is output at "digital
0" of block N40.
N60:At the end of the M-output M13, N60 is read in and at the same time M14 is output.
The utilization of G60 (exact stop) or G66/G67 (loop-over window 1/2) influences the execution
enable of the traversing block and, therefore, the M-output.
reached. Thus, a block change without speed reduction can be carried out.
➁
The output of M-functions has not yet been completed at the braking point. The axis starts
to brake. If the output of M-functions is completed during braking, the block is changed
and the axis begins to accelerate.
➂
The axis comes to a standstill. The next block is not executed before the output of
M-functions is completed.
4.11.6.2Output of M-functions before positioning
The output of M-functions takes place when the execution of the traversing block is enabled.
The traversing movement takes place after the M-output.
Moment of execution
enable for the next
traversing block
N10:Upon start, M9 is output, then the traversing movement takes place.
N20:The block change N10 ➯ N20 is flying.
N30:As the type of output is "before positioning", first M10 is output and then the
traversing movement of N30 takes place.
The utilization of G60 (exact stop) or G66/G67 (loop-over window 1/2) influences the execution
enable of the traversing block and, therefore, the M-output.
Moment of execution
enable for the next
traversing block
N10:Upon start, the traversing movement takes place. When "digital 0" is reached, M9 is
output. If G60 (exact stop) has been programmed, M9 will only be output when the
PEH window is reached. If G66/G67 (loop-over window 1/2) has been programmed,
the output will be effected in the loop-over window 1/2 when "digital 0" has already
been reached.
N20:Traversing movement only.
N30:As only one M-function has been programmed in block N30, the block change N20 ➯
N30 takes place at "digital 0" of N20.
N40:After the traversing movement, M11 is output.
If several axes have been programmed in the traversing block, the M-function will be output
when all axes have reached "digital 0" or when the PEH window (with G60) or the loop-over
window (with G66/G67) has been reached.
The output or further processing of M-functions in the SIMATIC-S5
controller also influences the cycle time of the S5-program. This can be
avoided by using the fast outputs and programming the M-functions M97
and M98.
Siemens AG 1997 All Rights Reserved 6ZB5 440-0VU02
WF 723 C (Programming Guide)
4 – 33
Page 61
Programming of Traversing Blocks04.97
aaa
a
a
a
a
a
a
a
a
a
4.11.7External block change (G50, G51)
With the "External block change" function, a flying block change takes place, triggered by a
fast input. In addition, it is possible to read out the actual value saved at the moment of arrival
of the fast input (flying measured value). The fast input must be programmed with the
"External block change" function.
G50:Absolute dimension for external block change
G51:Incremental dimension for external block change
The G-functions G50 und G51 are only effective block by block and must be newly selected if
required.
The rapid input must be preset in MD 15 of the programmed axis.
The transition from N10 to N15 is effected on the fly.
➁
The axis traverses until a signal change from 0 to 1 (24 V) takes place at the fast input.
➁
N20N15N10
t
a
a
a
a
a
a
a
a
t
This triggers two reactions:
–Flying block change and, therefore, immediate processing of block N20
–Saving of the current position encoder actual value
By means of the command "read out flying measured value", the saved position
encoder actual value can be read out.
Siemens AG 1997 All Rights Reserved 6ZB5 440-0VU02
WF 723 C (Programming Guide)
Page 62
04.97Programming of Traversing Blocks
aaa
a
a
a
a
a
aaaaaa
a
a
a
aaaaaa
a
a
a
aaaaaaaaa
aaaaaa
a
a
a
aaaaaa
a
a
a
aaaaaaaaaa
a
a
a
aaaaaaaaaa
a
a
a
By means of the command "External block change option", you can define the behaviour of
the WF 723 C if the fast input is not selected.
•Option type 0 (error message; basic position)
aaa
F
aaa
X
aaaaaa
N10
aaaaaa
N15
➀
a
a
a
a
aaaaaa
N20
The axis traverses to the corresponding position of destination (G50:
200.000; G51: 300.000). Within the
grey area of the figure, a positive
edge causes a block change at the
"fast input". If the "fast input" is not
➀
selected up to the braking point
,
the axis starts to brake and waits for
aaaaaaa
100.000
aaaaaaa
aaaaaaa
200.000
aaaaaaa
s
the signal change until the
programmed position is reached.
When the position of destination is reached, the WF traversing error message "93: fast
input not selected" is output. Any pending M functions and the program sequence data are
deleted. To continue the program in this case with block number N20, a block search
forwards to N20 must be made after error acknowledgment.
•Option type 1 (flying block cnage)
Even if up to the braking point of N15 the "fast input" was not selected, a flying block
change to block N20 will be effected. The program is continued without interruption.
Special cases:
•The block position in N20 is smaller than the actual position of the position encoder at the
moment of arrival of the fast input:
The axis must stop via the deceleration ramp and then approach the position in opposite
direction.
•G91, and not G90, has been programmed in block N20:
The programmed position in N20 refers to the actual value of the position encoder at the
moment of arrival of the fast input (flying measured value).
•Block N20 only contains M-functions or a dwell time:
The axis is stopped via the brake ramp.
•Block N20 is the program end:
The axis is stopped via the brake ramp.
•Block N15 contains an M-function which has not yet been acknowledged:
The traversing movement is stopped via the brake ramp, but the block changes only after
the M-function has been acknowledged.
Restrictions:
•In a traversing block with G50 or G51, only one axis may be programmed.
•In the block following G50 or G51, too, only one axis may be programmed, and this must
be the same axis.
•To obtain a flying block change (without stop of the axis) when changing from a traversing
block with G50/G51 to the following traversing block, G76 (chaining with quick traverse) or
G77 (chaining with axis velocity) and G64 (maximum loop-over) must be active.
The "Flying actual-value setting" function is triggered by a fast input, the block change taking
place on the fly and the actual value being at the same time set to a new measure. In addition,
it is possible to read out the actual value saved at the moment of arrival of the fast input
(command: "Read out flying measured value"). The fast input must be programmed with the
"Flying actual-value setting" function.
The rapid input must be preset in MD 15 of the programmed axis.
Flying block change from N10 to N15, G89 effecting a movement in positive direction and
E programmed fast input
N10
050100150200250300350400
Measuring system
displaced
➀
N15
E
050100150200250300350400
aaaaaaaaaaaa
N20
➂➁
Inversion of the
direction
N20
N25
N25
x
t
t
Measuring
system
G88, a movement in negative direction, at the programmed velocity of N15.
➁
The axis traverses in the specified direction until a positive edge change takes place at the
fast input. This triggers the following reactions:
– Flying block change and immediate processing of block N20
– Flying actual-value setting to the block position of N15 and, therefore, displacement of
the measuring system
– Saving of the current encoder actual value
The programmed position in block N20 refers to the displaced measuring system.
x
➂
Flying block change from N20 to N25, G87 cancelling the measuring-system displacement
and effecting a reference-measure programming to the block position of N25, as G90 is
still active.
Siemens AG 1997 All Rights Reserved 6ZB5 440-0VU02
WF 723 C (Programming Guide)
Page 64
04.97Programming of Traversing Blocks
aaaaaa
a
a
a
aaaaaa
a
a
a
aaaaaaaaaaaa
aaaaaaaaaa
a
a
a
a
a
a
a
a
a
aaa
a
a
a
a
a
By means of the command "read out flying measuring value", the saved encoder actual value
can be read out.
The measuring-system displacement is maintained until it is deselected by G87 or an
operating-mode change. The existing displacement of the measuring system can be used in
different programs. The measuring system can be displaced anew, without deselecting an
existing measuring-system displacement. If the measuring system was displaced several times
without deselecting the displacement, the values will after deselection of the measuring-system
displacement refer to the original condition of the measuring system.
Special cases:
•The block N20 only contains M-functions or a dwell time:
The axis is stopped via the brake ramp.
•Block N20 is the program end:
The axis is stopped via the brake ramp.
Acquisition range of the fast input:
v
aaa
N10
aaa
➀
a
a
a
a
aaa
N15
aaa
Within the gray area of the figure, a
positive edge causes a flying actualvalue setting. At the moment
➀
(breaking point), a block change
from N10 to N15 takes place. The
release for recognition of the "fast
input" is delayed until the position
aaaaaaa
100.000
aaaaaaa
s
100.000 is reached.
If the signal change of the fast input does not take place, the axis traverses
up to the limit switches.
The G-functions G87, G88 and G89 are only effective block by block and must be newly
selected if required.
Restrictions:
•In a traversing block with G87, G88 or G89, only one axis may be programmed.
•In the block following G88 or G89, too, only one axis may be programmed, and this must
be the same axis.
•To obtain a flying block change (without stop of the axis) when changing from a traversing
block with G88/G89 to the following traversing block, G76 (chaining with quick traverse) or
G77 (chaining with axis velocity) and G64 (maximum loop-over) must be active.
•Flying actual-value setting in synchronism is illegal.
•Flying actual-value setting with roll feed is not possible.
With the "Program-dependent external read-in enable" function, a stop and subsequent
continuation of program execution can be realized through a rapid input. The rapid input must
be programmed with the "Program-dependent external read-in enable" function.
The rapid input for the "Program-dependent external read-in enable"
function must be programmed in the master axis.
The parameterization of the rapid inputs is described in the Description of
Functions, chapter "Rapid inputs/outputs".
Siemens AG 1997 All Rights Reserved 6ZB5 440-0VU02
WF 723 C (Programming Guide)
Page 66
04.97Programming of Traversing Blocks
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
4.11.10 Acceleration override G30 to G39
By means of the acceleration override, the acceleration and deceleration behaviour of the
positioning processes can be influenced. The acceleration override is useful if transport
devices are sometimes operated with load and sometimes, without load. Under load, they are
operated with reduced acceleration/deceleration value. The acceleration/deceleration values
are fixed by the machine data MD27 and MD28. By means of G30 to G39, a reduction in
percent of the two values can be obtained in the traversing block. These functions are selfholding.
Siemens AG 1997 All Rights Reserved 6ZB5 440-0VU02
WF 723 C (Programming Guide)
Page 68
04.97M-functions with Special Function
5M-functions with Special Function
5.1Stop at block end M00
If the M-number 0 is programmed as the 1st M-function in a traversing block, the movement is
stopped at the end of the block when executing the traversing block. The movement is not
continued before another STOP ➯ START edge is triggered.
5.2Continuous loop M18
If the M-function M18 is programmed as 1st M-function in the last traversing block of a
traversing program, there will be an automatic return to the program start (continuous
processing of a traversing program).
There are two different cases:
•The M-function M18 is output like any other M-function. There will be no return to the
program start before the block N50 (including M18) has completely been executed.
Programming:
N5 G91 X10.000 F100.00
...................
N50 G91 X50.000 F100.00 M1=18
•If the M-function M18 is programmed as the last block of a traversing program, the
M-function will not be output, but the axis will immediately return to the program start.
Programming:
N5 G91 X10.000 F100.00
...................
N50 G91 X50.000 F100.00
N55 M1=18
In this example, the WF 723 C executes a flying block change to the program start, without
any velocity reduction in the X-axis.
Siemens AG 1997 All Rights Reserved 6ZB5 440-0VU02
WF 723 C (Programming Guide)
5 – 1
Page 69
M-functions with Special Function04.97
5.3Subroutine end M17/M29
If the M-function M17 or M29 is programmed as the 1st M-function is a subroutine, a return
follows into the superior program level when executing the program.
M17 or M29 must only be programmed if the program end shall take place prematurely.
5.4Program end M02/M30
M02 and M30 terminate an NC program. The M-function M02 or M30 must be programmed in
a separate block. At the end of the program all G-functions are brought into basic position.
M02 or M30 must only be programmed if the program end shall take place prematurely.
Siemens AG 1997 All Rights Reserved 6ZB5 440-0VU02
WF 723 C (Programming Guide)
Page 70
04.97Tool Offsets
6Tool Offsets
6.1Tool offset G43, G44
With the tool offset, an existing machining program can still be used, even after the tool
dimensions have changed. Normally, the programming refers to the tool zero point. Through
tool wear or exchange of the tool, the position of the tool tip may change. This change can be
compensated through the tool offset, without requiring any changes in the machining program.
N5:The tool offset is selected by means of the D-number D5. With the optional
indications G43 or G44, the direction of action of the tool offset can be fixed. As G43
is active in basic position, G43 need only be entered to deselect an active G44. The
axis positions on X50.000, taking into account the tool offset memory D5.
N10:The tool offset D5 remains active.
N15:Through new selection of D6, D5 is deselected. The axis positions on X150.000,
taking into account the tool offset memory D6.
N20:The tool offset D6 remains active.
N25:Through deselection of the tool offset by means of D0, D6 becomes inactive. The
axis positions on X300.000, without tool offset.
A selected tool offset is deselected by:
•New selection of another D-number
•Deselection through D0
•Program end or through M30 or M02
•Operating-mode change
•Program abortion through a WF traversing error message
•Block search forwards, as the program is newly decoded
•The control signal "reset axis" [RST]
•Switch-on of the follow-up mode [NFB]
A selected tool offset is maintained in:
•Jumps into subroutines or returns to the main program
•Program continuous loops through M18 or G04 (dwell time in the last traversing block)
The calculation of the tool offset is only taken into account in absolutedimension programming (G90).
Siemens AG 1997 All Rights Reserved 6ZB5 440-0VU02
WF 723 C (Programming Guide)
6 – 1
Page 71
Tool Offsets04.97
aaaaaaaaaaaaaaaaaa
a
a
a
a
a
aaaaaaaaaaaaaaaaaa
a
a
a
aaaaaaaaaaaaaaaaaa
a
a
a
a
a
aaaaaaaaaaaaaaaaaa
a
a
a
a
a
aaaaaaaaaaaaaaaaaa
a
a
a
aaaaaaaaaaaaaaaaaa
a
a
a
a
a
6.2Tool offset memory
A total of 20 tool offset memories per axis are available. They are called with D1 to D20. The
tool offset memories are firmly assigned to the hardware axes A*, B* and C*. The definition of
the axis assignment (MD38) determines the assignment of the axis names (X, Y, Z, A, B, and
C). In the traversing program, the respective tool offset memory is addressed via the assigned
axis names.
N5:Tool offset D1 is selected. As only the X-axis effects a movement, the tool offset is
only calculated in the X-axis. As tool offset, the D1-number
➀
assigned to the X-axis
is considered in the calculation.
N10:D1 remains active. The Y-axis positions, taking into account the corresponding D1-
➁
number
.
N15:D1 is deselected by new selection of D2. The Z-axis positions, taking into account
the corresponding D2 numbers
➂
.
N20:D2 remains active. The X and Y-axes position, taking into account the corresponding
➃ ➄
D2-numbers
.
N25:The tool offset is deselected by means of D0 in the programmed axes X, Y and Z.
If a tool offset shall not be taken into account in all programmed axes, "0"
must be entered in the respective tool offset memories (basic position).
The input/output of tool offsets is described in the Planning Guide
"Command identifiers for SIMATIC S5 or S7" under AK14.
As in synchronism, the movement of the slave axis is always derived from
the master axis, the tool offset is taken into account in the calculation in
the master axis only.
Siemens AG 1997 All Rights Reserved 6ZB5 440-0VU02
WF 723 C (Programming Guide)
Page 74
04.97Tool Offsets
6.4Direction of tool offset
•Negative tool offset G44
Usually, the tool faces the workpiece in negative direction. The position value is reduced
by traversing. With G44, the position value is corrected as follows:
X
= X
ms
X
:Position of measuring system
ms
X
Soll
D:Tool offset
•Positve tool offset G43
The tool may, however, also faces the workpiece in positive direction. The position value is
increased by traversing. With G43, the position value is corrected as follows:
X
= X
ms
+ (D)
Soll
:Programmed set position
– (D)
Soll
In order to program a tool offset in the traversing block, at least the tool
length offset must be entered. If no
offset is to be calculated although it
was selected before, tool length offset and tool length wear must be
defined as 0. A tool length wear is deleted by the absolute input of 0.
Siemens AG 1997 All Rights Reserved 6ZB5 440-0VU02
WF 723 C (Programming Guide)
Page 76
04.97Programming in S5 Format
aaaaaaaa
a
aaaaaaaa
a
a
a
aaaaaa
a
a
a
aaaaaaaa
a
aaaaaaaa
a
a
a
aaaaaaaa
a
a
a
aaaaaaaa
a
aaaaaaaa
a
aaaaaaaa
a
a
a
aaaaaaaa
a
aaaaaaa
a
a
a
a
a
aaaaaaa
a
a
a
7Programming in S5 Format
This chapter is only relevant for you if you manage traversing programs directly in S5 data
blocks. The examples in all other chapters are programmed in DIN format, which is used by
COM 723. Here, you will learn how to program these examples in S5 format.
Block format in the S5 format
aaa
DW x
aaa
aaaaa
DW x+1
aaaaaaaaaa
DW x+2
aaaaa
DW x+3
aaaaaaaaaa
DW x+4
aaaaa
DW x+5
aaaaa
aaaaa
DW x+6
aaaaa
DW x+7
aaaaa
DW x+8
aaaaa
aaaaa
DW x+9
aaaaaaaaaa
DW x+10
aaaaa
DW x+11
Internally assigned
A
L 0 P G4 G3 G2 G1
G1-function
G3-function
Position in [µm] /
Dwell time in [ms] / subroutine number
Speed in [0.01 mm/min] / loop number
aa
a
M1-function
M3-function
Continue identifierProgram number
Block number
0
0 FN D M3 M2 M1 F
Axis no.X Y Z A B C 0 0 0 0 0 0
G2-function
G4-function
M2-function
D-function
KY
KY
KM
KM
KY
KY
KH
KH
KH
KH
KY
KY
General guidelines for the conversion DIN format ➯ S5 format
•If all data of a traversing block have to be accommodated in a block in S5 format, there
must be no subdivision into following blocks.
•If following blocks are needed, M-function and D-number must be stored in the main block.
150
The program number is not contained in the table because it does not
change within a program. In S5 format, the program number must be
entered in the corresponding place.
S5 format ("10" is assumed as the program number):
150
aaa
DW x
aaa
aaaaa
DW x+1
aaaaa
DW x+2
aaaaa
aaaaa
DW x+3
aaaaa
DW x+4
aaaaa
aaaaa
DW x+5
aaaaa
DW x+6
aaaaa
aaaaa
DW x+7
aaaaa
aaaaa
DW x+8
aaaaa
DW x+9
aaaaa
aaaaa
DW x+10
aaaaa
DW x+11
aaaaa
aaaaa
DW x+12
aaaaa
aaaaa
DW x+13
aaaaa
DW x+14
aaaaa
aaaaa
DW x+15
aaaaa
DW x+16
aaaaa
aaaaa
DW x+17
DW x+18
aaaaa
DW x+19
aaaaa
aaaaa
DW x+20
aaaaa
DW x+21
aaaaa
aaaaa
DW x+22
DW x+23
aaaaa
DW x+24
aaaaa
aaaaa
DW x+25
aaaaa
DW x+26
aaaaa
aaaaa
DW x+27
aaaaa
DW x+28
aaaaa
aaaaa
DW x+29
aaaaa
DW x+30
aaaaa
DW x+31
aaaaa
DW x+32
DW x+33
aaaaa
DW x+34
aaaaa
DW x+35
101
010
0
0 0 1 1 0 0 1
0
0 0 0 1 0 1 1
0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1
90
0 (255)
0 (255)
0
2
0
0
a
aa
aa
a
a
0
a
a
aa
a
aa
a
aa
a
0 0 1 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
0 (255)
0 (255)
0
4
0 (F)
0 (F)
0 (255)
0 (255)
aa
a
a
1
a
a
aa
a
a
a
a
1 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 (255)
0 (255)
0
0
0
0
a
a
0 (255)
0 (255)
0
7
0
D
15
16
0
1
0
4
0 (255)
0 (255)
100
010
0
0 0 0 0 0 0 0
0 (255)
0 (255)
0
E
0 (F)
0 (F)
0
2
0 (F)
0 (F)
0 (255)
0 (255)
100
020
0
0 0 0 0 0 0 0
0 (255)
0 (255)
0
0
0
0
0
0
0
4
0 (255)
0 (255)
1
0
0
3
0
0
0
0 (F)
0 (F)
0
A
0
1
KY
KY
KM
KM
KY
KY
KH
KH
KH
KH
KY
KY
KY
KY
KM
KM
KY
KY
KH
KH
KH
KH
KY
KY
KY
KY
KM
KM
KY
KY
KH
KH
KH
KH
KY
KY
aaaaaaaa
All relevant data are on grey background. The remaining values must be defined as "0".
During read-out, the values indicated in parentheses are output.
Siemens AG 1997 All Rights Reserved 6ZB5 440-0VU02
WF 723 C (Programming Guide)
Page 92
04.97Appendix
8Appendix
8.1Abbreviations
DINGerman Industrial Standard
RAMRandom access memory (read-write memory with direct access)
NBlock number
GG-function
A, B, CPath information for rotary axes
X, Y, ZPath information for linear axes
I, J, KInterpolation parameters (path information)
SSpindle position/spindle speed
FFeed rate
MM-function
DTool offset no.
LSubroutine no.
PNumber of loops
RR-parameter no.
MDMachine data
IIncremental encoder
SSISerial encoder
SpSpindle
SpoWSpindle without encoder
MMachine zero point
RMachine reference point
WWorkpiece zero point
WRWorkpiece reference point
vVelocity
KACircle initial point
KECircle end point
KMCircle centre point
NPVZero offset
NCNumerical control
RSTReset axis (RESET)
SDZSpindle speed reached
FKContinue identifier
ACAxis
SASkip block
WHStop if
WFMachine tool module
WSMachine tool control
For Publication/Manual:
WF 723 C
Positioning Module
Programming Guide
Order No.:6ZB5 440-0VU02-0AA3
Edition: April 1997
If you find any printing errors when reading
this publication, please let us know, using
this form. We also welcome any suggestions
to improve the manual.
Page 97
Siemens AG
Bereich Automatisierungs- und Antriebstechnik
Geschäftsgebiet Motion Control Systeme
für Werkzeug- und Produktionsmaschinen
Postfach 3180, D-91050 Erlangen
Federal Republic of Germany