焊接机器人逻辑指令如何操作?
焊接机器人逻辑指令如何操作?
(1)GLOBAL_VAR:“全局变量”任务类型,可定义“全局变量”且为“全局变量”赋值及对其进行“操作”。
(2)MODBUS_VAR:“MODBUS 寄存器”任务类型,可定义“全局变量”且为“全局变量”赋值及对其进行“操作”。通过“MODBUS_VAR”任务类型就把“MODBUS通信协议”与“系统编程”关联在了一起。
(3)“WAIT”任务类型:“等待事件”任务类型,需要配合I/O输入端口使用。选择“WAIT”任务类型时,需要设置“等待类型”、“等待序号”、“等待状态”和“事件关系”。
等待类型——分为“输入端口”、“PLC”、“寄存器变量”和“全局变量”4种类型。
等待序号——由选择的“等待类型”而决定:选择“输入端口”等待类型时,是“输入端口号”;“PLC”等待类型时的“继电器编号”及“寄存器变量”和“全局变量”等待类型时的“变量序号”。
等待状态——同样由“等待类型”决定。
事件关系——有“与”和“或”两种事件关系。
应用“WAIT”任务类型格式:选中“WAIT”任务类型后,根据选择的“等待类型”分别设置好“等待序号”、“等待状态”和“事件关系”,点击【添加】按钮,完成操作。
选择“WAIT”任务类型后,在“输入端口号”、“输入电平值”和“事件关系”3个提示框中输入相应值,点击“添加任务”按钮,完成操作。
系统提供了编号“0—19”共20路“耦合隔离”输入端口且系统初始状态也是默认为低电平“0”;同时设置多个“输入端口号”与“输入电平值”时,中间用连接符“-”相连。
系统“等待事件”任务类型中的“与”和“或”事件关系:“与”事件关系表示只有满足了所有的“等待事件”,程序才能接着往下运行;“或”事件关系则是只需满足“等待事件”中的一部分即可让程序接着往下运行。
(4)IF:条件判断指令,与ELSE、ELSE_IF、END_IF配合使用。
指令格式: a. IF...END_IF;
b. IF...ELSE...END_IF;
c. IF...ELSE_IF...ELSE...END_IF;
a.判断IF条件里面的内容是否满足,若条件为真(满足条件)时,则执行下面的程序;若条件为假(不满足条件)时,则程序不执行“IF...END_IF”所包含的内容。
b.判断IF条件里面的内容是否满足,若条件为真(满足条件)时,则执行“IF...ELSE”所包含的内容;若条件为假(不满足条件)时,则程序执行“ELSE...END_IF”所包含的内容。
c.若需要多个条件进行判断,可以采用“IF...ELSE_IF...ELSE...END_IF”格式指令(其中ELSE_IF在一个“IF...END_IF”中可以多次使用,ELSE也可不用)。
每个IF必须对应一个END_IF,即“IF...END_IF”配套使用。
例如:
GLOBAL_VAR_OP:GV_0 = 0 // 建立全局变量0,并赋值GV_0为0
IF(GV_0 == 0) // IF条件
OUTPUT:Y1 = 1 // I/O输出端口1输出“高电位1”
ELSE_ IF(GV_0 == 1) // ELSE_IF条件
OUTPUT:Y1 = 0 // I/O输出端口1输出“低电位0”
ELSE
OUTPUT:Y1 = 0 // I/O输出端口1输出“高电位1”
OUTPUT:Y2 = 1 // I/O输出端口2输出“高电位1”
END_IF // IF程序结束
程序说明:若满足条件GV_0 == 0,则Y1 = 1;若满足条件GV_0 == 1,则Y1 = 0;若两个条件都不满足,则Y1 = 0,Y2 = 1。
(5)WHILE:循环指令,与END_WHILE配合使用。
指令格式:WHILE...END_WHILE
当WHILE后面的条件满足时,即条件为真(满足条件)时,执行“WHILE...END_WHILE”里面的程序,直到WHILE后的条件为假(不满足条件)时,则退出该WHILE循环。
每个WHILE必须对应一个END_WHILE,即“WHILE...END_WHILE”配套使用。
例如:
GLOBAL_VAR_OP:GV_0 = 0 // 建立全局变量0,并赋值GV_0为0
WHILE(GV_0 < 3) // WHILE条件
GLOBAL_VAR_OP:GV_0 = GV_0 + 1 // 全局变量加1
OUTPUT:Y2 = 1 // I/O输出端口2输出“高电位1”
END_WHILE // WHILE循环结束
OUTPUT:Y2 = 0 // I/O输出2端口输出“低电位0”
程序说明:若GV_0 < 3,则GV_0 = GV_0 + 1 ,Y2 = 1;否则Y2 = 0,即连续3次输出Y2=1后条件不满足,WHILE循环结束,输出Y2=0。
(6)BREAK:退出循环指令。
BREAK指令用在“WHILE...END_WHILE”指令中间,使终止“WHILE...END_WHILE”循环语句。通常BREAK指令与IF...END_IF配合使用,满足条件时便跳出循环体。
例如:
GLOBAL_VAR_OP:GV_0 = 0 // 建立全局变量0,并赋值GV_0为0
WHILE(GV_0 < 10) // WHILE条件
IF(GV_0 == 5) // IF条件
BREAK // 中断程序
END_IF // IF程序结束
GLOBAL_VAR_OP:GV_0 = GV_0 + 1 // 全局变量加1
OUTPUT:Y2 = 1 // I/O输出端口2输出“高电位1”
END_WHILE // WHILE循环结束
OUTPUT:Y2 = 0 // I/O输出2端口输出“低电位0”
程序说明:当IF(GV_0 == 5)满足时,WHILE终止循环,即连续5次输出Y2=1后,IF(GV_0 == 5)满足条件,退出WHILE循环,输出Y2=0。
(7)CONTINUE:退出本次循环指令。
CONTINUE指令用在WHILE...END_WHILE指令中间,跳过WHILE...END_WHILE循环体中剩余的语句而强制执行下一次循环。通常CONTINUE指令与IF...END_IF配合使用,即满足条件时便跳出此次循环,用来加速循环。
例如:
GLOBAL_VAR_OP:GV_0 = 0 // 建立全局变量0,并赋值GV_0为0
WHILE(GV_0 < 10) // WHILE条件
GLOBAL_VAR_OP:GV_0 = GV_0 + 1 // 全局变量加1
IF(GV_0 == 5) // IF条件
OUTPUT:Y3 = 1 // I/O输出端口3输出“高电位1”
CONTINUE // 终止本次循环
END_IF // IF程序结束
OUTPUT:Y2 = 1 // I/O输出端口2输出“高电位1”
END_WHILE // WHILE循环结束
OUTPUT:Y2 = 0 // I/O输出端口2输出“低电位0”
程序说明:当IF(GV_0 == 5)满足时,此次循环CONTINUE后面的语句将不执行(跳出此次循环,WHILE循环继续),即连续5次输出Y2=1后,第6次输出Y3=1,再第7、第8、第9、第10连续4次输出Y2=1,条件不满足, WHILE循环结束,输出Y2=0。