IP Library Granted Patent US 7,269,464
Granted Patent B2
US 7,269,464 · App. 11/099,968 · Granted Sep 11, 2007

System, method and computer program product for providing an interface for instantiating additional programmable logic controller functionality

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,269,464
App. No.
11/099,968
Granted
Sep 11, 2007
Kind
B2
Abstract

Embodiments of a system, method and computer program product are described for instantiating additional programmable logic controller (PLC) functionality. In accordance with one embodiment, an extension for a PLC may be identified and loaded into a memory space of the PLC. The loaded extension has an initialization interface that may be exposed to the PLC. When the initialization interface is invoked, functionality of the PLC may be passed to the extension as at least one parameter of the invoked initialization interface. The extension can then be initialized utilizing the passed functionality.

Claims (31)

1. A method of initializing an extension for a programmable logic controller (PLC), comprising:

identifying the extension for the PLC;

loading the identified extension into a memory space of the PLC, the extension having an initialization interface exposed to the PLC, the extension comprising an implementation dynamic link library (DLL) and adapted to supply a proxy DLL, the implementation DLL loaded into a PLC framework by a real-time process, the proxy DLL loaded into the PLC by a non-real time process, the proxy DLL adapted to supply an authorization interface for the extension;

invoking the initialization interface;

passing functionality of the PLC as a parameter of the invoked initialization interface to the extension; and

initializing the extension utilizing the passed functionality.

2. The method of claim 1 , wherein the PLC comprises a Soft PLC.

3. The method of claim 1 , wherein the extension comprises a plug-in.

4. The method of claim 1 , wherein a registry is searched to identify the extension.

5. The method of claim 4 , wherein the registry is searched at start up of the PLC.

6. The method of claim 1 , wherein the functionality of PLC comprises public functionality of the PLC.

7. The method of claim 1 , wherein the functionality of PLC comprises functionality associated with a virtual central processing unit (CPU) of the PLC.

8. The method of claim 7 , wherein the invoking of the initialization interface occurs before the virtual CPU transitions to a power-on state.

9. The method of claim 1 , wherein the passed parameter exposes a registration of the PLC to the extension.

10. The method of claim 1 , further comprising: invoking a finalization interface of the extension;

passing functionality of the PLC to the extension as a parameter of the invoked finalization interface; and

finalizing of the extension utilizing the passed parameter of the finalization interface.

11. The method of claim 10 , wherein the finalizing of the extension includes de-registering the extension.

12. The method of claim 10 , wherein the finalizing of the extension includes releasing a resource of the PLC.

13. The method of claim 10 , wherein the finalizing occurs before destruction of a virtual CPU of the PLC.

14. A computer program product for initializing an extension for a programmable logic controller (PLC), comprising:

computer code for identifying the extension for the PLC;

computer code for loading the identified extension into a memory space of the PLC, the extension having an initialization interface exposed to the PLC, extension comprising an implementation dynamic link library (DLL) and adapted to supply a proxy DLL, the implementation DLL loaded into a PLC framework by a real-time process, proxy DLL loaded into the PLC by a non-real time process, the proxy DLL adapted to supply an authorization interface for the extension;

computer code for invoking the initialization interface; computer code for passing functionality of the PLC as a parameter of the invoked initialization interface to the extension; and

computer code for initializing the extension utilizing the passed functionality.

15. A system for initializing an extension for a programmable logic controller (PLC), comprising:

the extension having an initialization interface;

the PLC having a framework adapted for identifying the extension and loading the extension into a memory space of the PLC, the extension comprising, an implementation dynamic link library (DLL) and adapted to supply a proxy DLL, the implementation DLL loaded into the framework by a real-time process, the proxy DLL loaded into the PLC by a non-real time process, the proxy DLL adapted to supply an authorization interface for the extension; and

the framework being further adapted for invoking the initialization interface and passing functionality of the PLC to the extension as a parameter to the invoked initialization interface, wherein the extension is initialized utilizing the passed functionality.

16. The system of claim 15 , wherein the PLC comprises a Soft PLC.

17. The system of claim 15 , wherein extension has a finalization interface, wherein the framework is adapted for invoking the finalization interface, and passing at least one function of the PLC to the extension as a parameter to the invoked finalization interface for finalizing the extension.

Assignments (4)
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE'S ADDRESS PREVIOUSLY RECORDED AT REEL: 051129 FRAME: 0013. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 18, 2020
From: SIEMENS INDUSTRY, INC.
To: SIEMENS AKTIENGESELLSCHAFT
Reel/Frame 052185/0055 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 27, 2019
From: SIEMENS INDUSTRY, INC.
To: SIEMENS AKTIENGESELLSCHAFT
Reel/Frame 051129/0013 →
MERGER Recorded May 18, 2010
From: SIEMENS ENERGY AND AUTOMATION AND SIEMENS BUILDING TECHNOLOGIES, INC.
To: SIEMENS INDUSTRY, INC.
Reel/Frame 024411/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2005
From: PHILLIPS, SCOTT; CHRISTIANSEN, RICK
To: SIEMENS ENERGY & AUTOMATION, INC.
Reel/Frame 016685/0703 →