RT WAP ABB Appllication Standard Rel 3.0
RT WAP ABB Appllication Standard Rel 3.0
If you received this document by means other than a direct E-Mail from DaimlerChrysler AAME Robotics Group, you are
not on the distribution list and you will not receive future updates. It is the user’s responsibility to obtain latest updates to this
document.
The logic, flow charts, and sample programs supplied are intended as a basic example and may not include all logic required to properly
control a robot in all applications. It is the build vendor'
s responsibility to provide and debug all logic and robot programming required for
proper system operation. The examples set forth in this document shall be followed. Any deviations will require approval by
DaimlerChrysler AAME robotics group.
When in By-pass Mode, the PLC logic should allow the following:
A. Allow the current part or job to transfer out of that station (if the robot is clear).
B. Allow the line to continue to run while the robot is in by-pass and clear of all
tooling.
C. Send required back-up information to down stream robot(s) and/or FIS/AVI for
downstream manual backup.
- In processes which do not allow for the line to run with a specific robot in by-pass.
A. Allow the current part or job to transfer out of that station (if the robot is clear).
B. Stop further machine cycles if left in by-pass mode.
C. Allow for easy changes to the PLC logic to override item “B” in the event that the
plant provides temporary manual back-up for continued production.
Note: Process Engineering, during the Design Phase of a project, will identify robots that can be
by-passed while tooling continues to operate.
“Robot Ready” Device Net - This signal is true when the following conditions are met:
RobotInAuto (True)
RunChainOK (True)
RobotFaulted (False)
PathRestartError (False)
EStopActive (False)
MotionSupError (False)
I/OBlockedInAuto (False)
WeldMode Active (True) (Spotweld Only)
Note: Robot “Motors On” is not required (examined) to achieve “Robot Ready”
The following signals are available through Device Net and should be displayed as faults
or messages:
ROBTARGET NAMING
1. Robtarget names shall follow the convention below:
- The robtarget name should include the robot number, station number and shall include a meaningful descriptor of the
position.
- Never clamp the same part with two robots at the same time. The robot with the part must release the part (open gripper)
prior to the other robot gripping the part (close gripper)
- The robot presenting the part, must be positioned at the hand-off location so that the grippers can be opened without the
part falling or moving due to gravity.
- Handshaking shall be performed through the Robot to PLC to Robot communications. All robot handshaking must be
monitored (part present/not present, clamps opened/clamps closed, vacuum on/off) to ensure a smooth and reliable part
exchange.
- The robots should be programmed in a manner consistant with a robot picking up a part from an idle fixture or dropping
off a part at an empty idle fixture.
- The Safety PLC logic will examine both of these zone switches to be “ON” (Closed) indicating a clear of operator or
“OFF” (Opened) indicating not clear of operator.
- The Safety PLC logic will indicate a Base Zone Limit Switch Error if the switch signals do not match (both opened or
both closed). Since both switches will not close or open at exactly the same time, a timer delay of around 0.5 seconds will
be required to buffer the signals during the transition periods.
RobotInAuto IccssNyy.b00 DO0 This robot system output signal informs the PLC that the robot is in automatic mode.
RobotReady IccssNyy.b01 DO1 This robot system output signal informs the PLC that the robot is ready for a remote PLC
StartRobot order. The conditions for RobotReady are specified on page 5 of this document.
RobotFaulted IccssNyy.b02 DO2 This robot system output signal informs the PLC that the robot is in a faulted state.
DryCycleActive IccssNyy.b DO3 This robot output signal informs the PLC that the robot is in dry cycle mode.
RobotClrFixt1 IccssNyy.b DO4 This robot output informs the PLC that the robot is clear of fixture 1. (output driven by World
Zone definition)
RobotClrFixt2 IccssNyy.b DO5 This robot output informs the PLC that the robot is clear of fixture 1. (output driven by World
Zone definition)
RobotClrFixt3 IccssNyy.b DO6 This robot output informs the PLC that the robot is clear of fixture 1. (output driven by World
Zone definition)
PathRestartError IccssNyy.b DO7 This robot system output informs the PLC that the robot has moved off the planned path
and the program cannot be remotely restarted.
RunChainOK IccssNyy.b DO8 This robot system output informs the PLC that the robot run chain is not broken.
EStopActive IccssNyy.b DO9 This robot system output informs the PLC that a robot E-stop condition is active.
MotionSupError IccssNyy.b DO10 This robot system output informs the PLC that the robot motion supervision has detected a
collision.
I/OBlockedInAuto IccssNyy.b DO11 This robot system output informs the PLC that the user has changed to AUTO. Mode and
has elected to leave one or more I/O signals blocked. (when a signal is blocked, the
connection between the logical and physical values are disconnected).
RobotAtWork IccssNyy.b DO12 This robot output signal informs the PLC that the robot is has left the Pounce position and is
entering the style routine.
RobotCycleOn IccssNyy.b13 DO13 This robot system output signal informs the PLC that the robot program is executing.
WorkComplete IccssNyy.b14 DO14 This robot output informs the PLC that the robot has successfully completed the cycle.
Clr2UnclampEarly IccssNyy.b DO15 This robot output informs the PLC that the robot is clear to unclamp early (user control).
RobotAtPounce IccssNyy.b DO16 This robot output informs the PLC that the robot is at pounce position.
RobotAtHome IccssNyy.b33 DO17 This robot system output informs the PLC that the robot is at home position.
RobotAtService IccssNyy.b18 DO18 This robot system output informs the PLC that the robot is at service position.
RobotAtUserPos1 IccssNyy.b19 DO19 This robot system output informs the PLC that the robot is at user defined position 1.
RobotAtUserPos2 IccssNyy.b20 DO20 This robot system output informs the PLC that the robot is at user defined position 2.
RobotAtUserPos3 IccssNyy.b DO21 This robot system output informs the PLC that the robot is at user defined position 3.
RobotAtUserPos4 IccssNyy.b DO22 This robot system output informs the PLC that the robot is at user defined position 4.
RobotAtUserPos5 IccssNyy.b DO23 This robot system output informs the PLC that the robot is at user defined position 5.
ActiveStyleBit1 IccssNyy.b DO24 This robot output along with the next six bits, (ActiveStyleBit2 - ActiveStyleBit64) in a binary
pattern (seven bit group output goActiveStyle), allows the robot to Acknowledge to the PLC
that it has received the ActiveStyle value that was originally sent by the PLC.
The BCD value for ActiveStyleBit1 = 1 (2^0)
ActiveStyleBit2 IccssNyy.b DO25 Reference ActiveStyleBit1. The BCD value for ActiveStyleBit2 = 2 (2^1)
ActiveStyleBit4 IccssNyy.b DO26 Reference ActiveStyleBit1. The BCD value for ActiveStyleBit4 = 4 (2^2)
ActiveStyleBit8 IccssNyy.b DO27 Reference ActiveStyleBit1. The BCD value for ActiveStyleBit8 = 8 (2^3)
ActiveStyleBit16 IccssNyy.b DO28 Reference ActiveStyleBit1. The BCD value for ActiveStyleBit16 = 16 (2^4)
ActiveStyleBit32 IccssNyy.b DO29 Reference ActiveStyleBit1. The BCD value for ActiveStyleBit32 = 32 (2^5)
ActiveStyleBit64 IccssNyy.b DO30 Reference ActiveStyleBit1. The BCD value for ActiveStyleBit64 = 64 (2^6)
Option1Active IccssNyy.b DO32 This robot output informs the PLC that option 1 is active.
Option2Active IccssNyy.b DO33 This robot output informs the PLC that option 2 is active.
Option3Active IccssNyy.b DO34 This robot output informs the PLC that option 3 is active.
Option4Active IccssNyy.b DO35 This robot output informs the PLC that option 4 is active.
RobotClrZone1 IccssNyy.b36 DO36 This robot output informs the PLC that the robot is clear of interference zone 1. Reference
the AAME zone logic standard document for further information.
RobotClrZone2 IccssNyy.b37 DO37 This robot output informs the PLC that the robot is clear of interference zone 2. Reference
the AAME zone logic standard document for further information.
RobotClrZone3 IccssNyy.b38 DO38 This robot output informs the PLC that the robot is clear of interference zone 3. Reference
the AAME zone logic standard document for further information.
RobotClrZone4 IccssNyy.b39 DO39 This robot output informs the PLC that the robot is clear of interference zone 4. Reference
the AAME zone logic standard document for further information.
RobotClrZone5 IccssNyy.b40 DO40 This robot output informs the PLC that the robot is clear of interference zone 5. Reference
the AAME zone logic standard document for further information.
RobotClrZone6 IccssNyy.b41 DO41 This robot output informs the PLC that the robot is clear of interference zone 6. Reference
the AAME zone logic standard document for further information.
RobotClrZone7 IccssNyy.b42 DO42 This robot output informs the PLC that the robot is clear of interference zone 7. Reference
the AAME zone logic standard document for further information.
RobotClrZone8 IccssNyy.b43 DO43 This robot output informs the PLC that the robot is clear of interference zone 8. Reference
the AAME zone logic standard document for further information.
UserOutput1 IccssNyy.b DO44 This robot output is designated for a user defined function.
UserOutput2 IccssNyy.b DO45 This robot output is designated for a user defined function.
UserOutput3 IccssNyy.b DO46 This robot output is designated for a user defined function.
UserOutput4 IccssNyy.b DO47 This robot output is designated for a user defined function.
UserOutput5 IccssNyy.b DO48 This robot output is designated for a user defined function.
UserOutput6 IccssNyy.b DO49 This robot output is designated for a user defined function.
UserOutput7 IccssNyy.b DO50 This robot output is designated for a user defined function.
UserOutput8 IccssNyy.b DO51 This robot output is designated for a user defined function.
ClrOfPickup1 IccssNyy.b DO52 This robot output indicates that the robot is clear of pickup position 1.
AtPickup1 IccssNyy.b DO53 This robot output indicates that the robot is at the pickup position 1.
ClrOfDropoff1 IccssNyy.b DO54 This robot output indicates that the robot is clear of drop off position 1.
AtDropoff1 IccssNyy.b DO55 This robot output indicates that the robot is at the drop off position 1.
ClrOfPickup2 IccssNyy.b DO56 This robot output indicates that the robot is clear of pickup position 2.
AtPickup2 IccssNyy.b DO57 This robot output indicates that the robot is at the pickup position 2.
ClrOfDropoff2 IccssNyy.b DO58 This robot output indicates that the robot is clear of drop off position 2.
AtDropoff2 IccssNyy.b DO59 This robot output indicates that the robot is at the drop off position 2.
ClrOfPickup3 IccssNyy.b DO60 This robot output indicates that the robot is clear of pickup position 3.
AtPickup3 IccssNyy.b DO61 This robot output indicates that the robot is at the pickup position 3.
ClrOfDropoff3 IccssNyy.b DO62 This robot output indicates that the robot is clear of drop off position 3.
AtDropoff3 IccssNyy.b DO63 This robot output indicates that the robot is at the drop off position 3.
ClrOfPickup4 IccssNyy.b DO64 This robot output indicates that the robot is clear of pickup position 4.
AtPickup4 IccssNyy.b DO65 This robot output indicates that the robot is at the pickup position 4.
ClrOfDropoff4 IccssNyy.b DO66 This robot output indicates that the robot is clear of drop off position 4.
AtDropoff4 IccssNyy.b DO67 This robot output indicates that the robot is at the drop off position 4.
AppClr1 IccssNyy.b DO68 This robot output indicates the robot is clear of machine process 1.
Appclr2 IccssNyy.b DO69 This robot output indicates the robot is clear of machine process 2
RobotPartPres1 IccssNyy.b DO70 This robot output indicates that Part1Present switch is made at the robotically held gripper.
Typical usage is PLC / robot coordination of a manual load operation to a robot gripper.
RobotPartPres2 IccssNyy.b DO71 This robot output indicates that Part2Present switch is made at the robotically held gripper.
Typical usage is PLC / robot coordination of a manual load operation to a robot gripper.
RobotPartPres3 IccssNyy.b DO72 This robot output indicates that Part3Present switch is made at the robotically held gripper.
Typical usage is PLC / robot coordination of a manual load operation to a robot gripper.
RobotPartPres4 IccssNyy.b DO73 This robot output indicates that Part4Present switch is made at the robotically held gripper.
Typical usage is PLC / robot coordination of a manual load operation to a robot gripper.
RobotPartPres5 IccssNyy.b DO74 This robot output indicates that Part5Present switch is made at the robotically held gripper.
Typical usage is PLC / robot coordination of a manual load operation to a robot gripper.
RobotPartPres6 IccssNyy.b DO75 This robot output indicates that Part6Present switch is made at the robotically held gripper.
Typical usage is PLC / robot coordination of a manual load operation to a robot gripper.
ReposTooling1 IccssNyy.b76 DO76 This robot output along with the next two bits, (ReposTooling2 - ReposTooling4) in a binary
pattern (three bit group output goReposTooling), allows the robot to remotely request the
PLC to reposition the tooling (Tooling 1 – 7). The BCD value for ReposTooling1 = 1 (2^0)
ReposTooling2 IccssNyy.b DO77 Reference ReposTooling1. The BCD value for ReposTooling2 = 2 (2^1)
ReposTooling4 IccssNyy.b DO78 Reference ReposTooling1. The BCD value for ReposTooling4 = 4 (2^2)
WaitingForPlcCmd IccssNyy.b DO79 This robot output indicates the robot has timed out waiting for a PLC command. Program
execution does NOT stop nor is it a fault condition.
ReqToEntTN IccssNyy.b DO80 This robot output informs the PLC that the robot is requesting to enter the tool change nest.
(for Tool Change).
ClrOfNest IccssNyy.b DO81 This robot output informs the PLC that the robot is clear of tool change nest (for Tool
Change).
WeldInPrgrsActiv2 IccssNyy.b DO82 This robot output indicates that a weld sequence is in progress (feedback taken directly from
the weld controller).
ReservedPLCdo84 IccssNyy.b DO83 This robot output is not assigned.
NoStrokeActive IccssNyy.b DO84 This robot output indicates that it is running in no stroke mode.
WeldModeActive IccssNyy.b21 DO85 This robot output indicates that weld current is enabled (feedback taken directly from the
weld controller).
WeldInPrgrsActiv1 IccssNyy.b22 DO86 This robot output indicates that a weld sequence is in progress (feedback taken directly from
the weld controller).
RobotAtTipDress IccssNyy.b DO87 This robot output indicates that the robot is at tip dress position.
TipDressComplt IccssNyy.b DO88 This robot output indicates that the tip dress sequence is complete.
TurnOnTipDresser IccssNyy.b 89 DO89 This robot output allows the robot to remotely request the PLC to turn on the tip dress
motor(s).
StepperReset1Ack IccssNyy.b 90 DO90 This robot output indicates that the stepper has been reset.
StepperReset2Ack IccssNyy.b DO91 This robot output indicates that all steppers have been reset.
TipBurnInComplt IccssNyy.b DO92 This robot output indicates that the tip burn in sequence is complete.
AirOK IccssNyy.b DO93 This robot output indicates that air is present at the robot.
WaterOn IccssNyy.b32 DO94 This robot output indicates that water is flowing at the robot.
WaterBypassed IccssNyy.b15 DO95 This robot output indicates that the water flow detection is bypassed.
ExtPurg1InProgrs IccssNyy.b DO96 This robot output indicates that dispenser 1 purge sequence is in progress.
ExtPurg2InProgrs IccssNyy.b DO97 This robot output indicates that dispenser 2 purge sequence is in progress.
ReqEntryZone1 IccssNyy.b DO98 This robot output is used to request PLC permission to enter interference zone 1.
ReqEntryZone2 IccssNyy.b DO99 This robot output is used to request PLC permission to enter interference zone 2.
ReqEntryZone3 IccssNyy.b DO100 This robot output is used to request PLC permission to enter interference zone 3.
ReqEntryZone4 IccssNyy.b DO101 This robot output is used to request PLC permission to enter interference zone 4.
ReqEntryZone5 IccssNyy.b DO102 This robot output is used to request PLC permission to enter interference zone 5.
ReqEntryZone6 IccssNyy.b DO103 This robot output is used to request PLC permission to enter interference zone 6.
ReqEntryZone7 IccssNyy.b DO104 This robot output is used to request PLC permission to enter interference zone 7.
ReqEntryZone8 IccssNyy.b DO105 This robot output is used to request PLC permission to enter interference zone 8.
RobotPartPres7 IccssNyy.b DO106 This robot output indicates that Part7Present switch is made at the robotically held gripper.
Typical usage is PLC / robot coordination of a manual load operation to a robot gripper.
RobotPartPres8 IccssNyy.b DO107 This robot output indicates that Part8Present switch is made at the robotically held gripper.
Typical usage is PLC / robot coordination of a manual load operation to a robot gripper.
RobotPartPres9 IccssNyy.b DO108 This robot output indicates that Part9Present switch is made at the robotically held gripper.
Typical usage is PLC / robot coordination of a manual load operation to a robot gripper.
RobotPartPres10 IccssNyy.b DO109 This robot output informs the PLC that the Part10Present switch is made at the robotically
held gripper. Typical usage is PLC / robot coordination of a manual load operation to a robot
gripper.
RobotPartPres11 IccssNyy.b DO110 This robot output indicates that Part11Present switch is made at the robotically held gripper.
Typical usage is PLC / robot coordination of a manual load operation to a robot gripper.
RobotPartPres12 IccssNyy.b DO111 This robot output indicates that Part12Present switch is made at the robotically held gripper.
Typical usage is PLC / robot coordination of a manual load operation to a robot gripper.
ESIO Monitor 1 IccssNyy.b DO112 This robot output echo’s the state of ESIO relay channel 1.
ESIO Monitor 2 IccssNyy.b DO113 This robot output echo’s the state of ESIO relay channel 2.
App1EquipReady IccssNyy.b DO114 This robot output indicates that application 1 process equipment is ready to run.
App2EquipReady IccssNyy.b DO115 This robot output indicates that application 2 process equipment is ready to run.
StartExtApp1Proc IccssNyy.b DO116 This robot output allows the robot to remotely request the PLC to start external application 1
process.
StartExtApp2Proc IccssNyy.b DO117 This robot output allows the robot to remotely request the PLC to start external application 2
process.
ProcessFault IccssNyy.b119 DO118 This robot output indicates that a process fault has occurred.
AppErrorActive IccssNyy.b120 DO119 This robot output indicates that a robot application error has occurred.
AppErrorBit1 IccssNyy.b DO120 This robot output along with the seven bits, (AppErrorBit2- AppErrorBit128) in a binary
pattern (eight bit group output goAppError), allows the robot to send the PLC the current
AppError table index. The BCD value for AppErrorBit1 = 1 (2^0)
AppErrorBit2 IccssNyy.b DO121 Reference AppErrorBit1. The BCD value for AppErrorBit2 =2 (2^1)
AppErrorBit4 IccssNyy.b DO122 Reference AppErrorBit1. The BCD value for AppErrorBit4 =4 (2^2)
AppErrorBit8 IccssNyy.b DO123 Reference AppErrorBit1. The BCD value for AppErrorBit8 =8 (2^3)
AppErrorBit16 IccssNyy.b DO124 Reference AppErrorBit1. The BCD value for AppErrorBit16 = 16 (2^4)
AppErrorBit32 IccssNyy.b DO125 Reference AppErrorBit1. The BCD value for AppErrorBit32 = 32 (2^5)
AppErrorBit64 IccssNyy.b DO126 Reference AppErrorBit1. The BCD value for AppErrorBit64 = 64 (2^6)
AppErrorBit128 IccssNyy.b DO127 Reference AppErrorBit1. The BCD value for AppErrorBit128 = 128 (2^7)
Reference DCX Book of Implementation Guidelines for proper Tag and UDT (Naming) - Design standards for control Logix.
AMS 0220 Section 9.3.2, 7.0 Tag – Device Net Tag Naming Guidelines, Starting on Page 28.
StopRobot OccssNyy.b00 DI0 This robot system input allows the PLC to remotely order the robot to stop program
execution and de-energize motor power.
StartRobot OccssNyy.b01 DI1 This robot system input allows the PLC to remotely order the robot to energize motor power
and start program execution.
ClearAllFaults OccssNyy.b02 DI2 This robot system input allows the PLC to remotely order the robot to clear all robot faults.
UseDryCycle OccssNyy.b DI3 This robot input is set high when any 20 hour run bits are active in the robot program. THIS
OUTPUT MUST BE LOW OR REMOVED FOR NORMAL PRODUCTION RUNS.
ReservedPLCdi5 OccssNyy.b DI4 This robot input is not assigned.
ReadStyle OccssNyy.b DI10 This robot input allows the PLC to remotely request the robot to read the BCD style bits
(StyleBit1 – StyleBit64). Reference StyleBit1 - StyleBit64.
InitiateCycle OccssNyy.b DI11 This robot input allows the PLC to remotely request the robot to proceed from the Home
position to the Pounce position.
GoToWork OccssNyy.b DI12 This robot input allows the PLC to remotely request the robot to proceed from the Pounce
position and into the Active Style routine.
ReqToEnter OccssNyy.b DI13 This robot system input allows the PLC to remotely order the robot to stop program
execution after the robot has finished executing the current instruction. This allows the user
to enter the cell during midcycle without inadvertently interrupting a process sequence.
WorkCompleteAck OccssNyy.b14 DI14 This robot input allows the PLC to remotely acknowledge to the robot that the work
complete signal was received.
ReservedPLCdi16 OccssNyy.b DI15 This robot input is not assigned.
RetFromPounce OccssNyy.b DI16 This robot input allows the PLC to remotely request the robot to move from the Pounce
position back to the Home position and return to the mainline program.
ServiceCmpltReq OccssNyy.b33 DI17 This robot input allows the PLC to remotely request the robot to move from the Service
position to the Home position after system auto mode has been re-established. This input
may only be used when the robot is at the service position.
GoToServiceReq OccssNyy.b18 DI18 This robot input allows the PLC to remotely request the robot to move from the Home
position to the Service position.
ClrToExitUsrPos1 OccssNyy.b DI19 This robot input allows the PLC to signal the robot that it is clear to exit UserPos1.
ClrToExitUsrPos2 OccssNyy.b DI20 This robot input allows the PLC to signal the robot that it is clear to exit UserPos2.
ClrToExitUsrPos3 OccssNyy.b DI21 This robot input allows the PLC to signal the robot that it is clear to exit UserPos3.
ClrToExitUsrPos4 OccssNyy.b DI22 This robot input allows the PLC to signal the robot that it is clear to exit UserPos4.
ClrToExitUsrPos5 OccssNyy.b DI23 This robot input allows the PLC to signal inform the robot that it is clear to exit UserPos5.
StyleBit1 OccssNyy.b DI24 This robot input along with the next six bits, (StyleBit2 - StyleBit64) in a binary pattern
(seven bit group input giStyle), are used by the robot as program select bits. The bit weight
of these seven bits is the decimal value of the robot program to be executed.
The BCD value for StyleBit1 = 1 (2^0)
StyleBit2 OccssNyy.b DI25 Reference StyleBit1. The BCD value for StyleBit2 = 2 (2^1)
StyleBit4 OccssNyy.b DI26 Reference StyleBit1. The BCD value for StyleBit4 = 4 (2^2)
StyleBit8 OccssNyy.b DI27 Reference StyleBit1. The BCD value for StyleBit8 = 8 (2^3)
StyleBit16 OccssNyy.b DI28 Reference StyleBit1. The BCD value for StyleBit16 = 16 (2^4)
StyleBit32 OccssNyy.b DI29 Reference StyleBit1. The BCD value for StyleBit32 = 32 (2^5)
StyleBit64 OccssNyy.b DI30 Reference StyleBit1. The BCD value for StyleBit64 = 64 (2^6)
ExitPickup2 OccssNyy.b DI57 This robot input allows the PLC to remotely inform the robot to continue it’s program from
pickup position 2 and/or shift the part info. To the robot position in the shift register
GoToDropoff2 OccssNyy.b DI58 This robot input allows the PLC to remotely inform the robot to go to drop off position 2.
ExitDropoff2 OccssNyy.b DI59 This robot input allows the PLC to remotely inform the robot to continue it’s program from
drop off position 2 and/or shift the part info. To the robot position in the shift register
GoToPickup3 OccssNyy.b DI60 This robot input allows the PLC to remotely inform the robot to go to pickup position 3.
ExitPickup3 OccssNyy.b DI61 This robot input allows the PLC to remotely inform the robot to continue it’s program from
pickup position 3 and/or shift the part info. To the robot position in the shift register
GoToDropoff3 OccssNyy.b DI62 This robot input allows the PLC to remotely inform the robot to go to drop off position 3.
ExitDropoff3 OccssNyy.b DI63 This robot input allows the PLC to remotely inform the robot to continue it’s program from
drop off position 3 and/or shift the part info. To the robot position in the shift register
GoToPickup4 OccssNyy.b DI64 This robot input allows the PLC to remotely inform the robot to go to pickup position 4.
ExitPickup4 OccssNyy.b DI65 This robot input allows the PLC to remotely inform the robot to continue it’s program from
pickup position 4 and/or shift the part info. To the robot position in the shift register
GoToDropoff4 OccssNyy.b DI66 This robot input allows the PLC to remotely inform the robot to go to drop off position 4.
ExitDropoff4 OccssNyy.b DI67 This robot input allows the PLC to remotely inform the robot to continue it’s program from
drop off position 4 and/or shift the part info. To the robot position in the shift register
App1ClrToEnter OccssNyy.b DI68 This robot input is used to indicate that the Machine is clear for process 1.
App2ClrToEnter OccssNyy.b DI69 This robot input is used to indicate that the Machine is clear for process 2
Part1InFixture OccssNyy.b DI70 This robot input is used to indicate that part 1 is present in the tooling fixture.
Part2InFixture OccssNyy.b DI71 This robot input is used to indicate that part 2 is present in the tooling fixture.
Part3InFixture OccssNyy.b DI72 This robot input is used to indicate that part 3 is present in the tooling fixture.
Part4InFixture OccssNyy.b DI73 This robot input is used to indicate that part 4 is present in the tooling fixture.
Part6InFixture OccssNyy.b DI75 This robot input is used to indicate that part 6 is present in the tooling fixture.
ToolingRepod1 OccssNyy.b DI76 This robot input along with the next two bits, (ToolingRepod2 -ToolingRepod4) in a binary
pattern (three bit group input giToolingRepod), are used by the PLC to indicate to the robot
that the tooling (Tooling 1 – 7) has been repositioned. The BCD value for
ToolingRepod1 = 1 (2^0)
ToolingRepod2 OccssNyy.b DI77 Reference ToolingRepod1. The BCD value for ToolingRepod2 = 2 (2^1)
ToolingRepod4 OccssNyy.b DI78 Reference ToolingRepod1. The BCD value for ToolingRepod4 = 4 (2^2)
ClrToEntTN OccssNyy.b DI79 This robot input is used to remotly inform the PLC that the robot is clear to enter the tool
change nest.
ToolInNest1 OccssNyy.b DI80 This robot input is used to inform the robot that a tool is present in tool change nesting fixture
1.
ToolInNest2 OccssNyy.b DI81 This robot input is used to inform the robot that a tool is present in tool change nesting fixture
2.
ToolInNest3 OccssNyy.b DI82 This robot input is used to inform the robot that a tool is present in tool change nesting fixture
3.
ToolInNest4 OccssNyy.b DI83 This robot input is used to inform the robot that a tool is present in tool change nesting fixture
4.
NoStrokeReq OccssNyy.b DI84 This robot input allows the PLC to remotely request the robot to activate no stroke mode.
TipDressDumpExtd OccssNyy.b DI85 This robot input is used to inform the robot that the tip dresser dump is extended.
TipDressGunReq OccssNyy.b87 DI87 This robot input allows the PLC to remotely request the robot to do a tip dress sequence.
TipDrsDumpRetrct OccssNyy.b88 DI88 This robot input is used to indicate that the tip dress dump(s) are retracted.
TipDrsMotorOn OccssNyy.b89 DI89 This robot input is used to indicate the tip dress motor is running.
ExtStepperReset1 OccssNyy.b90 DI90 This robot input allows the PLC to remotely order the Weld controller to reset the steppers.
ExtStepperReset2 OccssNyy.b DI91 This robot input allows the PLC to remotely order the Weld controller to reset the steppers.
TipBurnInReq OccssNyy.b92 DI92 This robot input allows the PLC to remotely request the robot to perform a tip burn-in
sequence.
ReservedPLCdi94 OccssNyy.b DI93 This robot input is not assigned.
ExtWaterOnReq OccssNyy.b DI94 This robot input allows the PLC to remotely turn on water flow.
ExtWaterOffReq OccssNyy.b DI95 This robot input allows the PLC to remotely turn off water flow.
PurgeGun1Req OccssNyy.b DI96 This robot input allows the PLC to remotely request the robot to perform a purge sequence
for dispenser 1
PurgeGun2Req OccssNyy.b DI97 This robot input allows the PLC to remotely request the robot to perform a purge sequence
for dispenser 2
ReservedPLCdi99 OccssNyy.b DI98 This robot input is not assigned.
PickTool1 OccssNyy.b DI100 This robot input along with the next three bits (101 to 104) in a binary pattern (four bit group
input giPickTool), are used by the PLC to order the robot to pick up a specific tool. The
BCD value for PickTool1 = 1 (2^0)
PickTool2 OccssNyy.b DI101 Reference PickTool1 – DI101 The BCD value for PickTool2 = 2 (2^1)
PickTool4 OccssNyy.b DI102 Reference PickTool1 – DI101 The BCD value for PickTool2 = 4 (2^2)
PickTool8 OccssNyy.b DI103 Reference PickTool1 – DI101 The BCD value for PickTool2 = 8 (2^3)
MaintStyle1Req OccssNyy.b DI104 This robot input allows the PLC to remotely order the robot to execute Style1 (contents of
Style1 maintenance routine are project defined).
MaintStyle2Req OccssNyy.b DI105 This robot input allows the PLC to remotely order the robot to execute Style2 (contents of
Style2 maintenance routine are project defined).
MaintStyle3Req OccssNyy.b DI106 This robot input allows the PLC to remotely order the robot to execute Style3 (contents of
Style3 maintenance routine are project defined).
ReservedPLCdi108 OccssNyy.b DI107 This robot input is not assigned.
ExtApp1Complete OccssNyy.b DI112 This robot input is used to indicate that application 1 process is completed.
ExtApp1StartReq OccssNyy.b DI114 This robot input allows the PLC to remotely start application 1 process.
ExtApp2StartReq OccssNyy.b DI115 This robot input allows the PLC to remotely start application 2 process.
AppErrorAck OccssNyy.b DI119 This robot input is used to Acknowledge that the system PLC has received the Application
Error Bits.
ReservedPLCdi121 OccssNyy.b DI120 This robot input is not assigned.
PalletPosBit1 OccssNyy.b DI121 This robot input along with the next three bits, (PalletPosBit2 - PalletPosBit8) in a binary
pattern (four bit group input giPalletPos), are used by the PLC to request the robot to move to
a specific pallet position. The BCD value for PalletPosBit1 = 1 (2^0)
PalletPosBit2 OccssNyy.b DI122 Reference PalletPosBit1. The BCD value for PalletPosBit2 = 2 (2^1)
PalletPosBit4 OccssNyy.b DI123 Reference PalletPosBit1. The BCD value for PalletPosBit4 = 4 (2^2)
PalletPosBit8 OccssNyy.b DI124 Reference PalletPosBit1. The BCD value for PalletPosBit8 = 8 (2^3)
Reference DCX Book of Implementation Guidelines for proper Tag and UDT (Naming) - Design standards for control Logix.
AMS 0220 Section 9.3.2, 7.0 Tag – Device Net Tag Naming Guidelines, Starting on Page 28
ABB-DSQC 328
I/O unit name:
ABB-DSQC 328 I/O unit node address: 10
Signal Signal Signal Signal
Name Type Location Description
ResrvdNode10do1 Output 1 This robot output is not assigned
ResrvdNode10do2 Output 2 This robot output is not assigned
ResrvdNode10do3 Output 3 This robot output is not assigned
ResrvdNode10do4 Output 4 This robot output is not assigned
ResrvdNode10do5 Output 5 This robot output is not assigned
ResrvdNode10do6 Output 6 This robot output is not assigned
ResrvdNode10do7 Output 7 This robot output is not assigned
ResrvdNode10do8 Output 8 This robot output is not assigned
Fault Light Output 9 This robot output is for Belvedere plant use
g1_equalize Output 10 This robot output will activate the pneumatic equalizer valve for gun1
g2_equalize Output 11 This robot output will activate the pneumatic equalizer valve for gun2
ResrvdNode10do12 Output 12 This robot output is not assigned
ResrvdNode10do13 Output 13 This robot output is not assigned
ResrvdNode10do14 Output 14 This robot output is not assigned
ResrvdNode10do15 Output 15 This robot output is not assigned
ResrvdNode10do16 Output 16 This robot output is not assigned
Node address: 32
Module Name: MHBlock2
Type: Interlink BT FDNL-S1600-T-0203
Signal Name Type Logical Signal Description
Part7Present input 1 This input indicates that Part 7 is present.
Part8Present input 2 This input indicates that Part 8 is present.
Part9Present input 3 This input indicates that Part 9 is present.
Part10Present input 4 This input indicates that Part 10 is present.
CYL10Open input 5 This input indicates that Cylinder 10 is open.
CYL10Closed input 6 This input indicates that Cylinder 10 is Closed.
CYL11Open input 7 This input indicates that Cylinder 11 is open.
CYL11Closed input 8 This input indicates that Cylinder 11 is Closed.
CYL12Open input 9 This input indicates that Cylinder 12 is open.
CYL12Closed input 10 This input indicates that Cylinder 12 is Closed.
CYL13Open input 11 This input indicates that Cylinder 13 is open.
CYL13Closed input 12 This input indicates that Cylinder 13 is Closed.
CYL14Open input 13 This input indicates that Cylinder 14 is open.
CYL14Closed input 14 This input indicates that Cylinder 14 is Closed.
CYL15Open input 15 This input indicates that Cylinder 15 is open.
CYL15Closed input 16 This input indicates that Cylinder 15 is Closed.
Node address: 34
Module Name: MHBlock4
Type: Interlink BT FDNL-S1600-T-0203
Signal Name Type Logical Signal Description
CYL27Open input 1 This input indicates that Cylinder 27 is open.
CYL27Closed input 2 This input indicates that Cylinder 27 is Closed.
CYL28Open input 3 This input indicates that Cylinder 28 is open.
CYL28Closed input 4 This input indicates that Cylinder 28 is Closed.
CYL29Open input 5 This input indicates that Cylinder 29 is open.
CYL29Closed input 6 This input indicates that Cylinder 29 is Closed.
CYL30Open input 7 This input indicates that Cylinder 30 is open.
CYL30Closed input 8 This input indicates that Cylinder 30 is Closed.
CYL31Open input 9 This input indicates that Cylinder 31 is open.
CYL31Closed input 10 This input indicates that Cylinder 31 is Closed.
CYL32Open input 11 This input indicates that Cylinder 32 is open.
CYL32Closed input 12 This input indicates that Cylinder 32 is Closed.
CYL33Open input 13 This input indicates that Cylinder 33 is open.
CYL33Closed input 14 This input indicates that Cylinder 33 is Closed.
CYL34Open input 15 This input indicates that Cylinder 34 is open.
CYL34Closed input 16 This input indicates that Cylinder 34 is Closed.
Tool ID Switch 1 Bit8 input 36 This robot input from the ATI tool changer indicates which tool ((ID)
switch 1 bit8) is coupled
Tool ID Switch 2 Bit1 input 37 This robot input from the ATI tool changer indicates which tool ((ID)
switch 2 bit1) is coupled
Tool ID Switch 2 Bit2 input 38 This robot input from the ATI tool changer indicates which tool ((ID)
switch 2 bit2) is coupled
Tool ID Switch 2 Bit4 input 39 This robot input from the ATI tool changer indicates which tool ((ID)
switch 2 bit4) is coupled
Tool ID Switch 2 Bit8 input 40 This robot input from the ATI tool changer indicates which tool ((ID)
switch 2 bit8) is coupled
Tool ID Switch 3 Bit1 input 41 This robot input from the ATI tool changer indicates which tool ((ID)
switch 3 bit1) is coupled
Tool ID Switch 3 Bit2 input 42 This robot input from the ATI tool changer indicates which tool ((ID)
switch 3 bit2) is coupled
Tool ID Switch 3 Bit4 input 43 This robot input from the ATI tool changer indicates which tool ((ID)
switch 3 bit4) is coupled
Tool ID Switch 3 Bit8 input 44 This robot input from the ATI tool changer indicates which tool ((ID)
switch 3 bit8) is coupled
Tool ID Switch 4 Bit1 input 45 This robot input from the ATI tool changer indicates which tool ((ID)
AS OF 9/27/2006 37 08 RT DCX PREREL. 3.0
Printed copies are not source controlled
switch 4 bit1) is coupled
Tool ID Switch 4 Bit2 input 46 This robot input from the ATI tool changer indicates which tool ((ID)
switch 4 bit2) is coupled
Tool ID Switch 4 Bit4 input 47 This robot input from the ATI tool changer indicates which tool ((ID)
switch 4 bit4) is coupled
Tool ID Switch 4 Bit8 input 48 This robot input from the ATI tool changer indicates which tool ((ID)
switch 4 bit8) is coupled
Tool ID Switch 5 Bit1 input 49 This robot input from the ATI tool changer indicates which tool ((ID)
switch 5 bit1) is coupled
Tool ID Switch 5 Bit2 input 50 This robot input from the ATI tool changer indicates which tool ((ID)
switch 5 bit2) is coupled
Tool ID Switch 5 Bit4 input 51 This robot input from the ATI tool changer indicates which tool ((ID)
switch 5 bit4) is coupled
Tool ID Switch 5 Bit8 input 52 This robot input from the ATI tool changer indicates which tool ((ID)
switch 5 bit8) is coupled
Reserved input 53 This robot output to the ATI tool changer is not used.
Reserved input 54 This robot output to the ATI tool changer is not used.
Reserved input 55 This robot output to the ATI tool changer is not used.
Reserved input 56 This robot output to the ATI tool changer is not used.
Reserved input 57 This robot output to the ATI tool changer is not used.
Reserved input 58 This robot output to the ATI tool changer is not used.
Reserved input 59 This robot output to the ATI tool changer is not used.
Reserved input 60 This robot output to the ATI tool changer is not used.
Reserved input 61 This robot output to the ATI tool changer is not used.
Reserved input 62 This robot output to the ATI tool changer is not used.
Reserved input 63 This robot output to the ATI tool changer is not used.
Reserved input 64 This robot output to the ATI tool changer is not used.
THE FOLLOWING APPLICATION ERRORS ARE USED WITH EMHART STUD WELD SYSTEMS ONLY
THE FOLLOWING APPLICATION ERRORS ARE USED WITH NORDSON DISPENSE SYSTEMS ONLY
131
132
133
134
135
136
137
138
139
140
141
142
THE FOLLOWING APPLICATION ERROR IS USED WITH ISRA VISION SYSTEMS ONLY
150 General Vision Error
151 Measurement Error
152 Type Prepare Error
153 Tolerance Error
154 Camera Reduced Features Warning
155 Laser sensor fault
156 Search Failure
157 Range Sensor 1 Fault
158 Range Sensor 2 Fault
159
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
THE FOLLOWING APPLICATION ERROR IS USED WITH PERCEPTRON CMM SYSTEMS ONLY
Station and Work Area Zones are applied using an alternating pattern. For example a robot would pick-up a part in Zone
1then transfer it to Zone 2. The next robot would pick-up the part from Zone 2 then transfers it to Zone 1. This alternating
pattern would continue with Zone 3 only being required for a robot that needs three Station or Work Area zones.
Examples:
Interference Zone Example 1: This example shows Zone 1 and 2 as Station Zones. Zones 4 & 5 are Transition Zones and
Zones 6 – 9 as Process Interference Zones.
Interference Zone Example 2: This example shows Zone 1 and 2 as Work Area Zones. Zone 4 is a hand-off Zone and Zones
6 & 7 are Process Interference Zones
The definitions described and show above, are to be followed as described and are not subject to interpretation.
If the above definitions can not be applied to a specific application then approval from an DCX Robotics
Engineer or Launch Technician will be required to redefine how Interference Zones are to be used.
Reference Pictures Only See Standard Robot Logic Reference for Details.
AS OF 11/03/2005
66 08 RT DCX REL. 0.0
Printed copies are not source controlled
AS OF 11/03/2005
67 08 RT DCX REL. 0.0
Printed copies are not source controlled
AS OF 9/27/2006 68 08 RT DCX PREREL. 3.0
Printed copies are not source controlled
AS OF 9/27/2006 69 08 RT DCX PREREL. 3.0
Printed copies are not source controlled
AS OF 9/27/2006 70 08 RT DCX PREREL. 3.0
Printed copies are not source controlled
AS OF 9/27/2006 71 08 RT DCX PREREL. 3.0
Printed copies are not source controlled
AS OF 9/27/2006 72 08 RT DCX PREREL. 3.0
Printed copies are not source controlled
AS OF 9/27/2006 73 08 RT DCX PREREL. 3.0
Printed copies are not source controlled
AS OF 9/27/2006 74 08 RT DCX PREREL. 3.0
Printed copies are not source controlled
AS OF 9/27/2006 75 08 RT DCX PREREL. 3.0
Printed copies are not source controlled
REFERENCE PROGRAM INSTRUCTIONS
(A.B.B. ROBOT)
ALL APPLICATIONS
Instruction Example/Argument Definition
AddMinorFISFlt 255; indicates to the PLC Add Minor FIS Fault = AddMinorFISFlt is
that the IRB has detected a Minor fault used whenever the IRB needs to alert the PLC
condition and supplies the PLC with FIS that a minor fault condition has been detected
AddMinorFISFlt
Minor fault index 255. and supplies the PLC with the appropriate FIS
Minor fault index.
ClearMajorFISFlt; indicates to the PLC that Clear Major FIS Fault = ClearMajorFISFlt is
a previously reported Major fault no longer used whenever the IRB needs to alert the PLC
exists. that a previously reported Major fault condition
ClearMajorFISFlt
no longer exists.
ClearOfAppJ APP_1, p30, v1000, z30, tool2 Clear of Application Status = ClearOfAppJ is
; The TCP of the tool, tool2, is moved along used to inform the PLC that the IRB is
a non-linear path to the position p30, with physically clear of the Application. The
speed data v1000 and zone data z30. instruction allows the PLC to coordinate entry
ClearOfAppJ In the middle of the corner path at p30 the of other IRBs into the Application.
PLC will be informed that the IRB has exited
Application 1.
MoveL p1, v1000, z30, toolgun1 Moves the robot linearly = MoveL is used to
The TCP of the tool, toolgun1, is moved move the tool centre point (TCP) linearly to a
linearly to the position p1, with speed data given destination. When the TCP is to remain
MoveL
v1000 and zone data z30. stationary, this instruction can also be used to
reorient the tool.
PostMajorFISFlt 255; indicates to the PLC Post Major FIS Fault = PostMajorFISFlt is used
that the IRB has detected a Major fault whenever the IRB needs to alert the PLC that a
condition and supplies the PLC with FIS Major fault condition has occurred and supplies
PostMajorFISFlt
Major fault index 255. the PLC with the appropriate FIS Major fault
index.
RmvMinorFISFlt 255; removes FIS Minor Remove Minor FIS Fault = RmvMinorFISFlt is
fault index 255 from the Minor fault used whenever the IRB needs to remove a FIS
reporting table. Minor fault index from the FIS fault reporting
RmvMinorFISFlt
table (internal to the robot).
StartExtProc APP_1, 10; requests the PLC Start External Process Request = StartExtProc
to start application 1 external process and is used whenever the IRB requests the PLC to
StartExtProc allows 10 seconds for the process to start a process which is not directly controlled
complete before issuing a fault. by the IRB.
EnterZone ZONE_5; indicates to the PLC Interference Zone Entry Request = EnterZone is
that the IRB has approached interference used whenever the IRB needs to enter an
zone 5, and allows the PLC to coordinate the interference zone that may be in use by another
EnterZone
IRB entry into the zone. IRB.
ClrOfPickupJ PICKUP_4, p30, v1000, z30, Irb Pickup Fixture zone status = ClrOfPickupJ
tool2; The TCP of the tool: tool2, is moved is used to inform the PLC that the IRB is
along a non-linear path to the position p30, physically clear of the Pickup fixture which
with speed data v1000 and zone data z30. may be in use or held by another IRB.
ClrOfPickupJ In the middle of the corner path at p30 the
PLC will be informed that the IRB is
physically clear of pickup 4 fixture
ClrOfPickupL PICKUP_4, p30, v1000, z30, Irb Pickup Fixture Zone Status = ClrOfPickupL
tool2; The TCP of the tool: tool2, is moved is used to inform the PLC that the IRB is
along a linear path to the position p30, with physically clear of the Pickup fixture which
speed data v1000 and zone data z30. may be in use or held by another IRB.
ClrOfPickupL In the middle of the corner path at p30 the
PLC will be informed that the IRB is
physically clear of pickup 4 fixture.
ExitPickup PICKUP_4; indicates to the PLC Exit Pickup Fixture = ExitPickup is used
that the IRB is exiting Pickup 4 fixture, and whenever the IRB needs to exit a Pickup fixture
ExitPickup allows the PLC to coordinate the IRB exit that may be in use or held by another IRB.
from that fixture.
ExitDropoff DROPOFF_4; indicates to the Exit Dropoff Fixture = ExitDropoff is used
PLC that the IRB is exiting Dropoff 4 whenever the IRB needs to exit a Dropoff
ExitDropoff fixture, and allows the PLC to coordinate the fixture that may be in use or held by another
IRB exit from that fixture. IRB.
EnterPickup PICKUP_4; indicates to the Enter Pickup Fixture = EnterPickup is used to
PLC that the IRB is entering Pickup 4 inform the PLC that the IRB is entering a
EnterPickup fixture, and allows the PLC to coordinate the Pickup fixture that may be in use or held by
IRB entry into that fixture another IRB
EnterDropoff DROPOFF_4; indicates to the Dropoff Entry Request = EnterDropoff is used
PLC that the IRB has approached Dropoff 4 whenever the IRB requests entry to a Dropoff
EnterDropoff fixture, and allows the PLC to coordinate the fixture that may be in use or held by another
IRB entry into that fixture. IRB.
StudJ p10, v1000, stud1, tHead1\Wobj: = Stud weld after Joint move = StudJ is used
wobj0; The TCP of the tool, tHead1, is whenever a stud weld needs to be applied at a
moved with joint motion to the position p10, robot position. The instruction allows the robot
with speed 1000mm/sec terminating at a fine to move with joint motion to a fine position and
StudJ point and applying stud1. then apply a stud weld.
After the stud weld process is complete the
robot executes the next program instruction.
StudL p10, v1000, stud1, Stud weld after Linear move = StudL is used
tHead1\Wobj:=wobj0; whenever a stud weld needs to be applied at a
The TCP of the tool, tHead1, is moved along robot position. The instruction allows the robot
a linear path to the position p10, with speed to move linearly to a fine position and then
StudL 1000mm/sec terminating at a fine point and apply a stud weld.
applying stud1.
After the stud weld process is complete the
robot executes the next program instruction.
BurnInComplete; The output for tip burn in IRB Set Tip Burn In Complete =
complete will be set to an “On” state, and the BurnInComplete will set a bit to the PLC to
BurnInComplete robot will wait for the PLC to reset the tip indicate that the tip burn in sequence was
burn in request. completed.
TipdressComplete; The output for tip dress IRB Set Tip dress Complete =
complete will be set to an “On” state, and TipdressComplete will set a bit to the PLC to
TipdressComplete then the robot will wait for the tip dress indicate that the tip dress sequence was
request input to be reset . completed.
UnLatchTool; A request to unlatch the tool UnLatch a Tool = UnLatchTool requests the
is made. tool changer to retract its locking mechanism,
UnLatchTool and will check for the locking mechanism to
be retracted.
GetDropoffResults
GetPickupResults
Robot reads & echo’s Style Ack bits to PLC (10 – 127): goActiveStyle
Robot reads & echo’s Option Ack bits to PLC: Option1Active – Option4Active
Note: The above timing diagram would also apply for Style1, Style2, Style3, TipBurnIn, PurgeGun1, and PurgeGun2
maintenance requests (only the maintenance request signal(s), maintenance routine names, and active style value would
differ).
(*) Reference the EnterZone user instruction (“EnterZone.doc”) for further details.
Dropoff robot waits for PLC ack and then releases part
ToolingRepodX
Pickup sequence
PLC orders pickup robot to continue program TO pickup X
(where X = 1 – 4) GoToPickupX
Pickup robot waits for PLC ack and then releases part
ToolingRepodX
MODULE DCXIPCS
! -------------------------------------------------------------------
! MAINLINE routine
! -------------------------------------------------------------------
PROC main()
RecoverFromAbort;
OverrideDefaults;
InitializeSystem;
WHILE (TRUE) DO
WaitWithMessage WAITING_FOR_REQ;
ProcessStyleInfo;
VerifyAtHome;
IF ActiveStyle<=9 THEN
! Maintenance style section: Style1 - Style9
%ActiveStylString%;
MaintStyleComplt;
ELSE
! Base style section: Style10 and higher
HomeToPounce;
WaitWithMessage WAITING_FOR_PRCD;
IF (GoToWork=1) AND (RetFromPounce=0) THEN
%ActiveStylString%;
EndWork;
EndWorkToHome;
VerifyAtHome;
EndCycle;
ELSEIF (GoToWork=0) AND (RetFromPounce=1) THEN
PounceToHome;
VerifyAtHome;
ELSE
HandlePLConflict;
ENDIF
ENDIF
ENDWHILE
ENDPROC
PROC OverrideDefaults()
!***(This Procedure is not to contain any instructions without prior**! !***written
approval from a DaimlerChrysler representative).**********!
! Override Default System Behavior
ENDPROC
ENDMODULE
NOTE:
PROC main() is common to all robots and is not to be altered.
MODULE PGENRPTH
! ***************************** GENERAL PATH ROUTINES *************************
!
PROC GoToSync()
! moves robot to sync position
CurrentTool:=CTool();
MoveAbsJ Home\NoEOffs,v500,fine,CurrentTool;
MoveAbsJ SyncPos\NoEOffs,v200,fine,CurrentTool;
WaitTime 5;
MoveAbsJ Home\NoEOffs,v500,fine,CurrentTool;
ENDPROC
PROC GoToHome()
CurrentTool:=CTool();
MoveAbsJ Home\NoEOffs,v100,fine,CurrentTool;
ENDPROC
PROC PounceToHome()
CurrentTool:=CTool();
MoveAbsJ Pounce\NoEOffs,v1000,fine,CurrentTool;
SetDO RobotAtPounce,0;
MoveAbsJ Home\NoEOffs,v1000,fine,CurrentTool;
ENDPROC
PROC HomeToPounce()
CurrentTool:=CTool();
MoveAbsJ Home\NoEOffs,v1000,fine,CurrentTool;
MoveAbsJ Pounce\NoEOffs,v1000,fine,CurrentTool;
SetDO RobotAtPounce,1;
ENDPROC
PROC HomeToService()
CurrentTool:=CTool();
MoveAbsJ Home\NoEOffs,v100,fine,CurrentTool;
MoveAbsJ Service\NoEOffs,v100,fine,CurrentTool;
ENDPROC
PROC ServiceToHome()
CurrentTool:=CTool();
MoveAbsJ Service\NoEOffs,v100,fine,CurrentTool;
MoveAbsJ Home\NoEOffs,v100,fine,CurrentTool;
ENDPROC
PROC EndWorkToHome()
CurrentTool:=CTool();
ENDPROC
PROC Style2()
! Reserved
ENDPROC
PROC Style3()
! Reserved
ENDPROC
PROC Style4()
! Purge
ENDPROC
PROC Style5()
! Tip Burn In
ENDPROC
PROC Style6()
! Service sequence
HomeToService;
WaitWithMessage WAITN4SERVCMPLT;
ServiceToHome;
ENDPROC
PROC Style7()
! Gun 1 Tip Dress
ENDPROC
PROC Style8()
! Gun 2 Tip Dress
ENDPROC
PROC Style9()
! Tool Change
ENDPROC
ENDMODULE
MODULE PGENRDAT
! ******************************* USER PROGRAM DATA ***************************
!
!
PERS tooldata CurrentTool:=[TRUE,[[4.9668,-301.651,986.785],[0.5,0.5,-0.5,0.5]],[150.5,[-
25.6,-43.6,399.5],[1,0,0,0],20.686,11.342,11.51]];
PERS jointtarget Pounce:=[[37.33,-45.34,18.68,-44.1,87.66,-
137.37],[39.997,9E+09,9E+09,9E+09,9E+09,9E+09]];
PERS jointtarget Home:=[[26.55,-45.34,20.59,-44.1,87.66,-
137.37],[15,9E+09,9E+09,9E+09,9E+09,9E+09]];
PERS jointtarget Service:=[[-14.4,-45.34,28.09,-44.1,87.66,-
137.37],[39.9974,9E+09,9E+09,9E+09,9E+09,9E+09]];
PERS jointtarget
UserPos1:=[[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
PERS jointtarget
UserPos2:=[[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
PERS jointtarget
UserPos3:=[[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
PERS jointtarget
UserPos4:=[[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
PERS jointtarget
UserPos5:=[[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST jointtarget SyncPos:=[[0,0,0,0,0,0],[0,9E+09,9E+09,9E+09,9E+09,9E+09]];
ENDMODULE
MODULE pStyle20
LOCAL CONST robtarget
lo25:=[[1654.39,582.94,1691.88],[0.824362,0.39757,0.231432,0.329856],[-1,-
1,0,1],[14.9992,9E+09,9E+09,9E+09,9E+09,9E+09]];
PERS spotdata spot14:=[14,14,300,0,0];
PERS spotdata spot03:=[1,3,480,2.72,0];
PERS spotdata spot02:=[1,2,480,2.72,0];
LOCAL CONST robtarget
lo76:=[[1331.25,683.25,1362.56],[0.826137,0.488345,0.243926,0.139706],[0,-
1,0,0],[140.014,9E+09,9E+09,9E+09,9E+09,9E+09]];
LOCAL CONST robtarget lo75:=[[1046.33,1144,1233.26],[0.823419,-
0.491068,0.041426,0.28128],[0,-1,-1,0],[162.615,9E+09,9E+09,9E+09,9E+09,9E+09]];
LOCAL CONST robtarget lo73:=[[1527.4,1390.02,1395.14],[0.728886,-0.672438,-
0.006603,0.128489],[0,-2,-1,0],[164.269,9E+09,9E+09,9E+09,9E+09,9E+09]];
LOCAL CONST robtarget lo72:=[[1527.39,1390.02,1386.42],[0.729071,-0.671331,-
0.006437,0.133153],[0,-2,-1,0],[164.269,9E+09,9E+09,9E+09,9E+09,9E+09]];
LOCAL CONST robtarget lo_pounce:=[[1210.31,89.94,1594.29],[0.647358,-
0.65897,0.365877,0.113228],[0,-1,-2,0],[39.9975,9E+09,9E+09,9E+09,9E+09,9E+09]];
PERS spotdata spot13:=[1,13,480,0.5,0];
LOCAL CONST robtarget tipseater:=[[1202.41,-139.54,1540.74],[0.644085,-
0.625679,0.436246,0.058054],[0,-1,-2,0],[15,9E+09,9E+09,9E+09,9E+09,9E+09]];
LOCAL CONST robtarget burn_tip:=[[1202.41,-139.54,1540.73],[0.644084,-
0.625679,0.436248,0.058054],[0,-1,-2,0],[15,9E+09,9E+09,9E+09,9E+09,9E+09]];
LOCAL CONST robtarget lo71:=[[1269.44,-185.44,1666.04],[0.878936,-0.251078,0.400693,-
0.062267],[0,-1,-2,0],[14.9995,9E+09,9E+09,9E+09,9E+09,9E+09]];
LOCAL CONST robtarget lo70:=[[960.63,-362.34,1174.64],[0.491906,0.51427,0.488758,-
0.504649],[-1,0,-1,0],[80,9E+09,9E+09,9E+09,9E+09,9E+09]];
LOCAL CONST robtarget ptddep:=[[962.71,-361.61,1054.13],[0.49191,0.514274,0.488754,-
0.504645],[-1,0,-1,0],[80,9E+09,9E+09,9E+09,9E+09,9E+09]];
LOCAL CONST robtarget ptdapp:=[[962.72,-361.6,1054.13],[0.491912,0.514276,0.488751,-
0.504644],[-1,0,-1,0],[80,9E+09,9E+09,9E+09,9E+09,9E+09]];
PERS forcedata TD_force:=[150,2,0,0];
LOCAL CONST robtarget ptd:=[[961.22,-400.48,1053.87],[0.491915,0.51428,0.488748,-
0.50464],[-1,0,-1,0],[59.9935,9E+09,9E+09,9E+09,9E+09,9E+09]];
LOCAL CONST robtarget
lo65:=[[1661.3,1261.67,1354.07],[0.496863,0.625025,0.490172,0.349575],[0,-
1,0,1],[40.9816,9E+09,9E+09,9E+09,9E+09,9E+09]];
LOCAL CONST robtarget lo63:=[[1202.46,-139.56,1540.81],[0.64407,-
0.625723,0.436208,0.058036],[0,-1,-2,0],[14.9998,9E+09,9E+09,9E+09,9E+09,9E+09]];
LOCAL CONST robtarget
lo62:=[[1235.49,1114.82,1467.53],[0.567376,0.643886,0.410822,0.307766],[0,-
1,1,1],[103.462,9E+09,9E+09,9E+09,9E+09,9E+09]];
LOCAL CONST robtarget
lo61:=[[1454.17,1301.17,1414.21],[0.513203,0.608344,0.554605,0.242805],[0,-
2,1,1],[88.5126,9E+09,9E+09,9E+09,9E+09,9E+09]];
LOCAL CONST robtarget lo60:=[[1301.57,1234.84,1416.28],[0.714168,-
0.688001,0.053842,0.117134],[0,-1,-1,0],[188.462,9E+09,9E+09,9E+09,9E+09,9E+09]];
LOCAL CONST robtarget lo59:=[[1301.58,1234.81,1411.26],[0.714182,-
0.687987,0.05384,0.117129],[0,-1,-1,0],[188.462,9E+09,9E+09,9E+09,9E+09,9E+09]];
LOCAL CONST robtarget lo58:=[[1814.74,1415.13,1684.9],[0.696867,-
0.694558,0.123487,0.129299],[0,-1,-2,0],[184.995,9E+09,9E+09,9E+09,9E+09,9E+09]];
PERS spotdata spot01:=[1,1,480,1.42,0];
!Robtarget definitions for procedure rob17path
MODULE pStyle20 cont.
AS OF 9/27/2006 96 08 RT DCX PREREL. 3.0
Printed copies are not source controlled
LOCAL CONST robtarget rob17_home_start:=[[1202.46,-139.56,1540.79],[0.644066,-
0.625723,0.436215,0.058034],[0,-1,-2,0],[15,9E+09,9E+09,9E+09,9E+09,9E+09]];
LOCAL CONST robtarget lo50:=[[1519.24,1089.66,1720.99],[0.696979,-
0.694413,0.123348,0.129602],[0,-1,-2,0],[184.999,9E+09,9E+09,9E+09,9E+09,9E+09]];
LOCAL CONST robtarget l21z0_62o:=[[1924.03,1488.46,1644.1],[0.696053,-
0.693921,0.158004,0.094971],[0,-1,-2,0],[180.046,9E+09,9E+09,9E+09,9E+09,9E+09]];
LOCAL CONST robtarget lo51:=[[1871.73,1450.27,1662.41],[0.69662,-
0.694432,0.142054,0.110936],[0,-1,-2,0],[182.334,9E+09,9E+09,9E+09,9E+09,9E+09]];
LOCAL CONST robtarget l21z0_56o:=[[1881.91,1495.7,1451.23],[0.650531,-
0.628327,0.313436,0.289436],[0,-1,-2,0],[180.613,9E+09,9E+09,9E+09,9E+09,9E+09]];
LOCAL CONST robtarget lo52:=[[1829.31,1459.95,1652.29],[0.69029,-
0.632933,0.263923,0.23074],[0,-1,-2,0],[180.402,9E+09,9E+09,9E+09,9E+09,9E+09]];
LOCAL CONST robtarget lo54:=[[1762.16,1347.36,1688.47],[0.67413,-
0.672347,0.212916,0.219467],[0,-1,-2,0],[195.244,9E+09,9E+09,9E+09,9E+09,9E+09]];
LOCAL CONST robtarget lo57:=[[1290.15,1234.76,1777.5],[0.698738,-
0.682967,0.155587,0.145311],[0,-1,-2,0],[188.463,9E+09,9E+09,9E+09,9E+09,9E+09]];
LOCAL CONST robtarget lo17:=[[1277.42,1218.96,1513.22],[0.739408,-0.619104,-
0.024427,0.263419],[0,-1,-2,0],[141.013,9E+09,9E+09,9E+09,9E+09,9E+09]];
LOCAL CONST robtarget
lo46:=[[1349.78,858.946,1414.66],[0.65,0.71013,0.26999,0.01786],[0,-
1,1,0],[180,9E+09,9E+09,9E+09,9E+09,9E+09]];
LOCAL CONST robtarget lo19:=[[1759.37,1416.42,1299.67],[0.715374,-0.645589,-
0.030257,0.265595],[0,-2,-1,0],[140.105,9E+09,9E+09,9E+09,9E+09,9E+09]];
LOCAL CONST robtarget l21z0_144o:=[[1787.98,1489.3,1275.02],[0.715381,-0.645582,-
0.030255,0.265591],[0,-2,-1,0],[80.1557,9E+09,9E+09,9E+09,9E+09,9E+09]];
LOCAL CONST robtarget lo30:=[[1759.37,1416.42,1299.67],[0.715374,-0.645589,-
0.030258,0.265595],[0,-2,-1,0],[140.105,9E+09,9E+09,9E+09,9E+09,9E+09]];
LOCAL CONST robtarget
lo53:=[[793.7,1464.82,1544.45],[0.505911,0.566566,0.503235,0.412083],[0,-
1,1,1],[103.462,9E+09,9E+09,9E+09,9E+09,9E+09]];
LOCAL CONST robtarget
l21z0_122o:=[[1702.01,1438.36,1330.88],[0.468858,0.617444,0.505015,0.379336],[0,-
1,0,1],[40.9848,9E+09,9E+09,9E+09,9E+09,9E+09]];
LOCAL CONST robtarget
l21z0_50o:=[[1682.79,1411.9,1293.48],[0.476589,0.605992,0.525523,0.35981],[0,-
1,0,1],[41.2871,9E+09,9E+09,9E+09,9E+09,9E+09]];
LOCAL CONST robtarget
lo24:=[[1527.85,865.75,1324.08],[0.494763,0.611909,0.505571,0.353801],[-1,-
2,0,1],[40.0572,9E+09,9E+09,9E+09,9E+09,9E+09]];
LOCAL CONST robtarget rob17_home_end:=[[1202.46,-139.56,1540.79],[0.644066,-
0.625724,0.436211,0.058037],[0,-1,-2,0],[14.9998,9E+09,9E+09,9E+09,9E+09,9E+09]];
!Robot sta40_rob17 ToolData declarations:
!Robcad toolgun1 Frame Name: sta40_rob17_tl1
PERS tooldata toolgun1:=[TRUE,[[4.9668,-301.651,986.785],[0.5,0.5,-0.5,0.5]],[150.5,[-
25.6,-43.6,399.5],[1,0,0,0],20.686,11.342,11.51]];
!Robot sta40_rob17 WobjData UFrame: Default, Object Frame: r17_wobj1
PERS wobjdata r17_wobj:=[FALSE,TRUE,"",[[0,0,0],[1,0,0,0]],[[0,0,0],[1,0,0,0]]];
!Robot sta40_rob17 SpeedData declarations:
CONST speeddata v900:=[900,500,5000,1000];
CONST speeddata v1200:=[1200,500,5000,1000];
CONST speeddata v1800:=[1800,500,5000,1000];
CONST speeddata v1400:=[1400,500,5000,1000];
PROC Style20()
r17_path;
ENDPROC
PROC r17_path()
MoveJ lo_pounce,v1200,z20,toolgun1\WObj:=r17_wobj;
SetDO RobotAtPounce,0;
EnterApp APP_1;
EnterZone ZONE_1\EnbReq2Enter;
EnterZone ZONE_3\EnbReq2Enter;
MoveJ lo50,v1000,z50,toolgun1\WObj:=r17_wobj;
MoveJ lo58,v800,z20,toolgun1\WObj:=r17_wobj;
SpotL l21z0_62o,v1000,gun1,spot01,toolgun1\WObj:=r17_wobj;
MoveL lo51,v1200,z20,toolgun1\WObj:=r17_wobj;
SpotL l21z0_56o,v1000,gun1,spot01,toolgun1\WObj:=r17_wobj;
MoveL lo52,v1200,z20,toolgun1\WObj:=r17_wobj;
MoveL lo54,v1200,z80,toolgun1\WObj:=r17_wobj;
MoveJ lo57,v900,z20,toolgun1\WObj:=r17_wobj;
ClearOfZoneJ ZONE_1,lo59,v800,z5,toolgun1\WObj:=r17_wobj;
ClearOfZoneJ ZONE_3,lo59,v800,z5,toolgun1\WObj:=r17_wobj;
MoveJ lo72,v900,z20,toolgun1\WObj:=r17_wobj;
MoveL lo19,v1400,z20,toolgun1\WObj:=r17_wobj;
SpotL l21z0_144o,v1000,gun1,spot03,toolgun1\WObj:=r17_wobj;
MoveL lo30,v1400,z20,toolgun1\WObj:=r17_wobj;
MoveL lo73,v900,z20,toolgun1\WObj:=r17_wobj;
MoveL lo60,v900,z50,toolgun1\WObj:=r17_wobj;
MoveJ lo75,v800,z50,toolgun1\WObj:=r17_wobj;
MoveJ lo76,v800,z50,toolgun1\WObj:=r17_wobj;
MoveJ lo62,v1000,z50,toolgun1\WObj:=r17_wobj;
MoveJ lo65,v1000,fine,toolgun1\WObj:=r17_wobj;
SpotL l21z0_122o,v1000,gun1,spot01,toolgun1\WObj:=r17_wobj;
SpotL l21z0_50o,v1000,gun1,spot02,toolgun1\WObj:=r17_wobj;
MoveL lo24,v1000,z40,toolgun1\WObj:=r17_wobj;
MoveJ lo25,v1000,z50,toolgun1\WObj:=r17_wobj;
CalibJ lo63,v1000,gun1\TipWear,z50,toolgun1\WObj:=r17_wobj;
MoveJ rob17_home_end,v900,fine,toolgun1\WObj:=r17_wobj;
ClearOfApp APP_1;
ENDPROC