安川机器人作为工业自动化领域的重要品牌,其控制系统(如Yaskawa DX100、YRC1000等)提供了丰富的命令集,支持复杂的运动控制、I/O管理、程序流程控制等功能,以下从基础运动指令、I/O控制指令、程序流程指令、寄存器与变量管理、系统管理指令等方面,详细梳理安川机器人的常用命令,并辅以表格说明核心指令的格式与功能,最后通过FAQs解答常见疑问。

基础运动指令
安川机器人的运动指令是控制机器人本体或外部轴动作的核心命令,主要包括点定位、直线插补、圆弧插补等类型,这些指令通常以“MOV”“L”“C”等关键字开头,后接目标位置、速度、加速度等参数。
绝对坐标运动指令
-
MOVJ:关节插补运动,机器人各轴以最快速度移动到目标点,轨迹为非线性,适用于快速定位。
格式:MOVJ V=速度 mm/s, P=目标点位置
示例:MOVJ V=100, P1
(以100mm/s速度关节运动至P1点)。 -
MOVL:直线插补运动,机器人末端工具沿直线轨迹移动到目标点,姿态保持不变,适用于焊接、涂胶等路径要求精确的场景。
格式:MOVL V=速度, P=目标点
示例:MOVL V=50, P2
(以50mm/s速度直线运动至P2点)。 -
MOVC:圆弧插补运动,机器人通过三个点(起点、中间点、终点)生成圆弧轨迹,适用于曲面加工。
格式:MOVC V=速度, P=中间点, Q=终点
示例:MOVC V=30, P3, Q4
(以30mm/s速度从当前位置经P3点圆弧运动至Q4点)。(图片来源网络,侵删)
相对坐标运动指令
-
MOVJ P=增量值:相对于当前位置进行关节插补移动,增量值以XYZ坐标或关节角度表示。
示例:MOVJ P=(100,0,0)
(在当前坐标系下沿X轴正方向移动100mm)。 -
MOVL P=增量值:相对于当前位置进行直线插补移动。
示例:MOVL P=(0,50,0)
(沿Y轴正方向移动50mm)。
速度与加速度控制指令
-
SPEED`:设定全局运动速度,单位为mm/s或%。
示例:SPEED 80
(速度设为80mm/s)。 -
ACC`:设定全局加速度,单位为mm/s²或%。
示例:ACC 50
(加速度设为50%)。(图片来源网络,侵删)
表格:基础运动指令速查
指令类型 | 指令关键字 | 功能描述 | 参数示例 |
---|---|---|---|
关节插补 | MOVJ | 快速非线性定位 | MOVJ V=100, P1 |
直线插补 | MOVL | 精确直线轨迹 | MOVL V=50, P2 |
圆弧插补 | MOVC | 圆弧轨迹生成 | MOVC V=30, P3, Q4 |
相对运动 | MOVJ P=Δ | 相对位置关节移动 | MOVJ P=(100,0,0) |
速度控制 | SPEED | 设定全局速度 | SPEED 80 |
加速度控制 | ACC | 设定全局加速度 | ACC 50 |
I/O控制指令
I/O指令用于与外部设备(如传感器、气缸、传送带)进行交互,实现信号的输入检测与输出控制。
输入指令
-
DI`:读取数字输入信号状态(ON/OFF)。
格式:DI 信号地址
(如DI[1]表示输入信号1)。
示例:IF DI[1]=ON THEN JMP LBL1
(若输入信号1为ON,跳转至LBL1标签)。 -
AI`:读取模拟输入信号值(电压或电流)。
格式:AI 通道号
(如AI[0]表示模拟输入通道0)。
示例:POS=AI[0]
(将模拟输入通道0的值赋给变量POS)。
输出指令
-
DO`:控制数字输出信号状态(ON/OFF)。
格式:DO 信号地址, 状态
(如DO[2]=ON)。
示例:DO[3]=OFF
(关闭输出信号3)。 -
AO`:控制模拟输出信号值(0-10V或4-20mA)。
格式:AO 通道号, 数值
(如AO[1]=5.0)。
示例:AO[0]=3.3
(设置模拟输出通道0为3.3V)。
等待指令
- WAIT`:等待输入信号状态变化或时间延迟。
格式:WAIT DI[信号地址]=状态, Timeout=时间
示例:WAIT DI[5]=ON, Timeout=10
(等待输入信号5变为ON,超时时间10秒)。
程序流程控制指令
流程控制指令用于实现程序的分支、循环、跳转等功能,提高程序的灵活性和逻辑性。
跳转指令
-
JMP`:跳转至指定标签。
格式:JMP LBL 标签名
示例:JMP LBL2
(跳转至LBL2标签处)。 -
LBL`:定义程序标签。
格式:LBL 标签名
示例:LBL1:
(定义标签LBL1)。
条件分支指令
- IF...THEN...ELSE`:条件判断语句。
格式:IF 条件 THEN...ELSE...ENDIF
示例:IF POS>100 THEN MOVL V=50, P5 ELSE MOVL V=30, P6 ENDIF
(若POS>100,则高速移动至P5,否则低速移动至P6)。
循环指令
-
FOR...TO...STEP...ENDFOR`:指定次数循环。
格式:FOR 变量=初始值 TO 终值 STEP 步长...ENDFOR
示例:FOR I=1 TO 10 STEP 1...ENDFOR
(循环10次,变量I从1递增至1)。 -
WHILE...ENDWHILE`:条件循环。
格式:WHILE 条件...ENDWHILE
示例:WHILE DI[10]=ON...ENDWHILE
(当输入信号10为ON时循环执行)。
寄存器与变量管理指令
安川机器人通过寄存器和变量存储数据,支持数值、位置、数组等多种数据类型。
变量赋值与运算
-
=`:变量赋值。
示例:COUNT=COUNT+1
(变量COUNT自增1)。 -
ADD/SUB/MUL/DIV`:算术运算。
示例:RESULT=ADD(10,20)
(RESULT=10+20=30)。
位置数据管理
-
PPOS`:获取当前位置。
示例:PPOS_CUR=PPOS
(将当前坐标值赋给PPOS_CUR变量)。 -
SHIFT`:坐标系偏移。
格式:SHIFT 坐标系类型, 偏移量
示例:SHIFT USER, (10,0,0)
(用户坐标系X轴偏移10mm)。
系统管理指令
系统管理指令用于控制机器人启动、停止、错误处理等全局操作。
-
START`:启动程序执行。
示例:START PROG=TEST
(启动TEST程序)。 -
STOP`:停止程序执行。
示例:STOP
(立即停止当前程序)。 -
ERROR`:触发错误报警。
示例:ERROR 1000, "机械限位"
(触发1000号错误,提示信息为“机械限位”)。 -
RESET`:复位报警状态。
示例:RESET
(复位机器人至就绪状态)。
相关问答FAQs
Q1:安川机器人中,MOVJ和MOVL指令有什么区别?如何选择使用?
A:MOVJ(关节插补)是机器人各轴独立运动,轨迹为非线性,速度快但路径不精确,适用于空行程或快速定位场景;MOVL(直线插补)是机器人末端工具沿直线轨迹移动,姿态保持不变,路径精确但速度较慢,适用于焊接、装配等需要精确路径的场合,选择时需根据运动精度和效率需求:若要求快速到达目标点,用MOVJ;若需严格按直线轨迹运动,用MOVL。
Q2:如何通过I/O指令实现机器人与外部传感器的信号交互?
A:通过输入指令(如DI读取传感器信号状态)和输出指令(如DO
控制执行器动作)实现交互,若传感器连接至输入信号DI[1],需检测物体是否到位时,可编写条件语句IF DI[1]=ON THEN MOVL V=50, P5
;若需控制气缸动作,则通过输出指令DO[2]=ON
开启气缸,注意需确保I/O地址配置与硬件接线一致,并使用WAIT指令避免信号抖动导致的误判。