01-12-2022,上午09:51
(本文最后修改日期:01-12-2022,09:56 AM bychristian.hansen)。
你好,RoboDK和社区里的其他人。
我有一台KR50,带有KRC5控制器,我使用的是RoboDK,版本5.2.5。我对细胞做了一个完整的模拟,并测试了程序的到达极限和奇点。然后我开始进行脱机编程,在这里我选择了后处理程序ayx官方。没有KR C5,这也是相当新的,所以我选择了KR C4。
然而,.src文件和.dat文件的结果与我通常期望的结果有点不同。然而,我把代码转移到机器人上,它工作得很好,但我不能例如触摸给定的机器人位置,因为代码是不同的格式。
下面是一个简单程序的例子,机器人应该从home位置移动到stackhome位置。在机器人上工作的真正代码如下,其中可以内联“润色”例如stackhome位置。
src文件在这里,并以KRL.txt的形式附上
和相关的。dat文件。
代码来自RoboDK使用后处理器KR C4。
所以RoboDK的结果会在机器人上运行,但是我不能使用teach-pendant进行在线编程。
那么有没有一种方法,RoboDK将生成两个文件,即。src文件和。dat文件,可以直接传输到真正的机器人,然后也可以在线编程编辑之后?
我有一台KR50,带有KRC5控制器,我使用的是RoboDK,版本5.2.5。我对细胞做了一个完整的模拟,并测试了程序的到达极限和奇点。然后我开始进行脱机编程,在这里我选择了后处理程序ayx官方。没有KR C5,这也是相当新的,所以我选择了KR C4。
然而,.src文件和.dat文件的结果与我通常期望的结果有点不同。然而,我把代码转移到机器人上,它工作得很好,但我不能例如触摸给定的机器人位置,因为代码是不同的格式。
下面是一个简单程序的例子,机器人应该从home位置移动到stackhome位置。在机器人上工作的真正代码如下,其中可以内联“润色”例如stackhome位置。
src文件在这里,并以KRL.txt的形式附上
代码:
访问RVO
rel 51
¶m editmask = *
&PARAM TEMPLATE = C:\KRC\ robot \ TEMPLATE \vorgabe
&参数DISKPATH = KRC:\R1\程序
DEF Stack1()
折叠INI; % {PE}
;折叠basistech ini
当$ stopmess == true do ir_stopm()时,全局中断撤销3
数到3时中断
(# initmov,0)
endfold (basistech ini)
折叠用户ini
在这里修改
endfold(用户ini)
; ENDFOLD (INI)
;FOLD SPTP HOME Vel= 100% DEFAULT;%{PE}
参数;%{h}
; Params IlfProvider = kukaroboter.basistech.inlineforms.movement.spline;Kuka.IsGlobalPoint = False;Kuka.PointName =回家;Kuka.BlendingEnabled = False;Kuka.MoveDataPtpName =违约;Kuka.VelocityPtp = 100;Kuka.VelocityFieldEnabled = True;Kuka.CurrentCDSetIndex = 0;Kuka.MovementParameterFieldEnabled = True;IlfCommand = SPTP
; ENDFOLD
SPTP xhome与$ vel_axis [1] = svel_joint (100.0), $ tool = stool2 (fhome), $ base = sbase (fhome . base_no), $ ipo_mode = sipo_mode (fhome . ipo_frame), $ load = sload (fhome . tool_no), $ acc_axis [1] = sacc_joint (pdefault), $ apo = sapo_ptp (pdefault), $ gear_jerk [1] = sgear_jerk (pdefault), $ collmon_tol_pro [1] = use_cm_pro_values (0)
; ENDFOLD
FOLD SPTP StacksHome Vel= 100% PDAT1 Tool[2]:ForkNew Base[4]:EUpalletNEW;%{PE}
参数;%{h}
; Params IlfProvider = kukaroboter.basistech.inlineforms.movement.spline;Kuka.IsGlobalPoint = False;Kuka.PointName = StacksHome;Kuka.BlendingEnabled = False;Kuka.MoveDataPtpName = PDAT1;Kuka.VelocityPtp = 100;Kuka.VelocityFieldEnabled = True;Kuka.ColDetectFieldEnabled = True;Kuka.CurrentCDSetIndex = 0;Kuka.MovementParameterFieldEnabled = True; IlfCommand=SPTP
; ENDFOLD
SPTP XStacksHome WITH $VEL_AXIS[1] = SVEL_JOINT(100.0), $TOOL = STOOL2(FStacksHome), $BASE = SBASE(FStacksHome. base_no), $IPO_MODE = SIPO_MODE(FStacksHome. ipo_frame), $LOAD = SLOAD(FStacksHome. tool_no), $ACC_AXIS[1] = SACC_JOINT(PPDAT1), $APO = SAPO_PTP(PPDAT1), $GEAR_JERK[1] = SGEAR_JERK(PPDAT1), $COLLMON_TOL_PRO[1] = USE_CM_PRO_VALUES(0)
; ENDFOLD
和相关的。dat文件。
代码:
访问RVO
rel 51
¶m editmask = *
&PARAM TEMPLATE = C:\KRC\ robot \ TEMPLATE \vorgabe
&参数DISKPATH = KRC:\R1\程序
DEFDAT遍
%{pe}% mkukatpbasis,% cext,% vcommon,% p .
%{pe}% mkukatpbasis,% cext,% vext,% p .
Ext bas (bas_command: in, real: in)
Decl int成功
endfold (basistech ext)
%{e}% mkukatpuser,% cext,% vext,% p .
在这里修改
endfold(用户ext)
endfold(外部声明)
DECL MODULEPARAM_T LAST_TP_PARAMS={PARAMS[] "Kuka.VelocityFieldEnabled=True;Kuka.ColDetectFieldEnabled = True;Kuka.MovementParameterFieldEnabled = True;Kuka.IsAngleEnabled = False;Kuka.PointName = stack1pickposTEMP;Kuka.FrameData.base_no = 4;Kuka.FrameData.tool_no = 2;Kuka.FrameData.ipo_frame = #基地;Kuka.FrameData.point2 =;Kuka.isglobalpoint = False; Kuka.MoveDataName=CPDAT8; Kuka.MovementData.cb={AUX_PT {ORI #CONSIDER,E1 #CONSIDER,E2 #CONSIDER,E3 #CONSIDER,E4 #CONSIDER,E5 #CONSIDER,E6 #CONSIDER},TARGET_PT {ORI #INTERPOLATE,E1 #INTERPOLATE,E2 #INTERPOLATE,E3 #INTERPOLATE,E4 #INTERPOLATE,E5 #INTERPOLATE,E6 #INTERPOLATE}}; Kuka.MovementData.apo_fac=50; Kuka.MovementData.apo_dist=500; Kuka.MovementData.axis_acc=100; Kuka.MovementData.axis_vel=100; Kuka.MovementData.circ_typ=#BASE; Kuka.MovementData.jerk_fac=50; Kuka.MovementData.ori_typ=#VAR; Kuka.MovementData.vel=2; Kuka.MovementData.acc=100; Kuka.MovementData.exax_ign=0; Kuka.VelocityPath=2; Kuka.BlendingEnabled=False; Kuka.APXEnabled=False; Kuka.CurrentCDSetIndex=0; Kuka.MoveDataPtpName=PDAT1; Kuka.MovementDataPdat.apo_mode=#CDIS; Kuka.MovementDataPdat.apo_dist=500; Kuka.VelocityPtp=100 "}
DECL E6POS xstackhome ={X -546.012268,Y -4.26492643,Z 327.078278,A 0.477458119,B -0.0832620561,C 0.387397945,S 22,T 50,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}
DECL FDAT fstackhome ={TOOL_NO 2,BASE_NO 4,IPO_FRAME #BASE,POINT2[] " "}
Decl pdat ppdat1 ={vel 100.000, acc 100.000, apo_dist 500.000, apo_mode # cis, gear_jerk 100.000, exax_ign 0}
ENDDAT
代码来自RoboDK使用后处理器KR C4。
代码:
访问RVP
rel 1
&PARAM TEMPLATE = C:\KRC\ robot \ TEMPLATE \vorgabe
¶m editmask = *
DEF Prog1 ()
Ext bas (bas_command: in, real: in)
;当$ stopmess == true do ir_stopm()时,全局中断撤销3
;数到3时中断
初始化并设置默认速度
BAS (# INITMOV, 0)
BAS (# VEL_PTP, 100)
BAS (# ACC_PTP, 20)
VEL.CP = 0.2美元
BAS(#工具,0)
BAS(#基地,0)
; ENDFOLD
;,褶皱STARTPOS
$ bwdstart = false
; pdat_act = pdefault .
, BAS (# PTP_DAT)
fdat_act = {tool_no 0, base_no 0, ipo_frame # base}
, BAS(#帧)
;, ENDFOLD
$ advance = 5
;FOLD ----快速跳过BCO ----
;20元AXIS_ACT
; ENDFOLD
;折叠----回家----
;PTP {a1 0.000, a2 -90.000, a3 90.000, a4 0.000, a5 0.000, a6 0.000, e1 0, e2 0, e3 0, e4 0, e5 0, e6 0}
; ENDFOLD
;由RoboDK v5.2.5为KUKA KR 50 R2500在12/01/2022 10:35:50生成的程序
;使用名义运动学。
;----设置参考(Base) ----
$ base ={帧:x 0.000, y 0.000, z 0.000, a 0.000, b 0.000, c 0.000}
;Base_data [1] = {frame: x 0.000, y 0.000, z 0.000, a 0.000, b 0.000, c 0.000}
;$ base = base_data [1]
;--------------------------
PTP {a1 0.00000, a2 -90.00000, a3 90.00000, a4 0.00000, a5 0.00000, a6 0.00000, e1 0.00000}
PTP {a1 -36.68420, a2 -71.24000, a3 101.52500, a4 -55.90380, a5 -46.17160, a6 45.65050, e1 0.00000}
结束
所以RoboDK的结果会在机器人上运行,但是我不能使用teach-pendant进行在线编程。
那么有没有一种方法,RoboDK将生成两个文件,即。src文件和。dat文件,可以直接传输到真正的机器人,然后也可以在线编程编辑之后?