0% found this document useful (0 votes)
25 views82 pages

M2AII-AS Corso Base RC8ADENSO r2020 - EN

The document outlines a basic programming training schedule for DENSO robots over two days, covering topics such as hardware presentation, robot arm movement, programming examples, and final tests. It includes detailed specifications for the RC8A controller and various robot models, along with maintenance guidelines and programming instructions. Additionally, it explains concepts like accuracy, movement types, and variables used in programming tasks.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views82 pages

M2AII-AS Corso Base RC8ADENSO r2020 - EN

The document outlines a basic programming training schedule for DENSO robots over two days, covering topics such as hardware presentation, robot arm movement, programming examples, and final tests. It includes detailed specifications for the RC8A controller and various robot models, along with maintenance guidelines and programming instructions. Additionally, it explains concepts like accuracy, movement types, and variables used in programming tasks.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 82

23/10/2020 1

BASIC PROGRAMMING
TRAINING

Robot DENSO

23/10/2020 2
SCHEDULE:
Day 1:
9.00 : Start first part.
Distribution of documentation.
Installation WincapsIII on customer pc
Hardware presentation
Electrical explanation
Controller and arm analisys
Basic concepts of robotics
12.30: Lunch break
13.30: Start second part
Movement type explanation
TEACH PENDANT explanation
Manual test of movement
3D software basic information
DENSO code organization
17.30: End 1^day.

23/10/2020 3
SCHEDULE:
Giorno 2:
9.00 : Start first part
Basic instructions of robot arm movement
How use TCP, WORK and AREA functions
Pratice of functions before listed
Programming examples
12.30: Lunch break
13.30: Start second part
Specific request
Final test
17.30: End second day
N.B. : It is advisable to present yourself with a PC.

23/10/2020 4
23/10/2020 5
CONTROLLER RC8A
1. Power supply 220V
2. Motor&Encoder cable
3. Switch
4. Pendant plug
5. Ports USB, Ethernet RJ45, RS232
6. Extension slot
7. Digital I/O connections
8. Safety connection

23/10/2020 6
CONTROLLER RC8A

23/10/2020 7
Dimensions:
CONTROLLER RC8A
• Dimension 11L (~13L with safety motion)
• Weight 10Kg (~11Kg with safety motion)

Specifications:
• Power supply
• Frequency: 47 - 63 Hz
• Rated power: 1.8 kVA - 3.3 kVA
• Voltage:
• Monophase: 230V-10% 240V+10%
• Triphase: 200V-15% 240V+10%
• Protection IP20 (installation in a protected rack is recommended)
• Defacement (pollution) degree
• Optional external rack IP54
• Temperature 0° - 40° C
• Humidity 90% without condensation

23/10/2020 8
ELECTRICAL
SCHEMA

23/10/2020 9
CONFIGURATION
Customer Robot
side side

23/10/2020 10
CN9 : HAND I/O

Note:The optional I/O


cable for the above
connector consists of
twisted pair wires--
pairs of #1 and #11,
#2 and #12, #10 and
#20.

23/10/2020 11
CN10 : MINI I/O
RC8A

23/10/2020 12
CN10 : MINI I/O
RC8A

23/10/2020 13
CN10 : MINI I/O
RC8A

23/10/2020 14
CN10 : MINI I/O
Safety circuits
RC8

23/10/2020 15
ANTHROPOMORPHIC: 6 AXIS
• Sigla modelli: VP / VS / VM / VL
• Raggi di lavoro: 400 → 2500 mm
• Payload: 2 → 40 kg
• Max speed composita: 11000 mm/s
• Ripetibilità: ± 0.02mm
• Lettura posizione: absolute encoders
• Motori: AC servomotors
• Freni: 24vdc
• Elettrovalvole polso: 2/3 double solenoid
• Grado di protezione: std. IP40 → IP67
• Rumorosità: 65dB

23/10/2020 16
ROBOT 6 AXIS

23/10/2020 17
ROBOT 6 AXIS

CN20: Connector for digital signals until J4


CN22: Motor&encoder cable connector
CN24: Communication flange digital I/O connector (only new VS)
AIR 1: Air supply for internal valves (tube Ø 4)
AIR 2: Direct connection for air( tube Ø 6)
BATTERY: Connector for remote battery connection option
BRAKE: UL release version brake release panel
ETHER: Ethernet connection (only new Vs)
PURGE: Internal pressurization(solo IP67)

23/10/2020 18
ROBOT 6 AXIS
Top panel

