Nova Patents
EP1580630A2

Controller with agent functionality

Abstract

A controller configured to operate as at least one agent, a method of configuring a controller for operation as part of a multi-agent distributed control system, and a configuration device for so configuring a controller, are disclosed. The controller includes at least one processing device and at least one storage medium that is in communication with the at least one processing device. The at least one storage medium stores a plurality of program portions that are executed by the at least one processing device, and the plurality of program portions includes first, second and third program portions. The first program portion is capable of generating first signals that are commands to be provided to a controlled device, the second program portion is capable of governing standard agent-type functionality, and the third program portion is capable of governing application-specific agent-type functionality.

EP1580630A2, drawing sheet 1
Sheet 1 of 9

Term

Term ended

Projected expiry passed 24 March 2025, 1.5 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

35 claims: 14 independent, 21 dependent

  1. 1
    A controller configured to operate as at least one agent, the controller comprising:at least one processing device;and at least one storage medium that is in communication with the at least one processing device, wherein the at least one storage medium stores a plurality of program portions that are executed by the at least one processing device, and wherein the plurality of program portions includes    a first program portion capable of generating first signals that are commands to be provided to a controlled device;and    a second program portion capable of governing standard agent-type functionality;and    a third program portion capable of governing application-specific agent-type functionality.
  2. 5
    The controller of one of claims 1 to 4, wherein the second program portion includes firmware extension programming.
  3. 6
    The controller of one of claims 1 to 5, wherein the second program portion includes a planner that governs at least a portion of the standard agent-type functionality including creating and interpreting bid request messages and bid messages.
  4. 11
    The controller of one of claims 6 to 10, wherein the bid request messages and bid messages include scripts written in a language selected from the group consisting of JDL, XML and KQML.
  5. 12
    The controller of one of claims 6 to 11, wherein the planner includes at least one of parsing/integration programming that allows the planner to process the bid request messages and bid messages, and subcontracting management programming.
  6. 14
    The controller of one of claims 6 to 13, wherein the second program portion is in communication with base firmware, wherein the bid request messages and bid messages that are created by the planner are provided to the base firmware, which is capable of formatting at least some of the bid request messages and bid messages for transmission onto a network according to a network protocol selected from the group consisting of Ethernet, ControlNet and DeviceNet.
  7. 15
    The controller of one of claims 1 to 14, wherein the second program portion is capable of governing a downloading of at least some of the third program portion from a source other than the controller during development of a distributed control system of which the controller forms a part.
  8. 17
    The controller of one of claims 1 to 16, wherein the second program portion operates in a priority-based manner and employs a Common Industrial Protocol, and wherein the controller serves as a bridge device between standard industrial networks and packing protocols and multi-agent system communication languages and logical networks.
  9. 18
    The controller of one of claims 1 to 17, wherein the second program portion includes at least one directory facilitator.
  10. 24
    The controller of one of claims 1 to 23, wherein the plurality of program portions further includes a fourth program portion providing an operating system.
  11. 25
    A distributed control system for controlling a process performed by a plurality of controllable devices including first and second controllable devices, the distributed control system comprising:a network;and first and second controllers coupled to the network, wherein the first and second controllers include first and second processors, respectively, and first and second storage media, respectively;wherein first and second application-specific control programs are stored on the first and second storage media, respectively, the first and second control programs enabling the respective first and second controllers to generate commands to be provided to the first and second controllable devices, respectively;and    wherein first and second agent-related programs are additionally stored on the first and second storage media, respectively, the first and second agent-related programs each including agent-type programming to enable the first and second controllers to operate as agents, to communicate with one another via the network, and to interact with the first and second control programs to govern operations of the first and second controllable devices.
  12. 29
    A configuration device for enabling an industrial controller to operate as an agent that governs a controllable device, the configuration device comprising:a storage medium that stores an application-specific agent program portion capable of governing at least some agent-type functionality and an application-specific control program portion capable of generating control signals to be provided to the controllable device;and an interface configured to allow the application-specific agent program portion and the application-specific control program portion to be downloaded onto the industrial controller.
  13. 32
    A method of configuring a controller for operation as part of a multi-agent distributed control system that controls a plurality of devices to perform a process, the method comprising:providing a controller that stores, and is capable of operating in accordance with, first and second program portions,    wherein the first program portion is capable of processing incoming signals received from, and outgoing signals provided onto, a network connected to the controller so that network protocol information appropriate for communicating the signals over the network is removed from or added to the incoming and outgoing signals, respectively, and    wherein the second program portion is capable of governing general agent-type functionality of the controller;and supplementing the controller with application-specific control programming and application-specific agent-type programming so that the controller is able to operate as an agent in relation to both other agents of the multi-agent distributed control system and in relation to at least one of the controllable devices.
  14. 35
    A control device comprising:a processor;and a memory device in communication with the processor, wherein agent-related information is stored on the memory device that includes agent-related programming that can be performed by the processor so that the control device can operate as a first agent, and wherein the agent-related information further includes    first information concerning network addresses of other agents with which the control device is capable of communicating by way of a network;and    second information concerning capabilities of the other agents;wherein the control device outputs messages capable of being communicated over the network to at least some of the other agents, and wherein the processor determines the messages that should be output based upon the agent-related programming, the first information and the second information.