0% found this document useful (0 votes)
59 views

S900-II Programming - Level 2

This document provides instructions for programming the S900-II machine at level 2. It contains warnings about relying on outdated information and recommends contacting the manufacturer for current documentation. The document then outlines various programming functions including setting applications, conditions and testing, accessing system words, and motorized movement codes. It also provides summaries of instructions for editing subroutines, counter handling, and preparatory functions of the numeric axes.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
59 views

S900-II Programming - Level 2

This document provides instructions for programming the S900-II machine at level 2. It contains warnings about relying on outdated information and recommends contacting the manufacturer for current documentation. The document then outlines various programming functions including setting applications, conditions and testing, accessing system words, and motorized movement codes. It also provides summaries of instructions for editing subroutines, counter handling, and preparatory functions of the numeric axes.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 70

www.conairnet.

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 [email protected] 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                                                  


  "-* 45*7&3)8                                            
 
"-* 45*7&9478                                           

114(&9.43 9*89 &3) (4:39.3, .3897:(9.438                            


 !" .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>                         


     
                                 

      
                                

 ).9.3, & 8:'74:9.3*  ! 94                                



"*&(-.3, 9-* ,*3*7&1 89&(0.3, 8*6:*3(*8 .3 &)/:89 24)*               

 39*7.3, 9-* 5&7&2*9*78                                  


"*&(-.3, 9-* ,&58                                        

 7*&9.3, 9-* 574,7&2                                    
 39*7.3, & ,*3*7&1 89&(0.3, 8:'74:9.3*                             
 *8(7.59.43 &3) :8* 4+ 9-* 749&9.43 <47)                           

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 |–>

This manual is a complement to the Programming Level 1 manual.

I – MAIN PROGRAM INSTRUCTIONS

I – 1. The instruction

Syntax : Instruction Operand 1 Operator Operand 2


code

I – 1. 1. The operands

Name Mnemonic Keys Number Functions

Output OUT * 000 –> 255 Boolean image of an action (output) to be


performed externally (transmitted by the
local or remote Output boards).
Input IN * 000 –> 255 Boolean image of an information (input)
coming from outside (received by the local
or remote Input boards)
Counter CNT 00 –> 15 Structures reserved for increments and
decrements.
0041 –> 9980
Bit BIT * 000 –> 127 Internal boolean variable

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.

* The mnemonic code of these structures is also an instruction code.


I – 1. 2. The operators
These operators are required to perform allocations, operations or tests in SET and IF type instructions
(see following paragraph). They cannot be used alone as instructions in the main program.
The evaluation result is positioned in operand 1. Operand 2 can be a constant :
 decimal, Operand 2_D
 hexadecimal, Operand 2_H

01T01520_1
1
25.11.99
Programming S900–II Level 2
I – Main program instructions Version 2.1 |–>

 Arithmetic operators (only in SET instruction)

= Allocation of a value
+ Addition
Capacity overrun in WORD or WWORD is
– Subtraction not tested.
* Multiplication
/ Whole number division (remainder not kept)
 Logic operators

= 2 operands are equal


>= Greater than or equal to Comparison
( IF instruction)
<= Less than or equal to
AND logic AND For masking
OR logic OR

I – 2. Allocation, test and counting instructions


I – 2. 1. SET instruction – Allocation –
The following variables can be set :

OUT CNT BIT WORD WWORD

Addition : . SET.WRD 0000 + 0012_D


The contents of WRD 0000 is increased by 12 (decimal)
Division : . SET.WWRD 005 / 03_D
Before, WWRD 5 = 1200 (decimal).
After, WWRD 5 = 400 (decimal).
Multiplication : . SET.WWRD 120 * A_H
Before, WWRD 120 = 42 (decimal).
After, WWRD 120 = 420 (decimal).
Exclusive mask : . SET.WWRD 0002 AND WWRD 005
Before, WWRD 002 = 8AB74B7A (Hexadecimal)
WWRD 005 = 00008888 (Hexadecimal)
After, WWRD 002 = 00000808 (Hexadecimal)
Inclusive mask : . SET.CNT 0010 OR WRD 0000
Before, CNT 0010 = 0001 0000 0000 1111 = 000F (Hexa)
WRD 0000 = 0000 0001 0000 1111 = 010F (Hexa)
After, CNT 0010 = 0001 0001 0000 1111 = 010F (Hexa)
Reset to zero : . SET.CNT 0141 = 0000_D

01T01520_0
2
25.11.99
Programming S900–II Level 2
I – Main program instructions
Version 2.1 |–>

I – 2. 2. RESET instruction – Setting to zero –


The following variables can be set :

OUT CNT BIT WORD WWORD

. RST.WRD 0000 –> the contents of Word 0000 equals 0.

. The following can also be written : SET.WRD 0000 = 0000_D


I – 2. 3. IF instruction – Conditions and testing –
This instruction evaluates the variable it contains. Depending on the result, the instruction will or will
not execute the next instruction (instruction IF must never be used alone).
After an IF, all the instructions are valid APART FROM : L, R, MASTER and SLA.
You are offered two choices, once you have selected a variable :
 IF : if the condition evaluated is TRUE, the next instruction is executed.
 IF/ : if the condition evaluated is FALSE, the next instruction is executed (or if the
condition is true, the next instruction is not executed).
Note that these instructions will condition the execution of any subroutine. Complex conditions can
be calculated in the PLC and tested in the main program in IF Bit... or IF/Bit... form, followed by the
call instruction of the desired subroutine.
The following variables can be checked :
IN OUT CNT BIT or TIM WORD WWORD

. IF CNT 07  5
if CNT 07 = 2
so if the condition is true, the following instruction will be executed.

. IF CNT 0008 > = 02300_D


SP 61 L 15

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.

. IF / WWRD 012 = 000B_H


OUT 012

If the contents of WWRD 0012 = B_H (11 in decimal)


then the condition is confirmed but the opposite of IF implies that OUT 012 will
not be executed.

01T01520_1
3
25.11.99
Programming S900–II Level 2
I – Main program instructions Version 2.1 |–>

I – 3. The bits – BIT –

I – 3. 1. System bits accessible in read only

BIT NUMBER FUNCTION


0 Reverse execution of stacking sequences
1 End of layer or stack
2 End of pallet
3 Odd row in progress
4 Odd column in progress
5 Odd layer in progress
6 Odd part number in progress
7 Stacking SP running
8 Reserved
9 TOTAL home return running
10 Parallel subroutine running
11 End of cycle triggered by Without Robot mode
12 Commands by external inputs
13 Reserved
14 Following axis attached
15 Reserved
16 Bit 0 of rotation word of general stackings.
17 Bit 1 of rotation word of general stackings.
18 Bit 2 of rotation word of general stackings.
19 Bit 3 of rotation word of general stackings.
20 Bit 4 of rotation word of general stackings.
21 Bit 5 of rotation word of general stackings.
22 Bit 6 of rotation word of general stackings.
23 Bit 7 of rotation word of general stackings.
24 –> 31 Reserved

I – 3. 2. System bits accessible in read and write

32 Bit resulting from part grips (replaces E_PP)


33 Bit validating automatic program change

I – 3. 3. User bits accessible in read and write

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. 16 bits words – WRD –

I – 4. 1. List of WORDs

WORD NUMBER FUNCTION


WRD 0
–> 32 user Words with no predefined functions, accessible in read and write.
WRD 31
WRD 32
–> 32 system Words described in the following chapter.
WRD 63
WRD 64
–> 16 Words supporting the PLC timers (TIM 00 to TIM 15).
WRD 79
WRD 80
–> 16 Words supporting the standard counters (CNT 00 to CNT 15).
WRD 95
WRD 96
4000 Words supporting the stacking subroutine counters (CNT 0041 to CNT
–>
9980).
WRD 4095

01T01520_1
5
25.11.99
Programming S900–II Level 2
I – Main program instructions Version 2.1 |–>

I – 4. 2. 16 bit system words – WRD 32 –>63


 Accessible in read only

WORD number Name Abbreviation Function


Robot operating mode (Adjust, Stop,
32 MotMode MD
Step by Step or Automatic).
33 MotArrêt AR Type of stop (Stop or Safety).
34 MotStat1 E1 Mode running.
35 MotStat2 E2 System status.
36 MotStat3 E3 System status.
Movements locked by the monitoring
37 * MotSec0 S0
PLC.
38 MotSec1 S1 Safety devices’ status.
39 MotSec2 S2 Safety devices’ status.
40 MotSec3 S3 Safety devices’ status.
41 MotExe1 X1 Execution being requested.
42 MotExe2 X2 Execution in progress.
Inputs needed for dialogue with IMM
43 MotDial1 M1
1.
Inputs needed for dialogue with IMM
44 MotDial2 M2
2.
45 * MotKlax XL Pendant alarm.
V 2.1 Robot 46 * MotRegl RG Movement orders in adjust mode.
47 ProgExec PP Number of program (PRG) running.
Number of subroutine (SP or SR)
48 Sp_Exec SP
running.
49 Plc_Exec PL PLC number running.
Number of active step in parallel
50 Pas_SPP SL
subroutine (SPP) running.
Number of step running (in the PRG,
51 Pas_Exec PA
SP or SR).
52 Version VE Type and version of Sepro software.
53 Options CG Options installed on the robot.
Number of robot Input/Output and
54 Cfg_I_O IO
Axes boards.
55 NumRob SR Robot serial number.
56 TypRob TY Robot type.
57 MotCod2 C2 not used.

* WRDs 37, 45 and 46 are accessible in read and write.

01T01520_0
6
25.11.99
Programming S900–II Level 2
I – Main program instructions
Version 2.1 |–>

 Accessible in read and write

WORD number Name Abbreviation Function


Number of program to be executed
58 MotCod1 C1
(requested by encoding or JBUS).
Action requests such as START, Stop
59 MotDem1 D1
at end of cycle,...
60 MotDem2 D2 Action requests continued.
61 DemMod DM Mode requests (Adjust, Automatic...).
Number of fault running or to be taken
62 Défaut DF
into account.
63 PiècFab MP Part made memory.

I – 4. 3. Details of the 16 bit system words


You can use the instructions IF and SET ... WRD (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.

– WRD 32 – MotMode (MD)


Robot operating mode

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

EN–ARRET : In Stop mode.


EN–AUTO : In Automatic mode.
EN–SEMI : In Step by Step mode.
EN–REGL : In Adjust mode.
EN–PROGR : In Programming mode.
ROBOT–OFF : In Robot Off mode

– WRD 33 – MotArret (AR)


Used for unconditional stop requests.

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 |–>

– WRD 34 – MotSta1 (E1)


Indicates the actual mode being used.

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

EN–ARRET : Robot in stop mode (Auto, Semi–Auto, Adjust = 0)


EN–AUTO : Same for AUTO.
EN–SEMI : Same for SEMI–AUTO.
EN–REGL : Same for ADJUST.
EN–PROGR : In Programming mode.
ROBOT–OFF : In Robot Off mode.

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

32768 16384 8192 4096 2048 1024 512 256


1000_
8000_H 4000_H 2000_H 800_H 400_H 200_H 100_H
H
APPR– EN– EN–
PROG–SUS EN–HIST EN–PROD EN–HELP
REGL TEST MAINT

EN–EXEC : Indicator for operating mode being used.


EN–PROG : Indicator for programming mode being used.
EN–VISU : Indicator for I/O display monitor being used.
EN–ETEND : Indicator for extended monitor mode being used.
WWRD63 : Indicator for entering delay value for current anticipated restart.
EN–WARN : Indicator for warning being used.
EN–DEF : Indicator for robot fault.
EN–HELP : Indicator for help mode (fault commentaries).
EN–MAINT : Indicator for maintenance work in progress.
01T01520_0
8
25.11.99
Programming S900–II Level 2
I – Main program instructions
Version 2.1 |–>

EN–PROD : Indicator for production work.


EN–HIST : Indicator for fault historic work.
EN–TEST : Indicator for input or waiting bit test function.
APPR–REGL : Indicator for teaching work in adjust mode running.
PROG–SUS : Indicator for programming mode momentarily suspended.

– WRD 36 – MotSta3 (E3)


Set and Reset using ”Operating modes”.
Each bit of this word is set to 1 after the procedure start request has been reset, and remains at 0 until
the requested procedure is completed.

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

32768 16384 8192 4096 2048 1024 512 256


8000_H 4000_H 2000_H 1000_H 800_H 400_H 200_H 100_H
EN–SUSP

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.

– WRD 37 – MotSec0 (S0)


Each bit of this WORD will enable you to validate (or not) the robot’s standard movements. They are
all reset to 1 when the robot is powered up.

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

32768 16384 8192 4096 2048 1024 512 256


8000_H 4000_H 2000_H 1000_H 800_H 400_H 200_H 100_H
ACT 16 ACT 14 ACT 13 ACT 10 ACT 9 ACT 8 ACT 7 ACT 5

See example for the use of WORD 37 page 62.

01T01520_1
9
25.11.99
Programming S900–II Level 2
I – Main program instructions Version 2.1 |–>

– WRD 38 – MotSec1 (S1)


Contains the status of the inputs used for the safeties.

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

32768 16384 8192 4096 2048 1024 512 256


8000_H 4000_H 2000_H 1000_H 800_H 400_H 200_H 100_H
CTL_PCO CTL_PCO CTL_SBD CTL_SBD VAR_X_ VAR_Y_ VAR_Z_ VAR_B_
_1 _2 _1 _2 OK OK OK OK

SURC_? : Status of the electric overtravels of the numeric axes.


BAUR_OK : Status of the Emergency Stop Buttons.
PUISS_OK : Information that robot is powered up (at 0 if not powered up).
VAR_?_OK : Status of Speed Driver OK information (input).
CTL_SBD_? : Status of the SBD relay control.
CTL_PCO_? : Stauts of the PCO End of Stroke control.
– WRD 39 – MotSec2 (S2)

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

32768 16384 8192 4096 2048 1024 512 256


8000_H 4000_H 2000_H 1000_H 800_H 400_H 200_H 100_H
CTL_MAI MODE_ BRAS1_
SUSPEND PRESSION CTP_FDL ZBD LATERAL
NT MAINT HM

TRANSIST : Status of the Z brake transistor control.


HOMME_OK : Status of the Dead Man push–buttons.
PROTECT : Status of the operator protections.
SECU_ROT? : Safety for Horizontal/Vertical rotation.
BRAS?_HAUT :Stauts of the Arm Up informations.
BRAS?_HM : Status of the Arm Outside Mould informations.
LATERAL : Status of the side–entry selection input.
ZBD : Status of the robot on ZBD cam information.
CTP_FDL : Status of the CTP_FDL information (changeable parallelogram).
PRESSION : Status of the air pressure OK information.
MOD_MAINT : Status of the maintenance mode selected information.
CTL_MAINT : Status of the maintenance mode control information.
SUSPEND : Status of the cycle suspension information.

01T01520_0
10
25.11.99
Programming S900–II Level 2
I – Main program instructions
Version 2.1 |–>

– WRD 40 – MotSec3 (S3)

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

32768 16384 8192 4096 2048 1024 512 256


8000_H 4000_H 2000_H 1000_H 800_H 400_H 200_H 100_H
VCM_OK – – – – – – –

DEF_ROT : Rotation 1 test OK.


V 1.3 Robot
GV_ACT2 : High speed pneumatic Ascent 1 enabled
V 0.5 PC Editor
GV_ACT3 : High speed pneumatic Ascent 2 enabled
GV_ACT4 : High speed pneumatic Descent 1 enabled
GV_ACT5 : High speed pneumatic Descent 2 enabled
GV_ACT7 : High speed pneumatic arm Advance enabled
GV_ACT8 : High speed pneumatic arm Retreat enabled
VCM_OK : Reflection of the Arm Free Safety (SBD) that authorises the Machine Cycle
Validation (VCM)

– WRD 41 – MotExe1 (X1)


Transmission of the executive program data to the operating mode management.

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

32768 16384 8192 4096 2048 1024 512 256


8000_H 4000_H 2000_H 1000_H 800_H 400_H 200_H 100_H
HORS_ AXE_AM_ AXE_AM_ PAS_
VCM_OK VAL_COD PRES_PP FIN_NOY2
MACH Y X DECAL

AUT_SAUT : IMM in Auto or Semi–Auto.


OUV_PART : Partial opening reached.
PORTE_FERM : IMM gate closed.
MOUL_FERM : Mould closed.
MACH_OUV : Mould open.
EJECT_IN : Ejector in.
EJECT_OUT : Ejector out.
FIN_NOY1 : End of core puller movement 1.
FIN_NOY2 : End of core puller movement 2.
PRESS_PP : Part gripped by the robot.
VAL_COD : Program code validation in automatic program change.
PAS_DECAL : Delayed wait not valid.
AXE_AM_X : X machine axis.
AXE_AM_Y : Y machine axis.
HORS_MACH : Robot outside machine.
VCM_OK : Conditions for VCM OK.
– WRD 45 – MotKlax (KL)

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

KLAX–OFF : Set to 1 to stop the audible alarm.


KLAX–ON : Set to 1 to activate the audible alarm.
01T01520_0
12
25.11.99
Programming S900–II Level 2
I – Main program instructions
Version 2.1 |–>

– WRD 46 – MotRegl (RG)

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

32768 16384 8192 4096 2048 1024 512 256


8000_H 4000_H 2000_H 1000_H 800_H 400_H 200_H 100_H
– – – – DEPL_CM DEPL_CP DEPL_BM DEPL_BP

INC_VIT : Reflects the “Hare” key or the speed increase input.


DEC_VIT : Reflects the “Tortoise” key or the speed decrease input.
DEP_XP : Reflects the X+ axis movement key or input.
DEP_XM : Same for X–.
DEP_YP : Same for Y+.
DEP_YM : Same for Y–.
DEP_ZP : Same for Z+.
DEP_ZM : Same for Z–.
DEP_BP : Same for B+.
DEP_BM : Same for B–.
DEP_CP : Same for C+.
DEP_CM : Same for C–.

– WRD 47 – ProgExec (PP)


Indicates the number of the main program running.

b7 b0

Number . 00 to 63 in Hexadecimal
. 00 to 99 in Decimal

– WRD 48 – SP_Exec (SP)


Gives the code of the SP or SR running.
b15 b7 b0

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 |–>

– WRD 49 – Plc_Exec (PL)


Indicates the number of the PLC program being processed.
b15 b7 b0

Number . 00 to 63 in Hexadecimal
. 00 to 99 in Decimal

– WRD 50 – Pas_SPP (SL)


Indicates the number of the step and the parallel subroutine running.
b15 b7 b0

SPP number Number of step : . 00 to FF in Hexadecimal


. 00 to 255 in Decimal

– WRD 51 – PasExec (PA)


Indicates the number of the current step in the PRG and SP or SR sequence.
b15 b7 b0

Number of current Number of current step in the PRG :


step in the SP or . 00 to FF in Hexadecimal
SR . 00 to 255 in Decimal
– WRD 52 – Version (VE)
Number of the software version installed and its characteristics.

b15 b12 b8 b4 b0
0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0

Reserved Version 1.2 for


above example

01T01520_0
14
25.11.99
Programming S900–II Level 2
I – Main program instructions
Version 2.1 |–>

– WRD 53 – Config (CG)

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

32768 16384 8192 4096 2048 1024 512 256


8000_H 4000_H 2000_H 1000_H 800_H 400_H 200_H 100_H
EXT_ME TELE- M_MODU
PAS_DIAL
M MAINT LE

MOD : Module present (0=present, 1=absent).


TAIL_MOD : Size of memory module (0=16Kb, 1=64Kb).
PC : PC option present (0=no, 1=yes).
E17 : Euromap 17 option present (0=no, 1=yes).
TAIL_MEM : Size of internal memory (0=32Kb, 1=128Kb).
2_IMP : Second printer option (0=absent, 1=present).
ANTICIP : Anticipated restart option (0=absent, 1=present).
JBUS : JBUS option (0=absent, 1=present).
M_MODULE : M_MODULE board present.
TELEMAINT : Reserved.
EXT_MEM : Memory extension board (512Kb) board present.
PAS_DIAL : No DIAL board present.

– WRD 54 – Cfg_I_O (IO)


Configuration of the Inputs/Outputs installed.
b0 to b3 = Number of 16 output group installed.
b4 to b7 = Number of 16 input group installed.
b8 = 1 –> Axis board 1 present
b9 = 1 –> Axis board 2 present

– WRD 55 – MotSeri (SR)


Serial number (robot fabrication) in hexadecimal.
Number 4000 (in decimal) –> 0FA0 (in hexadecimal).

01T01520_1
15
25.11.99
Programming S900–II Level 2
I – Main program instructions Version 2.1 |–>

– WRD 56 – MotType (TY) encoded in hexadecimal


b3 b2 b1 b0 Type

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

b4 to b15 –> Models 3020, 3021, 3030, ...


3020 BZ –> 30202 (in decimal) –> 75FA (in hexadecimal)

– WRD 57 – MotCod2 (C2)


Reserved.

– WRD 58 – MotCod1 (C1)


Encoding of requested program number.

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.

– WRD 59 – MotDem1 (D1)


Requests to operating modes manager.

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

32768 16384 8192 4096 2048 1024 512 256


8000_H 4000_H 2000_H 1000_H 800_H 400_H 200_H 100_H
DEM– DEM– DEM– DEM– DEM– DEM– DEM2DPC

EDIT–EXT EDIT TEST HIST PROD MAINT Y

DEM–DPCY : Cycle Start request.


DEM–AFCY : Same for stop at end of cycle request.

01T01520_0
16
25.11.99
Programming S900–II Level 2
I – Main program instructions
Version 2.1 |–>

DEM–PCO : Same for move to PCO mode request.


PLU–DPCY : Indicator for release of Cycle Start key.
DEM–RO : Request for HR procedure execution.
DEM–PROG : Request for Programming procedure execution.
DEM–MONIT : Request for Monitor (Visu) procedure execution.
V 2.0 Robot DEM–ARRET : Request for stop at end of step.
DEM2DPCY : Cycle Start request (for // SP).
DEM–MAINT : Same for maintenance management request.
DEM–PROD : Same for production management request.
DEM–HIST : Same for faults historic request.
DEM–TEST : Same for test request.
DEM–EDIT : Same for program editing request.
DEM–EDIT–EXT: Same for edition in extended monitor request.

– WRD 60 – MotDem2 (D2)


Indicates a home return to be performed in relation to the DEM–RO request of the previous word for
external input commands.

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

DEM_START : Press START BRP 1 or 2.


DEM_RST? : BRP Reset request.
DEM_SS_ROB?: Request for Without Robot mode on BRP.
DEM_RO_SIMPL: Simple HR request by the inputs.
DEM_RO_TOTAL: Total HR request by the inputs.

Note : Word 60 ”MotDem2” must be positionned before the HR is requested by Word 59 ”MotDem1”.

– WRD 61 –DemMod (DM)


Reserved.

– WRD 62 – Défaut (DF)


Number of the fault running or the one you wish to provoke (in decimal).

Note : Displays the message associated with the fault.


V 1.3 Robot
– WRD 63 – PiècFab (MP)
V 0.5 PC Editor
WRD 63 = FF if the Part Made Memory (IMM 1) is at 1.

01T01520_1
17
25.11.99
Programming S900–II Level 2
I – Main program instructions Version 2.1 |–>

I – 5. The 32 bit words – WWRD –

I – 5. 1. The 32 bit user words


 Accessible in read and write

Number
Structures / Functions
(logic address)
WWRD 0
–> 56 user words with no predefined function.
WWRD 55

I – 5. 2. The 32 bit system words WWRD 56 –> 127


The WWRDs not described are reserved.
* type of access : R = read only R/W = read and write

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 |–>

WWRD 104 MW Exchange word for Euromap 17. R


WWRD 106 KV Current value of the general speed coefficient (Kv). R
Robot freeing time (in 1/10 s) when functionning with the
WWRD 116 – R
IMM cycle aniticpated restart.
Time for IMM movement to start (in 1/10 s) when function-
WWRD 117 – R
ning with anticipated restart.
Code of the last customized key pressed. (see encoding in
WWRD 120 – R
chapter I – 5. 3. ).
WWRD 121 – Type of unloading and second arm. R

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.

– WWRD 120 – Customised key code

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

– WWRD 121 – Type of unloading and second arm

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

Type of access to IMM 1 : (copy of parameter 170)


Vertical, Side–entry, Vertical – Axial or Mixed (Vertical–Side–entry)
Type of second arm : (encoding of parameter 37)

TYP_BB TYP_BA Type of second arm


0 0 No second arm
0 1 Electrical arm
1 0 Pneumatic arm with stop
1 1 Pneumatic tandem arm

01T01520_1
19
25.11.99
Programming S900–II Level 2
I – Main program instructions Version 2.1 |–>

I – 6. CNT instruction – Counter handling –


You have at your disposal, amongst other things :
 16 standard counters, and
 2000 counters for regular stacking subroutines (1 per subroutine),
 2000 counters for the general stacking subroutines (1 per subroutine).

available using the keys.

Syntax < operation > CNT xx NN


Program number

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.

Two operations specific to the stacking subroutines are also available :


 INC.STK To increment the current stacking subroutine.
 DEC.STK To decrement the current stacking subroutine.
These 2 instructions have no operand number. They are only used in Home Return subroutines SR.
The incremented or decremented counter is the one in the subroutine where the SR is called.

01T01520_0
20
25.11.99
Programming S900–II Level 2
I – Main program instructions
Version 2.1 |–>

I – 6. 1. Standard counters – CNT 00 to 15 –


 Accessible in read and write

Number Indirection or logic address


Structures / Functions
(logic address) (on a Word)
CNT00 WRD 0080
CNT01 WRD 0081
CNT02 WRD 0082
CNT03 WRD 0083
CNT04 WRD 0084 WRD0088
CNT05 WRD 0085
b15 b0
CNT06 WRD 0086
C 242
CNT07 WRD 0087
CNT08 WRD 0088 CNT0008
CNT09 WRD 0089 . from 0000 to 9999 in decimal
CNT10 WRD 0090 . from 0000 to FFFF in
CNT11 WRD 0091 hexadecimal
CNT12 WRD 0092
CNT13 WRD 0093
CNT14 WRD 0094
CNT15 WRD 0095

I – 6. 2. Stacking counters – CNT 0041 to 9980 –


 Accessible in read and write

Number Indirection or logic address


Structures / Functions
(logic address) (on a Word)
CNT 0041 WRD 0096
–> –>
CNT 9980 WRD 4095
WRD0172

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 |–>

I – 7. The time delays – TIME –


Apart from a numeric value between 001 and 99 in 1/10s, you can also give the time delay the
following value :
WORD : Word No. 00 to 15 containing a numerical value between 001 and 999 (in decimal).
. Numeric value : TIME 0005 – time delay of 5 tenths of a second.

. Word : Step n SET WRD 0005 = 0010_D


Step k TIME WRD 0005 – time delay of 10 tenths of a second.

01T01520_0
22
25.11.99
Programming S900–II Level 2
I – Main program instructions
Version 2.1 |–>

I – 8. Summary of instructions

Instructions Suffix = Operator


Operand 1 arithmetic logic Operand 2

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

000 000 000 00

127 255 255 15

00 00

FFFF
000
0000

9999
0000
15 15 000 0000

0041 0041
4095 4095
255
IF
9980 9980

00
FFFFFFFF
00000000

99999999
00000000

15 000 0000 000


000
0041
255 4095 127
127
9980

00

15
INC
0041

9980

00

DEC 15

0041

9980

00 00

TIME 15 999

Key : Operand/operator not accepted 00


indicates the operand number (e.g. : CNT00 to CNT15)
the type of operator/operand is valid 15 or the numerical value (e.g. : TIME 001)

01T01520_1
23
25.11.99
Programming S900–II Level 2
I – Main program instructions Version 2.1 |–>

I – 9. Motorized movement codes


These instruction codes are used to control a movement on a given axis.

Syntax: e.g. X ABS L 534.8

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 :

STK | REL | CTL | FREE | ../..

ABS | MOULD | EJECT. |NUM/ANA|

POS A | POS N | VEL A | VEL NN|VEL NI

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 :

WWord |Teach | Offset | ValStk|

WWord : 32 bit Word


Teach : Teaching (described in the Programming S900–II Level 1 manual).
Offset : Use of this function is described in the “Mould chasing” manual.
ValStk : Position of the first part in a general stacking sequence (see chapter III – page 35).
 Linear movement
X.ABS L WW 00 (to 55)
X.STK L WW 00 (to 55)
X.REL L WW 00 (to 55)
X.CTL L WW 00 (to 55)
 Rotating movement
B.ABS R WW 00 (to 55)
B.REL R WW 00 (to 55)
B.CTL R WW 00 (to 55)
 Actuating movements of the B and C axes in stacking
B.STK value in degrees
C.STK value in degrees
(Codes only validated in the general stacking subroutines, SP 61 to 80).
 Examples of movement programs

X.ABS L WW 06 Absolute movement of X in relation to double word No. 6

Y.STK L WW 02 Stacking movement in relation to double word No. 2.

01T01520_1
25
25.11.99
Programming S900–II Level 2
I – Main program instructions Version 2.1 |–>

I – 10. Preparatory functions ”FUNC” of the numeric axes


These are preparatory functions concerning the numeric movements. There are basically two
types :
 Temporary effect functions (only valid for the current step)
 Maintained effect functions, maintained until a new function appears.

VEL. | ACC. | SLA. | IMP. | ../..

Master| Line | | |

Note : The Acc, Imp, Master and Line instructions are described in the Programming Level
1 manual.

I – 10. 1. VEL : Speed (Maintained)


The VEL instruction can be programmed in 5 different ways :

Word | MOULD | EJECT. | ABS |

 Axis’ speed as a percentage of the maximum speed


VEL.X 50 means the X axis’ speed passes to 50% of its maximum speed.

 Axis’ speed in mm/s


V 2.1
 speed value in mm/s, programmed directly
The value of the speed must be between the minimum speed set in the parameters and the maximum
speed allowed in adjust mode.
VEL.Y ABS 100.0 means the Y axis’ speed passes to 100.0 mm/s.

 speed value in mm/s, programmed in a WWord


In this case, the speed must be less than the limit speed set in the parameters.
VEL.Z WW_00 means the Z axis’ speed passes to the value contained in WWord
0, given in mm/s.

 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 |–>

I – 10. 2. SLA : Slow approach (Temporary)

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)

Setting the parameters :


 Loss of FAL : Parameter 443.
 Loss of End of Slow Speed : Parameter 629 for X, 765 for Y, 901 for Z, 1037 for B, 1173
for C.
 Part Presence : Parameter 389
 Part Presence : Parameter 407
In addition the so–called ”slow” input, which causes a controlled reduction in speed when it
disappears, is contained in the following parameters :
Parameters 628 for X, 764 for Y, 900 for Z, 1036 for B and 1172 for C.

01T01520_1
27
25.11.99
Programming S900–II Level 2
II – Regular stacking subroutines Version 2.1 |–>

II – REGULAR STACKING SUBROUTINES

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.

Staggered no (0) or yes (1)...........


By layers (0) or stacks (1)...........
Stacking (0) or unstacking (1)........
Storage in XY (0) or YX (1)...........
Number of parts in X row 1............
* Number of parts in X row 2............
Gap X between parts row 1.............
* Gap X between parts row 2.............
* Gap X between columns 1 / 2...........
Number of parts in Y column 1.........
* Number of parts in Y column 2.........
Gap Y between parts column 1..........
* Gap Y between parts column 2..........
* Gap Y between rows 1 / 2 .............
Number of layers......................
Gap between layers....................
Command at layer end or stack end.....
Command at pallet end.................
* These questions are only asked if the stacking includes 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

(gap between 500


layers) 700 (Y gap)
5 4 3 2 1

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

Figure 1 : Stacking without staggering

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)

Staggered no (0) or yes (1)...........1 Limit values


By layers (0) or stacks (1)...........1
Stacking (0) or unstacking (1)........0
Storage in XY (0) or YX (1)...........0
Number of parts in X row 1............2 1 to 99
Number of parts in X row 2............2 1 to 99
Gap X between parts row 1.............200.0 –9999.9 to 9999.9
Gap X between parts row 2.............300.0 –9999.9 to 9999.9
Gap X between columns 1 / 2...........100.0 –9999.9 to 9999.9
Number of parts in Y column 1.........3 0 to 99
Number of parts in Y column 2.........2 0 to 99
Gap Y between parts column 1..........280.0 –9999.9 to 0999.9
Gap Y between parts column 2..........400.0 –9999.9 to 9999.9
Gap Y between rows 1 / 2 .............50.0 –9999.9 to 9999.9
Number of layers......................4 0 to 99
Gap between layers....................30.0 0 to 9999.9
Command at layer end or stack end.....BIT50 OUT . . . / BIT . . .
Command at pallet end.................BIT51 OUT . . . / BIT . . .

Figure 2 : Stacking with staggering

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 |–>

Staggered no (0) or yes (1)...........1


By layers (0) or stacks (1)...........0
Stacking (0) or unstacking (1)........0
Storage in XY (0) or YX (1)...........1 YX
Number of parts in X row 1............2
Number of parts in X row 2............2 X+
Gap X between parts row 1.............100.0
Gap X between parts row 2.............100.0 4 1 Y+
Gap X between columns 1 / 2...........50.0
Number of parts in Y column 1.........2 6 3
Number of parts in Y column 2.........1
Gap Y between parts column 1..........100.0 5 2
Gap Y between parts column 2..........100.0
Gap Y between rows 1 / 2 .............50.0
Number of layers......................1
Gap between layers....................0
Command at layer end or stack end.....
Command at pallet end.................

Staggered no (0) or yes (1)...........1


By layers (0) or stacks (1)...........0
Stacking (0) or unstacking (1)........0
Storage in XY (0) or YX (1)...........0
XY
Number of parts in X row 1............2
Number of parts in X row 2............2
Gap X between parts row 1.............100.0
Gap X between parts row 2.............100.0
Gap X between columns 1 / 2...........50.0
Number of parts in Y column 1.........2
Number of parts in Y column 2.........1
Gap Y between parts column 1..........100.0
Gap Y between parts column 2..........0 VARIANT
Gap Y between rows 1 / 2 .............50.0 100
Number of layers......................1
Gap between layers....................0
Command at layer end or stack end.....
Command at pallet end.................
X+
2 1 2 1
Y+
4 3

6 5 4 6 3 5

Figure 3 : Example No. 1 of special stacking sequence

01T01520_1
33
25.11.99
Programming S900–II Level 2
II – Regular stacking subroutines Version 2.1 |–>

Staggered no (0) or yes (1)...........1


By layers (0) or stacks (1)...........0
Stacking (0) or unstacking (1)........0
Storage in XY (0) or YX (1)...........1
YX X+
Number of parts in X row 1............2
Number of parts in X row 2............3 Y+
Gap X between parts row 1.............100.0
Gap X between parts row 2.............100.0
Gap X between columns 1 / 2...........50.0
Number of parts in Y column 1.........2
Number of parts in Y column 2.........1 4 1
Gap Y between parts column 1..........100.0
Gap Y between parts column 2..........0 7 6 3
Gap Y between rows 1 / 2 .............50.0
Number of layers......................1 5 2
Gap between layers....................0
Command at layer end or stack end.....
Command at pallet end.................

Staggered no (0) or yes (1)...........1


By layers (0) or stacks (1)...........0
Stacking (0) or unstacking (1)........0
Storage in XY (0) or YX (1)...........0
Number of parts in X row 1............2
Number of parts in X row 2............3
Gap X between parts row 1.............100.0
Gap X between parts row 2.............100.0
Gap X between columns 1 / 2...........50.0
Number of parts in Y column 1.........2
Number of parts in Y column 2.........1
Gap Y between parts column 1..........100.0
Gap Y between parts column 2..........0 VARIANT
Gap Y between rows 1 / 2 .............50.0 0
Number of layers......................1
Gap between layers....................0
Command at layer end or stack end.....
Command at pallet end.................
X+

Y+
2 1 5 4 2 3 1

5 4 3

7 6 7 6

Figure 4 : Example No. 2 of special stacking sequence

01T01520_0
34
25.11.99
Programming S900–II Level 2
III – General stacking subroutines
Version 2.1 |–>

III – GENERAL STACKING SUBROUTINES

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

III – 1. Editing a subroutine – SP61 to 80 –

Subroutine 61

Stacking to be taught ?
YES | NO | | |

You will enter all the data concerning your stacking


(predefinition).

You do not the position of your parts.


You want to teach them by moving the robot manually. Do not
forget to put a part on the gripper.

01T01520_1
35
25.11.99
Programming S900–II Level 2
III – General stacking subroutines Version 2.1 |–>

III – 2. Teaching the general stacking sequences in adjust mode

III – 2. 1. Entering the parameters


Alternated layers no (0) or yes (1)...1
Stacking (0) or unstacking (1)........0
Number of layers......................2
Gap between layers of same type.......150.0
Number of parts layer 1 ”i”..........3
Number of parts layer 2 ”p”..........5
Command at layer end or stack end.....BIT61
Command at pallet end.................OUT12
III – 2. 2. Teaching the gaps
Motorised axes can be moved to bring the robot to the desired location. For part 1 layer 1, the X, Y,
and Z gaps do not appear but will be stored in order to calculate the positions of subsequent parts
relative to the position of part 1 layer 1.

The rotations shoud be positionned with the , , , and keys before confirming

the part position by pressing .


Depending on the rotation inputs present, and if parameter 5 = 1, the rotation Word, RotWrd is
prepared (modification of bits weighted 1, 2, 4 by the rotations).
bit 2 bit 1 bit 0
–– – ––
4H 2H 1H 1 if input E–ACT09 = 1 (E–ACT10 = 0)
0 if input E–ACT10 = 1 (E–ACT09 = 0)
1 if input E–ACT13 = 1 (E–ACT14 = 0)
0 if input E–ACT14 = 1 (E–ACT13 = 0)

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 |–>

III – 3. Entering a general stacking subroutine


If all the positions and data of stackings are known, teaching can be refused.

Subroutine 61

Stacking to be taught ?
YES | NO | | |

These 2 headers correspond to the examples on the following pages :


Example 1 : (see chapter III – 5. )
Alternated layers no (0) or yes (1)...0
Stacking (0) or unstacking (1)........0
Number of layers......................1
Gap between successive layers.........2500
Number of parts layer 1 ”i”..........5
Command at layer end or stack end.....OUT10
Command at pallet end.................BIT107
Example 2 : (see chapter III – 6. )
Alternated layers no (0) or yes (1)...1
Stacking (0) or unstacking (1)........0
Number of layers......................2
Gap between layers of same type.......500.0
Number of parts layer 1 ”i”..........3
Command at layer end or stack end.....OUT10
Command at pallet end.................BIT107

* To enter and modify the first part of the header use :


 numerical keys for the numerical values,

 the , + keys to choose the variable at the end of the layer of the pallet,

 the or keys to change line,

 the key to confirm.

01T01520_1
37
25.11.99
Programming S900–II Level 2
III – General stacking subroutines Version 2.1 |–>

* For the gaps and the rotation words, use .


The value being processed flashes on the display (if the corresponding axis exists).

The and keys are used to increase the part number.

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

The other bits are not changed.

III – 4. Description and use of the rotation word

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

The following should therefore be programmed in this particular stacking sequence :

– 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

1st layer (odd layer)

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 |–>

III – 6. Example 2 – Alternate layers

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 |–>

IV – PARALLEL SUBROUTINES – SP81 TO 99 –

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.

Step 10 SP01 L00

SP 01
Step 11
Step 0
SPP 81 is started whilst
SP01 is running.
Step 5 SP81L00

Step 6 END SPP 81


Step 0 Bit 10 = 1
during the
Step 3 END length of
SP 81.

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

Step duration not controlled to avoid watchdog fault


BIT/010 wait for loss of Bit 10
Step 10 SP 81 L00
or even
Step 5 SP 81 L00 Start SPP

Step duration not controlled wait for end of SPP


BIT/010

Step 21 END End of main program

As the ordinary subroutines, the SPPs can be dependant on certain conditions.

Step 8 IF BIT 100


SP 81 L00
IF /BIT 100
SP82 L00

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

V – 2. 1. The boolean operands


 Inputs :

IN

3 digits from 000 to 255

=> the inputs shown are common to the main pro-


gram (PRG) and the PLC.

 Outputs :

OUT

3 digits from 000 to 255


=> the outputs shown are common to the main pro-
gram (PRG) and the PLC.
 Bits :

BIT

3 digits from 000 to 127

=> the bits shown are common to the main pro-


gram (PRG) and the PLC.

! 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

=> the Words shown are common to the main pro-


gram (PRG) and the PLC.

! 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

=> the Words shown are common to the main pro-


gram (PRG) and the PLC.

! WWRD 000
64 user words of 32 bits
WWRD 063
WWRD 064
64 system words of 32 bits
WWRD 127

 Counters :

. standard : CNT 0000 to CNT 0015


. stacking : CNT

Program Subroutine
number number

01T01520_0
46
25.11.99
Programming S900–II Level 2
V – Built in PLC
Version 2.1 |–>

 Series of 16 consecutive inputs :

IN

No. of the first input of


the series of 16

=> in word form, gives the status of the 16


consecutive inputs in the case of an equation
with WWRD.

01T01520_1
47
25.11.99
Programming S900–II Level 2
V – Built in PLC Version 2.1 |–>

V – 2. 3. The instruction codes


 Boolean operators
 AND : Logic ”AND”

IF . . .
IF . . .
IF . . . Tested operands


AND . . . Result operand

A maximum of 16 successive tests is allowed

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

2) IN 11 OUT 20 => > IF IN 11


