Ladder Program Infinite Loop Escape Unit

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Ladder programs often get stuck in infinite loops, making it difficult to detect and escape such loops during execution, which can disrupt normal machine control.

Innovation Solution

A controller with an infinite loop escape unit that forcefully sets the execution condition for a jump instruction to false, using an infinite loop occurrence condition information table to record and reference the state of execution condition signals, allowing the loop to be escaped by overwriting the signal state of a closed contact within the jump instruction.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a jump instruction is used to repeatedly execute a specific process in a ladder program, then the process can be looped until an execution condition becomes false, but the program may get stuck in an infinite loop if the execution condition never becomes false

Engineering Contradiction:
Improveloop execution capabilityVSAvoidinfinite loop risk
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary detection of infinite loops by monitoring execution conditions before the loop completes its natural termination. The detection unit identifies when an execution condition signal remains continuously true for an abnormal duration, allowing the system to intervene before the infinite loop causes serious disruption to machine control operations

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

An intermediary escape mechanism is introduced between the jump instruction and the loop execution flow. When an infinite loop is detected, the escape unit acts as a mediator to forcibly terminate the loop by setting the execution condition signal to false, providing a controlled exit path that prevents the harmful infinite loop while maintaining the beneficial loop structure

Inventive Principle:
Principle #24Intermediary (Mediator)

2Difficulty of detecting and measuring

If the execution condition signal is monitored to detect infinite loops, then the location of the infinite loop can be identified, but the program cannot escape the loop without additional escape mechanisms

Engineering Contradiction:
Improveinfinite loop detection capabilityVSAvoidloop escape capability
Core Design Contradiction:
Difficulty of detecting and measuringVSEase of operation

Solution Approach 1:

A feedback mechanism is implemented where the detection unit continuously monitors execution condition signals and provides information about loop status to the escape unit. When the detection unit identifies an infinite loop condition (execution condition signal remaining continuously true), it triggers the escape unit to respond by forcibly setting the execution condition to false, creating a closed-loop control system that automatically detects and resolves infinite loops

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system performs self-service by automatically detecting and escaping from infinite loops without requiring external intervention. The detection unit monitors the execution condition signals, identifies infinite loop conditions, and the escape unit autonomously terminates the loop by overwriting the execution condition signal, allowing the system to self-correct programming errors

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10664274B2Controller and editor
Publication Date: 2020.05.26 FANUC LTD
  • US10664274B2 patent drawing
  • US10664274B2 patent drawing
  • US10664274B2 patent drawing

AI summary

A controller and an editor that enable a ladder program to escape an infinite loop are provided.A controller that can detect a loop process being stuck in an infinite loop during execution of a ladder program includes an infinite loop escape unit for escaping the infinite loop by forcefully making an execution condition for a jump instruction false when the infinite loop occurs, the jump instruction being included in the loop process.