CN21: Electrical connections (0.5A – 1A)


AIR 2: Ari direct connection (tube Ø 6)
VALVE OUT: Ouput valves (M4)
VALVE spec.: +24V – 0.2 / 0.7 MPa – 15ms response time

23/10/2020 19
SCARA ROBOT: 4 AXIS
Sigla modelli: LPH /HS / HM / HSR / XR
Raggi di lavoro: 350 → 1000 mm
Payload: 3 → 20 kg
Lunghezza Z: 100,200,320,400
Max speed composita: 4700 - 11500 mm/s
Ripetibilità: ±0.015mm
Lettura posizione: n°4 absolute encoder
Motori: n°4 AC servomotors
Freni: n°2 24vdc (J3,J4)
Elettrovalvole polso: NO
Grado di protezione: std. IP40 → IP65
Rumorosità: 80dB

23/10/2020 20
SCARA ROBOT: 4 AXIS

AIR1: Direct
AIR2: Direct
AIR3: Direct
AIR4: Direct
CN20: Signal on the base
CN21: Signal on robot arm

HSR: ethernet option

23/10/2020 21
MAINTENANCE
• Controller battery: 10 years.

• Encoder batteries: 2 years.

• Belts and pulleys checking every 6-24months

• No grease is requested. Just some grease 6-24months on Z-Axis

• Noise

23/10/2020 22
BASIC
NOTIONS

23/10/2020 23
ACCURACY vs. RIPETIBILITY
Representation of differences between repeatability and accuracy during robotic
movements

23/10/2020 24
ACCURACY vs. RIPETIBILITY
Exist different robot versions with high accuracy, and exist laser/optical
devices that permits to increase the «standard» performance

23/10/2020 25
WORK COORDINATES

TCP

• Cartesian system is called WORK

• WORK 0 is called also BASE

• WORK is the origin that will be


referred all cartesian positions

BASE

23/10/2020 26
WORK COORDINATES

• Is possible define 8 differet TCP


work

• Work from 1 to 7 is referred to


Work 0

• There is an autocaculation
function in order to define a
new work
WORK1
(250,250,25,0,0,-90) BASE

23/10/2020 27
TCP (TOOL CENTER POINT)

• TOOL represents the point that is


used to return the robot
cartesian point, that is the X, Y, Z
distance and orientation
compared to active work

23/10/2020 28
TCP (TOOL CENTER POINT)

• Default value is in center of


flange

• TCP 0 is not editable

• TCP da 1 → 63 are available

• There is a function in order to


autocalculation the tool

23/10/2020 29
TCP ORIENTATION

4 AXES

6 AXES

23/10/2020 30
TOOL DESIGN
TOOL MECHANICAL SPECIFICATION:
• Maximum Payload
• Center of gravity
• Moment of inertia: check especially about last axis

23/10/2020 31
MANUAL MOVEMENT

Using teach or mini pendant is possible move the robot, in manual mode, using
the following modalities

• JOINT MODE: each single axis

• X-Y MODE: linear movement referred to a cartesian system

• TOOL MODE: linear movement referred to a tool system

23/10/2020 32
TEACH PENDANT

23/10/2020 33
23/10/2020 34
MINI PENDANT

23/10/2020 35
23/10/2020 36
AREE

• Controls of encumbrance
or not of tool

• Till 32 different controls


simultaneously

• I/O warning or machine


lock

23/10/2020 37
AREE

• Are saved the center of


gravity and a vector with
the dimensions

• The center of gravity


position is referred to
work 0

• Only parallelepipeds are


available

23/10/2020 38
AREE
Events:

23/10/2020 39
23/10/2020 40
LOGIN

Programmer
User level: programmer
Password: SHIFT + ↓

Maintaner
User level: programmer
Password: 1967103

23/10/2020 41
23/10/2020 42
SIMULATION
Program controls

3D designer

Cycle time

23/10/2020 43
VARIABLES
USAGE: store into the memory data used by program

SCOPE: Are available local and global variable.

GLOBAL: All programs can read and write them.


No declarations is required
Is possible use an alias (macro name)

LOCAL: Normally are managed only of task that create them


Their value is defined during the declaration (default
value 0)
Free name till 64 char
Array multidimensional are usable, till 3 dimensions

23/10/2020 44
VARIABLES

23/10/2020 45
GLOBAL VARIABLES
• The global variables are as array, where the name is the first letter of type: I, F,
D, S, V, P, J, T, IO. Is possible to assign an alias, called MACRO

