IP Library › Granted Patent US 12,248,306
Granted Patent B2
US 12,248,306 · App. 17/635,154 · Granted Mar 11, 2025

Abstraction of PLC communication

Inventors: Manuel Schlemelch (Erlangen, DE); Florian Ersch (Plainsboro, NJ); Hartmut Ludwig (West Windsor, NJ)
G05B19/4185G05B19/052
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 12,248,306
App. No.
17/635,154
Granted
Mar 11, 2025
Kind
B2
Abstract

Current approaches to integrating industrial ecosystems, for instance integrating automation functions across different vendors of programmable logic controllers (PLCs), lack efficiencies and capabilities. In an example aspect, a consumer, for instance a PLC, can poll PLCs for an automation function. In response to the polling, a first PLC that includes a memory defining a plurality of dedicated memory areas, can retrieve an interface from a registry memory area that stores information concerning available interfaces in a provider memory area of the plurality of dedicated memory areas, such that the consumer discovers the interface. The consumer can bind to the interface so as to establish a connection between the consumer and the first PLC at runtime of the automation function. In some cases, the plurality of dedicated memory areas further defines a consumer memory area. The first PLC can track available interfaces associated with the first PLC in the registry memory area of the plurality of dedicated memory areas.

Claims (40)

1. A method performed in an automation system that comprises a plurality of ecosystems that define respective physical assets and a plurality of programmable logic controllers (PLCs) configured to control the physical assets, the method comprising:

polling, by a consumer from one of the plurality of ecosystems, the plurality of PLCs for an automation function;

in response to the polling, retrieving, by a first PLC of the plurality of PLCs that includes a memory defining a plurality of dedicated memory areas, an interface from a registry memory area that stores information concerning available interfaces in a provider memory area of the plurality of dedicated memory areas, such that the consumer discovers the interface;

binding to the interface, by the consumer, so as to establish a connection between the consumer and the first PLC at runtime of the automation function; and

after binding, sending a function call to the first PLC to execute the automation function.

2. The method as recited in claim 1 , wherein the plurality of dedicated memory areas further defines a consumer memory area and the registry memory area, the method further comprising:

tracking, by the first PLC, available interfaces associated with the first PLC in the registry memory area of the plurality of dedicated memory areas.

3. The method as recited in claim 2 , the method further comprising:

storing interfaces associated with the PLC operating as a provider in the provider memory area; and

storing interfaces associated with the PLC operating as a consumer in the consumer memory area.

4. The method as recited in claim 1 , the method further comprising:

after binding, the consumer sending data to the first PLC via the interface.

5. The method as recited in claim 1 , the method further comprising:

after binding, the consumer receiving data from the first PLC via the interface.

6. The method as recited in claim 1 , the method further comprising:

in response to the function call, the first PLC changing an operation status flag within the provider memory area so at reserve the automation function for the consumer.

7. The method as recited in claim 6 , the method further comprising,

in further response to the function call, transferring operation parameters associated with the automation function to the consumer via the interface.

8. The method as recited in claim 6 , the method further comprising:

after transferring the operation parameters, changing the operations status flag so as to indicate that the operation parameter transfer is complete; and

calling the automation function so as to execute the automation function by the first PLC.

9. The method as recited in claim 8 , the method further comprising:

after the automation function is executed, transferring return parameters associated with the automation function from the consumer to the first PLC, via the interface.

10. The method as recited in claim 1 , wherein the plurality of PLCs include a second PLC that defines the consumer.

11. A programmable logic controller (PLC), the PLC comprising:

a processor; and

a memory defining a plurality of dedicated memory areas, the memory storing instructions that, when executed by the processor, configure the PLC to:

in response to a poll from a consumer, retrieve an interface from a registry memory area that stores information concerning available interfaces in a provider memory area of the plurality of dedicated memory areas, such that the consumer discovers the interface;

establish a connection, using the interface, between the consumer and the PLC at runtime of the automation function, so as to define a binding of the consumer to the interface; and

after the binding, receive a function call, from the consumer, to execute the automation function.

12. The PLC of claim 11 , wherein the plurality of dedicated memory areas further defines a consumer memory area and the registry memory area, the memory further storing instructions that, when executed by the processor, further configure the PLC to:

track available interfaces associated with the PLC in the registry memory area of the plurality of dedicated memory areas.

13. The PLC of claim 12 , the memory further storing instructions that, when executed by the processor, further configure the PLC to:

store interfaces associated with the PLC operating as a provider in the provider memory area; and

store interfaces associated with the PLC operating as a consumer in the consumer memory area.

14. The PLC of claim 11 , the memory further storing instructions that, when executed by the processor, further configure the PLC to:

after binding, receive data from the consumer via the interface; and

after binding, send data to the consumer via the interface.

15. The PLC of claim 11 , the memory further storing instructions that, when executed by the processor, further configure the PLC to:

in response to the function call, change an operation status flag within the provider memory area so at reserve the automation function for the consumer.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 14, 2022
From: SCHLEMELCH, MANUEL; ERSCH, FLORIAN; LUDWIG, HARTMUT
To: SIEMENS CORPORATION
Reel/Frame 059000/0855 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 14, 2022
From: SIEMENS CORPORATION
To: SIEMENS AKTIENGESELLSCHAFT
Reel/Frame 059001/0221 →
Continuity (2)
Provisional Application 62893425 · Aug 29, 2019
Related Publication 20220291668A1 · Sep 15, 2022
References Cited (28)
US 7676281B2 · Hood · 2010 [cited by examiner]
US 7962213B2 · Arnholt · 2011 [cited by examiner]
US 8799800B2 · Hood · 2014 [cited by examiner]
US 9489832B2 · Nair · 2016 [cited by examiner]
US 9568908B2 · Lawson · 2017 [cited by examiner]
US 10609185B2 · Bliss · 2020 [cited by examiner]
US 20060259106A1 · Arnholt · 2006 [cited by examiner]
US 20060259160A1 · Hood · 2006 [cited by examiner]
US 20060259500A1 · Hood · 2006 [cited by examiner]
US 20060259634A1 · Hood · 2006 [cited by examiner]
US 20060288301A1 · Hood · 2006 [cited by examiner]
US 20080127065A1 · Bryant · 2008 [cited by examiner]
US 20120029656A1 · Colombo · 2012 [cited by examiner]
US 20130212160A1 · Lawson · 2013 [cited by examiner]
US 20140223342A1 · Hood · 2014 [cited by examiner]
US 20150287318A1 · Nair · 2015 [cited by examiner]
US 20170126841A1 · Bliss · 2017 [cited by examiner]
US 20170337226A1 · Bliss · 2017 [cited by examiner]
US 20190182106A1 · Gibson · 2019 [cited by examiner]
US 20220292136A1 · Hubauer · 2022 [cited by examiner]
US 20220342374A1 · Ludwig · 2022 [cited by examiner]
US 20230350358A1 · Ludwig · 2023 [cited by examiner]
CN 101765817A · 2010 [cited by applicant]
CN 105589923A · 2016 [cited by applicant]
EP 1880253A2 · 2008 [cited by applicant]
WO 2010043629A1 · 2010 [cited by applicant]
WO WO2019054929A1 · 2019 [cited by examiner]
International Search Report corresponding to PCT application No. PCT/US2020/048353; 8 pages. [cited by applicant]