表层程序:
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
全部0条评论
快来发表一下你的评论吧 !