仿真启动后,机器人执行初始化操作,若机器人无法自动回至工作原位,可手动将机器
人调整至机械原点,再重新执行仿真播放,如图1-4所示。
单击
人
lorm-AiBRotctStud^638址匸二£
CM
6«
2LT
ZA
栄:
WS4*«:
"Mm
MbU
Waw
•OSXJUHL
flW?
l«S3S.
Qrt-x
OH'C
单击“机器
本工作站分Z向上”
图g“回到机
分别是可自动运行的码垛,圧铸机取件,轨迹应用以及一个手
动模板TCP标定。
仿真启动后,需要手动选择当前激活的是哪一个自动运行的功能模板,
可通过工作站信号进行选择,如图1-5所示。
Foundry为压铸机取件应用,Pallet为码垛应用,Practise为轨迹类应用,手动执行模
板TCP标定使用的工具与Practise—致,无需执行仿真播放,直接激活Practise,切换为TCP标定的工具,进行手动TCP标定练习。
激活对应的功能模板后,即可查看到机器人对应的执行任务,依次进行激活,当仿真结束后,可单击仿真“停止”,若需回复至初始状态,可以通过重置下拉菜单中的保存状态进行工作站初始化。
初始化操作如图1-6所示。
初始化机器人的步骤是:
将机器人恢复为出厂设置,然后在此工作站基础上依次完成I/O配置,程序导入,坐标系标定,H标点示教等操作,最终将机器人工作站复原至之前可正常运行的状态。
初始化前,先做好机器人备份,以备后面使用,在“控制器”菜单中可进行备份
图1-7
完成备份后,在“控制器”菜单的“重启”中单击“1-启动”,初始化机器人,如图
1-8所示。
出现提示框,单击“确定”即可,等待机器人重新启动,机器人初始化结束。
图1-8
2.I/O配置
在“控制器”菜单中打开虚拟“示教器”,先将界面语言改为中文,之后依次单击“ABB菜单”-“配置”,进入“I/O主题”,配置I/O信号。
此工作站配置了1个DSQC652通信板卡(数字量16进16出),则需要在Unit中设置此I/O的相关参数,配置见表l-lo
Name
TypeofUnit
Connectedto
Bus
DeviceNet
Address
BoardlO
D652
DeviceNetl
10
需要配置的I/O信号见表1-2.
Name
Typeof
Signal
AssignedtoUnit
Unit
Mapping
信号用途说明
diPallet
Dignal
Input
BoardlO
0
码垛模式激活信号
diFoundr
y
Dignal
Input
BoardlO
1
压铸取件模式激活
信号
diPracti
se
Dignal
Input
BoardlO
2
轨迹练习模式激活信号
diPallet
InPosl
Dignal
Input
BoardlO
3
码垛1号线产品到位信号
diPallet
InPosl
Dignal
Input
BoardlO
4
码垛2号线产品到位信号
diFoundr
yDone
Dignal
Input
BoardlO
5
压铸完成信号
diCheckO
K
Dignal
Input
BoardlO
6
压铸检测正常信号
doCheck
Dignal
Output
BoardlO
0
铸件检测信号
doVaccum
Dignal
Output
BoardlO
1
吸盘真空信号
doGrip
Dignal
Output
BoardlO
2
夹爪拾取信号
doPikDon
e
Dignal
Output
BoardlO
3
压铸取件完成信号
3.程序模板导入
I/O配置完成后,将程序模板导入该机器人系统中。
通过示教器的程序编辑器进行程序模块的加载,依次单击“ABB菜单”-“程序编辑器”,若出现加载程序提示框,暂时单击“取消”,然后在程序模块界面进行加载,如图1-9所示。
浏览至之前做的备份文件,路径一般为:
・・・・/备份文件名/RAPID/TASKI/PROGMOD,如图1-10所示。
加载完成后,选中该模板,单击“显示例行程序”,看到对应的程序。
程序注解如下:
MODULEMainModule
PERStooldatatServoGun:
=
[TRUE,[[315.617,-546.323,311.783],[0,0.707107,0.707107,0]],[80,[23.1,-94.9,285.6],[1,0,0,0],0,0,8.383]];
CONSTrobtargetpHome:
=
[[372.05,-568.49,1258.93],[0.712795,-0.0315415,-0.0295508,0.700039],[-l,-l,-l,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONSTrobtarget
pTipDress:
=[[132&6&105&85,1549.61],[0.549848,0.473897,0.487383,-0.485332],[0,1,-3,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
VARintnumintnol:
=0;
VARintnumintno2:
=0;
PERSnumnTipCount:
=l;
PERSforcedataforce3:
=[1500J.5];
CONSTspeeddatavSmall:
=[500,500,50,50];
CONSTspeeddatavBig:
=[2000,500,5000,1000];
CONSTspeeddatavMid:
=[1000,500,5000,1000];
CONSTrobtarget
pHome10:
=[[733.50,-657.73,1290.56],[0.47355,-0.0388763,-0.0188857,0.879707],[-1,-1,-1,0],[99.9896,9E+09,9E+09,9E+09,9E+09,9E+09]];
VARboolbStartl:
=FALSE;
TASKPERSspotdataspot2:
=[2,5];
TASKPERSspotdataspot3:
=[3,5];
TASKPERSspotdataspot4:
=[4,5];
TASKPERSspotdataspot5:
=[5,5];
TASKPERSspotdataspot6:
=[6,5];
PROCmain()
InitAll;
WHILETRUEDO
IFdi_StartPro=1THEN
ClkResetTimer;
ClkStartTimer;
SpotCar;
ClkStopTimer;
nCount:
=nCount+1;
nCycleTime1:
=ClkRead(Timer);
ENDIF
CycleCheck;
ENDWHILE
ENDPROC
PROCInitAll()
AccSet50,50;
VelSet80,1000;
Setgl_reset_fault;
WaitTime1;
Resetgl_reset_fault;
lOunOpen;
MoveHome;
ClkResetTimer;
ENDPROC
PROCSpotCar()
!
addinstnictions;
JActUnitSERVOGUN;
MoveJpHome,vMid.fine,tServoGun\WObj:
=wobj0;
First:
MoveJ
[[843.70,303.73,299.87],[0.531401,0.45793&-0.483967,0.523146],卜1,0,・l,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],vMid,z50,tServoGun\WObj:
=wobjO;
MoveL
[[1702.79,303.73,299.87],[0.531401,0.457937,・0.483967,0.523146],卜1,0,・l,0],[9E+09,9E+09,9E+09,9E+09、9E+09,9E+09]],vMid,z5,tServoGun\WObj:
=wobjO;
MoveL
[[1702.79,353.25,299.87],[0.531401,0.457937,・0.483967,0.523147],卜1,0,・l,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],vSmall,z5,tServoGun\WObj:
=wobjO;
SpotL
[[1702.79,353.25,299.87],[0.531401,0.457937,4).483967,0.523147],卜1,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],vSmall,gunl,spot1,tServoGun\WObj:
=wobjO;
rGun;
SpotL
[[1702.79,353.25,333.51],[0.531401,0.457937,-0.483967,0.523147],卜1,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],vSmall,gunl,spot2,tServoGun\WObj:
=wobjO;
rGun;
SpotL
[[1702.79,353.25,419.95],[0.531401,0.457937,・0.483967,0.523147],[-l,0,-l,0],[9E+09,9E+09
9E+09,9E+09,9E+09,9E+09]],vSmall,gunl,spot1,tServoGunXWObj:
=wobj0;
rGun;
MoveL
[[1702.79,287.05,419.95],[0.531401,0.457937,-0.483967,0.523147],[-1,0,-1,0],[9E+09,9E+09,9E+09,9E+09.9E+09,9E+09]],vSmall,z5,tServoGun\WObj:
=wobjO;
MoveJ
[[1015.64,286.77,420.64],[0.531416,0.457922,・0.48395&0.523153],卜l,0,-l,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],vMid,z5,tServoGun\WObj:
=wobjO;
Second:
MoveL
[[1015.64,286.77,420.64],[0.594919,0.275335,-0.287024,0.698484],[0,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],vMid,z5,tServoGun\WObj:
=wobjO;
MoveL
[[1001.67,-46.86,986.24],[0.663614,-0.0271593,-0.0240759,0.747194],[0,-1,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],vMid,z5,tServoGun\WObj:
=wobjO;
MoveL
[[1730.13,-407.96,1039.25],[0.663614,-0.0271592,-0.0240758,0.747194],[0,-1,・1,0],[9E+09,9
E+09,9E+09,9E+09,9E+09,9E+09]],vSmall,z5,tServoGun\WObj:
=wobjO;
SpotL
[[1735.28,-407.97,968.43],[0.663614,-0.0271592,-0.0240757,0.747194],[0,-l,-l,0],[9E+09,9
E+09,9E+09,9E+09,9E+09,9E+09]],vSmalLgunl,spot1,tServoGun\WObj:
=wobjO;
iSpotL
[[1739.40,-442.72,968.74],[0.663614,-0.0271592,-0.0240757,0.747194],[0,-l,-1,0],[9E+09,9
E+09,9E+09,9E+09,9E+09,9E+09]],vSmall,gunl,spot1,tServoGunXWObj:
=wobj0;
iSpotL
[[1742.27,-458.49,96&95],[0.663614,-0.0271592,-0.0240757,0.747194],[0,-1,-1,0],[9E+09,9
E+09,9E+09,9E+09,9E+09,9E+09]],vSmalLgunl,spot1,tServoGun\WObj:
=wobj0:
rGun;
SpotL
[[1745.33,-484.31,969.17],[0.663614,-0.0271592,-0.0240758,0.747194],[0,-1,-1,0],[9E+09,9
E+09,9E+09,9E+09,9E+09,9E+09]],vSmalLgunl,spot1,tServoGun\WObj:
=wobj0:
rGun;
MoveL
[[1739.82,-484.31,1044.97],[0.663614,-0.0271592,-0.0240758,0.747194],[0,-1,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],vMid,z5,tServoGun\WObj:
=wobjO;
MoveL
[[1347.63,-531.06J016.45],[0.663614,-0.0271592,-0.0240758,0.747194],[0,-1,-l,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],vMid,z5,tServoGun\WObj:
=wobjO;
MoveJ
[[1333.58,-1140.99,1015.47],[0.663614,-0.0271592,-0.0240758,0.747194],[-1,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],vMid,z5,tServoGun\WObj:
=wobjO;
MoveJ
[[1333.58,-1140.99,1015.47],[0.663614,-0.0271592,-0.0240758,0.747194],[-1,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],vMid,z5,tServoGun\WObj:
=wobjO;
MoveJ
[[1333.58,140.99,1015.47],[0.663614,4).0271592,-0.024075&0.747194],卜1,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],vMid,z50,tServoGun\WObj:
=wobjO;
Third:
MoveL
[[1752.46,-1187.12,1045.94],[0.663614,-0.0271591,-0.0240757,0.747194],[-1,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],vMid,zl,tServoGun\WObj:
=wobjO;
MoveL
[[1756.80,-1187.12,986.29],[0.663614,-0.027159,-0.0240757,0.747194],[-1,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],vMid,zl,tServoGun\WObj:
=wobjO;
MoveL
[[1756.80,-1187.12,986.29],[0.663614,-0.027159,-0.0240757,0.747194],[-l,0,・1,0],[9E+09,9
E+09,9E+09,9E+09,9E+09,9E+09]],vSmall,zl,tServoGun\WObj:
=wobjO;
SpotL
[[1756.80,-1187.12,986.29],[0.663614,-0.027159,-0.0240757,0.747194],[-l,0,-1,0],[9E+09,9
E+09,9E+09,9E+09,9E+09,9E+09]],vSmall,gunl,spot1,tServoGun\WObj:
=wobjO;
rGun;
SpotL
[[1758.10,-1198.05,986.38],[0.663614,-0.027159,-0.0240757,0.747194],[-1,0,-1,0],[9E+09,9
E+09,9E+09,9E+09,9E+09,9E+09]],vSmall,gunl,spot1,tServoGun\WObj:
=wobjO;
rGun;
MoveL
[[1755.92,"213.93,1042.37],[0.663614,-0.027159,-0.0240757,0.747194],卜1,0,・l,0],[9E+09,9
E+09,9E+09,9E+09,9E+09,9E+09]],vSmall,zl,tServoGun\WObj:
=wobjO;
MoveL[[126&55,J272.03,1006.93],[0.663614厂0.027159厂0.0240757,0.747194],卜l,0,-l,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],vMid,zl,tServoGun\WObj:
=wobjO;
MoveL
[[1268.55,-1272.03,1006.93],[0.663614,-0.027159,-0.0240757,0.747194],[-1,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],vMid,zl,tServoGun\WObj:
=wobjO;
MoveJ
[[1268.55,-1272.03,1006.93],[0.551606,-0.437362,0.202392,0.680796],[-1,・2,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],vMid,z50,tServoGun\WObj:
=wobjO;
Fourth:
MoveJ
[[1245.49,-1225.06,1532.43],[0.551606,-0.437362,0.202392,0.680796],[-1,-l,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],vMid,z50,tServoGun\WObj:
=wobjO;
MoveJ
[[1571.63,-1320.78,1532.43],[0.551606,-0.437362,0.202392,0.680796],[-1,-l,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],vMid,z50,tServoGun\WObj:
=wobjO;
MoveL
[[1593.54,“466.09,1532.43],[0.551606,・0.437362,0.202392,0.680796],卜1,・1,0,0],[9E+09,9E+09、9E+09,9E+09,9E+09,9E+09]],vSmall,zl,tServoGun\WObj:
=wobjO;
SpotL
[[1593.54,“466.09,1532.43],[0.551606,4).437362,0.202392,0.680796],卜1,・1,0,0],[9E+09,9E
+09,9E+09,9E+09,9E+09,9E+09]],vSmall,gunl,spot1,tServoGun\WObj:
=wobj0:
rGun;
SpotL
[[1593.54,-1466.09,1574.67],[0.551606,-0.437362,0.202392,0.680796],[-1,-1,0,0],[9E+09,9E+09、9E+09,9E+09,9E+09,9E+09]],vSmall,gunl,spot1,tServoGun\WObj:
=wobj0:
lOun;
SpotL
[[1593.54,-1466.09,1553.67],[0.551606,-0.437362,0.202392,0.680796],[-1,-1,0,0],[9E+09,