循环处理

创建的机器人控制程序由多任务构成并存在无限循环的多个任务时,系统将变得不稳定,与Epson RC+的连接可能会断开。

在控制器进行无限循环任务的检测。如果检测到可能会对系统有影响,将发生以下错误,并停止程序。
发生错误时,请修改程序,使其不会成为无限循环。
错误代码:2556
错误信息:检测到过多循环。请减少在循环的任务或重新设置Wait。

请尽量不要进行无限循环以及与无限循环同样的处理。

进行需要循环的计算、I/O等待时,在循环处理内执行Wait命令等避免占用CPU。
Wait命令、机器人动作命令、Print命令、WaitNet命令等,带有Wait的命令在循环内使用时没有问题。

要点


无限循环在以下情况下发生。
在循环内使用的命令仅通过计算命令、赋值命令、IO检查命令等不发生Wait的命令创建。

例1:在输入端口“0”变为ON时,使输出端口“2”为ON的情况
可能会发生问题的程序示例

               Do  
                  If Sw(0) = On Then  
                      On(2)  
                      Exit Do  
                  EndIf  
               Loop  

修改示例

               Wait Sw(0) = On  
               On(2)  

例2:在循环结构进行大量计算的情况
可能会发生问题的程序示例

               For i = 0 To 10000  
                   For j = 0 To 10000  
                       a = a + 1  
                   Next  
               Next  

修改示例

               For i = 0 To 10000  
                   For j = 0 To 10000  
                       a = a + 1  
                   Next  
                   Wait 0.01     ' 执行Wait避免占用CPU  
               Next