$HOLDING_TORQUE
数据类型:REAL
机器人轴 [轴编号] 的保持转矩
该保持转矩与当前的实际轴位置和当前的负载有关。
大众标准中适用的力矩模式,重要是用来对机器人在移动过程中的力矩监控,减少机器人碰撞时发生损坏。
“ 扭矩模式 ” 功能包含部分功能 “ 力矩限制 ” 和 “ 关闭监控 ”。
扭矩限制
可以为单个或多个轴限制扭矩,即电机电流。扭矩限制实现了以下应用情况:
可以用定义的扭矩挤压或拉动轴,直到遇到阻力。
示例:
用电动点焊钳在工件上建立定义的压力。
可以 “ 柔和切换 ” 轴。然后可以通过外部的力作用使其运动。例如可以将
其移开。
示例:
机器人必须在压床中抓取一个工件,然后将其从压床中顶出。为了可以使
机器人具有柔性并抵消顶出,对所涉的轴进行柔和切换。
机器人必须将工件放在夹具可将其拉入极其正确的姿态的位置上。为此,
机器人必须是柔和的。
监控的关闭:
由于扭矩限制,在额定位置和实际位置之间通常会形成一个相对大的偏差。特
定的监控对该偏差响应,但是这在扭矩限制时是不需要的。因此,可以关闭这
些常规的监控。
[UNTERGRUPPE8]
Name = Momentenbetrieb ---力矩模式
[P1]
Visible = True
enum=True
num0=Ausschalten 关闭
num63=Ein-alle Achsen全轴控制
num7=Ein-Grundachsen 一基轴
num56=Ein-Handachsen 单腕轴
num57=Ein-Achse1,4,5,6 单轴1,4,5,6
num1=Ein-Achse1 1轴
num2=Ein-Achse2 2轴
num4=Ein-Achse3 3轴
num8=Ein-Achse4 4轴
num16=Ein-Achse5 5轴
num31=Ein-Achse6 6轴
CASE 108 ;
Momentenbetrieb 力矩模式
IF(PAR7==TRUE)THEN
IF(PAR1》0)THEN
TRQ_MomentenbetriebEin(PAR1)PAR1设置力矩功能
ENDIF
IF(PAR1==0)THEN
LIN $POS_RET 笛卡儿坐标系中离开轨迹时的位置
ENDIF
ENDIF
…
SET_TORQUE_LIMITS(2, torqlim)
SET_TORQUE_LIMITS(axnum, torqlim)
力矩功能中主要使用了SET_TORQUE_LIMITS()函数,
激活转矩运行:SET_TORQUE_LIMITS()
用该功能可以为特定的轴执行以下操作:
在正向和 / 或负向方向上限制转矩。
关闭在滞后误差变大时要响应的常规监控。
如果常规监控已关闭:更改专用监控的值。
SET_TORQUE_LIMITS (axis: in, values : in)
axis 类型:INT
该指令适用的轴
values 类型:TorqLimitParam
要为该轴设定的值
TorqLimitParam: 是一个结构体
STRUC TorqLimitParam REAL lower 、upper、SW_ONOFF monitor 、REAL max_vel、max_lag
lower 扭矩下限,
upper 扭矩上限,
monitor #ON (默认):接通常规的监控 #OFF:关闭常规的监控。相反,监控 max_vel 和 max_lag 已激活。
max_vel 力矩运行下允许的最大实际速度 (只在常规的监控关闭时相关)只允许编程一个正值。
max_lag 力矩运行下允许的最大滞后误差 (只在常规的监控关闭时相关)
lower/upper 什么时候必须限制转矩上限和下限?
一般说明:必须始终限制建立滞后误差的方向。
示例:要驶向一个障碍物并在此停止。在此显示要建立的转矩。
如果该障碍物在正向运动方向上,则必须设定 upper。
如果该障碍物在负向运动方向上,则必须设定 lower。
属性:
可以在机器人程序和提交程序中使用 SET_TORQUE_LIMITS()。
预进停止:在机器人程序中,该指令会触发预进停止。
Values 有时允许保持未初始化状态。未初始化组件表示现有值应保持未更改状态。
如果设定两个极限,则必须为 upper 》= lower
如果一个极限已设定(或两个)并且然后设定另一个极限,和现在通过新的极限得出一个空的区间,则新的极限值变为两个极限的值。示例:
已设定:{lower 1, upper 2}
已重新设定:{lower 3}
由此,以下适用:{lower 3, upper 3}
允许设定一个正的 lower 或一个负的 upper。
必须设定极限,使它们含有当前的保持转矩 $HOLDING_TORQUE。如果它们另外设定,则机器人控制系统输出用户必须应答的错误信息。
lower 必须小于或等于 $TORQUE_AXIS_MAX_0 区间的上限值。
upper 必须大于或等于 $TORQUE_AXIS_MAX_0 区间的下限值。
如果极限另外设定,则机器人控制系统输出用户必须应答的错误信息。
示例 1:
对于 A1 将允许的转矩范围限制到区间 800 … 1 400 Nm 上。
SET_TORQUE_LIMITS(1, {lower 800, upper 1400} )
示例 2:
对于 A3 将转矩上限设定为 1200 Nm。
SET_TORQUE_LIMITS(3, {upper 1200} )
停用扭矩模式:RESET_TORQUE_LIMITS()
可以使用扭矩限制避免在碰撞时发生损坏。
优势:确保了机器人只用特定的有限作用力压向障碍物。
缺点:机器人边迟钝。不再能高加速。
例如:
机器人从箱子中取出工件。在运动至点 P7、P8 和 P9 时,可以排除机器人与工件一起挂在箱子上。应确保机器人不会大力压紧致使形成损坏。为此,在临界点之前限制作用力。
关闭常规的监控。不因为否则将不必要地触发监控,而是因为与该示例相反它们不够严格。取而代之,将其中一个专用监控设定为一个很小的值。(取决于具体的应用情况,这对使用常规监控也很有意义。)
1 DECL TorqLimitParam myParams
。..
2 FOR i = 1 to 6
3 myParams.lower = $holding_torque[i] - 500
4 myParams.upper = $holding_torque[i] + 500
5 myParams.monitor = #off
6 myParams.max_lag = 0.1
7 SET_TORQUE_LIMITS(i, myParams)
8 ENDFOR
9 $acc.cp = my_low_acceleration
10 $vel.cp = my_low_velocity
11 LIN P7
12 LIN P8
13 LIN P9
14 FOR i = 1 to 6
15 myParams.lower = -1E10
16 myParams.upper = 1E10
17 myParams.monitor = #on
18 SET_TORQUE_LIMITS(i, myParams)
19 ENDFOR
20 $acc.cp = my_high_acceleration
21 $vel.cp = my_high_velocity
22 LIN P10
2 … 7 限制 A1 … A6 的转矩。
3, 4 用中间的保持转矩将限制设定为一个很小的区间。
5, 6 关闭常规的监控。Max_lag = 0.1 的作用是在滞后误差为 0.1° 时已经触发了停止。
9, 10 减小加速度和速度,以便机器人缓慢地移到临界点。
11 …13 可能出现碰撞的点
如果出现碰撞,则监控 max_lag 响应并且设备操作人员可以干预。
在临界区段之后:
14 …19 停用扭矩限制。
在此可以使用 SET_TORQUE_LIMITS:只在机器人无碰撞地经过临界点时,机器人才能到达该位置。在该情况下,没有形成滞后误差并且不需要额定 / 实际匹配。
20, 21 重新提高加速度和速度。
22 非临界点
编辑:lyn
全部0条评论
快来发表一下你的评论吧 !