OUT 30 > IF / 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

1) IN 28 S OUT 20 => > IF IN 28


IN 30 1 R > IF / IN30
> IF OUT 30
OUT 30 > OR BIT 100
> IF BIT 100
> RST OUT 20
OUT 30
IN 28
2) OUT 30
=> > IF / IN 28
IN 29 > IF IN 29
> IF / OUT 20
OUT 20 > OR BIT 120
> IF BIT 120
> RST OUT 30

01T01520_1
49
25.11.99
Programming S900–II Level 2
V – Built in PLC Version 2.1 |–>

 Basic operators applied to counters


 Available counters : see chapter I – 6. page 20.
 Operations :
. Incrementation :

INC CNT

Counter
No.

=> adds 1 to indicated counter

. Decrementation :

DEC CNT

Counter
No.

=> removes 1 from indicated counter

. Reset to zero :

RST CNT

Counter
No.

=> assigns a value of zero to the indicated


counter

. Comparing a counter to a decimal value :

CMP CNT  decimal value


from 0 –> 9999
Counter
No.

=> compares whether the value contained in


the specified counter is greater than or equal
to the decimal value entered
=> returns a boolean result

01T01520_0
50
25.11.99
Programming S900–II Level 2
V – Built in PLC
Version 2.1 |–>

 Comparison

