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)
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
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)
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
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)
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
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)
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
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)
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
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)
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.