后台逻辑概念
PLC是工业自动化领域常用的一种逻辑控制产品,以其性能稳定、兼容性好、可扩展性强、体积小、性价比高而被广泛应用。在机器人产品中,为了降低系统集成的难度,很多机器人产品自身也会在控制系统中嵌入一款小型的PLC系统,FANUC机器人也不例外,只是在机器人中它不在被称为PLC,而是被称为后台逻辑功能。
顾名思义,后台逻辑就是机器人前台运动程序运行过程中,同时后台也在运行的一种用于处理信号逻辑关系的控制程序,二者在运行关系上相互独立。后台逻辑程序可以监视前台的运行状态,同时也可以向前台发送控制信号。当然后台逻辑也可以通过I/O通信,与外部设备连接对机器人周边设备进行运行监视与控制。
后台逻辑功能特点
FANUC机器人后台逻辑功能具有以下特点:
- 使用后台逻辑时,可以在后台执行只包含对应后台逻辑指令的TP程序,程序从头至尾周而复始的循环扫描,这一点与PLC的运行模式一致的。
- 后台逻辑执行过程中不受急停、暂停、报警的影响。
- 可同时执行8个TP程序作为后台逻辑,优先运行模式下,程序数目超过最大值时,程序停止执行,并发出错误报警。
- 在后台逻辑程序执行期间,不能编辑该程序,不能作为通常的任务来执行。尚未开启后台运行的程序,可以将该程序作为通常的任务来执行。
- 在后台执行程序时,不能通过改写相同名称的程序来加载。
- 电源切断后,在下次通电时,后台逻辑程序将以相同的执行模式被自动执行。
后台逻辑运行模式与扫描时间
FANUC机器人后台逻辑功能具有两种运行模式:通常运行模式与优先运行模式。
通常运行模式下,可以在后台逻辑程序中执行所有复合运算指令。对每一个ITP(机器人扫描周期,通常为8ms),可扫描600个程序数据或者逻辑运算符。数目超过600时,扫描时间延长。比如,一个具有1600个操作逻辑,处理时间大约需要24ms。但是,如果优先运行模式的程序已经在后台执行时,每个ITP中执行的逻辑操作数量是:600 -优先运行模式的逻辑操作数的合计。
优先运行模式下,可以在后台执行所有复合运算指令。在优先运行模式下,可以保证每个机器人ITP内后台逻辑程序都可以被执行一次。优先模式下的最大逻辑操作数为540个。对需要高周期执行的指令,其将分割为若干个通常模式的后台逻辑,然后在优先运行模式下执行。
后台逻辑程序可运行指令
机器人后台逻辑程序对指令与数据有一定的要求,与普通的TP程序不同,其不能控制任何运动轴。因此在编程时不能含有任何机器人轴运动指令,比如Joint、Linear、Circular等指令。后台逻辑程序中可运行的指令与数据如下表所示。
后台逻辑程序在使用这些指令与数据时,应注意以下几点要求:
- 不能将数据M[]指定为后台逻辑赋值语句等号左边部分。
- 程序中包含有可运行的指令以外的指令时,在执行时会发生错误报警。
- 在后台逻辑程序中不能使用脉冲指令,这点和PLC指令有所不同。
- 后台逻辑,可以执行具有条件表达式的赋值语句,条件表达式为OFF的情况下,赋值语句不予执行。如指令IF(DI[1]),DO[1]=(DI[2]),程序被执行时,当Dl[l]为ON时,DI[2]被赋值给DO[1];当DI[1]为OFF时,DO[1]不会改变。
- 使用JMP、 LBL指令时,请指定比JMP指令更后面行的LBL,指定前面行的LBL时,程序执行时系统会发生错误报警。
- 执行包含JMP指令的程序时,由于程序具有分支,因此扫描时间会有变动。
- 编写的条件表达式务必要用括弧圈起来,没有用括弧圈起来的将不被执行。例如普通TP程序中的条件表达式IF DI[1] =ON,JMP LBL[I],在后台逻辑程序中要修改为IF (DI[1]=ON,JMP LBL[1],才能被执行。
- 对于在后台逻辑程序中使用RUN指令执行的程序,要求其暂停时,该程序不会暂停而结束。
- 后台逻辑中执行了用户报警指令时,后台逻辑的程序不会停止。
后台逻辑实现方法
FANUC机器人后台逻辑功能的实现还是比较简单的,首先创建一个TP程序,名称可随意命名,如这里使用EXIO1。然后在程序详细信息中,将程序的组掩码全部设置为“*”,即在后台逻辑程序中将机器人运动轴(运动指令)全部屏蔽,只保留逻辑控制功能,这是使用后台逻辑的基本条件。
在创建的TP程序中添加需要的后台运行指令,如下图所示的指令。指令含义:如果后台扫描到信号DO[1]为ON,那么数值寄存器R[1]执行累加1;当DO[1]为OFF程序停止执行。如果扫描到DO[1]为ON时,那么数值寄存器R[1]被重置为0。
后台程序编写完成后,示教器的操作面板中按“MENU”按钮,然后依此选择“6 设置”→“1 后台逻辑”。
在打开的后台逻辑界面中,程序列下使用“[选择]”键选择需要后台运行的TP程序,如EXIO1。然后按“[运行]”键,将后台运行程序激活运行。
示教器界面中依次打开I/O数字输出窗口与数值寄存器窗口,在I/O数字输出窗口中使用“ON”、“OFF”键分别置位与复位数字量输出信号DO[1]、DO[2],可以看到数字寄存器R[1]进行累加1操作、停止累加操作、被重置为0。
返回后台逻辑界面,重新将后台运行程序EXIO1置为停止状态。再次切换到I/O数字输出窗口与数值寄存器窗口,重复上述步骤,可以发现,数值寄存器R[1]不在发生变化。
综上,可以看出,机器人后台运行逻辑功能非常类似于独立运行在机器人外部设备中的PLC,只要机器人处于开机状态,运行状态中的后台逻辑程序就会自动循环运行,来完成一些简单的信号监视与控制之类的逻辑功能。
The End
上一篇:Roboguide软件:基于I/O信号的机器人行走轴添加与配置
,