=
IF Operand 1 <= Operand 2
>=

=> depending on operator, determines:


. the equality of two operands,
. whether Operand 1 is less than Operand 2,
. whether Operand 1 is greater than Operand 2.
=> sends back a boolean result.

CNT 0003 = 10_D (Decimal)


CNT 0007 = 19_D (Decimal)
> IF CNT 0003<= CNT 0007
> SET OUT 20
Output No. 20 is set to 1 since the value of counter 0003
is lower than the value of counter 0007.

 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)

> SET CNT 0006 / CNT 0012

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 :

SET Operand 1 AND Operand 2

=> performs logic AND on bits forming the operands.


=> the result overwrites the value contained in Operand 1.

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

IN 007 = 1001 0010 1010 0100


WWRD 020 = 0000 0001 1000 1000 0101 0111 0000 0010
> SET WWRD 020 AND IN 07
The AND result is:
WWRD 020 = 0000 0001 1000 1000 0001 0010 0000 0000
unchanged

!
On the display :

IN 007 = 0010 0101 0100 1001


(Inverse of its binary value)

01T01520_0
52
25.11.99
Programming S900–II Level 2
V – Built in PLC
Version 2.1 |–>

 ”OR” mask :

SET Operand 1 OR Operand 2

=> performs a logic OR on bits forming the operands.


