
4.4 力觉检测功能的状态变量
4.4.1 与力觉检测功能有关的状态变量
与力觉检测功能有关的状态变量如表4-17所示。
表4-17 力觉检测功能状态变量

4.4.2 “Mo组合条件”状态——M_MoTrg
(1)【功能】
表示“Mo组合条件”的有效/无效状态以及“Mo组合条件”的ON/OFF状态。
(2)【格式】
<数值变量>=M_MoTrg(<组合条件编号>)
(3)【术语解释】
<组合条件编号>—— “Mo组合条件”编号,设定范围:1~3。
<数值变量>—— 从M_MoTrg读出的“Mo组合条件”的状态。
(4)样例程序
100 IfM_MoTrg(2)=-2 Then '——如果“No.2Mo组合条件”未定义,则。
101 Def MoTrg 2,P_Fbc.X>500 '——定义“No.2Mo组合条件”为“P_Fbc.X>500”。
102 SetMoTrg 2 '——设置“No.2Mo组合条件”有效。
103 EndIf——否则。
(5)【说明】
①本状态变量表示“Mo组合条件”的工作状态(有效/无效以及ON/OFF)
“M_MoTrg”的数值与Mo组合条件状态的关系如表4-18所示。
表4-18 “M_MoTrg”的数值与Mo组合条件状态的关系

②“Mo组合条件”有效而且满足定义的条件时,M_MoTrg()=“+1”;
满足定义的条件时,M_MoTrg()=“0”。
③“Mo组合条件”无效时,M_MoTrg()=“-1”。
④“Mo组合条件”未作定义时,M_MoTrg()=“-2”。
⑤电源ON之后,M_MoTrg()=“-2”。
4.4.3 判定“作用力当前值”是否超过“检测设定值”——M_FsLmtS
(1)【功能】
判定“作用力当前值”是否超过“作用力检测设定值”。
(2)【格式】
<数值变量>=M_FsLmtS
(3)【术语解释】
<数值变量>——从M_FsLmtS读出的数值。
M_FsLmt=1 超过“作用力检测设定值”;
M_FsLmt=0 未超过“作用力检测设定值”。
(4)【指令样例】
100 IfM_FsLmt=1 SKIP '——如果超过“作用力检测设定值”,就跳转到下一行。
101 MVS P1
(5)【说明】
①各轴“当前值(绝对值)”超过“作用力检测设定值”时,M_FsLmt=1,未超过M_FsLmt=0。
②轴的对应关系为Fx=X轴、Fy=Y轴、Fz=Z轴、Mx=A轴、My=B轴、Mz=C轴。
③未连接力觉传感器时,数值为0。
④自动运转中,M_FsLmt超过“作用力检测设定值”可作为中断插入处理的条件。
4.4.4 表示“实际值的变化状态”——P_FsLmtR
(1)【功能】
表示以“作用力检测设定值”为检测标准,“力觉传感器的实际检测值”的变化状态。
(2)【格式】
<位置变量>=P_FsLmtR
(3)【术语解释】
<位置变量>——从P_FsLmtR读出的数值。
(4)【说明】
①“力觉传感器的实际检测值”的变化状态如图4-2所示。以“作用力检测设定值”为检测标准。
②“实际检测值”超过“设定值”为+1,进入“A区”之后为+2。
③“实际检测值”小于“设定值”为-1,进入“B区”之后为-2。
④力觉控制OFF时,全轴为0;力觉控制ON时,为-2、-1、1、2中的任意一个值。
⑤作用力与轴的对应关系:Fx=X轴、Fy=Y轴、Fz=Z轴、Mx=A轴、My=B轴、Mz=C轴。
⑥未连接力觉传感器时,全轴为0。