• I: integer; sintax: I0001, I1, I[1].


• F: single (E+38); sintax : F0001, F1, F[1].
• D: double (D+308); sintax : D0001, D1, D[1].
• S: string(max 255 car.); sintax : S0001, S1, S[1].
• V: vector (x,y,z); sintax : V0001, V1, V[1].
• P: cartesian position(x,y,z,rx,ry,rz,fig.) 6 assi; sintax: P0001, P1, P[1].
• J: joint (j1,j2,j3,j4,j5,j6) 6 assi; sintax : J0001, J1, J[1].
• T: homogeneous trasformation (Px,Py,Pz,Ox,Oy,Oz,Ax,Ay,Az,fig);
sintax : T0001, T1, T[1].
• IO: I/O sintax : IO0001, IO1, IO[1].

23/10/2020 46
LOCAL VARIABLES
• Free name is possible, till 64 chars (numeric and letters) Is possible underscore
(_) symbol is available

23/10/2020 47
PROGRAM TYPES
Types of task that is possible use are:

• Program pacscript (.pcs)


• Movement tasks
• Supervisory tasks

• Header file (.h)


• Constant definitions

• Operator panel (.pns)


• Panel pages displayable on the teach pendant
AUTOMATIC MOVEMENT
Types of movements between two points are: P, L, C

• P: PTP Control (Point To Point)


When the robot moves from one point to the next, is the controller that
chooses the trajectory. Normally is an arc

• L: LINEAR Control
Technological interpolation. The controller calculates and manteins a
linear trajectory, passer-by the starter point and end point. The trajectory
is referred to TCP

• C: CIRCULAR Control
Technological interpolation. The controller calculates and maintains a
circular trajectory passing through 3 points. The trajectory is referred to
TCP

23/10/2020 49
ACCURACY
• Set the precision of robot placement and the end of each movement
• The accuracy value is the sphere radius that has as center the target
point. The radius measure is in mm
• When the selected TCP moves into this sphere, the target is reached, and
the robot moves to the next position
• Default accuracy levels by DENSO are 3:
- @0 (default fi omitted)
- @E
- @P
• Is possible use a value (1 – 255) that rapresent the sphere radius in mm.
This is a theoretical value, and the distance depends by the speed of
robot

23/10/2020 50
ACCURACY
@0:

Used as high precision level


The robot assumes that the movement is finished when the tcp reaches
exactly the saved position. This takes more or less 0.1s to confirm the
position

23/10/2020 51
ACCURACY
@E:

Used when the highest precision is required.


The robot assumes that the movement is finished when the tcp reaches
exactly the encoder pulse saved. This takes more or less 0.3s to confirm
the position

23/10/2020 52
ACCURACY
@P:

Used to passing movements


The robot considers reached the target position when should start the
deceleration, and then moves to next position. Depends from the speed.

23/10/2020 53
MOVEMENT INSTRUCTION
MOVE interpolation, accuracy targer, movement options
• Interpolation: P (PtP), L (Linear), C (Circular)
• Accuracy: @0, @E, @P, @numero
• Target:
• P[index]
• J[index]
• T[index]
• Options:
• S=value percentage value of movement speed
• ACCEL= value percentage value of acceleration speed
• DECEL= value percentage value of deceleration speed
• TIME= value time in ms to complete the movement
• NEXT logical prosecution of program till the next
movement instruction

23/10/2020 54
HELPFUL MOVEMENTS
APPROACH interpolation, reference position, accuracy distance, options

DEPART interpolation, accuracy distance, options

Movement instructions that moves to a calculated position. The target position is a


shift of reference position (Apporach) o current position (Depart). This shift is done
on the Z axis of tool

23/10/2020 55
EXERCISE n°1
• Pick&Place between fixed positions (es: between 2 boxes). This task must
follows these constraints:

• The trajectory between pick position and place position must guarantee
the minumum travel time

• The trajectory to end points (pick and place) must guarantee that there
aren’t any risk of collisions between tool and boxes. Must be performed to
reduced speed

• Passing points must not stop the robot movements

• In final position (pick and place) the robots must use an accuracy that
guarantee a stop time not higher than 0.1s
MACRO
MACRO is an alias that is used instead of numerical index into global variables.
This increase the legibility of code.

The macro name must follows these rules:


• Must start with letter. From the second char also the numbers are
permitted
• Blank space are not permitted
• Cannot contains any symbols. Just the underscore is available