=> the result overwrites the value contained in Operand 1.

Before:
WORD 40 = 0001 1001 0100 0111 (Binary); operand to evaluate
WORD 60 = 1011 0001 1110 1100 (Binary): mask operand

> SET WRD 40 OR WRD 60

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 |–>

 TIMER (PLC time delays)


 Available TIMERs :
16 timers are available : TIMER 00 to TIMER 15
Each one is associated with a result bit : TIM 00 to TIM 15

 Use :

TIMER VAL

Timer No. Value of timer in


1/10 s ( 999.9 s)

=> 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

TIMER 01 > TIMER 01 VAL 0148


> IF TIM 01
TIM 01 > SET OUT 20
OUT 20
14.8 s

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

! Result bit TIM is set to 0 if the TIMER command operand is lost.


The command operand must therefore be present when the TIMER times out.
If it is lost before time is out, the timer is interrupted.

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.

V – 3. 1. Combination (relay drawings)


 Combination of AND and OR operators
DRAWING PROGRAM DESCRIPTION
IF IN 0
0 1 2 3 IF IN 1
10 AND BIT 100
IF IN 10 Circuit a
10 IF BIT 100
OR BIT 101
IF BIT 101
IF IN 2
circuit a circuit b IF/ IN 3 Circuit b
AND OUT 10
IF IN 2
0 1 2 3 IF IN 3
10 AND BIT 50
10 IF BIT 50 Circuit b
IF IN 10
4 IF IN 4
OR BIT 51
IF BIT 51
circuit a circuit b IF IN 0 Circuits a and b series link
IF/ IN 1
AND OUT 10
circuit b1 IF IN 2
IF / IN 3 Circuit b1
0 1 2 3 AND BIT 100
IF / IN 4
10 IF IN 10 Circuit b2
4 10 AND BIT 101
IF BIT 100 Circuit b1 + b2 = b
circuit b2 IF BIT 101
OR BIT 102
IF / IN 0
circuit a circuit b IF IN 1 Circuits a and b series link
IF BIT 102
AND OUT 10