图4-2 “力觉传感器的实际检测值”与“作用力检测设定值”的关系
4.4.5 表示“实际值”是否超过“设定值”——P_FsLmtX
(1)【功能】
表示(力觉传感器)各轴“实际值”是否超过“设定值”,也可对各轴数据执行复位。
(2)【格式】
例1 <位置变量>=P_FsLmtX
例2 P_FsLmtX=<位置变量>(可执行复位)
(3)【术语解释】
<位置变量>——读出的P_FsLmtX状态。
(4)【说明】
①表示“力觉传感器的绝对值”是否超过“作用力检测设定值”。有任一轴的数据超过,对应的轴设定为1;没有超过的轴设为0。可保持该值直到复位。
②轴的对应关系:Fx=X轴、Fy=Y轴、Fz=Z轴、Mx=A轴、My=B轴、Mz=C轴。
③初始状态(电源ON时),全轴为0。力觉控制ON时,若超过“作用力检测设定值”,相应的轴数值=1。
④如果使用位置变量对P_FsLmtX进行设置,可执行复位,如格式例2。执行复位时,P_FsLmtP、P_FsLmtD的值同时也被复位。
⑤未连接力觉传感器时,全轴为0。
4.4.6 表示“实际值”第1次超过“检测值”时的位置——P_FsLmtP
(1)【功能】
P_FsLmtP表示的是位置数据——“力觉传感器的绝对值”第1次超过“作用力检测设定值”时机器人的位置。
(2)【格式】
例1 <位置变量>=P_FsLmtP(读出位置数据)
例2 P_FsLmtP=<位置变量>(可执行复位)
(3)【术语解释】
<位置变量>——读出P_FsLmtP的位置数据。
(4)【说明】
①P_FsLmtP表示的是一“特殊位置”——“力觉传感器的绝对值”第1次超过“作用力检测设定值”时机器人的“位置”。
②如格式例2,P_FsLmtP也可被设定,而且可保持该值直到复位。即使“实际值”再次超过“设定值”,P_FsLmtP也不会被更新。
③初始状态(电源ON时),全轴为0。
④如果使用位置变量设置P_FsLmtP,可对P_FsLmtP执行复位,如格式例2。如果执行复位操作,P_FsLmtX、P_FsLmtD的值也同时被复位。
⑤力觉传感器没有连接时,通常全轴为0。
4.4.7 表示超过“检测设定值”时的“作用力实际数据”——P_FsLmtD
(1)【功能】
表示/复位超过“作用力检测设定值”时的力觉传感器数据。
(2)【格式】
例1 <位置变量>=P_FsLmtD(读出)
例2 P_FsLmtD=<位置变量>(设置)
(3)【术语解释】
<位置变量>——读出P_FsLmtD的位置数据。
(4)【样例程序】
300 If P_FsLmtX.X=1 Then P_FsFLmt.X=P_FsLmtD.X*0.8 '——如果X方向的作用力(FX)超过“作用力检测设定值”时,则将超过时的P_FsLmtD.X值乘0.8设置为新的“作用力检测设定值”。
(5)【说明】
①P_FsLmtD表示“力觉传感器的绝对值”第1次超过“作用力检测设定值”时的“作用力数据”。
②“作用力数据”是带±号的数值。
③P_FsLmtD也可被设置,而且可一直保持直到复位。即使“实际值”再次超过“设定值”,P_FsLmtD也不会被更新。
④初始状态(电源ON时),全轴为0。
⑤如果使用位置变量设置P_FsLmtD,可对P_FsLmtD执行复位,如格式中例2。如果执行复位操作,P_FsLmtX、P_FsLmtP的值也同时被复位。
⑥未连接力觉传感器时,全轴为0。
4.4.8 表示“作用力实测数据最大值”——P_FsMaxD
(1)【功能】
表示力觉控制中的力觉传感器实测数据最大值。
(2)【格式】
例1 <位置变量>=P_FsMaxD(读出)
例2 P_FsMaxD=<位置变量>(设置)
(3)【术语解释】
<位置变量>——读出的P_FsMaxD数值。
(4)【样例程序】
1000 P1=P_FsMaxD '——P1=直到当前为止的“传感器数据的最大值”。
1010 P_FsMaxD=P1 '——设置P_FsMaxD,也可对P_FsMaxD执行复位。
(5)【说明】
①P_FsMaxD存储了“传感器的最大值(绝对值的最大值)”(各轴的最大值被保持)。
②初始状态(电源ON时),全轴为0。无论力觉控制ON/OFF,当设置P_FsMaxD值后,该数值被保持,如格式中例2,直到执行“零点清零”或在T/B上执行复位操作。
③未连接力觉传感器时,全轴数值为0。
4.4.9 “当前作用力”实测数值——P_FsCurD
(1)【功能】
P_FsCurD存储力觉传感器“当前实测数值”。
(2)【格式】
<位置变量>=P_FsCurD(读出)
(3)【术语解释】
<位置变量>——从P_FsCurD读出的各轴“当前作用力实际数据”。
(4)【样例程序】
100 Def Act 1,P_FsCurD.Z>10 GoTo *INTR1,S '——定义:Z方向作用力如果大于10N,就跳转到中断程序INTR1。
200 M_DOut(6000)=P_FsCurD.X*100 '——将X轴作用力数值乘100写入CC-Link输出寄存器6000。
(5)【说明】
①P_FsCurD表示各轴“当前作用力实际数据”。
②一般以力觉工具坐标系显示“作用力数值”。如果选择使用力觉直交坐标系时,则显示在力觉直交坐标系上的数值,也显示“零点清零”的结果。
③即使力觉控制OFF,也能表示当前的力觉传感器实际数据。
4.4.10 力觉指令位置——P_FsCurP
(1)【功能】
表示使用了力觉控制补偿时的位置(简称“力觉指令位置”)。
力觉指令位置=程序指令位置+经过力觉控制补偿的位置
(2)【格式】
<位置变量>=P_FsCurP(读出)
(3)【术语解释】
<位置变量>——从P_FsCurP读出的“力觉指令位置”。
(4)【样例程序】
2000 PD=P_Curr-P_FsCurP '——计算出“当前位置”和“力觉指令位置”之差。
2010 MD=Sqr(PD.X*PD.X+PD.Y*PD.Y+PD.Z*PD.Z) '——算出补偿距离。
(5)【说明】
①P_FsCurP表示使用了力觉控制补偿时的位置。
②力觉控制OFF时,如果未连接力觉传感器,则输出与P_Curr(当前位置)相同的值。
4.4.11 表示力觉控制的ON/OFF状态——M_FsCSts
(1)【功能】
表示力觉控制的ON/OFF状态。
(2)【格式】
<数值变量>=M_FsCSts
(3)【术语解释】
<数值变量>——表示读出M_FsCSts的数值。
M_FsCSts=1 力觉控制ON
M_FsCSts=0 力觉控制OFF
(4)样例程序
2000 If M_FsCSts=1 Then Fsc Off '——如果力觉控制ON,则执行Fsc Off。
(5)【说明】
①M_FsCSts表示力觉控制的ON/OFF状态。
②力觉控制ON时,M_FsCSts=1;力觉控制OFF时,M_FsCSts=0。
③力觉控制ON时,即使伺服=OFF,M_FsCSts=1。