US4888726AExpiredUtility
Distributed processing in a cluster of industrial controls linked by a communications network
Est. expiryApr 22, 2007(expired)· nominal 20-yr term from priority
H04L 69/00Y02P90/02G05B 19/4185G05B 19/052
87
PatentIndex Score
108
Cited by
17
References
11
Claims
Abstract
A cluster of control processors are interconnected by a local area network and exchange data to carry out their control functions. Each controller executes a control program containing both conventional instructions and T-instructions which call for an operation on data maintained by another controller in the cluster. All data required to execute T-instructions is stored in a virtual I/O image table and each controller is responsible for keeping its section of this table up-to-date by periodically broadcasting its data on the local area network.
Claims
exact text as granted — not AI-modifiedWe claim:
1. A controller for use in a cluster with other similar controllers that are interconnected with a communications network that enables messages containing data to be broadcast between the controllers, which comprises: memory means for storing a virtual I/O image table, said table including a section of data for each controller in the cluster; first broadcast means coupled to the memory means and the communications network for periodically sending a first message on the communications network which broadcasts the controller's own section of data in the virtual I/O image table to the other controllers in the cluster; first receiver means coupled to the memory means for receiving first messages broadcast on the communications network by other controllers in the cluster and storing the section of data in the corresponding section of the virtual I/O image table in said memory means; control program storage means for storing a user control program containing instructions which operate an I/O data associated with this controller and T-instructions which operate on I/O data associated with other controllers in the cluster; prescan means coupled to the control program storage means for identifying T-instructions contained therein; virtual I/O request message means coupled to the prescan means and the communications network for broadcasting a virtual I/O request message on the communications network to the other controller associated with an identified T-instruction, the virtual I/O request message including data which identifies the I/O data to be operated upon by the identified T-instruction; means coupled to the virtual I/O request message means for mapping an operand address in each identified T-instruction with a location in the stored virtual I/O image table; and control program execution means coupled to the control program storage means and the memory means, the control program execution means executing the instructions and the T-instructions in the user control program, wherein the execution of the T-instructions is performed by operating on data in the stored virtual I/O image table.
2. The controller as recited in claim 1 in which the communications network is a token passing network in which each controller periodically receives a token pass message from other controllers and broadcasts a token pass message to the other controllers and in which said first message containing the controller's own section of data in the virtual I/O image table is broadcast with said token pass message.
3. The controller as recited in claim 1 which includes means for receiving I/O request acknowledge messages from other controllers to which virtual I/O request messages are broadcast; and in which the means for mapping the operand address in each T-instruction includes: means responsive to an operation code in the T-instruction which indicates transfer of data to the other controller to assign a location in this controller's section of the virtual I/O image table, and to include this assigned location in the virtual I/O request message; and means responsive to an operation code in the T-instruction which indicates transfer of data from the other controller to include the operand address in the T-instructions in the virtual I/O request message which is broadcast to the other controller and to store a virtual I/O address contained in the responsive I/O request acknowledge message which indicates the location in the other controller's section of the virtual I/O image table in which the I/O data is stored.
4. The controller as recited in claim 3 which includes means responsive to virtual I/O request messages broadcast by another controller in the cluster to create and store an XT instruction, and in which each such stored XT instruction is executed by said control program execution means to transfer I/O data between the virtual I/O image table in said memory means and a data table which stores data indicative of the state of the I/O devices connected to the controller.
5. The controller as recited in claim 4 in which said means responsive to virtual I/O request messages also includes means for broadcasting an I/O request acknowledge message to the other controllers.
6. The controller as recited in claim 5 in which the I/O request acknowledge message includes virtual I/O address data which identifies a location in the virtual I/O image table.
7. A controller for use in a cluster with other similar controllers that are interconnected with a communications network that enables messages containing data to be broadcast between the controllers, which comprises: a memory for storing a user control program which is comprised of instructions that operate on data associated with the controller and T-instructions, each of which T-instructions includes an operand address that identifies specific data associated with another controller in the cluster; data table storage means for storing data associated with the operation of the controller; virtual I/O image table storage means for storing data associated with other controllers in the cluster; control program execution means coupled to said memory, said data table storage means and said virtual I/O image table storage means for executing the instructions and the T-instructions in the stored user control program, said control program execution means including: (a) means responsive to an operation code in said instructions for carrying out an indicated operation on data in said data table storage means; and (b) means responsive to an operation code in said T-instructions for carrying out an indicated operation on specific data in said virtual I/O image table storage means; prescan means coupled to the memory and the communications network for examining the T-instructions in the stored user control program prior to their execution by the control program execution means and producing a virtual I/O address for each T-instruction which indicates the specific data in said virtual I/O image table storage means which corresponds with the specific data associated with another controller that is identified by the T-instructions' operand address; and update means coupled to the virtual I/O image table storage means and the communications network for periodically updating data in said virtual I/O image table storage means with data received from other controllers in the cluster.
8. The controller as recited in claim 7 which includes I/O scanner means which couples to the data table storage means for periodically updating data in said data table with data associated with the equipment which the controller operates.
9. The controller as recited in claim 7 in which the prescan means includes a means for sending a virtual I/O request message to the other controller identified by the operand address in a T-instruction, the virtual I/O request message including the operand address in the T-instruction.
10. The controller as recited in claim 9 which includes means coupled to the communications network for receiving I/O request message from other controllers in the cluster, and said update means includes means for periodically sending on the communications network the specific data identified by the operand address in a received I/O request message.
11. In a cluster of controllers which are connected together by a communication network and in which each controller is operable to execute its own control program to examine the condition of input devices connected to the controllers and to operate output devices connected to the controllers, the improvement comprising: means coupled to each controller for periodically sending virtual I/O data on the communications network to other controllers, said virtual I/O data including the state of input devices connected to the sending controller and the state of output devices connected to other controllers; and prescan means coupled to the communications network and being operable to examine the control program executed by each controller and to send messages on the communications network which indicates the virtual I/O data that each controller is to periodically send.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.