Abstract:
An industrial controller provides a primary controller and a redundant secondary controller and allows switchover between the controllers in the event of a failure in the primary controller. The process of qualification of the secondary controller in which its programming is made to match the primary controller may be inhibited to permit the secondary controller to maintain a clean version of an upgraded program executing on the primary controller. The clean program may be reverted to in the event an upgrading of the program in the primary controller is unsuccessful. Switchover is permitted even though the qualification of the secondary controller is not enabled.
Abstract:
An industrial control system employs a primary and secondary controller each having a processor and at least one I/O data table. Updating of the secondary processor's I/O data table is performed prior to the same data being transmitted to the controlled process. This eliminates possible retrogressive control at the time of switch-over of control from the primary industrial controller to the secondary industrial controller. Additional I/O data tables may be provided in each of the primary and secondary industrial controllers. In the case of the secondary industrial controller, this duplicate I/O data table temporarily holds data until the transmission is complete preventing the partial update of the working I/O data table of the secondary industrial controller. The duplicate I/O data table in the primary industrial controller allows simultaneous outputting of the I/O data transmitted to the controlled process without corruption while the user program of the primary industrial controller resumes execution.
Abstract:
A programmable controller for operating a machine to carry out programmed functions includes a plurality of program processors. Each of the program processors is operable to execute simultaneously a different user control program that directs the operation of the machine to perform specific functions. Each of the program processors includes a memory for storing the user control programs and function chart data. The function chart data comprises a series of descriptor files each of which contain an identification of a user control program to execute, a transition condition that indicates when the execution of that user control program is to terminate, and which descriptor file is to be processed next as well as the program processors to process it. A mechanism is also provided to enable the program processors to execute other programs in as background tasks without adversely affecting the execution of the control programs.
Abstract:
A redundant controller employs two controller chassis having replaceable functional modules interconnected electrically within the chassis. System back up modules in the chassis coordinate the switching of control from a primary to a secondary chassis according to chassis redundancy state information of the chassis stored in the backup modules and module redundancy state information stored in the modules unique to the modules.
Abstract:
The present invention constitutes a data crossloading system for use with a programmable controller system having primary and secondary (or "back-up") systems each of which have redundant hardware components and have data structures associated with these components. The present invention further relates to the interconnection of the hardware components and to the processes for providing redundant data structures which enable a secondary or back-up system to rapidly and effectively assume control when a malfunction occurs in a primary control system. Both systems are connected via the same remote data links to common I/O racks which interface to sensing and output devices on the equipment being controlled. Data structure information in the primary system is specially crossloaded to the secondary system so that when a malfunction occurs that shuts down the primary system, the secondary system can begin execution of the same control programs and input and output the same data to the same I/O racks based on up to date data from the primary system. The crossloading of the data is accomplished through the use of special backup modules in both the primary and secondary (backup) control systems connected by a high speed communications link. Communications take place through the use of program utilities which establish a tightly coupled communications network between the primary and secondary systems. Additionally, on-line editing is enabled in stages so that when either control system can not properly execute the edit it is rejected. This system insures that edits can not take place in the primary system without being concurrently implemented in the secondary system.
Abstract:
A programmable controller for operating a machine to perform programmed functions allows the user to allocate the amount of processing time to be devoted to a machine control program and to user defined background tasks. The allocation is defined by an entry stored in one of several locations in a data table. Each occurrence of a timed interrupt steps the operating system through the data table. When the operating system accesses the location at which the entry is stored, the machine control program is assigned as lower execution priority than any background tasks to be executed. When the last storage location of the data table is accessed, the user control program is restored to a higher execution priority than the background tasks before initiating another stepping sequence through the data table.
Abstract:
A redundant industrial controller system has a primary controller backed up by a secondary controller and recovers from a power loss by analyzing the state memories of the controllers to reach a determination of which controller would best be suited to assume primary control status without resorting to arbitrary tie-breaking procedures or race conditions. The rules and their inputs are applied by both controllers which independently make the determination as to which controller should be the primary controller.
Abstract:
A method and apparatus for providing multitasking of a plurality of requests queued as a list in a single task of an industrial controller, each request including one or more separate segments. State information relating to each request being minimal at the end of each segment. The method processing the requests on a round-robin basis, interrupting each request only at the end of each segment so as to minimize the memory required to store the state information.
Abstract:
A communication module has a backplane interface circuit that enables the module to communicate with other components of the programmable controller, and has a network interface circuit which sends and receives messages via a serial communication link. A memory within the module stores a designation of a starting time, a designation of a length of a message repeat interval, and a file of message information. A clock circuit determines when the starting time occurs and thereafter determines the expiration of each successive occurrence of the message repeat period. A control mechanism responds to the clock circuit determining an occurrence of the starting time or determining an expiration of a message repeat interval, by operating network interface circuit to transmit a message, that contains the message information, over the serial communication link.
Abstract:
A programmable controller governs the operation of a piece of equipment by executing machine language instructions compiled from a ladder diagram type control program. The control program as stored in the controller includes not only compiled machine language instructions, but also a tokenized version of the source code from which certain machine language instructions were compiled. The source code is provided only for those portions of the machine language program which cannot be easily decompiled to produce the corresponding source code. This program storage facilitates subsequent editing of the stored program via a terminal connected to the programmable controller. During the editing process, the original ladder diagram can be reconstructed from a combination of the machine language instructions and the tokenized version of the source code. In doing so, the machine language instructions, which have a one-to-one correspondence with the source code instructions, are decompiled using conventional techniques. However, the tokenized version of the source code is used to recreate the portions of the ladder diagram for which each machine language instruction does not have a unique one-to-one correspondence with a source code instruction. This program storage technique enables the control program to be easily edited using the version stored in the programmable controller without requiring access to the original source code from which the program was compiled.