Es: P[station1],
I[Picked]
F[Approach_distance_St1]

When are defined into the variable tables, must be created the header file where
are all definitions. Then include this file into the task that use them.
Is possible to show these names on the teach pendant

23/10/2020 57
EXERCISE n°2

• Modify exercise n°1 in order to use only the macro name to index the global
variables

• Show the macro name on the teach pendant


BRANCH INSTRUCTION

IF condition THEN SELECT CASE variabile


‘ code CASE value1
ELSEIF condition THEN ‘code
‘code CASE Value2
ELSE ‘code
‘code CASE ELSE
END IF ‘code
END SELECT
Branch ELSEIF and ELSE are options.
The condition can be complex (AND, Case ELSE is optionally. Each CASE
OR, NOT and XOR are permitted) can contains more value

23/10/2020 59
CYCLE INSTRUCTIONS
FOR index=start TO end value STEP value
‘ cose
NEXT

The end of cycle is done when the index value is strictly greater than of end value

DO
‘ code
LOOP WHILE condition (cycle on true)
UNTIL condizione (cycle on false)

The exit from the loop is done when the condition is false when while keyword is
used. Is similar for keyword until but the exit is done on value true. Test
conditions can be placed after DO

GOTO *Label Jump instructions are deprecated

23/10/2020 60
CALL INSTRUCTIONS
CALL programName

• Call is sequential
• Calling task execute the code written inside the called task
• The obtained resource with Takearm command is not released. The movement
inside the called task are executed
• Inclusion of called task into calling task is necessary

RUN programName

• The calling is parallel


• The calling task goes on the execution after the called task start
• The obtain resource from calling task with Takearm command is not passed to
called task
• The inclusion is not required

23/10/2020 61
WAITING INSTRUCTIONS
DELAY timeout
The program wait that the timeout is passed. Timeout is in ms

WAIT condition, timeout, variable

• To proceed is necessary that the condition is verified (true)


• Timeout option means a waiting limit. When is expired the execution proceeds
• Optionally is possible save into the variable which condition is verified
• 1 → The condition is satisfied before the timeout
• 0 → Timeout is expired

WAITMOTION mode, value

• Lock instruction that wait that a condition on the movement is satisfied


• Different conditions are possible. See the documentation

23/10/2020 62
I/O
• To reading is done during a comparison with a value
IO[index] = On (1) / Off (0)
Is not possible compare with True because the value is -1

• Set IO[index] → Set to 1 the selected I/O


Possible to set a timeout for the lenght
• Reset IO[index] → Set to 0 the selected I/O
ATTENZIONE: Only the output and the internal marker can be setted and
resetted

• DEFIO name = Tipo, 1°bit, mask → Definition of a input/output variable to


convert easily from binary to decimal and vice-versa
ES: DEFIO codePlc = Byte, 8, &B00001111
Into the example is defined a variable named codePlc that groups one byte
from bit n°8. Just the first 4bits are read because others are masked

23/10/2020 63
I/O MAPPING
Porta fisica Porta logica Utilizzo
0-7 System input
8 - 15 User input
Mini I/O
16 - 23 System output
24 - 31 User ouput
48 – 55 User input
Hand I/O
64 – 71 User ouput
- 128 - 511 Internal marker
Fieldbus 512 - … See the
documentation

23/10/2020 64
SUPERVISORY TASK
• The Supervisory task are programs that are executed parallelly, in each
controller condition: Auto, Manual, Teach Check

• Contains just logical instructions (Takearm command is forbidden)

• Is possible use till 32 different supervisory task simultaneously

• The definition is based on the name: TSRnumber(Ex: TSR0, TSR1…


TSR31…TSR999…).

• Is possible to execute them after the controller boot

• Just lv.5 error stops supervisory tasks

• Is better to introduce a 25ms delay to avoid the polling on CPU

23/10/2020 K.L.A.IN. robotics s.r.l. 65


EXERCISE n°3
• Create a supervisory task that:

• Check one input that when is ON, tsr starts the example n°1

• Check a second input that is ON, the example n°1 is stopped.


The stop is done at the end of cycle
PLC INTERFACE

23/10/2020 67
PLC INTERFACE
E’ possibile comandare da PLC l’avvio del ciclo robot utilizzando i segnali
predefiniti di sistema.

23/10/2020 68
PLC INTERFACE

23/10/2020 69
LAYOUT DESIGN

• Work close the joint 2 height • Avoid the posture change


