Subido por egaona.set

MASSIV PLC Robot Interface version8 Rev5

Anuncio
Massiv Automated PLC-Robot Interface
Rev5.0
May5, 2015
Document subject to changes
This document describes the PLC to Robot interface for Massiv standard North American
projects.
Robot Area Enter (Robot to tooling interface)
8 bits required each way, one per area (Bits 65 to 72).
From Robot to PLC, signal high means Robot Clear of Area.
From PLC to Robot, signal high means Robot Clear to Enter Area
An Area is defined as the volume surrounding a station to avoid a robot-to-station
collision.
When the Robot wants to enter an area, it will check the Robot Clear to Enter Area bit
from the PLC. If this bit is On, the robot can enter the area, but before it must turn Off its
Robot Clear of Area bit. As soon as the robot exits the area, it should turn back On its
Robot Clear of Area output.
As a convention, Area 1 is the first area the robot moves into, Area 2 is the second one,
and so forth.
If a robot is entering the same tool more than once per cycle, it will use the same area
number; the interlock conditions will be the controlled via PathAck’s to distinguish the
different conditions for each process.
Robot Enter Zone Logic (Robot to Robot Interface)
14 bits required each way, one per zone (Bits 73 to 86).
From Robot to PLC, signal high means Robot Clear of Zone.
From Robot to PLC, signal low means Robot Request to Enter Zone or Robot In Zone.
From PLC to Robot, signal high means Robot Clear to Enter Zone.
PLC-Robot Interface V2.0 – Subject to Change
Massiv Automated Systems
Oct3, 2012
Page 1 of 13
A zone is to be defined whenever two or more robots can collide. The PLC will arbitrate
the zones to allow only one robot at a time inside a given zone.
When the Robot wants to enter a zone, it will turn Off its Robot Clear of Zone output.
The PLC will check that no other robot is in the zone, and will turn On the Robot Clear
To Enter Zone bit. The robot can now enter the zone. As soon as the robot exits the
zone, it should turn back On its Robot Clear of Zone output.
As a convention, Zone 1 is the first zone the robot moves into, Zone 2 is the second one,
and so forth. Robot zones within a tool (i.e. 2 robots enter a station at the same time to
weld) should start at Zone 2, Zone 1 for the welding robots would be used to interface
with a material handling robot(s) that picks/drops from/to the machine.
Pathsegs/PathAck’s
8 Pathseg Number bits required from the Robot to the PLC (Bits 57 to 64)
1 Pathseg Request bit required from the Robot to the PLC (Bit 56)
1 Path OK bit required from the PLC to the Robot (Bit 56)
There are two types of interface used with Path segments; The “Pathseg” is simply to
inform the PLC of the Path in which the robot is currently running. The “PathAck” is
used to control the path of the robot with the PLC, whereby the robot must wait for an
acknowledge from the PLC before it can continue motion.
The Pathseg Number must remain on at the robot outputs at all times. It is cleared to zero
only when the robot goes back home and finishes executing its program.
Path Ack usage is as follows (there is a separate document showing the details of each
one)
PLC-Robot Interface V2.0 – Subject to Change
Massiv Automated Systems
Oct3, 2012
Page 2 of 13
Path Acknowledge
Function
Acknowledge
0
Usage
Control
Robot At Home
Robot At Home
Service
Move to Tip Dress
Description
1
2
3
4
Move to Service
5
Return from Service
6
Move to Tip Change
7
Return From Tip Change
8
In Process Tool Changer
In Process Tool Changer
9
1st Pickup
Pickup #1 Move To Pounce
10
Pickup #1 Move To Position
11
Pickup #1 Reposition (If Req'd)
12
There are five groups for
pick up, controlled by four
segments
Pickup #1 Part Present Check
2nd Pickup
13 - 16
3rd Pickup
17 - 20
4th Pickup
21 - 24
5th Pickup
25 - 28
29
1st Drop off
Drop-off #1 Move Early
30
Drop-off #1 Move To Position
31
Drop-off #1 Reposition (If Req'd)
32
There are five groups for
drop off, controlled by
four segments
Drop-off #1 Part Present Check
2nd Drop off
33 - 36
3rd Drop off
37 - 40
4th Drop off
41 - 44
5th Drop off
45 - 48
PLC-Robot Interface V2.0 – Subject to Change
Massiv Automated Systems
Oct3, 2012
Page 3 of 13
49
1st Process
Process #1 Move To Pounce
50
Process #1 Move to Process
51
Process #1 Reposition 1
52
Process #1 Reposition 2
53
There are eight groups for process,
controlled by five segments
Process #1 Process Complete
2nd Process
54 - 58
3rd Process
59 - 63
4th Process
64 - 68
5th Process
69 - 73
6th Process
74 - 78
7th Process
79 - 83
8th Process
84 - 88
Custom Process
There are 29 Path ack groups reserved
for a Custom Process if needed
Decision Code
Pathsegs/Process
1-6
There are 6 Path ack reserved for
Decision Code Process 1-6
100 - 128
129 - 134
136
Decision Code
Pathsegs Global
Cap Change
Complete
Decision Code
Pathsegs/Service
137
Decision Code
Pathsegs/Tip Dress
138
Decision Code
135
PLC-Robot Interface V2.0 – Subject to Change
Decision Code used if you have more
than weld gun
Decision Code use if you have more
Than EOAT
Decision Code used if you have more
than weld gun
Decision Code used if you have more
Massiv Automated Systems
Oct3, 2012
Page 4 of 13
Pathsegs/Cap
Change
than weld gun
139
Decision Code-Thickness
Check-Acknowledge Ok
Confirmation of Thickness Check is
ok to cont.
140
Decision Code-Thickness
Check-Release
Confirmation of Thickness Check is
ok to cont. Released by another robot
through PLC signal
141
Decision Code
Pathsegs/Racking
142
Decision Code
Pathsegs/Sealer
143 - 145
Racking 1
Multi rack selection
Racking 2
Verify Part count mis match
Sealer 1
There are 3 Path ack per sealer app
reserved for Decision Code Sealer,
Selection for Re-do, Reject, Pass and
By-pass.
Sealer 2
Sealer 3
146 - 147
Decision Code
Pathsegs/Reamer
148 - 149
Decision Code
Pathsegs/Rivet
Reamer 1
Reamer 2
Rivet 1
There are 2 Path ack reserved for
Decision Code Rivet
Rivet 2
150
Aux Axis1 Pathsegs
There are 2 Path ack reserved for
Decision Code Reamer
Aux Axis1 To Service
151
Aux Axis1 To Position 1
152
Aux Axis1 To Position 2
153
Aux Axis1 To Position 3
154
Aux Axis1 To Position 4
155
Aux Axis1 To Position 5
156
Aux Axis1 To Position 6
157
Aux Axis1 To Position 7
158
Aux Axis1 To Position 8
159
Spare
Aux Axis2 Pathsegs
There are 10 Path ack reserved for
Aux Axis 1
There are 10 Path ack reserved for
Aux Axis 2
160 - 169
Aux Axis3 Pathsegs
170 - 179
There are 10 Path ack reserved for
Aux Axis 3
180 - 192
Spare Path ack
193
Mig Weld 1 Service
Move To Reamer
194
Start Reamer Cycle
195
Start to Spray
196
Shroud Present
197
Arc Weld Recovery
198
Spare
PLC-Robot Interface V2.0 – Subject to Change
There are 7 Path ack reserved for Mig
Weld 1 Service
Massiv Automated Systems
Oct3, 2012
Page 5 of 13
199
Spare
Mig Weld 2 Service
There are 7 Path ack reserved for Mig
Weld 2 Service
200 - 206
207
Feeder
Feeder 1 Inspect Req
208
Feeder 1 Max Re-Try
209
Feeder 2 Inspect Req
210
Feeder 2 Max Re-Try
211
Clinch
Clinch 1 Comp Failed
212
Clinch 1 Spare
213
Clinch 2 Comp Failed
214
Clinch 2 Spare
215
Emhart
Emhart 1 ReTry/Reject
216
Emhart 1 Ack Reject
217
Emhart 2 ReTry/Reject
218
Emhart 2 Ack Reject
There are 4 Path ack reserved for
Feeder
There are 4 Path ack reserved for
Clinch
There are 4 Path ack reserved for
Emhart
219 - 256
PLC-Robot Interface V2.0 – Subject to Change
Massiv Automated Systems
Oct3, 2012
Page 6 of 13
Decision Codes
8 bits required from the PLC to the Robot (Bits 89 to 96)
Works with the Pathacknolegdement Logic.
When the robot comes to a position where it must follow one out of many different paths,
it will request a Pathack Number in the range 1 to 256 to ensure the robot has a selected
decision before it continues to eliminate continuous programming loops.
Pounce
The robot will move from home to the pounce position directly after the main program is
called. The robot will use the appropriate Path ack in either the pick or process section of
each group of path acks. Once in the pounce position the robot will wait for a decision to
continue or return home.
Path Ack Sent To PLC
1
Continue After Pounce
2
Abort After Pounce
PLC-Robot Interface V2.0 – Subject to Change
Decision from PLC
9 Pickup #1 Move To Pounce
49 Process #1 Move To Pounce
Massiv Automated Systems
Oct3, 2012
Page 7 of 13
Note: The pounce function is not used for the drop programs.
Tip Dress
Tip dressers will be controlled by the Robot. Tip dress can be initiated either by the robot,
or manually through the Panel View.
Tip Dress Requested from the Bosch
When the robot wants to initiate a Tip dress in response to a Weld Controller Tip Dress
Request (DI 370), it turns On the Tip Dress Request (DO 115) signal to inform the PLC.
The robot will run a Bosch check program at the appropriate point in the process and if
the Tip Dress Request is on the robot will start the tip dress process at the end of its
current selected cycle. As the robot enters the Tip dress program the robot turns on (DO
122) and turn it off when the tip dress is complete.
At the end of each weld routine the robot routine, “BOSCH1CHECK(*)”. In the variable
you put the gun number that you are checking. When the Bosch1check routine executes it
takes that variable and sets the gun number. It then sets the appropriate weld schedule on
the bus so that the Bosch weld control will reflect back the status of that gun numbers
electrode which will turn on DI370 for “tip dress” and DI371 for “approaching cap
change”. The Bosch1check routine then calls the appropriate function either tip dress or
tip change. Built into the Bosch1check routine are recovery routines in the case of a
failure due to tip wear checks.
When the robot executes its tip dress/change routines they use the background
pathsegs exclusively for indication of position in which routine they are. The background
pathseg values as well as the diagnostic values that are used to drive the robot panelview
diagnostic screen are also used to flag that the tip dress/change routines have started.
These values are used in the PLC to latch on the tip dress/change requests. Should a
program get aborted or not complete for any reason, these latches will not get reset since
the normal execution of the routine will set and reset these latches. So in the case where a
routine doesn’t complete on the next initiation of cycle of the robot it will automatically
get the appropriate service call first so that the proper completion of the routine can be
done. There are no digital I/O passed between the robot and the PLC anymore for these
functions.
PLC-Robot Interface V2.0 – Subject to Change
Massiv Automated Systems
Oct3, 2012
Page 8 of 13
Tip Dress Requested from the Panel View
The same action can be triggered by pressing the Tip Dress button on the Panel View for
5 3 seconds.
The PLC will latch the request, and will wait until the robot finishes executing its current
PNS program call. After that, the PLC will call PNS Program 51, with the Tip Dress
Request signal On.
The robot will turn (DO 122) On, to inform the PLC the robot is in a tip dress routine,
once complete it will send (DO 122) OFF, to inform the PLC that tip dressing is
complete.
See bosch called tip dressing as reference.
Note: If there is more than one Tip Dress Request signal active from the PLC (e.g. For
Gun1 and for Gun2), the robot must finish the Tip Dress cycle on all of the guns before
requesting again.
Note: Tip dressers are not to be shared between two or more robots.
Tip Change
Tip Change sequence can be initiated manually through the Panel View by pressing the
Tip Change button on the Panel View for 5 3 seconds, or is triggered automatically from
either the weld control sending “tip change request”, or the servo gun (if applicable)
sending DO125 DO121 (Max Wear). The PLC will latch the request (in the case of Cap
Change request), and will wait until the robot finishes executing its current program.
After that, the PLC will call Robot Program 52, with the Tip Change Request bit On. If
the robot reaches the max wear indicator, it will fault and needs to be manually run home
to run the service routine.
“Max Tip Wear” DO121 is only used in the PLC for fault messaging and diagnostics. If
the max tip wear output, DO121 is flagged the tipdress routine will flag it and internally
call the tip change routine. The same applies if the tip wear update finds that not enough
material has been taken off and then it will tip dress again. If after the second time there
is still not enough material taken off it will also initiate a tip change routine.
The robot must will then signal Pathseg Number 6, and move to Service Position.
Once it is in Service Position, it must will request PathAck 7. This PathAck will be
released by pressing the Tip Change button on the Panel View. The operator should
change the tips before pressing the Tip Change button for the second time. The PLC will
only acknowledge a Tip Change if a gate has been opened and the water has been turned
off to the robot.
PLC-Robot Interface V2.0 – Subject to Change
Massiv Automated Systems
Oct3, 2012
Page 9 of 13
When the operator presses the Tip Change button after changing the tips, PathAck 7 will
be released and Steppers Reset signal will go high until the robot Steppers Reset signal
from the Robot goes high.
The robot will then run the Cap Seat program, and proceed to tip dress. At this point the
robot will return home and is ready for production.
Service Position
Move to Service Position is initiated from the Panel View. This button is now on the
Robot screen, and not in a separate Service screen. This button is on the global service
screen as well as the local robot service screen. The PLC will latch the request, and will
wait until the robot finishes executing its current program. After that, the PLC will call
PNS Program 50.
The Robot will signal Pathseg Number 4, and move to Service Position. It must then
request PathAck 5 and wait for acknowledge. PathAck 5 will be released by pressing the
Service button on the Panel View one more time.
Diagnostics
Diagnostics are meant primarily to be used for Panel View display. There are 8 bits
reserved for this, allowing for display of up to 1024 messages/alarms.
Diagnostics numbers 1-256 will be used for messages, i.e. status indication of the robot,
which might cause the robot to stop while it waits for a signal coming from the PLC. This
category will include Waiting to Enter Area, Waiting to Enter Zone, Waiting for Pathseg
to be Released, etc. These messages will be shown on the Panel View Robot Screen, as a
Local Message.
Diagnostics numbers 257-1024 will be used for alarms, or situations originating in
equipment connected to the robot, but not to the PLC. This category will include Clamps
Open / Close faults, Shot pin Engage / Disengage Faults, Vacuum Faults, PP check
Faults, Tool Changer faults, Nut Clincher faults (when the Nut Clincher is controlled by
the robot), etc. Any number higher than 257 will trigger a pop-up alarm on the Panel
View: “Robot Process Fault. Check Robot screen for details”. Most of these faults will
be time-out triggered, so the time it takes to complete the motion must be monitored by
the robot, to trigger the appropriate message number.
Weld and Glue Faults will be handled differently, as described in the following
sections.
The natures of the alarms displayed through the Diagnostics alarms require intervention
on the robot equipment.
PLC-Robot Interface V2.0 – Subject to Change
Massiv Automated Systems
Oct3, 2012
Page 10 of 13
Weld Schedule
Every time the robot welds a spot on a part, it will increment a counter which is sent to
the PLC. Once the robot has completed welding in a particular station, the PLC will do a
compare between the planned and actual number of welds. If this doesn’t match, the PLC
will not release the Robot and an alarm message will be flagged to the HMI.
Weld Faults
Weld Faults will be signaled to the PLC through Robot Outputs Major Fault (119 for
Weld Controller 1, and 198 for Weld Controller 2). When any of these signals go high,
the PLC will display an Alarm.
The PLC will turn on FltRstWC for retrying the weld (input 106 for WC1 or 186 for
WC2) The signal will be held high as long as the Major Fault signal coming from the
Robot is high.
This is something that we need to look at. It is in the code but generally does nothing.
The robot re-tries with fault reset/auto initiate pb and these buttons, although are up on
the robot screen, are never used. We will do some testing and see where we go with this.
Glue Faults
The details of Glue Faults are equipment-specific, so these guidelines may not be
applicable to particular glue equipment.
The PLC interface supports up to 3 glue systems per robot, with up to 3 faults per system
(GlueErr1 to GlueErr3). These fault signals are used to trigger the alarms on the Panel
View. The Glue OK signal is the one that is actually used by the PLC to know whether
the application was successful or not. This signal must be high at the beginning of the
application (it is a condition to release Pathseg 50).
After applying the glue, if there was any glue application error, the robot must turn off
this signal before requesting PathAck 143 (Glue Complete). If the robot is holding the
part, it should also move to a position where the part is easily visible from the outside of
the cell, to allow the operator to select the best recovery action (again, before requesting
PathAck 143, Glue Complete).
The combination of PathAck 143 and Glue OK low will make the PLC to prompt the
operator for the recovery action: Redo, Reject or Bypass.
Selecting Redo will turn On the Glue Redo signal while releasing PathAck 143. This will
trigger a new application cycle. The robot must turn On the Glue OK signal, request
Pathseg 50 and reapply the glue. The Glue Redo signal will stay high as long as the robot
is in Pathseg 143 and Glue OK is low.
Selecting Bypass will turn On the Glue Byps signal while releasing PathAck 143. The
robot must then turn On the Glue OK signal and continue to the next step.
The Glue Byps signal will stay high as long as the robot is in Pathseg 143 and Glue OK is
low.
PLC-Robot Interface V2.0 – Subject to Change
Massiv Automated Systems
Oct3, 2012
Page 11 of 13
The action triggered by selecting Reject will depend on the particular cell and system. If
the fault occurs while the part is on a station controlled by the PLC, on the Robot side it
will appear as a Glue Bypass, while on the PLC the part will be marked for reject at a
later station. The same will happen if the robot is holding the part and there is a suitable
reject station further down the road.
On the other hand, if the robot is holding the part and there is no suitable reject station,
the Glue Reject signal will be turned On by the PLC while releasing PathAck 52. This
will cause a defined action for the robot: Either dropping the part on the floor and going
back to home position for the next cycle or moving to a position where the part can be
manually removed from the end-effector, open the clamps, turn off any vacuum suction
cups, wait for No Parts Present, and finally wait for Pathseg 52 Process complete to be
released. Pathseg 52 will be released by pressing the Glue Reject button once more on the
Panel View, after the part has been manually removed from the robot.
Program Call
Program call will be issued to all of the robots whenever the cell enters Auto Mode to
start the main program. When the Cycle Start button is pressed on the Panel View, all the
robots will move to pounce and wait or either decision 1 to continue or decision 2 to
move home.
Ok this portion doesn’t need to be like this. The way that the code is setup now the
initialization of the routine is based on the Pre-enter pathseg, which is based on what job
you are doing. 9, 11, 13, 49, etc. This can stay this way and if we agree to use the loop
method it will generally work the same way. Once the 1st initialization of the PNSxxxx
call, it will stay in the loop until required to leave the loop. Requirements to leave would
be style change or any service routines that are requested. This presents a problem though
with the way that is proposed here. The general concept of a pounce(pre-enter position) is
to allow the robot to start ahead of the tool being clear to enter and to allow it to move
into a closer proximity to the actual enter position. This is required in most cases because
the close proximity position is usually within interference zones of other robots so you
need this to be able to prioritize who enters when. In some cases there isn’t a need for a
pounce and if using this method the robot would probably just initiate pounce at home
position. That being said when you have situations where you are using pounce as it
should be, to get to a close proximity to the tool, the option of exiting the program for a
style change or manual service would mean that the robot would have to move to pounce
to get the clear to return and abort the program. This doesn’t make a lot of sense to me.
What way that we should be doing it if we are going down this road is that at the end of
the program there should be an option to abort and allow a new PNSxxxx to be called. In
this way when we have a style change, which in some cases could be every other part,
although that is rare, the robot would constantly be moving to pounce and back to get a
new program call.
I think if we add a decision to the end of the PNSxxxx call to have the option to
abort and be able to call another PNSxxxx then this loop method will work properly.
All the current code and routines would stay the same. Pounce would go at the
beginning of each main PNS call, not any service PNS calls. Once initiated the first time
PLC-Robot Interface V2.0 – Subject to Change
Massiv Automated Systems
Oct3, 2012
Page 12 of 13
the robot, as long as it doesn’t get a request for any other PNSxxxx calls will stay within
the loop. At the end of the PNSxxx programs we add a common pathack/decision code to
have the ability to abort at the end. In the case of style calls we will know ahead of when
the program ends that a new call is coming and if we don’t then it reverts to having to
abort through the Pounce routine. This will almost never happen in a line running
production because the style change will be right behind the other style and we can see
ahead of when it is coming and a style change will be flagged so as soon as the robot gets
to the end of the routine it will finish and then just be waiting at home for a new call.
Once it gets the new call it gets trapped in the loop again.
Once the decision is received on which application to run, Material Handler Robots will
stop there, waiting for PathAck 9 to be released. Glue and Welder Robots will stop,
waiting for PathAck 49 to be released. These Pathsegs will be released as soon as the
conditions are met on the stations (part present, station in position, other robots clear,
light screens reset, etc.).
These Pathsegs will also be released if the Return From Pounce button is pressed on the
Panel View, or if the Tip Dress, Tip Change or Service Position button is pressed.
When these Pathsegs are released, the robot must check for the decision code coming
from the PLC. If it is 2, the robot must go back to Home Position, reset all I/O and stop
there, waiting for a new Program Call and Cycle Start signal from the PLC. The decision
code will remain stable at the PLC outputs as long as the robot Pathseg is 9 or 49.
Other Decision Codes must be ignored by the robot, and it should proceed to pick up or
weld or glue, unless the process requires a valid defined Decision Code at this point.
PLC-Robot Interface V2.0 – Subject to Change
Massiv Automated Systems
Oct3, 2012
Page 13 of 13
Descargar