Queue blocks for flexible automation engineering programs
AssigneeSiemens Aktiengesellschaft
InventorsArquimedes Martinez Canedo, Lingyun Wang
Life of this patent
Estimating the term…
Abstract
A system for exchanging data in an automation environment is provided. The system includes at least one programmable logic controller (PLC A) containing program instructions executable by the at least one programmable logic controller and a queue block (50) configured to dynamically exchange data between the program instructions of the PLC and a data consumer (PLC C, PLC D).
Claims14
A system for exchanging data in an automation environment, comprising:
- a programmable logic controller containing program instructions, the program instructions executable by the programmable logic controller;
- and
- a queue block configured to dynamically exchange data between the program instructions of the programmable logic controller and a data consumer during runtime,
- wherein the queue block further comprises a messaging queue for communication between the programmable logic controller and the data consumer,
- wherein the messaging queue supports a plurality of communication patterns selected from the group consisting of point-to-point, request-reply, publication-subscription, map-reduce, broadcast, and combinations thereof, and
- wherein a data value is exchanged between the program instructions of the programmable logic controller and the data consumer utilizing the communication pattern publication-subscription of the messaging queue over the internet so that the data value is published by the messaging queue to subscribed clients that are authorized to read the data value from the internet.
A computer implemented method to exchange data between a programmable logic controller and a data consumer in an automation system, comprising:
- providing a queue block for dynamic data exchange between a function block and the data consumer, the function block containing program instructions that are executable by the programmable logic controller;
- allocating the function block to the programmable logic controller via the queue block at runtime;
- exchanging data between the programmable logic controller and the data consumer;
- the method further comprising receiving, via the function block, a data value corresponding to an IoT device in the automation system,
- publishing, via a messaging queue of the queue block, the data value to the data consumer;
- and
- reading the data value over the internet by the data consumer.
The method as claimed in 10, wherein the data consumer is a non-PLC application.
A computer implemented method to exchange data between a programmable logic controller and a data consumer in an automation system, comprising:
- providing a queue block for dynamic data exchange between a function block and the data consumer, the function block containing program instructions that are executable by the programmable logic controller;
- allocating the function block to the programmable logic controller via the queue block at runtime;
- exchanging data between the programmable logic controller and the data consumer;
- distributing, via a messaging queue of the queue block, a computation to a plurality of further function blocks;
- the method further comprising receiving, via the function block, a data value corresponding to an IoT device in the automation system,
- requesting the computation to be executed on the data value via the messaging queue of the queue block from a pool of function blocks comprising the plurality of further function blocks, each function block of the pool allocated to a further programmable logic controller and containing program instructions executable by the further programmable logic controller, and
- replying, by a function block of the pool of function blocks, the executed computation on the data value.
A computer implemented method to exchange data between a programmable logic controller and a data consumer in an automation system, comprising:
- providing a queue block for dynamic data exchange between a function block and the data consumer, the function block containing program instructions that are executable by the programmable logic controller;
- allocating the function block to the programmable logic controller via the queue block at runtime;
- exchanging data between the programmable logic controller and the data consumer;
- distributing, via a messaging queue of the queue block, a computation to a plurality of further function blocks;
- the method further comprising receiving, via the function block, a data value corresponding to an IoT device in the automation system,
- mapping the computation to be executed on the data value via the messaging queue of the queue block to the plurality of further function blocks, each further function block allocated to a respective further programmable logic controller and containing instructions executable by the further programmable logic controller, and
- reducing, via the queue block, the computation to a function block of the plurality of further functions blocks.
Dependencies are inferred from the claim text.