使用机器人自身计算值负载的重量值

描述

表层程序:

KLIN VB=8[mm/s] Genau=2[mm]ACC=100% RobWzg=1 Base=1 SPSTrig=0[1/100s] P

轨迹程序

1: FB PSPS = M30 & M32 & M39 & E41 & E45& E56 & E74 & E77 & E80

SPS程序

内部程序:

VW_MPARA_ACT=P6_D 点号转存

Act_P1 =P6 存储点

Act_P2 =P6 存储点

VW(#MPARA,TRUE)执行后台 辅助程序

SPS_FERTIG=FALSE

TRIGGERWHEN DISTANCE=1 DELAY=0 DO SPS_TRIG(10006) PRIO=-1 执行SPS程序

LIN P6C_DIS 执行工艺直线轨迹

$ADVANCE=1 激活预执行

机器人

 

DEF TOOL (TOOL_NO:IN )

INT TOOL_NO 声明: 整数形式变量TOOL_NO

IF (TOOL_NO==0) THEN 如果工具号 为 0

$TOOL=$NULLFRAME 对工具坐标 进行清零

IF $ADAP_ACC《》#NONE THEN 加速度适配器的激活 = #STEP2

$LOAD.M=$DEF_L_M 载荷质量 机器人自身值

$LOAD.CM=$DEF_L_CM 载荷重心

$LOAD.J=$DEF_L_J 载荷 惯性

ENDIF

ELSE -------如果有工具号

CONTINUE

$TOOL=TOOL_DATA[TOOL_NO] 使用工具库对应的号里的工具信息

IF $ADAP_ACC《》#NONE THEN加速度适配器的激活 = #STEP2

IF LOAD_DATA[TOOL_NO].M《0 THEN 负载库里的重量值为小于0

$LOAD.M=$DEF_L_M 使用机器人自身计算值

$LOAD.CM=$DEF_L_CM

$LOAD.J=$DEF_L_J

ELSE---------负载库里的重量值有数

$LOAD.M=LOAD_DATA[TOOL_NO].M CONFIG.dat里计算值质量

$LOAD.CM=LOAD_DATA[TOOL_NO].CMCONFIG.dat里计算值重心

$LOAD.J=LOAD_DATA[TOOL_NO].JCONFIG.dat里计算值惯性

IF (($LOAD.M《》0) AND ($LOAD.J.X==0) AND($LOAD.J.Y==0) AND ($LOAD.J.Z==0)) THEN如果有重量,但重心 是0,0,0就用机器人自身值

$LOAD.J=$DEF_L_J载荷重心

ENDIF

ENDIF

ENDIF

ENDIF

CONTINUE

$ACT_TOOL=TOOL_NO 激活的工具号

END

机器人

$LOAD预先运行中当前有效的载荷数据

该结构包含输入到机器人控制器中并分配给当前工具的有效载荷数据。参考坐标系是FLANGE坐标系。

$LOAD={M 重量 , CM重心, J惯性}

M质量类型:REAL;单位:公斤

CM 重心 FRAME

X,Y,Z:重心相对于法兰的位置

A,B,C:主惯性轴相对于法兰的方向

J惯性: Type: INERTIA

X,Y,Z:围绕相对于法兰旋转了A,B和C的坐标系轴的惯性矩。

机器人

机器人

机器人

 

DEF BASE (BASE_NO:IN )

INT BASE_NO 声明: 整数形式变量BASE_NO

IF (BASE_NO==0) THEN 如果给的BASE号是0

CONTINUE

$BASE=$WORLD就使用全球坐标作为$BASE坐标值

ELSE 如果给的BASE号不 是0

CONTINUE

$BASE=BASE_DATA[BASE_NO]将CONFIG.dat里的BASE库值 写入BASE坐标里

ENDIF

CONTINUE

$ACT_BASE=BASE_NO ; 显示当前使用的BASE号

CONTINUE

$ACT_EX_AX=-1 外部轴使用的BASE号
       责任编辑:pj

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分