01T01520_1
55
25.11.99
Programming S900–II Level 2
V – Built in PLC Version 2.1 |–>

 Timer and counter applications

DRAWING PROGRAM DESCRIPTION


. Timers in series :
IN00
T 00 IF IN 00 IN00
TIMER 00 VAL 0900
90 sec. IF TIM 00
T 00 TIMER 01 VAL0900 T 00 90 sec.
IF TIM 01
T 01 AND OUT 10

90 sec. T 01 90 sec.
T 01
OUT OUT10 180 sec.
10

. Timer > 999 sec. :


IF IN 00
IN00 T 00 IF / TIM 00
T 00 TIMER 00 VAL1000 IN00
IF TIM 00
100 sec. INC.CNT 01
T 00 IF CNT 01 >= 90 IN01
AND OUT 10
+1
IF IN 01
C 01 RST CNT 01 100 sec.
IN01 90 imp. T 00
RST

C 01 9 000 sec.
C 01
OUT OUT10
10

. Timers on rising and falling edge :


IN00 IF IN 00
T 00 TIMER 00 VAL 0100 IN00
IF OUT 10
10 sec. IF / IN 00
TIMER 01 VAL 0050 T 00
OUT10 IN00
IF TIM 00
T 01 IF OUT 10
OR BIT 100 T 01
5 sec. IF BIT 100
T 00 T 01 IF / TIM 01
OUT AND OUT 10 OUT10
10
OUT10 10 sec. 5 sec.

