S900-II Programming - Level 2
S900-II Programming - Level 2
com
USERGUIDE
S900-II
Programming - Level 2
Version 2.1
WARNING - Reliance on this Manual Could Result in Severe Bodily Injury or Death!
This manual is out-of-date and is provided only for its technical information, data and capacities. Portions of this manual
detailing procedures or precautions in the operation, inspection, maintenance and repair of the product forming the subject
matter of this manual may be inadequate, inaccurate, and/or incomplete and cannot be used, followed, or relied upon.
Contact Conair at info@conairgroup.com or 1-800-654-6661 for more current information, warnings, and materials about
more recent product manuals containing warnings, information, precautions, and procedures that may be more adequate
than those contained in this out-of-date manual.
Corporate Office: 412.312.6000 l Instant Access 24/7 (Parts and Service): 800.458.1960 l Parts and Service: 814.437.6861
Programming S900–II Level 2
Version 2.1 |–>
CONTENTS
!" .3897:(9.43 114(&9.43
!" .3897:(9.43 !*99.3, 94 ?*74
.3897:(9.43 43).9.438 &3) 9*89.3,
"-* '.98 "
!>89*2 '.98 &((*88.'1* .3 7*&) 431>
!>89*2 '.98 &((*88.'1* .3 7*&) &3) <7.9*
#8*7 '.98 &((*88.'1* .3 7*&) &3) <7.9*
'.98 <47)8 %
.89 4+ % 8
'.9 8>89*2 <47)8 %
*9&.18 4+ 9-* '.9 8>89*2 <47)8
"-*
'.9 <47)8 %%
"-*
'.9 :8*7 <47)8
"-*
'.9 8>89*2 <47)8 %%
*9&.18 4+ 9-*
'.9 8>89*2 <47)8
" .3897:(9.43 4:39*7 -&3)1.3,
!9&3)&7) (4:39*78 " 94
!9&(0.3, (4:39*78 " 94
"-* 9.2* )*1&>8 "
!:22&7> 4+ .3897:(9.438
4947.?*) 24;*2*39 (4)*8
4;*2*39 (4)*
5*7&3)
7*5&7&947> +:3(9.438 # 4+ 9-* 3:2*7.( &=*8
$ !5**) &.39&.3*)
! !14< &5574&(- "*2547&7>
01T01520_1
i
25.11.99
Programming S900–II Level 2
Version 2.1 |–>
/%($
/%($ $,*&, $0*+
" #&+,*-,#'&+
" ''$& '(*&+
,*-,-* '(*&+
" #&+,*-,#'& '+
(($#,#'& /%($+
'%#&,#'& *$0 *.#&!+
)-&,#$ * , *.#&!
'&#,'*#&!
01T01520_0
ii
25.11.99
Programming S900–II Level 2
I – Main program instructions
Version 2.1 |–>
I – 1. The instruction
I – 1. 1. The operands
Timer TIM 000 –> 15 Internal boolean variable resulting from the
PLC timer.
Word WRD 000 –> 4095 General data in 16 bit memory.
Double Word WWRD 000 –> 127 General data in 32 bit memory.
01T01520_1
1
25.11.99
Programming S900–II Level 2
I – Main program instructions Version 2.1 |–>
= Allocation of a value
+ Addition
Capacity overrun in WORD or WWORD is
– Subtraction not tested.
* Multiplication
/ Whole number division (remainder not kept)
Logic operators
01T01520_0
2
25.11.99
Programming S900–II Level 2
I – Main program instructions
Version 2.1 |–>
. IF CNT 07 5
if CNT 07 = 2
so if the condition is true, the following instruction will be executed.
If the contents of counter 0008 is greater than or equal to 2300 in decimal then the
condition is confirmed and the following SP 61 will be executed.
01T01520_1
3
25.11.99
Programming S900–II Level 2
I – Main program instructions Version 2.1 |–>
34 –> 127 User bits accessible in read and write by the main program PRG or PLC
01T01520_0
4
25.11.99
Programming S900–II Level 2
I – Main program instructions
Version 2.1 |–>
I – 4. 1. List of WORDs
01T01520_1
5
25.11.99
Programming S900–II Level 2
I – Main program instructions Version 2.1 |–>
01T01520_0
6
25.11.99
Programming S900–II Level 2
I – Main program instructions
Version 2.1 |–>
128 64 32 16 8 4 2 1
80_H 40_H 20_H 10_H 8_H 4_H 2_H 1_H
ROBOT– EN– EN–
EN–REGL EN–SEMI EN–AUTO
OFF PROGR ARRET
128 64 32 16 8 4 2 1
80_H 40_H 20_H 10_H 8_H 4_H 2_H 1_H
SECU STOP
STOP : General request for an immediate stop. (At 1 for example if the DPCY button is released in
SEMI–AUTO mode whilst the step is being executed).
SECU : General request for a safety stop (E.g. : no power).
01T01520_1
7
25.11.99
Programming S900–II Level 2
I – Main program instructions Version 2.1 |–>
128 64 32 16 8 4 2 1
80_H 40_H 20_H 10_H 8_H 4_H 2_H 1_H
ROBOT– EN– EN–
EN–REGL EN–SEMI EN–AUTO
OFF PROGR ARRET
Note : Even though it reflects the MotMode word, this word is updated by operating modes, taking
into account the actual mode being used.
Step by Step mode selected but robot is carrying out a Home Return or a Tool Change Position which
have special operating modes.
– WRD 35 – MotSta2 (E2)
Set and Reset using ”Operating modes”.
Each bit of this word is set to 1 after the procedure start request has been reset or the task (where used)
has been launched.
128 64 32 16 8 4 2 1
80_H 40_H 20_H 10_H 8_H 4_H 2_H 1_H
EN–
EN–DEF EN–WARN WWRD63 – EN–VISU EN–PROG EN–EXEC
ETEND
128 64 32 16 8 4 2 1
80_H 40_H 20_H 10_H 8_H 4_H 2_H 1_H
RO–SIM-
RO–AUTO RO–TOTAL EN–PCO EN–ARFCY EN–CYCLE
PLE
EN–CYCLE : Indicator for robot in cycle (once START has been pressed).
EN–ARFCY : Indicator for end of auto cycle running.
EN–PCO : Indicator for PCO procedure running.
RO–SIMPL : Indicator for simple HR running.
RO–TOTAL : Indicator for total home reutrn running.
RO–AUTO : Indicator for automatic simple return (part grip fault in the mould).
V 2.0 Robot
EN–SUSP : Indicator for robot cycle suspended.
128 64 32 16 8 4 2 1
80_H 40_H 20_H 10_H 8_H 4_H 2_H 1_H
ACT 4 ACT 3 ACT 2 AXE C AXE B AXE Z AXE Y AXE X
01T01520_1
9
25.11.99
Programming S900–II Level 2
I – Main program instructions Version 2.1 |–>
128 64 32 16 8 4 2 1
80_H 40_H 20_H 10_H 8_H 4_H 2_H 1_H
VAR_C_
PUISS_OK BAUR_OK SURC_X SURC_Y SURC_Z SURC_B SURC_C
OK
128 64 32 16 8 4 2 1
80_H 40_H 20_H 10_H 8_H 4_H 2_H 1_H
BRAS2_ BRAS1_ BRAS2_ SECU_ SECU_ HOMME_
PROTECT TRANSIST
HM HAUT HAUT ROT1 ROT2 OK
01T01520_0
10
25.11.99
Programming S900–II Level 2
I – Main program instructions
Version 2.1 |–>
128 64 32 16 8 4 2 1
80_H 40_H 20_H 10_H 8_H 4_H 2_H 1_H
GV_ACT8 GV_ACT7 – GV_ACT5 GV_ACT4 GV_ACT3 GV_ACT2 DEF_ROT
128 64 32 16 8 4 2 1
80_H 40_H 20_H 10_H 8_H 4_H 2_H 1_H
RO– RO– DEM– DEM–
APPR–OK RO–AUTO – DEM–PCO
TOTAL SIMPL AFCY START
DEM–START : Request for start of robot cycle execution. (In Step by Step mode, this request is
repeated if the START key or START input is validated – Release and press).
DEM–AFCY : Request for robot stop at end of cycle.
DEM–PCO : Request for execution of the PCO procedure.
RO–SIMPL : Request for a simple home return.
RO–TOTAL : Request for a total home return.
RO–AUTO : Request for an automatic simple return.
APPR–OK : Request for information showing that the teaching requested has been recorded and
execution can continue.
– 42 – MotExe2 (X2)
128 64 32 16 8 4 2 1
80_H 40_H 20_H 10_H 8_H 4_H 2_H 1_H
FIN2PAS – APPRGT APPRENT FIN_PCO FIN_RO FIN_PAS FCYCLE
FCYCLE : Return showing that the cycle is finished. (Reply given after end of cycle stop
request).
FIN_PAS : Return showing the end of step execution. Used in Step by Step mode.
01T01520_1
11
25.11.99
Programming S900–II Level 2
I – Main program instructions Version 2.1 |–>
FIN_RO : Return showing the end of execution of the home return requested (simple return,
total, point or auto).
FIN_PCO : Same for PCO.
APPRENT : Request for move to teaching mode.
APPRGT : Request for move to teaching mode in the GEN STK header.
FIN2PAS : Return showing the end of SPP step execution. Used in Step by Step mode.
– WRD 43 – MotDial1 (M1)
– WRD 44 – MotDial2 (M2)
Status of data required for dialogue with IMM 1 and 2.
128 64 32 16 8 4 2 1
80_H 40_H 20_H 10_H 8_H 4_H 2_H 1_H
EJECT_ MACH_ MOUL_ PORTE_ OUV_ AUT_
FIN_NOY1 EJECT_IN
OUT OUV FERM FERM PART SAUT
128 64 32 16 8 4 2 1
80_H 40_H 20_H 10_H 8_H 4_H 2_H 1_H
KLAX–ON KLAX–OFF
128 64 32 16 8 4 2 1
80_H 40_H 20_H 10_H 8_H 4_H 2_H 1_H
DEPL_ZM DEPL_ZP DEPL_YM DEPL_YP DEPL_XM DEPL_XP DEC_VIT INC_VIT
b7 b0
Number . 00 to 63 in Hexadecimal
. 00 to 99 in Decimal
Number . 00 to 63 in Hexadecimal
. 00 to 99 in Decimal
Type of sequence :
FA = Standard subroutine
FB = Home return subroutine
01T01520_1
13
25.11.99
Programming S900–II Level 2
I – Main program instructions Version 2.1 |–>
Number . 00 to 63 in Hexadecimal
. 00 to 99 in Decimal
b15 b12 b8 b4 b0
0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0
01T01520_0
14
25.11.99
Programming S900–II Level 2
I – Main program instructions
Version 2.1 |–>
128 64 32 16 8 4 2 1
80_H 40_H 20_H 10_H 8_H 4_H 2_H 1_H
TAIL_ME TAIL_MO
JBUS ANTICIP 2_IMP E17 PC MOD
M D
01T01520_1
15
25.11.99
Programming S900–II Level 2
I – Main program instructions Version 2.1 |–>
0 0 0 0 BX
0 0 0 1 BY
0 0 1 0 BZ
0 0 1 1 BB
0 1 0 0 BC
0 1 0 1 AX
0 1 1 0 AY
0 1 1 1 AZ
Reserved
128 64 32 16 8 4 2 1
80_H 40_H 20_H 10_H 8_H 4_H 2_H 1_H
ssp ss64 ss32 ss16 ss8 ss4 ss2 ss1
ss1, ss2, ss4, ss8, ss16, ss32 : Binary encoding of program number.
ssP : Parity bit (there should always be an even number of bits set to 1).
Note : In “short” encoding, only bits ss1 to ss8 and ssP are used. Bit ssP is not required if the word
is written by the Host.
128 64 32 16 8 4 2 1
80_H 40_H 20_H 10_H 8_H 4_H 2_H 1_H
DEM– DEM– DEM– PLU– DEM– DEM–
DEM–RO DEM–PCO
ARRET MONIT PROG DPCY AFCY DPCY
01T01520_0
16
25.11.99
Programming S900–II Level 2
I – Main program instructions
Version 2.1 |–>
128 64 32 16 8 4 2 1
80_H 40_H 20_H 10_H 8_H 4_H 2_H 1_H
DEM_RO_ DEM_RO_ DEM_SS_ DEM_SS_ DEM_RST DEM_RST DEM_STA
–
TOTAL SIMPL ROB2 ROB1 2 1 RT
Note : Word 60 ”MotDem2” must be positionned before the HR is requested by Word 59 ”MotDem1”.
01T01520_1
17
25.11.99
Programming S900–II Level 2
I – Main program instructions Version 2.1 |–>
Number
Structures / Functions
(logic address)
WWRD 0
–> 56 user words with no predefined function.
WWRD 55
Number
Abbreviation Structures / Functions *
(logic address)
Duration of high speed pulses (in milliseconds)
V 1.3 Robot WWRD 56 – Pneumatic ascent 1. R/W
V 0.5 PC Editor WWRD 57 – Pneumatic ascent 2. R/W
WWRD 58 – Pneumatic descent 1. R/W
WWRD 59 – Pneumatic descent 2. R/W
WWRD 60 – Pneumatic arm advance. R/W
WWRD 61 – Pneumatic arm retreat. R/W
Value of programmed delay for anticipated restart (in
WWRD 63 – R/W
tenths of seconds).
WWRD 64 AC Mould position (Euromap 17). R
V 2.0 Robot
WWRD 65 AE Ejector position (Euromap 17). R
WWRD 68 NP Number of parts to be made. R/W
WWRD 76 NG Number of good parts treated by the robot. R/W
WWRD 77 PX Current position of the X axis in 1/10 mm or 1/10°. R
WWRD 78 PY Current position of the Y axis in 1/10 mm or 1/10°. R
WWRD 79 PZ Current position of the Z axis in 1/10 mm or 1/10°. R
WWRD 81 PB Current position of the B axis in 1/10 mm or 1/10°. R
WWRD 82 PC Current position of the C axis in 1/10 mm or 1/10°. R
WWRD 83 PD Current position of the N1 axis in 1/10 mm. R
WWRD 84 PE Current position of the N2 axis in 1/10 mm. R
WWRD 85 PF Current position of the A1 axis in 1/10 mm. R
WWRD 86 PG Current position of the A2 axis in 1/10 mm. R
WWRD 87 –>
Reserved for Euromap 17. R
WWRD 101
WWRD 102 AN Number of program to be executed (Euromap 17). R
WWRD 103 SW Exchange word for Euromap 17. R
01T01520_0
18
25.11.99
Programming S900–II Level 2
I – Main program instructions
Version 2.1 |–>
The WWORDs used for Euromap 17 are described in the “Using Euromap 17 on Sepro S900–II
robots” manual.
I – 5. 3. Details of the 32 bit system words
You can use the instructions IF and SET ... WWRD (in 1st operand).
The values marked on the first line are in decimal, those on the second line in hexadecimal. They
correspond to the weight of the significant bit.
128 64 32 16 8 4 2 1
80_H 40_H 20_H 10_H 8_H 4_H 2_H 1_H
TOUCH_Z TOUCH_Y TOUCH_X TOUCH_W TOUCH_P TOUCH_O TOUCH_H TOUCH_G
128 64 32 16 8 4 2 1
80_H 40_H 20_H 10_H 8_H 4_H 2_H 1_H
VERT– VERTI-
– – TYP_BB TYP_BA MIXTE LATERAL
AXIAL CAL
01T01520_1
19
25.11.99
Programming S900–II Level 2
I – Main program instructions Version 2.1 |–>
Subroutine number
No 00 to 15 16 to 40 41 to 60 61 to 80 81 to 99
16 standard
00 counters 1 counter 1 counter
per Regular per General
stacking stacking
01 subroutine subroutine
to
99
DEC CNT 7567 : the counter of subroutine No. 67 of main program 75 is decremented.
Stacking counters are not implicitly affected. If necessary, it is possible to increase or decrease an
interrupted stacking routine by programming the increase or decrease implicitly conditioned by
having a value of 1 for the ”stacking in progress” (BIT007).
IF BIT 007
DEC. STK
The stacking counters will be reset to zero but not those being used by the PLC.
4 operations can be performed on the counters :
SET Allocation of an operand.
RESET Setting the counter to zero (also possible using the SET instruction).
INC Increment ; counter(t) = counter (t–1) + 1.
DEC Decrement ; counter(t) = counter (t–1) – 1.
01T01520_0
20
25.11.99
Programming S900–II Level 2
I – Main program instructions
Version 2.1 |–>
b15 b0
The corresponding 16 bits words
and the addresses are continuous. C 2EA
See table for valid There are no gaps in the
numbers. numbering : CNT0161
. from 0000 to 9999 (in decimal)
CNT0080 = WRD0135 –> C2A0 in the general subroutine No. 61
CNT0141 = WRD0136 –> C2A2
of the main program No. 01.
CNT0180 = WRD0175 –> C2F0
CNT0241 = WRD0176 –> C2F2
01T01520_1
21
25.11.99
Programming S900–II Level 2
I – Main program instructions Version 2.1 |–>
01T01520_0
22
25.11.99
Programming S900–II Level 2
I – Main program instructions
Version 2.1 |–>
I – 8. Summary of instructions
Wwrd
Wwrd
Rangt
WRD
WRD
AND
OUT
CNT
CNT
TIM
BIT
OR
= + – * /
IN
IN
= >= <=
H
032 000
127 255
00 00
FFFF
0000
9999
0000
15 000 15 000 0000
0041 0041
SET 4095 255 4095
9980 9980
00
FFFFFFFF
00000000
99999999
00000000
000 15 000 0000 000
0041
127 255 4095 127
9980
00
032 000 00 000
15
RST 127 255 127
0041 4095
9980
00 00
FFFF
000
0000
9999
0000
15 15 000 0000
0041 0041
4095 4095
255
IF
9980 9980
00
FFFFFFFF
00000000
99999999
00000000
00
15
INC
0041
9980
00
DEC 15
0041
9980
00 00
TIME 15 999
01T01520_1
23
25.11.99
Programming S900–II Level 2
I – Main program instructions Version 2.1 |–>
axis to be operand
controlled
movement type of
code movement
I – 9. 1. Movement code
Having selected the axis to be controlled (if it is motorized) the following movements are
proposed :
Details of these movement codes are given in the Programming S900–II Level 1 Manual.
STK : Stacking movement
Use of this stacking movement is described in chapters II – page 28 and III – page 35.
MOULD / EJECT. : Movements associated with the Euromap 17 option
Use of these instructions is described in the “Using Euromap 17” manual.
POSA / POSN / VELA / VELNN : Servo–controlled movements
Use of these instructions is described in the “Mould chasing” manual.
01T01520_0
24
25.11.99
Programming S900–II Level 2
I – Main program instructions
Version 2.1 |–>
I – 9. 2. Operand
After selecting the movement code, the operand can be given a numerical value (in 1/10 mm or in 1/10
degrees). One of the following functions can be used :
01T01520_1
25
25.11.99
Programming S900–II Level 2
I – Main program instructions Version 2.1 |–>
Master| Line | | |
Note : The Acc, Imp, Master and Line instructions are described in the Programming Level
1 manual.
The MOULE and EJECT speeds are reserved for Euromap 17 evolutions.
01T01520_0
26
25.11.99
Programming S900–II Level 2
I – Main program instructions
Version 2.1 |–>
Step 08 SLA Y 10
Y ABS.L 1200.0
Grip part 1
Grip part 2
Speed
100 %
Loss of FAL
or Loss of End of Slow Speed
or Part 1 present
or Part 2 present
10 %
1200.0 d (mm)
01T01520_1
27
25.11.99
Programming S900–II Level 2
II – Regular stacking subroutines Version 2.1 |–>
The regular stacking subroutines are subroutines 41 to 60. They are used to simplify the organization
of pallets or an existing column/layer organization.
They can be named (maximum 30 characters) in order to denote the palletization being done.
SP 42 Cover on pallet 2
Structure :
The stacking subroutines are comprised of 2 parts :
A header : States the pallet organization.
A program : Cycle describing the picking or the placing of the first part on the pallet.
SP41 to 60
header
Step 00
. . . .
Step 01
. . . . program
Step n
END
Stacking counter :
A usable counter with a logic address that can be displayed is allocated to each stacking program.
CNT xxnn xx : Main program number
nn : Number of subroutine concerned
The stacking counter is reset to 0 when a TOTAL home return is carried out. A simple home return
has no effect on the stacking unless otherwise programmed.
The stacking counter is increased at each decoding of the stacking subroutine header. When it is equal
to the number of parts to be stacked, the counter is set to 1 at the following decoding.
01T01520_0
28
25.11.99
Programming S900–II Level 2
II – Regular stacking subroutines
Version 2.1 |–>
Header :
The header is completed using a dialogue box. This takes the form of a set of questions which vary
according to whether the stacking is carried out with or without staggering.
Definitions :
Row : Alignment of parts parallel to X–axis.
Column : Alignment of parts parallel to Y–axis.
Layer : Stacking of parts on Z–axis.
Part No. 1 is located in row 1, column 1, layer 1.
Command at end of layer, stack, pallet :
The possible commands are : OUT _ _ _ (from 0 to 127)
BIT _ _ _ (from 34 to 127)
The command is activated by the system if the following conditions are satisfied :
The stacking counter has as a value the number of parts in a layer or stack (end of layer or
stack) or the number of parts on the pallet (end of pallet).
The system decodes the relevant stacking subroutine header.
The command activated by the system is set to 1. The following commands are then available :
SET OUT _ _ _
or SET BIT _ _ _
Do not forget, therefore, to program RST OUT _ _ _ or RST BIT _ _ _ in the program sequence.
01T01520_1
29
25.11.99
Programming S900–II Level 2
II – Regular stacking subroutines Version 2.1 |–>
Header statements :
30 29 28 27 26
X
26
Y Z
16
25 24 23 22 21
6
15 14 13 12 11
500 (X gap)
Row
Column
Layer
6
Layer 1
Row 1
5 4 3 2 1 (parts 1.2.3.4.5)
(parts 1.2.3.4.5) 6.7.8.9.10
Column 1 (parts 1 to 6)
Row 1, column 1 and layer 1 have got the same origin : part No. 1.
Limit values
Staggered no (0) or yes (1)...........0
By layers (0) or stacks (1)...........0
Stacking (0) or unstacking (1)........0
Stacking (0) or unstacking (1)........0
Number of parts in X row 1............5 1 to 99
Gap X between parts row 1.............+500.0 –9999.9 to 9999.9
Number of parts in Y column 1.........2 1 to 99
Gap Y between parts column 1..........–700.0 –9999.9 to 9999.9
Number of layers......................3 1 to 99
Gap between layers....................500.0 0 to 9999.9
Command at layer end or stack end.....BIT100 OUT. . . / BIT . .
Command at pallet end.................BIT100 OUT. . . / BIT . .
01T01520_0
30
25.11.99
Programming S900–II Level 2
II – Regular stacking subroutines
Version 2.1 |–>
Y 200
Z
300 100
280 50 30
4
3
400
2
5 row 1
1 (parts 1.5)
row 2
13 9 (parts 9.13)
21 17
Layer 2
Layer 1 25
29
37 33
column 2 column 1
(parts 9.25) (parts 1.17.33)
01T01520_1
31
25.11.99
Programming S900–II Level 2
II – Regular stacking subroutines Version 2.1 |–>
Program :
Calling a stacking subroutine :
The structure for calling a stacking subroutine is identical to those of standard subroutines. The only
difference is the execution choice the system proposes
Normal
Reverse
The ”Reverse” selection allows the execution of the program in the opposite way to that initially stated.
In ”normal” execution mode, the stacking counter is increased before the distances are calculated. In
”reverse” execution mode, the distances are calculated before the counter is decreased.
The ”end of layer”, ”end of pallet” bits are also positioned in a coherent fashion. This function is
mainly of interest in the management of stock reserves.
Programming a stacking subroutine :
The movements for stacking calculations are programmed using the following codes :
X STK
Y STK
Z STK
When the program is running, the processor calculates position adjustments to be made in relation to
the first pick–up/set–down programmed.
Sytem bits :
For the programmer use, the system sets the bits for choosing placement orientation, depending on
whether the parts belong to odd or even lines.
Bit 0 : Reverse stacking operation bit.
Bit 1 : End of layer of stack bit.
Bit 2 : End of pallet bit.
Bit 3 : Odd row in progress bit.
Bit 4 : Odd column in progress bit.
Bit 5 : Odd layer in progress bit.
Bit 6 : Odd counter bit.
Bit 7 : Stacking in progress bit.
Bit 7 is set (if the conditions are fulfilled) from the moment the routine header is decoded until the word
END is run or until a sequence returning to a label other than 00 is called.
The programmed bits or outputs must be reset to zero by the programmer once they have been used.
Bits 0 to 5, at the end of the layer or pallet, are positioned when the header is decoded and are set to
zero after a total home return.
01T01520_0
32
25.11.99
Programming S900–II Level 2
II – Regular stacking subroutines
Version 2.1 |–>
6 5 4 6 3 5
01T01520_1
33
25.11.99
Programming S900–II Level 2
II – Regular stacking subroutines Version 2.1 |–>
Y+
2 1 5 4 2 3 1
5 4 3
7 6 7 6
01T01520_0
34
25.11.99
Programming S900–II Level 2
III – General stacking subroutines
Version 2.1 |–>
The general stacking subroutines are subroutines 61 to 80. They are designed to describe stacking of
parts that are not regular but that are repeated over several layers or several times in a cycle.
Each layer is described as follows :
The first part is used as the absolute reference.
The positions of subsequent parts are treated as relative (in relation to the first part) –> Gaps.
A data item is allocated to each position, describing the position of the rotations (ROTWRD
= Rotation word).
Subroutine 61
Stacking to be taught ?
YES | NO | | |
01T01520_1
35
25.11.99
Programming S900–II Level 2
III – General stacking subroutines Version 2.1 |–>
The rotations shoud be positionned with the , , , and keys before confirming
1 if input E–ACT16 = 1
0 if input E–ACT16 = 0
Pressing enables you to store the gaps of the declared axes and the rotation Word
(RotWrd), if parameter 5 = 1, and go on to the next part, or the next layer, or the actual program.
III – 2. 3. Creating the program
After acquiring data on the last part of the last layer, the routine itself is edited.
Positions X, Y, Z, B, C, if the axes are declared, have been stored. They will be restored by keying in
codes : X.STK.L VAL Stk. If the position is suitable, just press .
01T01520_0
36
25.11.99
Programming S900–II Level 2
III – General stacking subroutines
Version 2.1 |–>
Subroutine 61
Stacking to be taught ?
YES | NO | | |
the , + keys to choose the variable at the end of the layer of the pallet,
01T01520_1
37
25.11.99
Programming S900–II Level 2
III – General stacking subroutines Version 2.1 |–>
The keys : [layer –] and [layer +] are used to increase or decrease the layer number.
The and keys are used to move the axis to be processed forwards or backwards or RotWrd.
Note : Once you have entered a value followed by , you go on to the following value
(following part, following layer).
b7 b6 b5 b4 b3 b2 b1 b0 RotWrd bits
80 40 20 10 8 4 2 1 Bit weight
0 0 0 0 0 0 1 0 RotWrd value = 02 H
Bit 16
Bit 17
Bit 18
Bit 19 System
Bit 20 bits
Bit 21
Bit 22
Bit 23
– IF BIT 016
ACT.09
– IF/BIT 016
ACT.10 Example for a robot equipped with 2 standard
pneumatic rotations.
– IF BIT 017
ACT.13
– IF/BIT 017
ACT.14
01T01520_0
38
25.11.99
Programming S900–II Level 2
III – General stacking subroutines
Version 2.1 |–>
When the stacking subroutine header is executed, the following bits are set :
Bit 0 : Reverse stacking operation bit
Bit 1 : End of layer bit
Bit 2 : End of pallet bit
Bit 3 : } Not significant (used in Regular stacking)
Bit 4 : } Not significant (used in Regular stacking)
Bit 5 : Odd layer in progress bit
Bit 6 : Odd counter bit
Bit 7 : Stacking in progress bit
BIT 16 at 1 indicates that a rotation ACT 09 is to be carried out
BIT 16 at 0 indicates that a rotation ACT 10 is to be carried out
BIT 17 at 1 indicates that a rotation ACT 13 is to be carried out
BIT 17 at 0 indicates that a rotation ACT 14 is to be carried out
BIT 18 at 1 indicates a rotation with a stopper ACT.16
BIT 18 at 0 indicates a rotation without a stopper ACT.16.
01T01520_1
39
25.11.99
Programming S900–II Level 2
III – General stacking subroutines Version 2.1 |–>
III – 5. Example 1
X
Gx = 450
Gy = 400
5
Y
Z
3
Gx = 120
4
Rotation 2 2
(A13 A14) 250
2
1
Gx = 600
Gx = 300
Reference point
Alternated layers no (0) or yes (1)...0
Stacking (0) or unstacking (1)........0
Number of layers......................1
Gap between successive layers.........250,0 this parameter should not be given a
Number of parts layer 1 ”i”..........5 value if the number of layers is 1,
Command at layer end or stack end.....OUT10 which is the case in the example.
Command at pallet end.................BIT107
GAPS :
Part 1 Layer 1
Gx = 0 Gy = 0 Gz = 0
B= 0 C= 0 RotWrd = 3
Part 2 Layer 1
Gx = 300.0 Gy = 0 Gz = 0
B= 0 C= 0 RotWrd = 3
Part 3 Layer 1
Gx = 600.0 Gy = 0 Gz = 0
B= 0 C= 0 RotWrd = 3
Part 4 Layer 1
Gx = 120.0 Gy =400.0 Gz = 0
B= 0 C= 0 RotWrd = 1
Part 5 Layer 1
Gx = 450.0 Gy =400.0 Gz = 0
B= 0 C= 0 RotWrd = 1
01T01520_0
40
25.11.99
Programming S900–II Level 2
III – General stacking subroutines
Version 2.1 |–>
X
6th
Y 500
Z 5th
4th
Rotation 2
(A13 A14) 2nd
Gx = +200
1st
1
2
3
Gx = –200
Alternated layers no (0) or yes (1)...1 1 Gy = –200
Stacking (0) or unstacking (1)........0 2 Gy = –400
Number of layers......................2
3 Gy = –600
Gap between layers of same type.......500,0
Number of parts layer 1 ”i”..........3
Number of parts layer 2 ”p”..........3
Command at layer end or stack end.....OUT10
Command at pallet end.................BIT107
GAPS :
Part 1 Layer 1 (1st Part)
Gx = 0 Gy = 0 Gz = 0
B= 0 C= 0 RotWrd = 0
Part 2 Layer 1 (2nd Part)
Gx = –200.0 Gy =–400.0 Gz = 0
B= 0 C= 0 RotWrd = 1
Part 3 Layer 1 (3rd Part)
Gx = 200.0 Gy =–400.0 Gz = 0
B= 0 C= 0 RotWrd = 1
Part 1 Layer 2 (4th Part in drawing)
Gx = –200.0 Gy =–200.0 Gz = 250.0
B= 0 C= 0 RotWrd = 1
Part 2 Layer 2 (5th Part in drawing)
Gx = 200.0 Gy =–200.0 Gz = 250.0
B= 0 C= 0 RotWrd = 1
Part 3 Layer 2 (6th Part in drawing)
Gx = 0 Gy =–600.0 Gz = 250.0
B= 0 C= 0 RotWrd = 0
01T01520_1
41
25.11.99
Programming S900–II Level 2
IV – Parallel subroutines – SP81 to 99 – Version 2.1 |–>
The parallel subroutines are subroutines 81 to 99. They are also groups of instructions, structured in
a sequential manner.
They are executed in parallel to the normal running of the cycle.
There is no return address for the Parallel subroutines.
SP 01
Step 11
Step 0
SPP 81 is started whilst
SP01 is running.
Step 5 SP81L00
The system bit number 10 is set to 1 when the SPP is started and goes back to 0 at the end of the SPP.
A few restrictions :
Only one Parallel Subroutine can be active at a certain time. The calling–up of a second one
before the first one is finished, triggers the fault D_73: PARALLEL SP ALREADY
RUNNING.
In an SPP, all the instructions of the main program can be used, apart from :
the MASTER preparatory function and consequently all triggered movements and CTL
controls,
the special instructions Await machine cycle and Await validation
PRG change.
Calling–up of other SPs or SRs.
Moreover, for robots using PIP parameters, the following instructions are taken into account during
machine dialogue in the part program only. They are ignored in the SPP :
Validation machine cycle
part grips in the IMM.
01T01520_0
42
25.11.99
Programming S900–II Level 2
IV – Parallel subroutines – SP81 to 99 –
Version 2.1 |–>
It is not possible to activate two SPPs at the same time or launch the execution of an SPP that is already
running. Therefore, using this bit 10, you can check whether an SPP has finished before starting
another one.
System bit number 10, which is automatically set by the system to 1 when the SPP starts and to 0 when
it is finished, may be used.
Step 09 L01
IF BIT 10 Wait loop at the end of the SPP
SP 00 L01
Start SPP
Step 10 SP 81 L00
or more simply
SIMPLE or TOTAL home return or PCO requests CANCEL the SPP running and reset the system bit
10 to 0.
01T01520_1
43
25.11.99
Programming S900–II Level 2
V – Built in PLC Version 2.1 |–>
V – BUILT IN PLC
V – 1. General information
SEPRO NUMERICAL CONTROL SYSTEM PERIPHERAL INSTALLATIONS
Sensors: – push–buttons,
– mechanical limit switches,
Report
– proximity sensors,
Inputs – photoelectric cells,
– manostats,
– pressure switches,
– etc.
PLC
Actuators : – lamps,
Orders – horns,
– power contactors for coupling
Outputs motors,
– electromagnetic relays,
– solenoid valves,
– distribution valves,
– etc.
The command part of a simple automated installation can be managed by the PLC which is an
additional function in the main program PRG of the robot. It is distinguished by :
cyclic scanning every tenth of a second in AUTO and STEP BY STEP modes.
the possible use of sequential or combination programming.
Each PLC program must be associated with a main program (PRG). Operands are common to the PLC
and the PRG.
PRG PLC
Program memories :
An instruction in the Sepro PLC can describe a contact, a coil, a counter, etc ...
The last instruction of the program is always END OF PLC PROGRAM. This instruction resets the
central processing unit to line 0 of the PLC program.
01T01520_0
44
25.11.99
Programming S900–II Level 2
V – Built in PLC
Version 2.1 |–>
V – 2. The instructions
Code
Instruction Operand 1 Operator Operand 2
IN
Outputs :
OUT
BIT
! BIT 000
Read–only system bits
BIT 030
BIT 031
BIT 032 Read/write system bits
BIT 033
BIT 034
Read/write user bits
BIT 127
TIM :
TIM
2 digits from 00 to 15
=> bits resulting from associated TIMERS (TIMER 00 to
TIMER 15)
01T01520_1
45
25.11.99
Programming S900–II Level 2
V – Built in PLC Version 2.1 |–>
V – 2. 2. Structured operands
Words :
WRD
0000 to 4096
! WRD 0000
32 user words of 16bits
WRD 0031
WRD 0032
32 system words of 16 bits
WRD 0063
WRD 0064
4032 predefined words
WRD 4096
Double words :
WWRD
000 to 127
! WWRD 000
64 user words of 32 bits
WWRD 063
WWRD 064
64 system words of 32 bits
WWRD 127
Counters :
Program Subroutine
number number
01T01520_0
46
25.11.99
Programming S900–II Level 2
V – Built in PLC
Version 2.1 |–>
IN
01T01520_1
47
25.11.99
Programming S900–II Level 2
V – Built in PLC Version 2.1 |–>
IF . . .
IF . . .
IF . . . Tested operands
–
–
AND . . . Result operand
1) IN 28
& OUT 30 => > IF IN 28
IN 30
> IF IN 30
OUT 20
> IF / OUT 20
> AND OUT 30
IN 12 IN 30 OUT 40
2) OUT 20
=> > IF IN 12
> IF /IN 30
> IF OUT 40
> AND OUT 20
OR : Logic ”OR”
IF . . .
IF . . . Tested operands
IF . . .
–
– Result operand
OR . . .
A maximum of 16 successive tests is allowed
1) IN 28
1 OUT 30 => > IF / IN 28
IN 30
> IF IN 30
OUT 20
> IF OUT 20
> OR OUT 30
IN 29 > IF IN 29
> OR OUT 20
01T01520_0
48
25.11.99
Programming S900–II Level 2
V – Built in PLC
Version 2.1 |–>
Allocation
Set to 1 :
IF . . .
IF . . . Tested operands
IF . . .
–
– Result operand
SET . . .
A maximum of 16 successive tests is allowed
1) IN 28
& S OUT 30 => > IF IN 28
OUT 20
R > IF OUT 20
IN 30
> IF IN 30
> SET OUT 30
IN 12 IN 28 OUT 30
2) OUT 20 => > IF IN 12
OUT 20
> IF / IN 28
> IF OUT 30
> SET OUT 20
* Set to 0 :
IF . . .
IF . . . Tested operands
IF . . .
–
– Result operand
RST . . .
A maximum of 16 successive tests is allowed
01T01520_1
49
25.11.99
Programming S900–II Level 2
V – Built in PLC Version 2.1 |–>
INC CNT
Counter
No.
. Decrementation :
DEC CNT
Counter
No.
. Reset to zero :
RST CNT
Counter
No.
01T01520_0
50
25.11.99
Programming S900–II Level 2
V – Built in PLC
Version 2.1 |–>
Comparison
=
IF Operand 1 <= Operand 2
>=
Arithmetic operations
=
+
SET Operand 1 – Operand 2
/
x
=> depending on the operator, performs the following:
. assigns the value of Operand 2 to Operand 1,
. adds the two operands,
. subtracts Operand 2 from Operand 1,
. divides Operand 1 by Operand 2,
. multiplies the two operands.
=> the result overwrites the value contained in Operand 1.
Before:
CNT 0006 = 18_D (Decimal)
CNT 0012 = 6_D (Decimal)
After:
CNT 0006 = 3_D (Decimal)
01T01520_1
51
25.11.99
Programming S900–II Level 2
V – Built in PLC Version 2.1 |–>
Masks
“AND” mask :
1) Before:
WORD 40 = 0001 0000 1011 0110 (Binary); operand to evaluate
WORD 45 = 0110 1000 0111 0010 (Binary); mask operand
> SET WRD 40 AND WRD 45
After:
WORD 40 = 0000 0000 0011 0010 (Binary)
2) IN 07 = 0 IN 15 = 0
IN 08 = 0 IN 16 = 1
IN 09 = 1 IN 17 = 0
IN 10 = 0 IN 18 = 0
IN 11 = 0 IN 19 = 1
IN 12 = 1 IN 20 = 0
IN 13 = 0 IN 21 = 0
IN 14 = 1 IN 22 = 1 22 . . . . . . . . . . . . . . . . . . . . . . . ................. 7
!
On the display :
01T01520_0
52
25.11.99
Programming S900–II Level 2
V – Built in PLC
Version 2.1 |–>
”OR” mask :
Before:
WORD 40 = 0001 1001 0100 0111 (Binary); operand to evaluate
WORD 60 = 1011 0001 1110 1100 (Binary): mask operand
After:
WORD 40 = 1011 1001 1110 1111 (Binary)
01T01520_1
53
25.11.99
Programming S900–II Level 2
V – Built in PLC Version 2.1 |–>
Use :
TIMER VAL
=> starts the indicated timer for the period specified after VAL.
=> the associated result bit TIM is set to 1 when the timer runs out.
T01
1) IN 28 ( –––– ) S OUT 20
14.8 s R
IN 28 => > IF IN 28
IN 30
2) T03
4.8 s
T 03
OUT30
IN 30
=> >IF IN 30
TIMER 03
> TIMER 03 VAL 0048
TIM 03 > IF TIM 03
> AND OUT 30
OUT 30
4.8 s
01T01520_0
54
25.11.99
Programming S900–II Level 2
V – Built in PLC
Version 2.1 |–>
V – 3. Application examples
Since two different types of analysis may be applied, there are two possible types of encoding :
– COMBINATION (Relay drawings):
Advantages: . quick analysis
. simplifies program writing
Disadvantages: . debugging sometimes difficult
. troubleshooting sometimes difficult
. cycle safety functions difficult to set up
=> Suitable for simple applications.
or – SEQUENTIAL (Grafcet drawing):
Advantages: . easy debugging
. easier to program startups and restarts
. easier to program safety functions
. easier to troubleshoot
Disadvantages: . detailed analysis required
. takes longer to write program
. cycle safety functions difficult to set up
=> Suitable for sophisticated applications.
01T01520_1
55
25.11.99
Programming S900–II Level 2
V – Built in PLC Version 2.1 |–>
90 sec. T 01 90 sec.
T 01
OUT OUT10 180 sec.
10
C 01 9 000 sec.
C 01
OUT OUT10
10
01T01520_0
56
25.11.99
Programming S900–II Level 2
V – Built in PLC
Version 2.1 |–>
. Counter :
IF IN 01
1 pulse 999 pulses
IN01
INC.CNT 5 Counting
+1 IF CNT 5 >= 999
C5 IF IN 02
IN02 999 imp. RST.CNT 5 Reset
RST to zero
Sensor
A IN 28
Motor
OUT 20
If a part is detected in area A, the belt will be indexed for 1.7 seconds.
IN 28 BIT
S PLC 01
50 IF IN 28
T = 1.7 s
R SET BIT 50
IF BIT 50
SET OUT 20
BIT 50 T IF BIT 50
( ––––) TIMER 01 VAL 0017
IF TIM 01
RST OUT 20
BIT 50 IF TIM 01
S (OUT 20) RST BIT 50
T = 1.7 s
R
01T01520_1
57
25.11.99
Programming S900–II Level 2
V – Built in PLC Version 2.1 |–>
1) General case
CNT 01
=> > –
7 > –
T7 (IN 28) > IF CNT 01 = 7
8 > IF IN 28
> SET CNT 01 = 8
T8
> –
9
> –
01T01520_0
58
25.11.99
Programming S900–II Level 2
V – Built in PLC
Version 2.1 |–>
Programming actuators
CNT 01
4 OUT 30 OUT 20
5 BIT 50
CNT 02
> –
> –
> IF CNT 01 = 4
> OR OUT 30
> IF CNT 01 = 4
> OR OUT 20
> IF CNT 01 = 5
> OR BIT 50
> IF CNT 01 = 6
> OR OUT 21
> IF CNT 02 = 16
> OR BIT 51
> IF CNT 02 = 16
> OR OUT 22
> –
> –
01T01520_1
59
25.11.99
Programming S900–II Level 2
V – Built in PLC Version 2.1 |–>
A (IN 28)
V+ (OUT 23)
V– (OUT 22)
: Cylinder
B (IN 29)
: Sensor
: Motor R S
(IN 31) (IN 32)
: Lamp
M (OUT 20)
C (IN 30)
L (OUT 21)
0 V– M–
R . A. B. C
1 V+
S.B.C S.B.C
12 L V–
2 V– M+
R.C
C.R
13 M+
01T01520_0
60
25.11.99
Programming S900–II Level 2
V – Built in PLC
Version 2.1 |–>
Sequential part
PLC 01
IF BIT 09 Total HR
Stage 0 RST CNT 00
IF BIT 51
IF BIT 52
OR BIT 53
IF BIT 53
RST CNT 00
IF CNT 00 = 0000_D
IF IN 31 Cylinder retracted
IF IN 28 Part present
Stage 1 IF / IN 30
IF / IN 29
SET CNT 00 = 1_D
IF CNT 00 = 1_D
IF IN 32 Cylinder extended
IF IN 29 Part on belt
Stage 2 IF / IN 30 Part present at end of belt
SET CNT 00 = 2_D
IF CNT 00 = 2_D
IF IN 30 Part present at end of belt
IF IN 31 Cylinder retracted
AND BIT 51
IF CNT 00 = 1_D
Stage 12 IF IN 32 Cylinder extended
IF IN 29 Part on belt
IF IN 30 Part present at end of belt
SET CNT 00 = 12_D
IF CNT 00 = 12_D
Stage 13 IF IN 31 Cylinder retracted
IF / IN 30 Part not present at end of belt
SET CNT 00 = 13_D
IF CNT 00 = 13_D
IF IN 30 Part present at end of belt
Actuator part AND BIT 52
IF CNT 00 = 0_D
IF CNT 00 = 2_D
IF CNT 00 = 12_D
OR OUT 22 Retract cylinder
IF CNT 00 = 0_D
RST OUT 20 Stop motor
IF CNT 00 = 1_D
OR OUT 23 Extend cylinder
IF CNT 00 = 2_D
SET OUT 20 Start motor
IF CNT 00 = 12_D
OR OUT 21 Switch on lamp
IF CNT 00 = 13_D
SET OUT 20 Start motor
END
01T01520_1
61
25.11.99
Programming S900–II Level 2
V – Built in PLC Version 2.1 |–>
Monitoring PLC example : robot is POWERED DOWN when the X axis goes over a certain position.
Monitoring PLC example : ROTATIONS BLOCKED when the Z axis goes over a certain position.
01T01520_0
62
25.11.99
Conair has made the largest investment in customer support in
the plastics industry. Our service experts are available to help WE’RE HERE
with any problem you might have installing and operating
your equipment. Your Conair sales representative also can help TO HELP
analyze the nature of your problem, assuring that it did not
result from misapplication or improper use.
– INDEX –
!4+3 -4,"%1
$$)3).-
++.#!3).-
1%!3%1 3(!- .1 %04!+ 3.
7%2 /.2)3).-
7)2 ,.5%,%-3
-#1%!2%
)3 -/43
2823%,
42%1
%22 3(!- .1 %04!+ 3.
.-$)3).-
.4-3%1 4+3)/+)#!3).-
423.,)2%$ *%8
/%1!-$
%#1%!2% /%1!3.1
)5)2).-
.4"+% .1$
43/43
'!+)38
-$ .& #8#+% ,.-)3.1)-'
-$ .& 2+.6 !//1.!#(
41.,!/
.".3 -4,"%1
01T01520_1
63
25.11.99
Programming S900–II Level 2
Version 2.1 |–>
&&! &" )$" %&
"( ##$" $
'$"'&!
!$ %&!
#$
$'$ %&!
'%$
'&$&"!
01T01520_0
64
25.11.99