Module Bus Architecture for PAC Aspect Integration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The development and modification of modules in programmable automation controllers (PACs) are inefficient due to programmatic interdependencies between aspects, requiring custom code for integration, adaptation, and modification, which increases time and effort, even when using reusable components.

Innovation Solution

A module development architecture with a generic module bus that allows aspects to be linked and integrated without custom code, using a module bus with associated logic to manage interactions between aspects, enabling easy addition, removal, and modification of aspects without affecting the module's operation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If custom code is written to integrate aspects into modules, then module functionality can be customized, but development time and effort increase

Engineering Contradiction:
Improvemodule customizationVSAvoiddevelopment time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The module is segmented into independent aspects that can be individually selected and combined. Each aspect represents a discrete functional unit that can be integrated into the module through the aspect bus without requiring custom integration code, thus enabling customization while reducing development time.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The aspect bus provides a universal integration mechanism that works with all aspects regardless of their specific function. This standardized interface allows different aspects to be combined in various configurations to create customized modules without writing new integration code for each combination.

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

2Adaptability or versatility

If aspects are added or modified in modules, then functionality can be adapted, but programmatic interdependencies require additional custom code

Engineering Contradiction:
Improveaspect modificationVSAvoidintegration complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The aspect bus acts as an intermediary layer between aspects and the module framework. It manages the programmatic interdependencies automatically through standardized protocols, allowing aspects to be added or modified without requiring custom code to establish interactions between new and existing aspects.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If reusable components are used, then development efficiency improves, but structural idiosyncrasies require adaptation code

Engineering Contradiction:
Improvedevelopment efficiencyVSAvoidadaptation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

All aspects are designed to conform to a homogeneous interface standard defined by the aspect bus protocol. This uniformity eliminates structural idiosyncrasies that would otherwise require adaptation code, allowing reusable components to be integrated directly without modification while maintaining high development efficiency.

Inventive Principle:
Principle #33Homogeneity

Data Source

PatentUS8930880B2Development of functional modules using a module bus
Publication Date: 2015.01.06 ROCKWELL AUTOMATION TECH INC
  • US8930880B2 patent drawing
  • US8930880B2 patent drawing
  • US8930880B2 patent drawing

AI summary

Systems and methods are provided that facilitate development of a module for use in a control application by assembling one or more predefined aspects onto a module bus. The module bus acts as a virtual backplane that allows module functionality in the form of predefined bus-compliant aspects to be selected and added to the bus, thereby yielding a module having a desired set of functions. When an aspect is added to the module bus, the bus integrates the aspects into the module automatically without the need to modify the module's core code to interface the aspects with the module. The module bus also establishes the necessary interdependencies between aspects representing cross-cutting concerns without requiring new code to be writing to link the aspects.