System and method for implementing logic control in programmable controllers in distributed control systems
First Claim
Patent Images
1. A method for implementing a control program in a network of programmable logic controllers having input/output connections, comprising the steps of:
- a. translating the control program from a source code into a machine code having a plurality of statements;
b. defining the configuration of the programmable logic controllers and the input/output connections in the network;
c. automatically assigning each statement of the machine code to at least one programmable logic controller based on the defined network configuration;
d. transmitting each statement over a data transmission medium to the programmable logic controller assigned to the statement;
e. for each constant and variable set by the statements of the machine code, determining the number of statements which reference the previously set constant or variable; and
f. storing the number of referencing statements and a pointer to each referencing statement.
1 Assignment
0 Petitions
Accused Products
Abstract
The present invention provides a system and method for implementing logic control in programmable controllers in distributed control systems using a wired or wireless network. A software application is used to define the configuration of the network. Based on the network configuration, a compiler engine automatically assigns each statement of the control program to at least one programmable logic controller in the network. Each statement is then transmitted over a data transmission medium to the programmable logic controller assigned to the statement.
275 Citations
36 Claims
-
1. A method for implementing a control program in a network of programmable logic controllers having input/output connections, comprising the steps of:
-
a. translating the control program from a source code into a machine code having a plurality of statements; b. defining the configuration of the programmable logic controllers and the input/output connections in the network; c. automatically assigning each statement of the machine code to at least one programmable logic controller based on the defined network configuration; d. transmitting each statement over a data transmission medium to the programmable logic controller assigned to the statement; e. for each constant and variable set by the statements of the machine code, determining the number of statements which reference the previously set constant or variable; and f. storing the number of referencing statements and a pointer to each referencing statement. - View Dependent Claims (2)
-
-
3. A method for implementing a control program in a network of programmable logic controllers having input/output connections, comprising the steps of:
-
a. translating the control program from a source code into a machine code having a plurality of statements; b. defining the configuration of the programmable logic controllers and the input/output connections in the network; c. automatically assigning each statement of the machine code to at least one programmable logic controller based on the defined network configuration; d. transmitting each statement over a data transmission medium to the programmable logic controller assigned to the statement; e. identifying at least one external input/output connection referenced by the statements assigned to a first programmable logic controller; f. identifying a second programmable logic controller having the at least one referenced external input/output connection; g. adding at least one gluing statement to the control program for notifying the first programmable logic controller of a change at the referenced external input/output connection; and h. assigning the at least one gluing statement to the second programmable logic controller. - View Dependent Claims (4, 5)
-
-
6. A method for implementing a control program in a network of programmable logic controllers having input/output connections, comprising the steps of:
-
a. translating the control program from a source code into a machine code having a plurality of statements; b. defining the configuration of the programmable logic controllers and the input/output connections in the network; c. automatically assigning each statement of the machine code to at least one programmable logic controller based on the defined network configuration; d. transmitting each statement over a data transmission medium to the programmable logic controller assigned to the statement; e. identifying at least one external input/output connection referenced by the statements assigned to a first programmable logic controller; f. identifying a second programmable logic controller having the at least one referenced external input/output connection; g. adding at least one gluing statement to the control program for instructing the second programmable logic controller to make a change at the referenced external input/output connection; and h. assigning the at least one gluing statement to the first programmable logic controller. - View Dependent Claims (7, 8)
-
-
9. A method for implementing a control program in a network of programmable logic controllers having input/output connections, comprising the steps of:
-
a. translating the control program from a source code into a machine code having a plurality of statements; b. defining the configuration of the programmable logic controllers and the input/output connections in the network; c. automatically assigning each statement of the machine code to at least one programmable logic controller based on the defined network configuration; and d. transmitting each statement over a data transmission medium to the programmable logic controller assigned to the statement; wherein automatically assigning each statement of the machine code to a specific programmable logic controller based on the defined network configuration includes; a. for each statement, determining the value of more than one binding criteria for each programmable logic controller; b. for each statement, computing a score for each programmable logic controller, wherein the score is a function of the value of each of the more than one binding criteria and a weight of each of the more than one binding criteria; and c. assigning each statement to at least one programmable logic controller based on the computed scores. - View Dependent Claims (10)
-
-
11. A method for implementing a control program in a network of programmable logic controllers having input/output connections, comprising the steps of:
-
a. translating the control program from a source code into a machine code having a plurality of statements; b. defining the configuration of the programmable logic controllers and the input/output connections in the network; c. automatically assigning each statement of the machine code to at least one programmable logic controller based on the defined network configuration; d. transmitting each statement over a data transmission medium to the programmable logic controller assigned to the statement; e. storing the statements in a mirror memory area of each of the programmable logic controllers; f. instructing each of the programmable logic controllers to stop processing a plurality of old statements stored in a memory area; g. instructing each of the programmable logic controllers to swap the plurality of old statements stored in the memory area for the statements stored in the mirror memory area; and h. instructing each of the programmable logic controllers to process the statements.
-
-
12. A method for implementing a control program in a network of programmable logic controllers having input/output connections, comprising the steps of:
-
a. translating the control program from a source code into a machine code having a plurality of statements; b. defining the configuration of the programmable logic controllers and the input/output connections in the network; c. automatically assigning each statement of the machine code to at least one programmable logic controller based on the defined network configuration; d. transmitting each statement over a data transmission medium to the programmable logic controller assigned to the statement, wherein the data transmission medium includes electromagnetic waves, the network has a mesh topology, and a radio frequency module and an antenna are embedded in each of the programmable logic controllers; e. relaying a message from an originating programmable logic controller to a destination programmable logic controller using at least one intermediate programmable logic controller; and f. tracking in a cost table, in each of the originating programmable logic controllers, the number of intermediate programmable logic controllers between the originating programmable logic controller and the destination programmable logic controller.
-
-
13. A method for implementing a control program in a network of programmable logic controllers having input/output connections, comprising the steps of:
-
a. translating the control program from a source code into a machine code having a plurality of statements; b. defining the configuration of the programmable logic controllers and the input/output connections in the network; c. automatically assigning each statement of the machine code to at least one programmable logic controller based on the defined network configuration; d. transmitting each statement over a data transmission medium to the programmable logic controller assigned to the statement, wherein the data transmission medium includes electromagnetic waves, the network has a mesh topology, and a radio frequency module and an antenna are embedded in each of the programmable logic controllers; e. relaying a message from an originating programmable logic controller to a destination programmable logic controller using at least one intermediate programmable logic controller; f. tracking in a cost table, in each of the originating programmable logic controllers, the number of intermediate programmable logic controllers between the originating progran-imable logic controller and the destination programmable logic controller; g. relaying a flood message from the originating programmable logic controller to the destination programmable logic controller using at least one intermediate programmable logic controller; h. determining the least number of intermediate programmable logic controllers required to relay the flood message; i. relaying a message comprising the least number of intermediate programmable logic controllers required to relay the flood message, from the destination programmable logic controller to the originating programmable logic controller; and j. updating the cost table of the originating programmable logic controller.
-
-
14. A method for implementing a control program in a network of programmable logic controllers having input/output connections, comprising the steps of:
-
a. translating the control program from a source code into a machine code having a plurality of statements; b. defining the configuration of the programmable logic controllers and the input/output connections in the network; c. automatically assigning each statement of the machine code to at least one programmable logic controller based on the defined network configuration; d. transmitting each statement over a data transmission medium to the programmable logic controller assigned to the statement; e. establishing a connection between a first web access control client in a first control element and a wide area network; f. requesting a handle for a second web access control client in a second control element from a web access control server in the wide area network; g. transmitting the handle from the web access control server to the first web access control client; and h. transmitting a message from the first control element to the second control element over the data transmission medium wherein the message is not relayed through the web access control server. - View Dependent Claims (15, 16, 17, 18)
-
-
19. A system for implementing a control program in a network of programmable logic controllers having input/output connections comprising:
-
a. a software application for defining the configuration of the programmable logic controllers and the input/output connections in the network; b. a compiler engine for translating the control program from a source code into a machine code having a plurality of statements and for automatically assigning each statement of the machine code to at least one programmable logic controller based on the defined network configuration; and c. a host computer for transmitting each statement over a data transmission medium to the programmable logic controller assigned to the statement; wherein the compiler engine; a. for each constant and variable set by the statements of the machine code, determines the number of statements which reference the previously set constant or variable; and b. stores the number of referencing statements and a pointer to each referencing statement. - View Dependent Claims (20)
-
-
21. A system for implementing a control program in a network of programmable logic controllers having input/output connections comprising:
-
a. a software application for defining the configuration of the programmable logic controllers and the input/output connections in the network; b. a compiler engine for translating the control program from a source code into a machine code having a plurality of statements and for automatically assigning each statement of the machine code to at least one programmable logic controller based on the defined network configuration; and c. a host computer for transmitting each statement over a data transmission medium to the programmable logic controller assigned to the statement; wherein the compiler engine; a. identifies at least one external input/output connection referenced by the statements assigned to a first programmable logic controller; b. identifies a second programmable logic controller having the at least one referenced external input/output connection; c. adds at least one gluing statement to the control program for notifying the first programmable logic controller of a change at the referenced external input/output connection; and d. assigns the at least one gluing statement to the second programmable logic controller. - View Dependent Claims (22, 23)
-
-
24. A system for implementing a control program in a network of programmable logic controllers having input/output connections comprising:
-
a. a software application for defining the configuration of the programmable logic controllers and the input/output connections in the network; b. a compiler engine for translating the control program from a source code into a machine code having a plurality of statements and for automatically assigning each statement of the machine code to at least one programmable logic controller based on the defined network configuration; and c. a host computer for transmitting each statement over a data transmission medium to the programmable logic controller assigned to the statement; wherein the compiler engine; a. identifies at least one external input/output connection referenced by the statements assigned to a first programmable logic controller; b. identifies a second programmable logic controller having the at least one referenced external input/output connection; c. adds at least one gluing statement to the control program for instructing the second programmable logic controller to make a change at the referenced external input/output connection; and d. assigns the at least one gluing statement to the first programmable logic controller. - View Dependent Claims (25, 26)
-
-
27. A system for implementing a control program in a network of programmable logic controllers having input/output connections comprising:
-
a. a software application for defining the configuration of the programmable logic controllers and the input/output connections in the network; b. a compiler engine for translating the control program from a source code into a machine code having a plurality of statements and for automatically assigning each statement of the machine code to at least one programmable logic controller based on the defined network configuration; and c. a host computer for transmitting each statement over a data transmission medium to the programmable logic controller assigned to the statement; wherein the compiler engine; a. for each statement, determines the value of more than one binding criteria for each programmable logic controller; b. for each statement, computes a score for each programmable logic controller, wherein the score is a function of the value of each of the more than one binding criteria and a weight of each of the more than one binding criteria; and c. assigns each statement to at least one programmable logic controller based on the computed scores. - View Dependent Claims (28)
-
-
29. A system for implementing a control program in a network of programmable logic controllers having input/output connections comprising:
-
a. a software application for defining the configuration of the programmable logic controllers and the input/output connections in the network; b. a compiler engine for translating the control program from a source code into a machine code having a plurality of statements and for automatically assigning each statement of the machine code to at least one programmable logic controller based on the defined network configuration; and c. a host computer for transmitting each statement over a data transmission medium to the programmable logic controller assigned to the statement; wherein; a. each of the programmable logic controllers stores the statements in a mirror memory area; and b. the host computer is configured to instruct each of the programmable logic controllers to stop processing a plurality of old statements stored in a memory area, to swap the plurality of old statements stored in the memory area for the statements stored in the mirror memory area, and to process the statements.
-
-
30. A system for implementing a control program in a network of programmable logic controllers having input/output connections comprising:
-
a. a software application for defining the configuration of the programmable logic controllers and the input/output connections in the network; b. a compiler engine for translating the control program from a source code into a machine code having a plurality of statements and for automatically assigning each statement of the machine code to at least one programmable logic controller based on the defined network configuration; c. a host computer for transmitting each statement over a data transmission medium to the programmable logic controller assigned to the statement; and d. at least one intermediate programmable logic controller for relaying a message from an originating programmable logic controller to a destination programmable logic controller; wherein the data transmission medium includes electromagnetic waves; wherein a radio frequency module and an antenna are embedded in each of the programmable logic controllers; wherein the network has a mesh topology; and wherein each of the originating programmable logic controllers is configured to track in a cost table the number of intermediate programmable logic controllers between the originating programmable logic controller and the destination programmable logic controller.
-
-
31. A system for implementing a control program in a network of programmable logic controllers having input/output connections comprising:
-
a. a software application for defining the configuration of the programmable logic controllers and the input/output connections in the network; b. a compiler engine for translating the control program from a source code into a machine code having a plurality of statements and for automatically assigning each statement of the machine code to at least one programmable logic controller based on the defined network configuration; and c. a host computer for transmitting each statement over a data transmission medium to the programmable logic controller assigned to the statement; wherein; a. the data transmission medium includes electromagnetic waves; b. a radio frequency module and an antenna are embedded in each of the programmable logic controllers; c. the network has a mesh topology; d. each of the originating programmable logic controllers is configured to track in a cost table the number of intermediate programmable logic controllers between the originating programmable logic controller and the destination programmable logic controller; e. the at least one intermediate programmable logic controller is configured to relay a flood message from the originating programmable logic controller to the destination programmable logic controller; f. the destination programmable logic controller is configured to determine the least number of intermediate programmable logic controllers required to relay the flood message and is configured to transmit a message to the originating programmable logic controller comprising the least number of intermediate programmable logic controllers required to relay the flood message; and g. the originating programmable logic controller is configured to update the cost table.
-
-
32. A system for implementing a control program in a network of programmable logic controllers having input/output connections comprising:
-
a. a software application for defining the configuration of the programmable logic controllers and the input/output connections in the network; b. a compiler engine for translating the control program from a source code into a machine code having a plurality of statements and for automatically assigning each statement of the machine code to at least one programmable logic controller based on the defined network configuration; and c. a host computer for transmitting each statement over a data transmission medium to the programmable logic controller assigned to the statement; and d. a first web access control client in a first control element for; i. establishing a connection with a wide area network; ii. requesting a handle for a second web access control client in a second control element from a web access control server in the wide area network; iii. receiving the handle from the web access control server; and iv. transmitting a message to the second control element over the transmission medium wherein the message is not relayed through the web access control server. - View Dependent Claims (33, 34, 35, 36)
-
Specification