Claims
- 1. A system for programming a plurality of agents onto a distributed control system being configured to control a plurality of controllable devices for performing a process, the system comprising:
a terminal that displays a graphical user interface having a plurality of images including
a first image showing a plurality of selectable templates and at least a first mechanism by which first user input signals can be received concerning the templates, wherein the templates include agent-type programming; and a second image showing a representation of the controllable devices and at least a second mechanism by which second user input signals can be received concerning associations between the templates and the representation; and a processing device that generates executable programming to be performed by the distributed control system based upon the templates and the associations, wherein the executable programming at least partly governs agent-type behavior of the distributed control system.
- 2. The system of claim 1, wherein the plurality of images includes a third image showing a plurality of libraries of templates and at least a third mechanism by which an additional user input signal can be received concerning a selected one of the plurality of libraries.
- 3. The system of claim 1, wherein at least one of the first image, the second image and a third image shows a third mechanism by which additional user input signals can be received concerning modifications of the templates.
- 4. The system of claim 1, wherein at least one of the first, second and third images shows agent template information selected from the group consisting of agent-related properties, agent-related types, agent-related abbreviations, agent-related variables, agent-related tags, agent-related factory classes, and relationships among agents.
- 5. The system of claim 1, wherein the first image also shows control programming and at least a third mechanism by which additional user input signals can be received concerning modifications of the control programming.
- 6. The system of claim 5, wherein the control programming is ladder logic code, and wherein at least one of the first image and a third image further shows at least one of variables and tags employed in the ladder logic code.
- 7. The system of claim 1, wherein the plurality of images includes a third image showing the agent-type programming corresponding to the templates and at least a third mechanism by which additional user input signals can be received concerning modifications of the agent-type programming.
- 8. The system of claim 7, wherein at least some of the agent-type programming is written in C++ and includes program instructions to generate messages in a language selected from the group consisting of JDL, XML, and KQML.
- 9. The system of claim 8, wherein the agent-type programming further includes program instructions to wrap the messages in a FIPA ACL protocol, and wherein the third image further shows at least one of strings and tags employed in the agent-type programming.
- 10. The system of claim 1, wherein the plurality of images includes a third image showing available controllers of the distributed control system and a third mechanism by which additional user input signals can be received concerning assignments of the templates to at least some of the available controllers.
- 11. The system of claim 10 wherein with respect to the third image or a fourth image, when a further user input signal is received indicating a particular one of the available controllers, those of the templates that have been assigned to the one controller are highlighted.
- 12. The system of claim 1, wherein the plurality of images includes a third image showing available controllers, available networks and available chassis components.
- 13. The system of claim 1, wherein the processing device performs a compiling process during the generating of the executable programming.
- 14. The system of claim 1, wherein the processing device performs an instantiation process upon the templates during the generating of the executable programming.
- 15. The system of claim 1, wherein the terminal is part of a human-machine interface that is coupled to the distributed control system by way of a communication link.
- 16. The system of claim 15, wherein the human-machine interface is a personal computer and the communication link is a network.
- 17. The system of claim 1, further comprising a means for storing information on which the executable programming is stored prior to being downloaded onto controllers of the distributed control system.
- 18. The system of claim 1, wherein the executable programming is stored upon a memory device selected from the group consisting of a disk, a cartridge, a card, and a chip, and wherein the executable programming is provided to the distributed control system when the memory device is coupled to a component of the distributed control system.
- 19. A system for programming a plurality of agents onto a distributed control system being configured to control a plurality of controllable devices for performing a process, the system comprising:
at least one memory device on which is stored at least one library of program templates, wherein each of the program templates includes agent-related programming; and a human-machine interface in communication with the at least one memory device, wherein the human-machine interface displays the program templates of the at least one library and a mechanism by which user input signals can be received concerning selected ones of the program templates.
- 20. The system of claim 19, wherein each program template includes ladder logic control programming in addition to the agent-related programming.
- 21. The system of claim 20, wherein the human-machine interface displays a plurality of screens including a first screen on which the ladder logic control programming can be edited and a second screen on which the ladder logic control programming can be viewed but not edited.
- 22. The system of claim 19, further comprising a processing device that compiles and instantiates the program templates to generate executable programming that includes both application-specific agent programming and application-specific control programming.
- 23. The system of claim 22, wherein the executable program is downloaded onto a plurality of controllers of the distributed control system and integrated with general programming residing at the distributed control system, wherein the general programming includes general agent programming.
- 24. A method of programming a distributed control system, the method comprising:
providing a first editor interface displaying templates of at least one library; receiving first user instructions to select at least some of the templates from a library using the first editor interface, wherein each of the templates includes agent-related programming; providing a second editor interface that displays a representation of a facility having a plurality of controllable devices; receiving second user instructions assigning the selected templates to portions of the representation corresponding to the respective controllable devices; providing a third editor interface that displays a representation of a plurality of controllers of the distributed control system; and receiving third user instructions assigning each of the selected templates to a respective one of the controllers.
- 25. The method of claim 24, further comprising receiving additional user instructions to modify the selected templates.
- 26. The method of claim 24, further comprising providing an additional editor interface that displays available controllers, available networks, and available chassis components.
- 27. A method of programming a distributed control system to control a plurality of devices to perform a process, the method comprising:
providing a controller for implementation in the distributed control system, wherein the controller includes general programming including first programming to govern first agent-type functionality of the controller; obtaining second programming for governing operation of the controller to control one of the devices and also third programming for governing second agent-type functionality of the controller that depends upon a characteristic of the controlled one device; and supplementing the first programming with the second and third programming.
- 28. The method of claim 27, wherein the first agent-type functionality includes generating bid request messages and bid messages.
- 29. The method of claim 27, wherein the obtaining of the second and third programming includes at least one of selecting a first template from a template library, modifying a second template obtained from one of the template library and another source, and creating the second programming without using any templates.
- 30. The method of claim 27, wherein the second programming includes ladder logic code and the third programming includes C++ code.
- 31. The method of claim 27, further comprising
configuring at least one of the first programming, the second programming, the third programming and a fourth programming so that data that is required by the controller for operation, and that is available at a location other than at the controller, is periodically and continually transferred to the controller.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application is a continuation-in-part of U.S. patent application Ser. No. 10/737,384 filed on Dec. 16, 2003 and entitled “Decentralized Autonomous Control for Complex Fluid Distribution Systems”, which is based on U.S. provisional patent application No. 60/433,892 filed Dec. 16, 2002 and entitled “Agent-Based Active Diagnostics System for Complex Distribution Networks”, each of which is hereby incorporated by reference herein, and claims the benefit thereof. Additionally, this application is based on U.S. provisional patent application No. ______ filed Mar. 15, 2004 and entitled “Agent Program Environment”, where is hereby incorporated by reference herein, and claims the benefit thereof.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60433892 |
Dec 2002 |
US |
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
10737384 |
Dec 2003 |
US |
Child |
10808999 |
Mar 2004 |
US |