modelConsumerAgent
Extends from BaseClasses.PartialAgent.
Information
Overview
- This model is a consumer agent which controls a heat/cold consuming entity.
- It is equivalent to the room agent apart from the inut data.
- It is based on communication via UDP and logic implemented with the help of the StateGraph Modelica library.
- It is used together with a broker-agent and at least one producer-agent.
Concept
The consumer agent receives a requested capacity as an input. When a pre-defined sample-time has elapsed, a cooling or heating request is calculated and send to a broker agent. The broker-agent ensures that the requested heat is produced. The logic is implemented with the help of the StateGraph library. Communication is realized with the help of the DeviceDriver library and follows the language standards for multi-agent-systems set by the FIPA to the highest possible extend for Modelica models. The following figure shows the behaviour of the consumer agent. For further information please refer to the first reference.
References
- Roozbeh Sangi, Felix Bünning, Johannes Fütterer, Dirk Müller. A Platform for the Agent-based Control of HVAC Systems. Modelica Conference, 2017, Prague, Czech Republic.
- FIPA ACL Message Structure Specification
- FIPA Communicative Act Library Specification
- Felix Bünning, Roozbeh Sangi, Dirk Müller. A Modelica library for agent-based control of building HVAC systems. Applied Energy, 193:52-59, 2017.
Example Results
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Integer | name (from PartialAgent) | Name of the agent (five-digit number, eg. 10001) | |
| Boolean | usePoke (from PartialAgent) | false | Use Modelica internal communication for inbox update |
| Real | sampleRate (from PartialAgent) | 5 | Sample time for inbox update (used if usePoke=false) |
| Integer | broker | 10003 | Name of the corresponding broker-agent |
| Real | sampleStartTime | 0 | Time when the agent makes first request |
| Real | sampleTriggerTime | 60 | Time difference between two calls for adjustment [s] |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Blocks.Interfaces.BooleanOutput | sendOut (from PartialAgent) | Turns true when the sending unit of the agent is active | |
| Modelica.Blocks.Interfaces.RealInput | demand | Input for the demand estimation of the consumer (e.g. output of a PID element) |
Components
Revisions
- December 2016, by Roozbeh Sangi:
revised - December 2016, by Felix Bünning: Changed some variables to Integer type in order to avoid warnings caused by using the "==" operator
- November 2016, by Felix Bünning: Updated symbol
- October 2015, by Felix Bünning: Developed and implemented