EP1580631A2

Agent-equipped controller having data table interface between agent-type programming and non-agent-type programming

Abstract

A controller capable of being employed in a distributed control system, where the distributed control system controls operations of a plurality of devices that operate together to perform a process, and a method of communicating information between a first program portion and a second program portion of such a controller, are disclosed. The controller includes at least one processing component configured to perform a first plurality of program portions that operate in relation with one another as a first agent. The plurality of program portions includes a first program portion that controls agent-type behavior of the controller, and a second program portion that at least one of controls and monitors at least one of the devices. The controller further includes at least one memory component that stores a data table that is accessed by each of the first and second program portions to allow communication between those program portions.

EP1580631A2, 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

30 claims: 16 independent, 14 dependent

  1. 1
    A controller capable of being employed in a distributed control system, wherein the distributed control system controls operations of a plurality of devices that operate together to perform a process, the controller comprising:at least one processing component configured to perform a first plurality of program portions that operate in relation with one another as a first agent, the plurality of program portions including    a first program portion that controls agent-type behavior of the controller;and    a second program portion that at least one of controls and monitors at least one of the devices;and at least one memory component that stores a data table that is accessed by each of the first and second program portions to allow communication between the first and second program portions.
  2. 5
    The controller of one of claims 1 to 4, wherein the agent-type behavior includes at least one of submitting requests for bids, and submitting bids, to other agents.
  3. 6
    The controller of one of claims 1 to 5, wherein messages communicated between the first agent and other agents include a FIPA ACL wrapper.
  4. 7
    The controller of one of claims 1 to 6, wherein the data table provides an array of memory locations that can be monitored and modified by each of the first and second program portions, and wherein monitoring of the data table occurs by at least one of direct polling and event-driven mechanisms.
  5. 8
    The controller of one of claims 1 to 7, wherein the first program portion is capable of modifying values stored in the data table, wherein the second program portion is capable of monitoring the values and capable of responding to changes occurring in the values, and wherein in at least some circumstances data table changes are affected by a priority of events.
  6. 9
    The controller of one of claims 1 to 8, wherein the second program portion is capable of modifying values stored in the data table, and the first program portion is capable of monitoring the values and capable of responding to changes occurring in the values.
  7. 11
    The controller of one of claims 1 to 10, wherein the controller is one of an industrial controller and an industrial computer.
  8. 12
    The controller of one of claims 1 to 11, further comprising:a third program portion performed by the at least one processing component, wherein the third program portion at least one of controls and monitors a different one of the devices than the at least one device.
  9. 14
    The controller of one of claims 1 to 10, further comprising:a third program portion performed by the at least one processing component, wherein the third program portion controls additional agent-type behavior of the controller associated with a second agent, and wherein the third program portion is in communication with at least one of the second program portion and a fourth program portion by way of at least one of the first data table and a second data table.
  10. 15
    The controller of one of claims 1 to 14, wherein the first program portion includes at least one of a planner portion, an execution controller portion, a diagnostics portion, an equipment model portion, an application-specific agent scripts portion and a generic interface program, wherein the programs are capable of interacting with one another and deploying industrial based firmware software and communication networks to fulfill control actions.
  11. 16
    A distributed control system for controlling a distributed process performed by a plurality of devices, the distributed control system comprising:a first controller including a first processing component, wherein the first processing component is configured to perform    a first program portion governing first agent-type behavior of a first agent implemented on the first controller, and    a second program portion governing operation of at least a first of the devices;and a second controller including a second processing component, wherein the second processing component is configured to perform    a third program portion governing second agent-type behavior of a second agent implemented on the second controller, and    a fourth program portion governing operation of at least a second of the devices;wherein the first and second controllers are in communication by way of a network;and    wherein the first program portion is in communication with the second program portion by way of a first data table, and the third program portion is in communication with the fourth program portion by way of a second data table.
  12. 20
    The distributed control system of one of claims 16 to 19, further comprising a means for communicating with a third controller of an external organization, wherein the third controller includes a third processing component, wherein the third processing component is configured to perform a fifth program portion governing agent-type behavior.
  13. 21
    The distributed control system of one of claims 16 to 20, wherein the first program portion includes at least one of a planner portion, an execution controller portion, a diagnostics portion, an equipment model portion, an application-specific agent scripts portion and a generic interface portion.
  14. 22
    The distributed control system of one of claims 16 to 21, wherein the first and second agent-type behavior includes conducting negotiations with other agents.
  15. 23
    The distributed control system of one of claims 16 to 22, wherein first communications between the second program portion and the first device also occur by way of the first data table, and second communications between the fourth program portion and the second device also occur by way of the second data table.
  16. 24
    In a controller of a distributed control system, wherein the distributed control system operates to control a plurality of devices to perform a process, a method of communicating information between a first program portion and a second program portion, the method comprising:providing a data table that is accessible by each of the first and second program portions, wherein the first program portion is configured to govern agent-type behavior of the controller and the second program portion is configured to at least one of control and monitor a first device of the plurality of devices;sending first data from one of the first and second program portions to modify a value of the data table;and providing the modified value of the data table to the other of the first and second program portions,    wherein the other of the first and second program portions experiences a change in its operation in response to the modified value.
Independent claims16