Manual

Chapter 30
Using a 9/Series Dual--Processing System
3
0
-
9
Example 30.2
Incorrect Use of Simple Synchronization with Shared Paramacro
Parameters
Process 1 Comment Process 2 Comment
N17 #7100=100; Paramacroparameter 7100 is set to 100
N32 M100; Process pauseswaiting forM100 in
process 1. Block N33is set upin buffer
prepared for execution.
N18 Z#7100;
N19 #7100=25 Paramacro parameter 7100 isset to 25
N20 M100; Process 2 is released frompause
N33 X#7100; Destination of thisblock isdependent on
when this block wasread intothe setup
buffer. If this block wasset up before
process 1executed blockN19, X moves
to 100. If this block wasset up after
block N19is executed, Xmoves to25.
Since there is no way to consistently tell when block N33 in Example 30.2
is set up, an inconsistent destination for the block can result. When block
N33 is set up, depends on many factors, like what features you are
currently using, the speed of execution, and complexity of blocks in both
processes (see block lookahead in chapter 21 for details). To make certain
that block N33 is not set up until process 1 releases process 2, use one of
the synchronization-with-setup M-codes.
Example 30.3
Correct Use of Synchronization with Set up for Shared Paramacro
Parameters
Process 1 Comment Process2 Comment
N17 #7100=100; Paramacro parameter 7100 isset to 100
N32 M151; Process pauses, waitingfor M151 in
process 1. Block N33is setupin buffer
prepared for execution.
N18 Z#7100;
N19 #7100=25 Paramacro parameter 7100 isset to 25
N20 M151; Process 2is releasedfrom pause and any setup
bufferread into process 2block lookaheadis
purged and set up again.
N33 X#7100; X axis movesto 25.
You can use synchronization-with-setup any time synchronization is
necessary, but it does have some cost to system efficiency and can slow
your system down. We recommend that you use M150 -- M199 only when
you change shared paramacro parameters. For most applications, simple
synchronization (M100-M149) is sufficient.