Collaborative Industrial IDE for Parallel Automation Code Commits

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Industrial automation systems face challenges in collaborative development, with existing platforms lacking the ability to support multiple developers working on a project in parallel while maintaining project consistency, and requiring separate configuration tools for disparate system aspects, leading to piecemeal design and significant testing efforts.

Innovation Solution

An integrated development environment (IDE) system that provides a cloud-based platform for collaborative development, allowing multiple developers to work on a common automation system project, with features like brokering between design inputs, notification of modifications, and version control to ensure consistency, using a common design environment and data model, and supporting features across the automation lifecycle.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple developers work on a project in parallel using existing platforms, then development productivity is improved, but project consistency deteriorates due to lack of collaborative control mechanisms

Engineering Contradiction:
Improvedevelopment productivityVSAvoidproject consistency
Core Design Contradiction:
ProductivityVSStability of the object's composition

Solution Approach 1:

The server acts as an intermediary between multiple client devices, receiving design inputs from different developers, brokering conflicts, and managing version control. This mediator coordinate s collaborative development while maintaining project consistency through centralized control of the common data model.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system implements feedback mechanisms where the server sends notifications to clients about project data changes, conflicts, and synchronization status. This feedback loop enables developers to understand the current state of the project and adjust their work accordingly, maintaining consistency while allowing parallel development.

Inventive Principle:
Principle #23Feedback

2Ease of operation

If separate configuration tools are used for disparate system aspects, then ease of operation is improved for specific tasks, but device complexity increases and testing efforts multiply

Engineering Contradiction:
Improveease of operationVSAvoiddevice complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The system merges previously separate configuration tools into a single integrated development environment. The common data model unifies control code, visualization, and device configuration into one cohesive system, allowing developers to work with all system aspects through a single interface rather than multiple disparate tools.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The common data model serves multiple functions simultaneously - it stores control code, visualization data, device configurations, and project metadata in a unified structure. This multi-functional approach eliminates the need for separate configuration tools while maintaining ease of operation through a single integrated interface.

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

3Stability of the object's composition

If a common design environment and data model are implemented, then project consistency is improved, but device complexity increases due to integration requirements

Engineering Contradiction:
Improveproject consistencyVSAvoiddevice complexity
Core Design Contradiction:
Stability of the object's compositionVSDevice complexity

Solution Approach 1:

The system segments the complexity by separating the common data model (stored on the server) from the client interface. The heavy integration work is performed once on the server side, while client devices receive simplified interactions through the standardized interface, reducing the perceived complexity for individual developers.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The server maintains a master copy of the common data model and distributes synchronized copies to client devices. This copying mechanism allows multiple developers to work with local copies while the server ensures consistency, reducing the complexity of real-time synchronization for each client.

Inventive Principle:
Principle #26Copying

4Productivity

If cloud-based platform is used for collaborative development, then productivity is improved through remote access, but loss of information may increase due to network dependencies

Engineering Contradiction:
ImproveproductivityVSAvoidloss of information
Core Design Contradiction:
ProductivityVSLoss of information

Solution Approach 1:

The system implements beforehand cushioning by maintaining local copies of project data on client devices and implementing conflict resolution mechanisms in advance. If network connectivity is lost, developers can continue working with their local copies, and the system is prepared to handle synchronization when connectivity is restored, preventing information loss.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Data Source

PatentEP4030246A1System and method of industrial automation multi-developer control code change commits
Publication Date: 2022.07.20 ROCKWELL AUTOMATION TECH INC
  • EP4030246A1 patent drawingFigure 1
  • EP4030246A1 patent drawingFigure 2
  • EP4030246A1 patent drawingFigure 3

AI summary

An industrial integrated development environment (IDE) supports collaborative tools that allow multiple designers and programmers to remotely submit design input to the same automation system project in parallel while maintaining project consistency. The industrial IDE also permits localized development of system projects, and provides an infrastructure for sharing and selectively synchronizing project edits among multiple locally stored versions of the system project.