Upload
vuongnguyet
View
216
Download
1
Embed Size (px)
Citation preview
Teach by Compliance Sample Application
RC7M Controller
This application demonstrates the RC7 controller’s Current Limiting capabilities on all the motors of a 6 axis robot.
It uses the RC7M/TP-1 (Color touch screen pendant) and the Panel screen function
The robot is set into current limit mode and the user can move all 6 axis by hand to a desired location.
The user can teach that location and continue to move and teach additional positions.
Once all the desired positions are taught, the user can automatically move through all the positions as a Move P, Move L or Move S (Spline).
Please refer to the Programs section to be sure all the necessary programs are included.
Some programs need to be imported from the “Program Bank” using Wincaps III programming software. See the section on Programs.
This sample is free to distribute.
Denso Robotics (RC7M) Teach by Compliance Sample Application (Ver 1.0) Page 1
Contents
I. RC7 Controller Setup Procedure........................................................................................3
II. Main Screen..........................................................................................................................4
1. Header................................................................................................................................4
2. Body...................................................................................................................................5
a. Joint Current Limiting settings....................................................................................5
b. Start position.................................................................................................................5
c. Move Type Options.......................................................................................................5
d. Teach and Increment button........................................................................................5
e. Ret each button.............................................................................................................6
3. Status bar..........................................................................................................................6
4. Function keys....................................................................................................................6
III. Programs...........................................................................................................................7
1. Current_Limit_Prg.pac.................................................................................................7
2. MoveTaughtPos.prg......................................................................................................9
3. GetPosition.pac...........................................................................................................10
IV. Used Global Integer variables.............................................................................................10
V. Panel program.......................................................................................................................11
1. Panel program code:..................................................................................................11
Denso Robotics (RC7M) Teach by Compliance Sample Application (Ver 1.0) Page 2
I. RC7 Controller Setup Procedure
1. Connect the robot arm to the RC7 controller (M&E cable)2. Connect the Color teach pendant to the RC7 Controller3. Connect the Safety I/O cable to the RC7 Controller
a. Minimum requirements i. Jumper Protective Stop circuitii. Wire in E-Stop circuitiii. Wire in Auto Enable circuit.
4. Connect the Power cable to the RC7 Controllera. Check voltages for specific modelsb. Provide circuit protection between power source and the RC7 Controller
5. Power up the RC7 controller6. Enable both the Panel extension and the Compliance extension
a. From the Main screen, Set > Options > Extensionsb. InputID 1453 (Panel)c. OKd. InputID 6519 (Compliance)e. OKf. Reboot the controller
7. Using the Wincaps III programming software, download all the programs (See section on necessary (Custom PAC programs and Program Bank programs) to run the Compliance Sample application to the RC7 Controller.
Denso Robotics (RC7M) Teach by Compliance Sample Application (Ver 1.0) Page 3
Controller
Color Teach Pendant
6 axis robot arm
Global Safety I/O E-Stop Auto/Man switch
M&E cable
Power cable
Power source circuit breaker
II. Main Screen
1. Header
Auto Enabled indicator: Be sure the Teach Pendant key switch is in the Auto position and the Auto Enable of the Safety I/O is made.
External Speed set: Set the external speed to between 1% and 10% when moving the arm under compliance mode.
Denso Robotics (RC7M) Teach by Compliance Sample Application (Ver 1.0) Page 4
2. Body
a. Joint Current Limiting settings Enabled Joints: Check the boxes of the
joints (1 – 6) that you want to allow compliance mode to enable.
Allowable deviation/deg: This value is what you want each joint to error at when you exceed these values during the compliance movement. Be sure to set these values to at least 180 deg.
Current limit %: This is the maximum current in total percentage of each motor. The smaller the value, the more compliant the robot.
b. Start position Pressing the Start position number box will allow the
user to enter the position number they want to use as the starting increment position. Changing this value will rest the Teach & INC number box to the same value. Pressing Teach & INC button will teach the current robot location to this position as the first position in the group.
c. Move Type Options The Move Type Options allow you to run
through all the taught positions in any of the 3 options.
o P Type: Moves through each taught point in a “Move P,…” type move
o L Type: Move through each taught point in a “Move L… type moveo S Type: Creates a set of Spline points from the taught points and move through
a “Move S, 1” type motion.
d. Teach and Increment button The Teach & INC button, records the current
robot position to the displayed P type variable. Once the position is recorded, the position number increments by 1. For example, if you move the robot by hand and click the Teach & INC button, the robots current position would be recorded to P[50] and the position number would increment by 1.
Pressing on the position number opens the number input box where you can enter a new start position.
Denso Robotics (RC7M) Teach by Compliance Sample Application (Ver 1.0) Page 5
Note the display will let you know how many positions have been recorded and their position number. In this example, if the Run function button was to be presses, the robot would move through P[50] to P[52] as a P type move.
e. Ret each button You can re-teach one of the positions by pressing
on the Reteach number input box and entering one of the currently taught positions. Then move the robot to the new position and click the Reteach button. The Status bar will let you know if the position was re-taught.
3. Status bar
The Status bar will let you know what is happening during an evento When a robot program is runningo When and what position has been taught or retaughto When compliance mode is enabled or disabled
4. Function keys
F1 Comply: Takes the Enabled Joints, Allowable deviation/deg and Current limit values and runs a program in the controller call Comply_Prg.pac program. This program sets the compliance for the current robot using these parameters. It runs once and ends. The robot can now be moved by hand.
o The Compliance Status ligth will be Green when the robot arm is in compliance mode and it can be moved by hand to desired positions.
F2 Reset: Disables the Compliance on the arm. F3 Run: Runs the motion program using the positions taught. The move type, P, L, Spline
is set by selecting the appropriate Move Type Option. F6 Back: Move back one panel screen
Denso Robotics (RC7M) Teach by Compliance Sample Application (Ver 1.0) Page 6
III. Programs
Be sure all the programs listed are in the robot controller
Be sure to enable the Panel extension (1453) and the Compliance extension (6519)o SET > OPTIONS > Extensionso InputIDo Enter the Extension # and OKo Reboot the robot controller
1. Current_Limit_Prg.pac''!TITLE "Current Limiting Program"PROGRAM Currrent_Limit_Prg'***************************************************************' Enable the compliance extension 6519 ' Enable the Panel extension 1453'***************************************************************
DIM STR_MSG AS STRINGTAKEARMMOTOR ONSET IO[128]CALL Set GravityCall SetGrvOffset
STR_MSG = ""
IF I[10] = 1 THEN I[10] = -1GOTO *RESET_ALL
ENDIF
IF I[10] = -1 THENEND
ENDIF
Denso Robotics (RC7M) Teach by Compliance Sample Application (Ver 1.0) Page 7
IF I[11] = 1 THEN 'J1 CURRENT LIMIT ENABLEDCALL SetCurLmt(1, I[13])CALL SetEralw (1, I[12])STR_MSG = "J1"
ENDIF
IF I[21] = 1 THEN 'J2 CURRENT LIMIT ENABLEDCALL SetCurLmt(2, I[23])CALL SetEralw (2, I[22])STR_MSG = STR_MSG + ", J2"
ENDIF
IF I[31] = 1 THEN 'J3 CURRENT LIMIT ENABLEDCALL SetCurLmt(3, I[33])CALL SetEralw (3, I[32])STR_MSG = STR_MSG + ", J3"
ENDIF
IF I[41] = 1 THEN 'J4 CURRENT LIMIT ENABLEDCALL SetCurLmt(4, I[43])CALL SetEralw (4, I[42])STR_MSG = STR_MSG + ", J4"
ENDIF
IF I[51] = 1 THEN 'J5 CURRENT LIMIT ENABLEDCALL SetCurLmt(5, I[53])CALL SetEralw (5, I[52])STR_MSG = STR_MSG + ", J5"
ENDIF
IF I[61] = 1 THEN 'J6 CURRENT LIMIT ENABLEDCALL SetCurLmt(6, I[63])CALL SetEralw (6, I[62])STR_MSG = STR_MSG + ", J6"
ENDIFS1 = "CURRENT LIMITS SET FOR " + STR_MSGEND
*RESET_ALL:SPEED 10ACCEL 10,10CALL ResetCurLmt(0)DELAY I[90]CALL ResetEralw(0)S1 = "CURRENT LIMITS DISABLED....."RESET IO[128]
END
Denso Robotics (RC7M) Teach by Compliance Sample Application (Ver 1.0) Page 8
2. MoveTaughtPos.prg
'!TITLE "Move through taught positions"PROGRAM MoveTaught_Pos
TAKEARMS[1] = "Resetting Current......."MOTOR ONDIM iX AS INTEGERDIM StartPos as integer, EndPos as IntegerStartPos = I[9] - (I[7] -1)EndPos = I[9]
SPEED 10ACCEL 10,10CALL ResetCurLmt(0)DELAY I[90]CALL ResetEralw(0)RESET IO[128]Delay 100SELECT CASE I[8] 'MOVE TYPE
CASE 1 'MOVE PFOR iX = StartPos to EndPos
S[1] = "RUNNING THE P TYPE MOTION PROGRAM...(Move P, P[" + Str$(iX) + "] )...."MOVE P, P[iX]
NEXT iXCASE 2 'MOVE L
FOR iX = StartPos to EndPosS[1] = "RUNNING THE L TYPE MOTION PROGRAM...(Move L, P[" + Str$(iX) + "] )...."MOVE L, P[iX]
NEXT iXCASE 3 'MOVE S
CLRSPLINEPOINT 1FOR iX = StartPos to EndPos
SETSPLINEPOINT 1, P[iX]NEXT iXS[1] = "Moving to the start position of the Spline...(Moving to P[" + Str$(StartPos) +
") ..."MOVE P, P[StartPos]S[1] = "RUNNING THE SPLINE TYPE MOTION PROGRAM...(Move S, 1) ..."MOVE S, 1
CASE -1 'NO TYPE ERROREND SELECTS[1] = "MOVES COMPLETE...."
END
Denso Robotics (RC7M) Teach by Compliance Sample Application (Ver 1.0) Page 9
3. GetPosition.pac
'!TITLE "Teach position. Called from Panel Screen"PROGRAM GetPos
TakearmIF I[8] > -1 THEN
P[I[8]] = CURPOSS[1] = "P" + Str$(I[8]) + " has been Re-taught..."I[8] = -1
ELSEP[I[9]] = CURPOSS[1] = "P" + Str$(I[9]) + " has been taught..."
ENDIF
END
IV. Used Global Integer variables
o Be sure not to assign the Global Integers shown to the left. These are reserved for program use.
Denso Robotics (RC7M) Teach by Compliance Sample Application (Ver 1.0) Page 10
V. Panel program
Panel object names
1. Panel program code:DEF PB1_CLICKED() 'TEACH BUTTON
I[9] = NB1.valueRun GetPosNB1.value = NB1.value + 1I[7] = I[7] +1 'INC # OF TAUGHT POSITIONS
END
DEF IPB1_REFRESH() 'STATUS BARIPB1.caption = S[1]plComplianceState.state = IO[128]lblPosOfPos1.caption = "Recorded Positions:" + str$(I[7])lblPosOfPos2.caption = "Starting at position:" + STR$(NB3.VALUE)
END
Denso Robotics (RC7M) Teach by Compliance Sample Application (Ver 1.0) Page 11
DEF Panel_INITIALIZE()RESET IO[128]NB1.value = 1I[9] = 0I[8] = -1I[7] = 0
END
DEF FK2_CLICKED() 'RUN FUNCTION KEYI[8] = -1 'Move type falseIf CBTypeP.State = 1 then 'Move P type
I[8] = 1EndifIf cbTypeL.State = 1 then 'Move L type
I[8] = 2EndIfIf cbTypeSpline.State = 1 then 'Move Spline type
I[8] = 3EndIfRun MoveTaught_Pos
END
DEF FK3_CLICKED() 'COMPLY FUNCTION KEYI[10] = 0
IF chk1.STATE = ON THEN I[11] = 1I[12] = nbDeviation1.ValueI[13] = nbLimitJ1.Value
ELSEI[11] = 0
ENDIF
IF chk2.STATE = ON THEN I[21] = 1I[22] = nbDeviation2.ValueI[23] = nbLimitJ2.Value
ELSEI[21] = 0
ENDIF
IF chk3.STATE = ON THEN I[31] = 1I[32] = nbDeviation3.ValueI[33] = nbLimitJ3.Value
ELSEI[31] = 0
ENDIF
Denso Robotics (RC7M) Teach by Compliance Sample Application (Ver 1.0) Page 12
IF chk4.STATE = ON THEN I[41] = 1I[42] = nbDeviation4.ValueI[43] = nbLimitJ4.Value
ELSEI[41] = 0
ENDIF
IF chk5.STATE = ON THEN I[51] = 1I[52] = nbDeviation5.ValueI[53] = nbLimitJ5.Value
ELSEI[51] = 0
ENDIF
IF chk6.STATE = ON THEN I[61] = 1I[62] = nbDeviation6.ValueI[63] = nbLimitJ6.Value
ELSEI[61] = 0
ENDIF
RUN currrent_limit_prgEND
DEF FK4_CLICKED() 'RESET FUNCTION KEYI[10] = 1RUN currrent_limit_prg
END
DEF PB2_CLICKED() 'RETEACH BUTTONI[8] = NB2.valueRun GetPos
END
DEF NB3_DONE() 'START FROM... NUMBER BOXI[9] = NB3.VALUENB1.VALUE = I[9]I[7] = 0
END
Denso Robotics (RC7M) Teach by Compliance Sample Application (Ver 1.0) Page 13