10
Motion-Synchronous Action 12.97
10.3 S
ecial real-time variables for s
nchronized actions
10
840 D
NCU 572
NCU 573
810 D
CCU2
840Di
ï›™
Siemens AG 2000. All rights reserved
10-358
SINUMERIK 840D/840Di/810D/FM-NC Programming Guide Advanced (PGA) – 04.00 Edition
Programming example
Circulating memory
During a production run, a conveyor belt is used to
transport products of different lengths (a, b, c, d).
The conveyor belt of transport length "I" therefore
carries a varying number of products depending on
the lengths of individual products involved in the
process. With a constant speed of transport, the
function for removing the products from the belt
must be adapted to the variable arrival times of the
products.
a
b
c
d
l
DEF REAL INTV=2.5
Constant distance between products placed
on the belt.
DEF REAL TOTAL=270
Distance between length measurement and
removal position.
EVERY $A_IN[1]==1 DO $AC_FIFO1[4]=0
Reset FIFO at beginning of process.
EVERY $A_IN[2]==1 DO $AC_TIMER[0]=0
If a product interrupts the light barrier, start
timing.
EVERY $A_IN[2]==0 DO $AC_FIFO1[0]=$AC_TIMER[0]*$AA_VACTM[B]
;If the light barrier is free, calculate and store in the FIFO the product length from
the time measured and the velocity of transport.
EVERY $AC_FIFO1[3]+$AC_FIFO1[4]*BETW>=TOTAL DO POS[Y]=-30
$R1=$AC_FIFO1[0]
;As soon as the sum of all product lengths and intervals between products is greater than
or equal to the length between the placement and the removal position, remove
the product from the conveyor belt at the removal position, read out the product
length out of the FIFO.