Robot programming and simulation by CIROS Education 6.
Product Learning how to …
CIROS Robotics Program industrial robot systems
CIROS Robotics
Product Learning how to …
CIROS Robotics Program industrial robot systems
Features Highlights
Samples • use sample models of Festo MPS and iCIM robot stations and several
industrial robot applications
Programming • program internal robot controller
• use programming languages of Mitsubishi robots:
MRL, MELFA BASIC IV & V
Simulation • simulate robot program, sensors, actuators and material flow
Assistance • use the CIROS Robotics Assistant and help system
2
CIROS Robotics
Simulation
3
How to work with CIROS Education 6.0 software to learn Robot programming ?
• Windows Start Menu
• Festo Didactic folder
• Click CIROS Education 6.0
• Start CIROS Education Help file page >>>>> Robot programming
• Robot assembly station with RV-2FB >>>>> Open reference model
• C :\\ Drive >>>> Program file >>>> Didactic folder >>>> CIROS Model
• Robot Programming >>>> MPS Robot station RV-2FB
• MPS-Assembly station >>>> Model >>>>
MPS_RobotAssemblyStation_2F.mod
• Open Robot model : the original program will appear
Program
Robot Work Cell
Position
• Double click at position Table Robot will present the position that you select
• PROGRAMMING menu >>>> Teach-In >>>>> or use Key “F8”
• Make new folder at My document >>>> Make new sub folder : Robot_training
• New folder name >>>> EXERCISE_1
• Select >>>> Melfa Basic V (MBA-V) >>>> Name: EX_001.prjx
• Browse >>>> Select EXERCISE_1 at Robot training folder in My document
• Click OK
EX_001.prjx
• Activate Robot position table >>>> Save as
• Name: EX_001.pos
• EXERCISE_1 folder >>>> Save
• Close the Robot position table
• Open file MELFA BASIC V program (*.mb5) >>>> Name: EX_001.mb5
• MOVE Command : MOV P(Number)
• Condition Input Command : IF, Then, Else
• Jumping program line command : GOTO
Compare movement command between : MOV and MVS
MOV : Move joint interpolation
MVS : Move linear interpolation (move straight)
P1
MVS
Linear interpolation
P2
MOV
Joint interpolation
Movement command: MOV
MOV (Position)
Instructs the robot to move to a designated location. Calculate the optimal distance and
direction. Typically, it moves in a joint (Joint Interpolation)
MOV P1: instructs the robot to move to position P1 in the position list.
MOV (Position),(Close distance)
Instructs the robot to move to a position above the given position (in the Z axis).
MOV P1,-20
Instruct Robot to move to position 20 mm above P1 in Position List.
Movement command: MVS
MVS (Position)
Instructs the robot to move to a designated location. Linear interpolation
MVS P2: Instructs the robot to move straight to P2 in the Position List.
MVS (Position),(Close distance)
Instruct the robot to move in a straight line. To position above the assigned position
MOV P2,-20
Instruct the robot to move to position 20 mm above P2 in Position List.
HOPEN (Hand tools number)
Order Gripper open >>>> HOPEN 1
HCLOSE (Hand tools number)
Order Gripper close >>>> HCLOSE 1
OVRD (Joint interpolation speed control) , (0 – 100%)
OVRD 50 : Speed of 50%
DLY (Time Sec) : Robot Process Delay
DLY 5 : Delay 5 seconds before proceeding to the next program step.
Condition command status 1 = ON, 0 = OFF
IF M_IN(Input bit number ) = 1 THEN…….. Condition Monitoring input bit 1
IF M_IN(1) =1 THEN GOTO …..ELSE GOTO………
M_OUT(Output bit number ) 0/1 (0=Reset, 1=Set)
M_OUT(0)=1 , Set output bit 0 ON
GOTO (Jump condition)
GOTO *START , Jump to line *START
END = End of program ‘comment line sentence
• VIEW menu
• Inputs/Outputs show
Start Robot Simulation
Save Program *.MB5 > EX_001.mb5 > Save
Save Position *.pos > EX_001.pos > Save
Programming menu > Project management
Projects > New
• Select > Melfa Basic V (MBA-V)
• Name project > EX_001.prjx
• Browse > to save the project
directory >
Robot_training_Didactic >
Exercise_1 (Folder:
EXERCISE_1)> Select Folder
• Click OK
• Project name shown on Projects tree
• Select > File from EX_001(MBA5)
• Add 2 file in project EX_001(MB5)
• Program EX_001.mb5
• Position EX_001.pos
• Compile project under Project EX_001 by right mouse-click
Reset Robot Start
Work Cell Simulation
SIMULATION
Menu
• Start to simulate program by click “PLAY”
ประเภทของตัวแปร
Using Variables in Programming
INTE Integer [ 32768 – 32767 ]
FLOAT Decimal number[ ± 1.70141 E+38]
IO Input / Output
POS Position
PLT Pallet
24
การกําหนดตัวแปร
Take command DEF
The variable must be set at start up before you use it.
DEF FLOAT A, B
A = 4.875
B = A+6.90
DEF INTE X, Y
X = 34
Y = 35
การกําหนดตัวแปร Position
Using Variables in Programming
DEF POS HOME ‘Home position
HOME = P1
DEF IO START = BIT, 3 ‘Start button bit 3
DEF IO LAMP_Q1 = BIT, 2
IF START = 1 THEN GOTO ……… ELSE GOTO………
LAMP_Q1 = 1
การกําหนดตัวแปร IO สําหรับ Output
Speed control command = SPD
DEF INTE DEF
FASTIO [Name] = [Type], [Input/Output Bit No]
FAST = 90%
DEF INTE SLOW
SLOW = 30%
SPD SLOW%
MVS P2
Using Subroutine for GOSUB Programming (* Label)
28
การกําหนดตัวแปร Pallet
Configure variables Pallet
DEF PLT(Pallet Number),(Start Point), (End A), (End B), (Diagonal), (Qty A),
(Qty B), (Direction)
End Point A Start Point
Diagonal Point End Point B
Using Variables in Programming
Start
A Quantity A = 4
B Quantity B = 5
Using Variables in Programming
Direction 1 = Zig Zag Direction 2 = Same Direction
การกําหนดตัวแปร Pallet
Configure variables Pallet
DEF PLT 1, P1, P2, P3, P4, 4, 5, 1
DEF PLT(Pallet Number),(Start Point), (End A), (End B), (Diagonal), (Qty A),
(Qty B), (Direction)
การใช้ งาน Pallet
10 MOV (PLT 1, 1)
DEF(PLT
20 MOV PLT1,P1,
1, 2) P2, P3, P4, 4, 5, 1
30 END
ชนิดต่างๆของ Loop
Using Loop in Programming
Command : FOR … NEXT Loop
FOR(Counter)=(Default Value) TO (End Value) (Counter value Increment)
…………
NEXT(Counter) ‘ If counter equal End Value jump to Step(increment)
STEP (Increment)
Example Pallet programming DEF PLT 1,P4,P8,P9,P10,4,2,1
DEF INTE Place_POS
POS 4
POS 8 DEF POS POS_Pallet
POS 9
DEF INTE FAST
FAST = 90%
DEF INTE SLOW
SLOW = 30%
POS 10
FOR Place_POS = 1 to 8
FOR Place_POS = 1 to 8
MOV P2,-50
SPD SLOW%
MVS P2
HCLOSE 1 Place POS < 8
Place POS = 8 MVS P2,-50
M_OUT(1)=1 'Set Signal feed Cube
DLY 0.5
M_OUT(1)=0 'Reset Signal feed Cube
SPD FAST%
POS_Pallet = PLT 1, Place_POS
MOV POS_Pallet,-50
SPD SLOW%
MVS POS_Pallet
HOPEN 1
MVS POS_Pallet,-50
SPD FAST%
NEXT Place_POS
MOV P1
Vector function programming : 1
Vector function programming : 2
VECDEG-50
VECTOR Z+100
VECTORXYZ
X-20/Y+30/Z-150
R+50
Counter function programming : 1
MOVE Up/Down
5 times
Counter function programming : 2
Check orientation function programming : 1
Check orientation function programming : 2