PLC Code Synthesis from 3D CAD Models

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional PDM systems cannot synthesize programmable logic controller (PLC) code from static 3D CAD models due to the absence of behavioral information, making it impossible to model dynamic systems and generate control code effectively.

Innovation Solution

The method involves receiving a functional PDM model, identifying elements and concurrencies, creating execution threads, and generating PLC programs based on the model's behavior, timing, and physical properties to produce complete and correct control code that can run in a PLC device.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If static 3D CAD models are used in traditional PDM systems, then the models can be stored and managed, but behavioral information is absent making it impossible to generate control code

Engineering Contradiction:
Improvebehavioral informationVSAvoidPLC code generation
Core Design Contradiction:
Loss of informationVSExtent of automation

Solution Approach 1:

The patent applies preliminary action by embedding behavioral information, timing parameters, and control logic into the CAD model during the design phase. This allows the model to contain all necessary information before PLC code generation is needed, eliminating the information loss that would otherwise occur between design and control implementation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary layer that translates CAD model data into PLC control code. This intermediary process captures behavioral information from the CAD model and converts it into executable control logic, bridging the gap between design and control systems.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Extent of automation

If functional PDM models with behavioral information are created, then PLC code can be generated automatically, but the system complexity increases

Engineering Contradiction:
ImprovePLC code synthesisVSAvoidPDM system
Core Design Contradiction:
Extent of automationVSDevice complexity

Solution Approach 1:

The patent applies universality by creating a PDM system that performs multiple functions: storing geometric data, managing behavioral information, and generating PLC control code. This multi-functional approach consolidates what would otherwise be separate systems into one integrated platform, managing complexity through consolidation rather than multiplication.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent segments the PLC code generation process into distinct steps: identifying machine operations from CAD elements, determining concurrencies between operations, creating execution threads, and generating final control code. This segmentation makes the complex process manageable and systematic.

Inventive Principle:
Principle #1Segmentation

3Reliability

If concurrencies between elements are identified and execution threads are created, then accurate dynamic system modeling is achieved, but the processing time and computational resources increase

Engineering Contradiction:
Improvecontrol code accuracyVSAvoidcode generation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by identifying and organizing concurrencies between elements during the code generation process itself, rather than requiring separate analysis steps. Execution threads are created as part of the generation workflow, reducing overall processing time while maintaining accuracy.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9110653B2Generating PLC code from CAD models
Publication Date: 2015.08.18 SIEMENS INDUSTRY SOFTWARE INC
  • US9110653B2 patent drawing
  • US9110653B2 patent drawing
  • US9110653B2 patent drawing

AI summary

Product data management systems, methods, and mediums. A method includes receiving a functional model, and identifying a plurality of elements of the functional model. Each element corresponds to one or more machine operations. The method includes identifying concurrencies between elements to determine at least one set of elements. The method includes creating an execution thread for each of the sets of elements. The method can include generating a rule-based programmable logic controller (PLC) program corresponding to the functional model, based on the execution threads.