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.
Abstract:
A method of maintaining cross reference information regarding a user program comprises the steps of determining that an aspect of a first referencee has been modified, notifying a first referencer that the aspect of the first referencee has been modified, and updating cross reference information. The notifying step is performed by the first referencee, and the updating step is performed by the first referencer. The cross reference information is stored in a database comprising an entry for each reference made by a referencer to a referencee. Each entry stores a unique identifiers which identify a respective referencer and referencee. The cross reference information is automatically updated through a notification procedure in which referencees are responsible for notifying referencers when an aspect of the referencee changes, and the referencers are thereafter responsible for updating the cross reference information. The present invention provides increased flexibility in terms of the types of cross reference information which is maintained and the types of actions which a user is allowed to take without losing cross reference information. For example, the cross reference system is able to manage references to a referencee before the referencee is created and after the referencee is deleted.
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:
An industrial control system includes an industrial controller and a programming interface. The programming interface is operable to communicate a plurality of operations for modifying a control program maintained by the industrial controller followed by a commit transaction command. The industrial controller is configured to designate the plurality of operations with a pending status and preprocess the plurality of operations. The industrial controller is further configured to commit the operations and clear the pending status responsive to receiving the commit transaction command.
Abstract:
A programmable controller suitable for operating a machine to carry out a plurality of programmed functions includes a plurality of program processors each being operable to execute simultaneously a different control program that directs the programmable controller to operate the machine to perform specific functions. Each of the processors includes a memory having areas for receiving different priority level messages. Each area has an addressable location corresponding to each module in the controller that can send messages. A message may be an executable command or a pointer to an address block containing the message or message access parameters.