### CONNFRAME -- 机械手逆解

类型 | 同步运动指令
描述 | 将当前关节坐标系的目标位置与虚拟坐标系的位置关联。 CLUTCH_RATE=0 时关节坐标系的运动速度和加速度受 SPEED 等参数的限制。 当关节轴告警等出错时，此运动会被 CANCEL。 不要在虚拟轴高速运动中 CANCEL 此运动，会引起轴高速运动中停止。 此命令 LOAD 时会自动修改虚拟轴的坐标，使得与关节轴一致，因此调用后需要 WAIT LOADED 后才开始运动。 连接过程中不要修改虚拟轴的坐标，或是调用 DATUM 等可能改坐标的运动，这样会导致关节轴快速运动到新的虚拟位置。 CONNFRAME 生效后，关节轴的 MTYPE 为 33，此时无法直接运动关节轴，必须通过运行虚拟轴来间接运动关节轴，当要直接移动关节轴时，先调用 CANCEL 取消 CONNFRAME，再运动关节轴。 当虚拟轴和实际轴都是旋转轴时，例如末端旋转轴，虚拟轴和实际轴的脉冲当量注意要一致。
语法 | CONNFRAME(frame，tablenum, viraxis0, viraxis1,[…]) frame：坐标系类型，1- scara（如需针对特殊的机械手类型定制，请联系厂家） tablenum：存储转换参数的 TABLE 位置；frame=1 时，依次存放：第一个关节轴长度，第二个关节轴长度，第一个关节轴一圈脉冲数，第二个关节轴一圈脉冲数 viraxis0：虚拟坐标系第一个轴 viraxis1：虚拟坐标系第二个轴 […]：虚拟坐标系第 N 个轴，此运动轴可以是实际轴，具体由机械手类型确定 FRAME 机械结构一览表 详细说明请查看《正运动机械手指令说明》文档。 其他特殊的机械结构如需支持请联系厂家。
frame | 结构类型
1 | 标准 SCARA 机械手
101 | SCARA+摆动，虚拟轴定义 4 个
105 | SCARA+摆动，虚拟轴定义 5 个
106 | 特殊 SCARA
107 | 特殊 SCARA
108 | 特殊 5 轴 SCARA
11 | 旋转台
17 | 双旋转台
18 | 偏移旋转台
19 | 偏移双旋转台
3 | 码垛机械手
103 | 码垛变形，喷涂机械手
5 | 旋转伸缩机械手
15 | XY 滑台
102 | 2 轴 delta
2 | 3 轴 delta，R 类型控制器支持
12 | 4 轴 delta，R 类型控制器支持
13 | 3 轴垂直蜘蛛手，R 类型控制器支持
25 | 5 关节机械手
6 | 6 自由度机械手，R 类型控制器支持
26 | 特殊 6 自由度
36 | 特殊 6 自由度
100 | XYZ+2 轴手腕，虚拟轴定义 3 个
104 | XYZ+2 轴手腕，虚拟轴定义 5 个
适用控制器 | 通用
例子 | DIM L1,L2 L1=10 '第一个关节轴长度 L2=10 '第二个关节轴长度 BASE(0,1) '关节轴号是 0，1 ATYPE=1,1 UNITS=10,10 '这里以度为单位 DPOS=0,0 '设置关节轴的位置，此处要根据实际情况来修改 BASE(6,7) '虚拟轴号 6，7 ATYPE=0,0 '设置为虚拟轴 TABLE(0,L1,L2,3600,3600) '参数存储从 TABLE(0)开始存储，电机一圈 360 个脉冲 UNITS=1000,1000 '此脉冲当量要提前设置，中途不能变化 BASE(0,1) CONNFRAME(1,0,6,7) '建立逆解，轴 0/1 的坐标根据轴 6/7 来计算运动关节轴 WAIT LOADED BASE(6,7) MOVEABS(15,10) '虚拟轴发送运动指令 END 连接机械手仿真工具查看运行效果如下图：
相关指令 | CONNREFRAME