. Flashing light : IN00


IF IN 00
IN00 T 01 IF / TIM 01
TIMER 00 VAL 0010 T 00
T 00 IF TIM 00
1 sec. TIMER 01 VAL 0030
T 00 IF TIM 00 T 01
T 01 AND OUT 10
3 sec. OUT10
OUT 1 sec. 3 sec.
10

01T01520_0
56
25.11.99
Programming S900–II Level 2
V – Built in PLC
Version 2.1 |–>

DRAWING PROGRAM DESCRIPTION


. Timer :
IF IN 00 IN00
IN00 TIMER 00 VAL 2000
T 00 IF TIM 00 200 sec.
AND OUT 10 OUT10
200 sec.
T 00
10

. 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

. Creation of a rising edge when IF IN 00 Input 0


an input appears : IF / BIT 100
AND BIT 101
IF IN 00
AND BIT 100 Internal 101
variable
Polling once

 Example : indexing belt

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 |–>

V – 3. 2. Sequential (Grafcet drawing)


 Programming the sequential instructions
Each stage of the Grafcet drawing is defined by a counter value.
 Activating the stage :

Activing the operand associated with the stage ”E n”.


Two conditions must be met :
1) All the stages immediately preceding E (n–1) must be active
(validation of transition).
2) Receptivity R (n–1) associated with the transition must be true.

 Deactivating the stage :

