System and method for implementing logic control in programmable controllers in distributed control systems
AssigneeUnitronics (1989) (R″G) Ltd.
InventorHaim Shani
Life of this patent
Estimating the term…
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.
Claims36
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Dependencies are inferred from the claim text.