• Avoid the singularity point • Favor the movement of the joint 1
• Don’t work with robot arm too • Limit the work of joint 3 to have
close faster cycles

23/10/2020 70
PROJECT DESIGN
SYSTEM
PLC SIGNALS MAIN TASK
USER RC8
SIGNALS PROn
(recipts,
products…)

TASK TASK TASK

TASK TASK TASK

23/10/2020 71
PROJECT DESIGN
PLC
TSR
USER RC8
SIGNALS
(recipts,
products…) MAIN TASK
RC8

TASK TASK TASK

TASK TASK TASK

23/10/2020 72
OPERATOR PANEL
• Develop an operator panel

• Management robot
parameters

• Asynchronous events

• Limitation of operation of
operator

• N.B. Time of refresh should


not change from 1s

23/10/2020 73
EXERCISE n°4
• Develop a page that permits:

• Motor setting (ON / OFF)

• Start /stop the task developed at ex. n°1

• Show the current robot position


HELPFUL COMMANDS

• CHANGEWORK numero → Set the current work(0-7)


• CHANGETOOL numero → Set the current tool(0-63)

• MOTOR ON/OFF → Turn on/off the motor. The switch off can cause the suspension
of task. Is necessary to modify the setting into the program parameters

• PAYLOAD peso, V(x,y,z), V(xi,yi,zi) → Set the payload on the end-effector. The unit
is gram
HELPFUL COMMANDS
• CURPOS, CURJNT → Get the current cartesian or joint position

• LETX, LETY, LETZ, LETRX, LETRY, LETRZ → Set the component into a cartesian
position

• LETJ → Set the component into joint variable

• LETF → The the posture of robot arm

• POSX(variabilePosition), POSY, POSZ, POSRX, POSRY, POSRZ → Extract the


component from cartesian position

• JOINT(num, variabileJoint) → extract the component from joint variable


HELPFUL COMMANDS
• DRIVE(axis, degrees) → Relative movement of one axis

• DRIVEA(axis, degrees) → Absolute movement of one axis

• MOTIONCOMPLETE(armgroup, mode) → Return if a axis group had complete the


movement or not

• MOTIONSKIP armgroup, mode → Skip the current movement

• Dev(position, deviation) → Shift one position using work system coordinates

• DevH(position, deviation) → Shift one position using tool system coordinates


HELPFUL COMMANDS

• SETAREA numero → Set active one area (es. Encumbrance)


• RESETAREA numero → Disable the area

• SPEEDMODE numero → Set the optimization level for acceleration and


deceleration ramps. The level is included between 0-3. Attention that can causes
error as overload or excess deviation error.

• HIGHPATHACCURACY True/False → Enable/Disable the function for increase the


accuracy into passing points
HELPFUL COMMANDS

• SYSSTATE → Returns the current state of the system. Is a intger number that must
convert into a binary number where each bit means something

• GETSRVDATA(parametro) → Get informations about motor (ex: parameter 4 →


returns the absolute motor current value

• STATUS(nomeProgramma) → Returns the status of one task

• CLRERR → Clear all error on the controller


• CURERR (indice)→ Returns the current error. Is possible to set the index of the
error to read
COMPATIBILITY RC7
• Porting from RC7 programs to RC8 is not direct, due:
• Extensions could be different (.pac → .pcs, .pnl → .pns)
• RC8 controller hasn’t program bank → commands are changed or removed
• Some commands are became deprecated
• Introduction of some new commands, more specific

• There is a conversion table


HOME → PROGRAMMING → RC7M COMMAND CORRESPONDENCE TABLE
where is possible find the correspondeces between RC7 command and RC8
command

• ATTENTION: some conversion from different type of data could generate


differents round
BACKUP & SUPPORT
• In order to receive support is necessary send the complete project backup
• WincapsIII creates a folder (named as the project) that cointains:
• File WPJ → project index
• Folder named as project → contains some other sub-folders and all project
data. One folder is SOURCE where there are all task sources.
• A folder named as project and extension .Ext → contains other sub-folders
with project extension (vision, IO-Link…)

• Send to [email protected]:
• Update the backup with a complete download from the controller
• Save the project and close WincapIII
• Zip the project folder
• Change the extension (.zip → .zipp) to pass the firewall filters
Operational headquartes: Via Cacciamali , N° 67 – 25125
Brescia.

Phone: +390303582154
Fax: +390302659911

http : www.klainrobotics.com
E-mail : [email protected]

23/10/2020 Release 2016.1 82

You might also like