Deactivation of the variable associated with ”E n”.


When the stage ”E n” is activated, this immediately deactivates
preceding stages E (n–1). Stage ”E n” is therefore deactivated by
activating those stages immediately following, i.e. E (n+1).
As soon as a transition occurs, all stages immediately following are
activated, and all stages immediately preceding are deactivated.

1) General case
CNT 01
=> > –
7 > –
T7 (IN 28) > IF CNT 01 = 7
8 > IF IN 28
> SET CNT 01 = 8
T8
> –
9
> –

2) Example of divergence in AND > –


=>
CNT 01 CNT 02 > –
7 > IF CNT 01 = 7
T7 (IN 28) > IF IN 28
> SET CNT 01 = 8
8 18 > IF CNT 01 = 8
> SET CNT 02 = 18
> –

01T01520_0
58
25.11.99
Programming S900–II Level 2
V – Built in PLC
Version 2.1 |–>

 Programming actuators

Each stage can include the activation of one or more


variables.

=> These variables may be bits / outputs / words /


wwords / timers.

CNT 01

4 OUT 30 OUT 20

5 BIT 50

CNT 02

6 OUT 21 16 BIT 51 OUT 22

> –
> –
> 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 |–>

 Example : transferring onto conveyor belt

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 |–>

V – 4. Monitoring PLC : PLC 99


Unlike PLC 1 to 98 that only work in Step by Step and Automatic modes, PLC 99 also works in Adjust
mode.
It is not linked to a particular program and works with any program (including those associated with
a PLC).
The monitoring PLC is perfectly suitable for managing equations that are common to all the programs.
The refresh time is the same as for the standard PLCs (100 ms).
The monitoring PLC can write in the safety word S0 (Word 37).
As PLC 99 is active with all the programs, you are advised to use a locking / unlocking tool in the fault
equations. This is because one particular program may not need the same monitoring as the other
programs. This locking–unlocking may be done using an input positioned by an external system
(switch, sensor....) or by the contents of a WORD (value of program encoding or any other external
data item).

Monitoring PLC example : robot is POWERED DOWN when the X axis goes over a certain position.

IF IN 100 monitoring is active for this program


IF WWRD 77 >= 35000_D X position greater than or equal to 3500.0 mm
IF/ OUT 3 overtravel forcing inactive
SET WORD 62 = 5_D robot powered down
The robot will go into fault D_5 : MOVEMENT OUTSIDE CAMS as soon as the X axis goes over the
position 3500 mm. This is the case in all modes. To cancel the fault and free the robot, press and hold down
START in adjust mode and press the X movement key.

Monitoring PLC example : ROTATIONS BLOCKED when the Z axis goes over a certain position.

IF IN 100 monitoring is active for this program


IF WWRD 79 >= 8000_D Z position greater than or equal to 800.0 mm
IF/ OUT 3 overtravel forcing inactive
AND BIT 100 conditions for rotations are lost
IF BIT 100 conditions for rotations are lost
SET WORD 37 AND 07FF_H rotations are invalidated
It will no longer be possible to control the robot rotations as soon as the Z axis goes over the position 800 mm.
If one of the rotations is requested, it will not be carried out and the robot will display : D_7 : PROTECTED
MOVEMENT............. This is the case in all modes.
To cancel the blocking and to authorise the rotations again, you must write another equation that allocates a
value to WORD 37.
IF/ BIT 100 conditions for rotations re–established
SET WORD 37 OR F800_H rotations are validated

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.

To contact Customer Service personnel, call:


HOW TO CONTACT
CUSTOMER
SERVICE
From outside the United States, call: 814-437-6861
You can commission Conair service personnel to provide on-
site service by contacting the Customer Service Department.
Standard rates include an on-site hourly rate, with a one-day
minimum plus expenses.

If you do have a problem, please complete the


following checklist before calling Conair: BEFORE YOU
❒ Make sure you have all model, serial and parts list num- CALL ...
bers for your particular equipment. Service personnel will
need this information to assist you.
❒ Make sure power is supplied to the equipment.
❒ Make sure that all connectors and wires within and
between loading control and related components have been
installed correctly.
❒ Check the troubleshooting guide of this manual
for a solution.
❒ Thoroughly examine the instruction manual(s)
for associated equipment, especially controls. Additional manuals and
Each manual may have its own troubleshooting prints for your Conair
guide to help you. equipment may be
ordered through the
❒ Check that the equipment has been operated as Customer Service or
described in this manual. Parts Departments for
a nominal fee.
❒ Check accompanying schematic drawings for
information on special considerations.

SERVICE INFORMATION APPENDIX A-1


Conair guarantees the machinery and equipment on this
EQUIPMENT order, for a period as defined in the quotation from date of
GUARANTEE shipment, against defects in material and workmanship
under the normal use and service for which it was recom-
mended (except for parts that are typically replaced after
normal usage, such as filters, liner plates, etc.). Conair’s
guarantee is limited to replacing, at our option, the part or
parts determined by us to be defective after examination.
The customer assumes the cost of transportation of the
part or parts to and from the factory.

Conair warrants that this equipment will perform at or


PERFORMANCE above the ratings stated in specific quotations covering the
WARRANTY equipment or as detailed in engineering specifications,
provided the equipment is applied, installed, operated and
maintained in the recommended manner as outlined in our
quotation or specifications.

Should performance not meet warranted levels, Conair at


its discretion will exercise one of the following options:
● Inspect the equipment and perform alterations or
adjustments to satisfy performance claims. (Charges
for such inspections and corrections will be waived
unless failure to meet warranty is due to misapplica-
tion, improper installation, poor maintenance practices
or improper operation.)
● Replace the original equipment with other Conair
equipment that will meet original performance claims
at no extra cost to the customer.
● Refund the invoiced cost to the customer. Credit is sub-
ject to prior notice by the customer at which time a
Return Goods Authorization Number (RGA) will be
issued by Conair’s Service Department. Returned
equipment must be well crated and in proper operating
condition, including all parts. Returns must be prepaid.

Purchaser must notify Conair in writing of any claim and


provide a customer receipt and other evidence that a claim
is being made.

Except for the Equipment Guarantee and Performance


WARRANTY Warranty stated above, Conair disclaims all other war-
ranties with respect to the equipment, express or
LIMITATIONS implied, arising by operation of law, course of dealing,
usage of trade or otherwise, including but not limited to
the implied warranties of merchantability and fitness for
a particular purpose.

APPENDIX A-2 WARRANTY INFORMATION


Programming S900–II Level 2
Version 2.1 |–>

– 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 

  .".3 ./3).- 

!4+3     .".3 38/% 

01T01520_1
63
25.11.99
Programming S900–II Level 2
Version 2.1 |–>

 
&&! &" )$"  %& 
     
"( ##$"   $ 
 
'$"'&!
 !$ %&! 

 #$      
 $'$ %&! 
 '%$ 
'&$&"!      

01T01520_0
64
25.11.99

You might also like