OGO-project 3.2
“Energiebutler voor gebouwen”
OGO-project 3.2
Opleiding Installatietechnologie Technische Universiteit Eindhoven
“Energiebutler voor gebouwen” Met het oog op een flexibele energievoorziening
Mike van der Heijden Roel Loonen Sander ter Mors Mark Niesen Linda Pennings Maart 2007
OGO 3.2
2
Energiebutler
Voorwoord Dit rapport is het eindresultaat van een project voor derdejaars studenten installatietechnologie aan Technische Universiteit Eindhoven. In dit project is een agentsysteem ontwikkeld die op een voor de bewoners aanvaardbare wijze de productie en het verbruik van energie optimaliseert. Het eindresultaat is mede tot stand gekomen in samenwerking met ECN. Wij willen in het bijzonder Maarten Hommelberg van ECN bedanken voor zijn hulp bij dit project. Verder willen wij dhr. G. Boxem en dhr. M.A. van Houten van de TU/e bedanken voor hun begeleiding. Wij wensen u veel plezier bij het lezen van dit rapport. M.G.M van der Heijden R.C.G.M. Loonen S. ter Mors M.J. Niesen L.W.H.A. Pennings
OGO 3.2
3
Energiebutler
Samenvatting In dit rapport is de opbouw geschetst van een energiebutler. Het idee van de energiebutler vindt zijn oorsprong in het toenemende aantal duurzame, veelal decentrale energieopwekkers. Omdat het aanbod van energie, door deze ontwikkeling, in de toekomst niet meer centraal geregeld kan worden is men op zoek gegaan naar systemen, gebruik makend van agents, die de afstemming van de vraag en productie van energie kunnen optimaliseren. De energiebutler moet er voor zorgen dat dit op een voor de gebruiker acceptabele manier gebeurt, waarbij ook rekening gehouden dient te worden met economische en ecologische aspecten. Na het doen van een korte literatuurstudie zijn de eisen voor een energiebutler opgesteld: De concrete doelen die bereikt dienen te worden zijn: De energiebutler moet een kostenbesparing opleveren voor de gebruiker. Het grillige patroon van kleinschalige duurzame opwekeenheden moet worden opgevangen. De energiebutler moet een milieubesparende werking hebben. De energiebutler moet de gebruiker dienen in comfort. De uiteindelijke vorm van de energiebutler ziet er als volgt uit.
Een energiebutler communiceert met de gebruiker. Om aan de wensen van de gebruiker te voldoen maakt hij gebruik van de energievraag en –aanbod, en eventueel kan hij gebruik maken van diensten van andere energiebutlers, die op deze manier hun overschotten of tekorten aan energie kunnen verwerken. De energiebutler bestaat uit een EnergyController (EC) en een Assistant. Een Assistant, een agent van een apparaat, communiceert met de gebruiker over zijn behoeftes. Ook kent hij de eigenschappen van het apparaat waar hij bij hoort. Met deze gegevens communiceert hij met de EnergyController. De EnergyController combineert en optimaliseert de totale vraag en aanbod van energie en stuurt vervolgens de apparaten aan, hiervoor moet hij samenwerken met de verschillende Assistants Het succes van een energiebutler is in grote mate afhankelijk van de mate waarin het systeem begrepen en geaccepteerd wordt door de gebruiker. Een zeer belangrijke schakel hierin is de user-interface. Die is erop gericht om op een zo eenvoudig en gebruiksvriendelijk mogelijke manier te communiceren met de gebruiker. In dit rapport is de interne werking van de energiebutler beschreven in de algemene modelleertaal UML. Op deze manier is het mogelijk het concept verder uit te werken, en zelfs te implementeren in een softwareprogramma.
OGO 3.2
4
Energiebutler
Inhoudsopgave VOORWOORD
3
SAMENVATTING
4
INHOUDSOPGAVE
5
1.
INLEIDING
7
2.
INTRODUCTIE
8
2.1
REEDS BESTAANDE PROJECTEN 2.1.1 HUIDIGE ENERGIEREGELING 2.1.2 POWERMATCHER INTRODUCTIE IN DE UML 2.2.1 USE CASE 2.2.2 KLASSENDIAGRAM 2.2.3 SEQUENTIEDIAGRAM AGENTS 2.3.1 TYPEN 2.3.2 EIGENSCHAPPEN 2.3.3 EISEN REGELEN VAN VRAAG EN AANBOD ENERGIEVERBRUIK EN AANBOD 2.5.1 FUNCTIES VAN APPARATEN
2.2
2.3
2.4 2.5
8 8 8 9 9 10 10 10 10 10 11 11 12 12
3.
ENERGIEBUTLER
3.1 3.2 3.3
DEFINITIE REQUIREMENTS STATISCHE ASPECTEN 3.3.1 SCHEMA’S
4.
ENERGYCONTROLLER
4.1 4.2 4.3 4.4 4.5
DEFINITIE EISEN USE-CASE DIAGRAM KLASSENDIAGRAM SEQUENTIEDIAGRAMMEN
5.
ASSISTANT
5.1
MODELEREN VAN DE STATISCHE ASPECTEN VAN HET SYSTEEM. 5.1.1 DEFINITIE 5.1.2 REQUIREMENTS 5.1.3 USE-CASEDIAGRAM
OGO 3.2
15 15 15 15 15 17 17 17 19 20 22 25
5
25 25 25 26
Energiebutler
5.2 5.3
5.1.4 HET KLASSENDIAGRAM MODELLEREN VAN DE DYNAMISCHE ASPECTEN VAN HET SYSTEEM. 5.2.1 SEQUENTIEDIAGRAM IMPLEMENTATIE 5.3.1 INTERFACE
27 32 32 37 37
6.
KOPPELING VAN ENERGIEBUTLERS
6.1
KEUZE VAN ARCHITECTUUR
7.
MOGELIJKE UITBREIDINGEN
7.1
ENERGIEBESPARING DOOR OPTIMALISATIE COMFORT, ECONOMIE, ECOLOGIE.
8.
CONCLUSIE
42
9.
LITERATUURLIJST
43
OGO 3.2
39 39 41
6
41
Energiebutler
1. Inleiding In de twintigste eeuw ging een ongelooflijke toename van de industriële ontwikkeling gepaard met een bijna even ongeremde uitputting van delfstoffen. Het besef dat alles wat we uit de bodem halen niet onuitputtelijk is drong pas enkele jaren geleden echt tot ons door. Recente schattingen vertellen dat ongeveer de helft van de olie die ooit in de grond heeft gezeten opgemaakt is. De resterende helft is nog goed voor een veertigjarige consumptie. Om te streven naar een oplossing voor het invullen van energieverbruik moeten andere technologieën om energie op te wekken verder ontwikkeld worden. De verwachting is dat in de toekomst de nadruk zal komen te liggen op decentrale opwekking, zoals zonnecellen, windenergie en micro-wkk’s. De probleemstelling die in dit rapport verder wordt uitgewerkt is Vraag en aanbod van energie op elkaar afstemmen, door efficiënt gebruik te maken van de mogelijkheden van de apparaten en bronnen. Het doel van dit project is. Het ontwikkelen van een energiebutler voor een woning die op een voor de bewoners aanvaardbare wijze de productie en het verbruik van energie optimaliseert. Om deze ontwikkeling in goede banen te leiden is het idee van de energiebutler ontstaan. Als leidraad voor dit project wordt de ‘powermatcher’ van ECN gebruikt. De powermatcher is een concept gericht op de marktwerking van vraag en aanbod. Deze markt is bedoeld om de algemene kloof tussen vraag en aanbod van elektriciteit te verkleinen, waarbij het mogelijk is de productie van de decentrale opwekeenheden te optimaliseren. Voor het slagen van dit systeem is het van essentieel belang dat het hele systeem wordt begrepen en geaccepteerd door de gebruiker. In dit rapport zijn de eisen aan een energiebutler geformuleerd. Met behulp van deze eisen is een energiebutler ontwikkeld, waarvan de interne werking, met behulp van UML wordt beschreven. In hoofdstuk 2 is er een introductie gegeven met informatie over reeds bestaande projecten, UML, agenten, regelen en energieverbruik en productie. In hoofdstuk 3 is de energiebutler beschreven. In hoofdstuk 4 is er een beschrijving over de EnergyController gemaakt en in hoofdstuk 5 is er een beschrijving over de Assistant gemaakt. In hoofdstuk 6 is de topologie van het netwerk beschreven. Hoofdstuk 7 zijn mogelijke uitbreidingen op het systeem. De conclusie is beschreven in hoofdstuk 8.
OGO 3.2
7
Energiebutler
2. Introductie In dit hoofdstuk wordt er ingeleid en inzicht verschaft in de literatuuronderzoeken die vooraf gegaan zijn aan de ontwikkeling van de energiebutler.
2.1 Reeds bestaande projecten 2.1.1 Huidige energieregeling Op dit moment wordt de vraag naar elektrische energie centraal geregeld. De hoeveelheid geproduceerde elektriciteit dient gelijk de zijn aan de afname, omdat er geen mogelijkheid is tot opslag van energie. Om er voor te zorgen dat er altijd voldoende productievermogen in bedrijf is, worden er afspraken gemaakt tussen de energiebedrijven over de verwachte belasting, voor de volgende dag, week, maand, en zelfs jaren, en er wordt besproken hoe deze energie opgewekt wordt. De lange termijnplanning is ervoor om te zorgen dat in de toekomst het geïnstalleerde vermogen groot genoeg is om de stijging van het elektriciteitsgebruik op te vangen. De taak van de korte termijnplanning is er voor te zorgen dat er steeds voldoende productievermogen in bedrijf is, of tijdig in bedrijf kan worden genomen, om aan de vraag naar elektrische energie te kunnen voldoen. Met behulp van de weekmaxima van het voorafgaande jaar en de te verwachten groei van het verbruik, wordt in combinatie met het onderhoudsplan het inzetschema opgesteld. Naarmate de betreffende periode dichterbij komt wordt dit schema zonodig verfijnd of bijgesteld. Voor de dagprognoses gaat men uit van het soort dag (werkdag, weekend, seizoen), de weersverwachting, speciale evenementen, en vooral voorafgaande dagbelastingskrommen. Door gebruik te maken van het sterke koppelnet in Europa is het mogelijk pieken op te vangen om zo tot een robuustere energielevering te komen.
2.1.2 Powermatcher De huidige tendens op het gebied van distributie van elektriciteit is decentralisatie, er wordt steeds meer elektriciteit decentraal opgewekt. Een goed voorbeeld daarvan zijn de zonnepanelen op de daken van woningen en windmolens op wijkniveau. Decentralisatie van het aanbod van energie leidt tot de vraag van nieuwe concepten gericht op een goede regeling, zoals de PowerMatcher. De PowerMatcher is een concept gericht op de marktwerking van vraag en aanbod. Deze markt is bedoeld om de algemene kloof tussen vraag en aanbod van elektriciteit te verkleinen door optimaal gebruik te maken van de mogelijkheden van apparaten die elektriciteit vragen en opwekken. Het is een product ontworpen door ECN in samenwerking met zijn industriële en academische partners. In de PowerMatcher is elk apparaat vertegenwoordigd door een agent. Een agent kan in het algemeen gedefinieerd worden als een zelfstandig dynamisch object dat zonder aanroeping actie kan bewerkstelligen en kan reageren op een externe aanvraag. In het geval van de PowerMatcher zal de agent de elektriciteit die geproduceerd of verbruikt wordt tijdens het proces, in samenwerking met de agenten van de elektronische markt, economische zo goed mogelijk regelen.
OGO 3.2
8
Energiebutler
De elektronische markt wordt geregeld via een web structuur van verschillende PowerMatchers, zoals in bovenstaande figuur te zien is. Elke PowerMatcher vergelijkt vraag en aanbod van zijn onderliggende niveau en zijn eigen niveau. Met behulp van deze gegevens zal hij met een nieuwe gevormde prijs communiceren met een bovenliggende PowerMatcher. Bij onderliggende niveaus maakt de PowerMatcher geen onderscheid tussen agents van apparaten en onderliggende PowerMatchers vanwege gelijke communicatie. De hoofd PowerMatcher bevat een of meerdere definities van de markt. Doormiddel van deze definities worden de kenmerken van de markt bepaald. De PowerMatcher principes: • • • •
Coördinatie en locale besluiten gebaseerd op economische parameters. Uniforme communicatie gebaseerd op energie hoeveelheden en prijzen. Efficiëntie: globale optimalisering, lokale behoeften op elkaar afstemmen. Decentrale aanpassing van parameters van de agent.
2.2 Introductie in de UML De Unified Modelling Language (UML) is een standaardtaal die gecreëerd is om objectgeoriënteerde analyses en ontwerpen voor informatiesystemen te kunnen maken UML maakt gebruik van een aantal diagrammen die helpen bij het specificeren, visualiseren, construeren en documenteren van softwaresystemen. In dit rapport is gebruik gemaakt van een 3-tal van deze diagrammen, die hieronder kort besproken worden. 2.2.1 Use case De interacties met het systeem kunnen worden beschreven in een use-casediagram, hierin is het gedrag van het systeem of een deel van het systeem uitgewerkt. Elke use-case is een beschrijving van een aantal dynamische processen (sequentie). Use-casediagrammen staan centraal tijdens het modelleren van het gedrag van een systeem, een subsysteem of een klasse. Het Use case diagram plaatst een systeem in zijn context en beschrijft het verwachte gedrag van het systeem in die context. Doordat de interne werking in deze diagrammen niet beschreven wordt zijn ze uitermate geschikt voor het beschrijven van de gebruikerseisen die ten grondslag liggen aan het systeem. Een use-casediagram laat een set van use-cases zien in relatie met actoren en afhankelijkheden. De inhoud van use-case diagrammen zijn:
OGO 3.2
9
Energiebutler
- use-cases - actoren - afhankelijkheden, generalisatie en associatie relaties. 2.2.2 Klassendiagram Het klassendiagram is een van de meest gebruikte diagrammen in het modeleren van object georiënteerde systemen. Het statische overzicht biedt inzicht in de functionele eisen van het systeem en de diensten die het systeem moet teruggeven aan de eindgebruikers. Een klassendiagram laat een set van klassen, interfaces, collaborations en relaties zien. Klassendiagrammen geven een globale beschrijving van het systeem, maar ook de detail aspecten, zoals operaties en attributen. Door een klassendiagram op te stellen, en dat in verschillende stappen uit te diepen, kan een overzicht van het totale probleem gegeven worden. Meestal bestaat de inhoud uit: - Classes - Interfaces - Collaborations - Dependency, generalization, and association relationships - Notes and constraints 2.2.3 Sequentiediagram Een sequentiediagram wordt gebruikt voor het modelleren van interactie. Op deze manier is het mogelijk inzicht te krijgen in de dynamische eigenschappen van het systeem. Het doel van een sequentiediagram is om de stroom van berichten tussen objecten in de tijd weer te geven. Het beeld van een typisch sequentiediagram geeft alle interacties met berichten weer voor een use-case. Dit diagram bevat: - objecten - relaties - berichten De verticale “lifelines” representeren de objecten. Berichten gaan tussen de lifelines van de objecten en tijd is te herkennen van boven naar beneden, een lifeline.
2.3 Agents Een agent kan beschouwd worden als iets dat zij omgeving in de gaten kan houden door middel van sensoren en daar op kan reageren met behulp van actuatoren. [4] Een agent is van een bepaald type, of meerdere types, en kan verschillende eigenschappen hebben. Deze opdeling wordt gedaan op basis van de mogelijkheden van de agent, welke acties deze uit kan voeren.
2.3.1 • •
• • •
Typen
Simple Reflex Agents, werkt met een set regels, en sensoren. Als de sensoren een bepaalde situatie waarnemen, staat in de regels wat gedaan moet worden. Model Based Agents, heeft een intern model van zijn omgeving, met behulp van de sensoren houdt hij zijn omgeving in de gaten, en past het model hierop aan. In het model kunnen verschillende acties uitgeprobeerd worden, om de beste te kiezen. Goal Based Agents, hebben een of meerdere doel gesteld, waar ze naartoe werken. Een goal based agent neemt ook de factor tijd mee in zijn redenatie. Utility Based Agents, deze neemt ook de factor tijd mee, maar probeert constant een zo hoog mogelijke utiliteit te waarborgen voor de gebruiker. Market Based Agents, gekoppeld aan de markt, waardoor ze hierop kunnen reageren.
2.3.2 Eigenschappen Mobiel agenten kunnen zich verplaatsen naar daar waar zij nodig zijn,
OGO 3.2
10
Energiebutler
Reactief
-
Coöperatief
-
Adaptief
-
Autonoom
-
Interactief
-
Persoonlijkheid
-
mogelijk een route volgend. agenten kunnen “real-time” gebeurtenissen opmerken en daarop anticiperen. agenten coördineren en overleggen om gemeenschappelijke doelen te bereiken. Ze zijn zelforganiserend en kunnen delegeren. agenten passen zich dynamisch aan, aan hun omgeving. Ze passen zich aan, aan onzekerheid en verandering. agenten zijn pro-actief, doelgericht en voeren hun taken uit voor de gebruiker zonder noodzakelijke initiatie, confirmatie of notificatie van de gebruiker. agenten hebben interactie met mensen, andere agenten en informatiebronnen. agenten laten karaktertrekken zien zoals emoties.
2.3.3 Eisen Om de eisen voor de in dit project relevante agents te bekijken is er voor gekozen twee verschillende soorten agents te bekijken, die van en wasmachine, en van een wkk. De agent voor de wasmachine moet in ieder geval Market Based zijn, zodat deze de wasmachine kan laten draaien op een voordelig moment. Deze moet ook interactief zijn, zodat deze ook de informatie van andere agents kan krijgen, bijvoorbeeld over een wkk, of een andere wasmachine. Interactie is ook nodig omdat de gebruiker moet kunnen aangeven wanneer de was klaar moet zijn. De agent voor de wkk moet Market Based en reactief zijn, om te weten wanneer het voordeliger is om zelf energie op te wekken. Deze moet ook sociaal zijn, om samen te werken met andere opwekkers, zodat er geen energieoverschot ontstaat door de wkk. Hij moet autonoom werken.
2.4 Regelen van vraag en aanbod Om vraag en aanbod op elkaar af te stemmen en te optimaliseren moet er inzicht verkregen worden in verschillende zaken die een rol gaan spelen tijdens opwekking en verbruik van energie, in het volgende hoofdstuk is uitgewerkt welke eigenschappen belangrijk zijn. Ten eerste is duidelijk geworden dat het steeds toenemende energieverbruik is voortgekomen uit de toenemende welvaart en ontwikkeling op het gebied van technische apparaten. Door deze welvaart groeien de behoeften van de gebruikers en hiermee dus ook de vraag naar een bepaalde hoeveelheid energie. Om in deze behoeften te voorzien moeten de eisen die een gebruiker stelt aan zijn woonomgeving worden meegenomen in een goede regeling tussen vraag en aanbod van energie. Waarom een goede regeling? Een gebruiker stelt eisen aan zijn leefomgeving, daarnaast stelt het milieu bestaande uit gemeenschap, gedierte, ijskappen, ozonlaag enz. ook eisen aan het produceren van de energie die uit de behoeften van de gebruiker voortkomen. Door een hoge CO2 uitstoot, veroorzaakt door het individu, smelten de ijskappen, tevens heeft dit invloed op de weersomstandigheden, de fossiele bronnen raken uitgeput waardoor er dadelijk geen energie meer over is. Door gebruik te maken van andere vormen van energiebronnen, zoals duurzame energie of kernenergie wordt het milieu in mindere maten aangetast. Tevens zijn natuurlijk de economische aspecten van belang in de afstemming tussen vraag en aanbod. Het economische vraagstuk omvat onder meer productie, distributie, welvaart en consumptie. Door deze drie aspecten mee te nemen in een regeling kan er een evenwichtige keuze worden gemaakt om te voorzien in energie.
OGO 3.2
11
Energiebutler
In het volgende hoofdstuk is uitgewerkt hoe er inzicht kan worden verkregen in verschillende eigenschappen die een rol spelen bij het produceren en verbruiken van energie.
2.5 Energieverbruik en aanbod Energieverbruik en aanbod zijn direct gerelateerd aan de wijze en mate van gebruik van een specifiek apparaat. Apparaten kunnen worden gebruikt voor bepaalde functies om de behoeften van een gebruiker te vervullen. Voorgaande aan dit rapport is er een analyse gemaakt van typen apparaten die in de leefomgeving van een gebruiker staan opgesteld. Verbruikende apparaten die direct inzetbaar moeten zijn. (koffiezetapparaat) Verbruikende apparaten die inzetbaar zijn in de tijd (wasmachine) Opwekkers die niet schakelbaar zijn (zonnecellen, windmolen). Opwekkers die schakelbaar zijn (zonneboiler) Opwekkers die schakelbaar zijn en het geleverde vermogen binnen bepaalde grenzen variabel is. (CV ketel) Buffers die energie kunnen opslaan. (koelkast) Buffers die energie kunnen opslaan en op een later tijdstip kunnen leveren. (accu) 2.5.1 Functies van apparaten In een apparaat kunnen zich bepaalde processen afspelen, soms kunnen er wel meerdere worden aangestuurd. Onder een proces wordt bijvoorbeeld een bepaald type wasprogramma verstaan. Of bij een airconditioner de verschillende processen die zich onderscheiden als het verwarmen of koelen van lucht. In apparaten kunnen deze verschillende processen worden aangestuurd. Deze aansturing geschiedt afhankelijk van het type apparaat. Een wasmachine wordt aangestuurd door een gebruiker, een ketel wordt aangestuurd door een thermostaatregeling of een algemene regeling voor verwarmen. Afhankelijk van de specifieke eigenschappen van een proces wordt er energie verbruikt en/of geproduceerd. Hieronder zijn enkele voorbeelden uitgelegd van apparaten waarin verschillende eigenschappen van processen zijn te herkennen zoals hierboven is uitgelegd.
OGO 3.2
12
Energiebutler
Energieverbruik
Energieverbruik
Proces
Apparaat
Koffiezetapparaat. Een koffiezetapparaat wordt aangestuurd door een gebruiker. Door handelingen van deze gebruiker wordt er een bepaald proces op gang gezet (koffie zetten). Dit proces heeft een bepaalde energiebehoefte en deze moet direct naar het koffiezetapparaat worden verzonden, omdat de gebruiker de behoefte heeft aan koffie. Dit energieverbruik kan dus niet worden uitgesteld in de tijd. Deze informatie over de eigenschappen, hoeveelheid, soort energie e.d. kunnen worden verzonden naar de EnergyController en het apparaat kan worden aangestuurd.
Wasmachine: Door de gebruiker is er een aanvraag gedaan om een bepaald programma te wassen (aanstuurbaar proces). Afhankelijk van het soort proces dat er wordt gedraaid wordt er een bepaalde hoeveelheid van elektrische energie verbruikt. Mogelijk is dat er ook een productie is van warmte die elders kan worden gebruikt (energieproductie). Bij een wasmachine kan afhankelijk van de wensen van de gebruiker het tijdstip van energieverbruik worden uitgesteld, wat ten goede komt voor de optimalisatie van vraag en aanbod. Op het moment dat er aan de agent van de wasmachine wordt aangegeven dat het proces kan worden gestart (draaiend proces) heeft de wasmachine een bepaalde hoeveelheid energievraag die elders vandaan moet komen en een energieproductie die misschien ergens anders kan worden ingezet om te optimaliseren. Dit aansturen gebeurt door de gebruiker of EnergyController (monitoren en optimalisatie van energiestromen) die de eigenschappen (inzetbaar in de tijd, energieverbruik en opwekking, aanstuurbaar) in de gaten houdt.
Ketel: Een ketel bevat het proces van verwarmen om te voorzien in warmtebehoefte van gebruikers tegen een bepaalde hoeveelheid andere energie. De ketel heeft de eigenschappen dat de energie die deze produceert regelbaar is in vermogen. Stel dat er ergens in huis behoefte is voor een bepaalde vraag van warmte, met de eigenschappen van de energiebutler wordt dit door de EnergyController geregistreerd. En deze informeert de ketel over een hoeveelheid energie die deze kan leveren tegen een bepaalde prijs. De agent van de ketel weet welke processen deze kan aansturen om in een bepaalde warmtevraag te voorzien tegen bepaalde rendementen en prijs en moet in staat zijn deze informatie terug te geven of daadwerkelijk deze processen aansturen.
Een zonnecel: Een zonnecel produceert energie zonder dat deze aanstuurbaar, regelbaar, schakelbaar of inzetbaar is omdat deze afhankelijk is van de invloed van
OGO 3.2
13
Energiebutler
omgevingsvariabelen. Deze energieproductie kan worden gezien als een proces dat altijd draaiende is en een variabele energieproductie heeft. Deze agent kan dus informeren over de hoeveelheid energie dat deze kwijt moet.
Een koelkast Een koelkast wordt door een gebruiker ingesteld op een bepaalde temperatuur. Deze temperatuur moet binnen bepaalde marges gehaald worden om de gebruiker te voorzien in de behoefte. Deze temperatuur wordt gehaald door het aan en uit sturen van het koelelement van de koelkast rekening houdend met de capaciteit die op het moment al aanwezig is. De opname van dit vermogen van het koelelement kan worden gezien als een proces dat kan worden aangestuurd en waarbij rekening moet worden gehouden met de capaciteit die aanwezig is. Kortom deze koelkast kan worden gezien als een buffer. Als er aan de agent van een koelkast wordt gevraagd of deze energie kan gebruiken om op te slaan, kan de agent van de koelkast dit afwegen op de eigenschappen (capaciteit) waarmee rekening gehouden moet worden bij aansturing van de processen.
Een accu Een accu heeft de eigenschap dat deze energie kan opslaan verbruiken en leveren. Het opslaan, verbruiken en leveren kan worden gezien als afzonderlijke processen die niet gelijktijdig kunnen optreden. Een accu kan worden aangestuurd door een gebruiker, bijvoorbeeld omdat deze de batterijen in een bepaalde tijd wil hebben opgeladen. Hierbij moet er de mogelijkheid worden gecreëerd om ook inzetbaar in de tijd energie te verbruiken. Als het een accu van bijvoorbeeld een laptop betreft kan deze tegelijkertijd worden opgeladen als deze wordt gebruikt. De capaciteit van de accu neemt dan in mindere mate toe en heeft een hogere energievraag. Op het moment dat deze energie levert is het afhankelijk van capaciteit die deze kan terugleveren. Afhankelijk van de lopende processen heeft een accu een bepaald vraag of leverpatroon. Met de eigenschappen die worden meegestuurd (opslaan of niet) kunnen deze processen worden herkend door de EnergyController en worden stopgezet.
Om terug te komen op de verschillende functies die een apparaat kan bevatten afhankelijk van de wijze van het gebruik, dus de keuze van het proces kunnen we concluderen dat afhankelijk van een proces, wensen van de gebruiker de volgende functies kunnen erkennen aan ieder energieverbruikend of producerend proces. Regelbaar (is energieverbruik of productie regelbaar in vermogen) Schakelbaar (is het mogelijk om dit energieverbruik of productie aan te sturen) Verschuifbaar (is het mogelijk om dit energieverbruik of productie uit te stellen) Opslagmogelijkheid (wordt de energie verbruikt om op te slaan) Teruglever mogelijkheid (is het mogelijk om de energie die opgeslagen wordt achteraf terug te leveren) Energieproductie (is het een energieproductie) Energieverbruik (is het een energieverbruik. Tegenwoordig staat energiebesparing hoog in het vaandel, daaruit vloeit voort dat apparaten die bijvoorbeeld warmte produceren bij een verbruik van elektriciteit, deze warmte ergens anders nuttig kan worden ingezet. Met behulp van de functies die zich in verschillende processen afspelen is dit te beschrijven. Deze eigenschappen gerelateerd aan een proces zijn belangrijk om een optimale energieverdeling te verkrijgen. Daarnaast zijn hoeveelheid en soort energie (tevens afhankelijk van een apparaat) gegevens waarop een regeling kan worden afgesteld. Omdat al de functies die in dit hoofdstuk zijn opgesomd afhankelijk zijn van een apparaat en het gebruik hiervan, zal het gemakkelijk zijn deze eigenschappen te communiceren om de energie optimaal te regelen.
OGO 3.2
14
Energiebutler
3. Energiebutler In dit hoofdstuk komen de doelen en eisen van een energiebutler aan bod. Ook wordt er aandacht besteed aan de wijze waarop de energiebutler is opgebouwd. In de volgende hoofdstukken wordt er dieper ingegaan op de interne werking van de energiebutler.
3.1 Definitie De taak van een energiebutler is het afstemmen van vraag en aanbod van energie rekening houdend met de behoefte van de gebruiker, economische en ecologische aspecten, door te informeren over de huidige toestand. De concrete doelen die hierbij bereikt dienen te worden zijn: De energiebutler moet een kostenbesparing opleveren voor de gebruiker. Het grillige patroon van kleinschalige duurzame opwekeenheden moet worden opgevangen. De energiebutler moet een milieubesparende werking hebben. De energiebutler moet de gebruiker dienen in comfort. Hierbij is het zeer belangrijk, en zelfs cruciaal voor het slagen van het systeem, dat de energiebutler wordt begrepen en geaccepteerd door de gebruiker. Om aan deze voorwaarde te voldoen worden er aan het systeem een aantal eisen gesteld die ook gelden voor een persoon die in dienst is in een huishouden als butler.
3.2 Requirements Een voorwaarde voor het slagen van een project als de energiebutler is dat het geaccepteerd wordt door de gebruiker. Hiervoor is het noodzakelijk dat de consument de voordelen inziet die het systeem met zich meebrengt. Om dit te bewerkstelligen zal de energiebutler op een heldere en eenvoudige wijze moeten communiceren met de gebruiker. De gebruiker moet bijvoorbeeld direct te weten kunnen komen wat de invloed is van een actie, en wat de eventuele besparing is die het hem oplevert. Verder is het van groot belang dat de energiebutler zich aanpast aan de gebruiker; de gebruiker moet bepalen wat de energiebutler doet, en niet andersom. Hierbij moet de energiebutler kunnen anticiperen op veranderende situaties. De volgende eisen worden aan de energiebutler gesteld. Terugkoppeling geven aan de gebruiker. Informatie verlenen over energieverbruik en aanbod. Regelen van energieverbruik en aanbod op economische en ecologische aspecten en de behoefte van de gebruiker.
3.3 Statische aspecten De energiebutler kan volgens de eisen die eraan gesteld zijn bestaan dat uit twee deelsystemen. Een deelsysteem hiervan is een systeem dat de eigenschappen van energieverbruik en aanbod ter beschikking stelt, en de communicatie met de gebruiker voor zijn rekening neemt; de zogenaamde Assistant. Een ander deelsysteem is een regelaar die de eigenschappen van verbruik en aanbod combineert en hiervoor een optimale regeling bedenkt voor het aansturen van apparatuur die hiervoor geschikt zijn, de EnergyController.
3.3.1 Schema’s De Energiebutler stemt energievraag en –aanbod op elkaar af, op een voor de gebruiker acceptabele manier. Hierbij kan hij gebruik maken van een netwerk van andere energiebutlers, die samen tot een zo optimaal mogelijk resultaat komen.
OGO 3.2
15
Energiebutler
EB 2
EB 1
energie vraag
gebruiker energie aanbod
Hieronder is te zien hoe de energiebutler is opgedeeld in de twee deelsystemen, de EnergyController en de Assistant. Ook is te zien dat de EnergyController van de ene energiebutler kan communiceren met de EnergyController van een andere energiebutler
Door een opsplitsing te maken in verschillende soorten apparaten is er een onderscheid te maken in verschillende soorten Assistants. De UserAssistant heeft de mogelijkheid te communiceren met de gebruiker. Dit type wordt gebruikt bij apparaten die energie vragen. De EnergyAssistant wordt gebruikt bij de energieopwekkers. Bij apparaten die zowel de mogelijkheid hebben energie te vragen en te leveren worden de UA en de EA gebruikt.
OGO 3.2
16
Energiebutler
4. EnergyController
Energiebutler UA
EC
EA
4.1 Definitie De EnergyController combineert en optimaliseert energievraag en aanbod, en stuurt apparaten aan.
4.2 Eisen De EnergyController krijgt informatie door van de Assistants. Deze Assistants kunnen energie leveren, dan zien we deze als een EnergyAssistant, of energie vragen, dan zien we deze als UserAssistant. Het verschil hiertussen zit dus alleen in de waarde van de eigenschappen die binnen komen, maar omdat deze informatie op verschillende manieren moet worden verwerkt, maken we hier wel onderscheid tussen. Communicatie Communicatie van Assistant naar EC: Eigenschappen van de Assistant ontvangen: ID, Schakelbaar,Inzetbaar,Opslag,Teruglever,Info,Draaiend Energieaanbod van de Assistant ontvangen: Energy, EnergyType, EnergyPrice, Time Communicatie van EC naar Assistant: Aansturen van UA Energie informatie aanvragen: Energy, EnergyType, EnergyPrice, Time Communicatie van EC naar andere EnergyController Energie informatie aanvragen: Aanvraag Energie informatie teruggeven: Energy, EnergyType, EnergyPrice, Time Aansturen van EnergyController: Communicatie van andere EnergyController naar EC Energie informatie aanvraag krijgen: Aanvraag Energieaanbod van de Energy Controller krijgen: Energy, EnergyType, EnergyPrice, Time Intelligentie De EC weet van alle apparaten, zowel opwekkers als verbruikers, wat de eigenschappen ervan zijn. Deze informatie wordt door de afzonderlijke Assistants doorgegeven. De eigenschappen van de andere Energiebutler zijn standaardwaarden, die al bekend zijn. De EC moet met de mogelijkheden die de apparaten hem bieden een optimale afstemming maken tussen energievraag en aanbod. Hij zal een energieverbruiker het liefst inplannen op een moment dat een energieopwekker tegen lage kosten kan leveren. Energiebalans opmaken Wanneer er energie nodig is, moet de EC een opwekker [EA] zoeken die dit op gaat wekken. Dit kan alleen maar bij de opwekkers die schakelbaar zijn, en die nog niet draaiend zijn. Als een opwekker niet schakelbaar is, en energie levert [bijvoorbeeld een zonnecel], dan is deze energie sowieso beschikbaar. Ook moet er gekeken worden naar de mogelijkheid tot inkopen van energie, van een andere Energiebutler. Van al deze mogelijke energieopwekkers wordt de Soort [EnergyType], Hoeveelheid [Energy], Tijd [Time] en Prijs [EnergyPrice] van de te leveren energie vergeleken. Deze informatie wordt gebruikt bij het inplannen van de
OGO 3.2
17
Energiebutler
energiestromen. Van de energieverbruikers is de energievraag bekend, hierbij zijn alleen de eigenschappen Soort [EnergyType], Hoeveelheid [Energy] en Tijd [Time] van belang bij het opmaken van de energiebalans. Inplannen van energiestromen: Het inplannen van de energiestromen wordt gedaan door het aansturen van apparaten, zowel opwekkers als verbruikers, en mogelijk het inkopen of verkopen van energie. Dit moet dan op een zo efficiënt mogelijke manier gebeuren. Bij het aansturen van een verbruiker [UA] moet de EC rekening houden met de energievraag van het apparaat, en de manieren waarop deze energievraag in de energiebalans te verschuiven is. Door de eigenschappen Schakelbaar, Inzetbaar, Opslag, Teruglever, Info en Draaiend is bekend wat er mogelijk is in de regeling en planning van het apparaat, en aan de energievraag moet op een efficiënte manier voldaan worden door een opwekker. Wanneer er voor de gehele periode van energieverbruik van het apparaat een efficiënte manier van opwekking [EA] mogelijk is, zullen de verbruiker en opwekker beide aangestuurd worden. Is er bijvoorbeeld nog een kleine energiereserve, maar moet er daarna tegen hoge kosten bijgeleverd worden, dan zal er voor gekozen moeten worden om het proces nog uit te stellen tot deze kosten lager zijn. Wanneer een “extra” energiesoort, bijvoorbeeld restwarmte, nuttig gebruikt kan worden, moet de EC dit meenemen in zijn planning. De EC moet dan wel weten waar de restwarmte voor gebruikt kan worden. Deze informatie over deze restwarmte wordt ook doorgegeven door de Assistant, in de vorm van een energieaanbod. Er moet alleen gekozen worden om te gaan bufferen indien er een energieoverschot is, en er geen apparaten meer zijn die nog een openstaande energievraag hebben. De EC weet van de apparaten of ze energie kunnen gebruiken, en ook of ze deze energie eventueel later terug zouden kunnen leveren, of later minder vraag hebben. Er kan dan een Assistant aangestuurd worden die deze mogelijkheid biedt. Handelen Wanneer er een energieoverschot is, en er kan voor een goede prijs aan een andere Energiebutler verkocht worden, zal dit gedaan worden. De prijs waarvoor de energie aangeboden wordt is afhankelijk van de kosten die gemaakt worden bij het opwekken, en de prijs die de andere Energiebutlers doorgeven. Wanneer de prijs op de markt hoog is, zal dus ook de prijs waarvoor de EC zijn energie aanbiedt hoger zijn. Wanneer het inkopen van energie bij een andere Energiebutler mogelijk is, en dit de meest voordelige optie is om aan de energievraag te voldoen, kan dit gedaan worden. Er moet geen energie ingekocht worden wanneer er geen vraag naar is, omdat er dan onnodige energiestromen ontstaan.
OGO 3.2
18
Energiebutler
4.3 Use-Case diagram
OGO 3.2
19
Energiebutler
OGO 3.2
4.4 Klassendiagram
20
Energiebutler
Het klassen diagram is zo opgebouwd dat alle input aan de linkerzijde staat, en de output rechts. De klassen die links staan moeten de inkomende informatie verwerken, en door kunnen geven. De klassen “Energiebalans opmaken over tijdsdomein”, “Prijsbepaling” en “Energiestromen inplannen” moeten met behulp van de informatie verschillende processen doorlopen. Energiebalans opmaken over tijdsdomein Deze klasse is verantwoordelijk voor het opstellen van een energiebalans, waarin alle energiestromen staan. Om dit te kunnen doen, heeft deze klasse alle aanbod van energie van de Assistants nodig. Dit aanbod kan ook negatief zijn, dan is er dus een energievraag. Wanneer er meer energievraag is dan aanbod, dan moet er een methode voor opwekking gevonden worden. Hiervoor stuurt de klasse een informatie aanvraag uit, welke via de klasse “Energie informatie aanvragen” in de output gezet wordt. Deze aanvraag kan dan naar een Assistant of EnergyController gestuurd worden. Wanneer er een aanvraag voor informatie binnen komt (van een andere EnergyController) moet deze klasse een aanbod op kunnen stellen, en teruggeven. De prijs die bij dit aanbod hoort, wordt opgesteld door de klasse “Prijsbepaling”. Het uiteindelijke aanbod wordt via de klasse “Energie informatie teruggeven” in de output geplaatst. De energiebalans die opgezet wordt, moet doorgegeven kunnen worden aan de klassen “Prijsbepaling” en “Energiestromen inplannen”. Prijsbepaling De klasse Prijsbepaling moet, met behulp van de energiebalans en grondstofprijzen, de prijs bepalen waarvoor de energie op te wekken is. Hier gaat het alleen om de prijs die binnen de eigen EnergyController van toepassing is. Wanneer er een prijs opgesteld moet worden voor de verkoop van energie aan een andere EnergyController, dan wordt tevens het energieaanbod van overige EC’s meegenomen. Wanneer bij dit aanbod een hoge prijs hoort, zal de prijs die bij het eigen aanbod geplaatst wordt ook hoger gemaakt worden. Wanneer de kosten voor het opwekken zelf al voor een hogere prijs zorgen dan op dat moment op de markt gemiddeld is, dan moet deze prijs niet verder verhoogd worden. De energieprijzen moeten doorgegeven kunnen worden aan de klassen “Energiebalans opmaken over tijdsdomein” en “Energiestromen inplannen”. Energiestromen inplannen In deze klasse worden de energiestromen ingepland in de tijd. Dit gebeurd met behulp van de energiebalans, energieaanbod van andere EC’s (positief of negatief), energieprijzen en eigenschappen van de Assistants. In de energiebalans zijn alle mogelijke energiestromen opgenomen. Hierbij horen dus alle mogelijke opwekkers, alle energievragen, en het aanbod van andere EC’s. Deze klasse weet op welke manieren deze stromen ingepland kunnen worden, en ook of ze bijvoorbeeld als opslag gebruikt kunnen worden. Dit weet de klasse van de eigenschappen Schakelbaar, Inzetbaar, Opslag, Teruglever, Info en Draaiend, welke aangevraagd kunnen worden bij de klasse “Eigenschappen Assistant krijgen”. Nadat er een planning is gemaakt, waarbij de energiestromen altijd in balans moeten zijn, en de verhouding kosten - energievraag zo goed mogelijk is, moeten de apparaten aangestuurd worden. Wanneer een apparaat aangestuurd moet worden, gaat dat via de klasse “Assistant aansturen”, vanuit waar dit dan in de output gezet wordt. Wanneer er energie ingekocht of verkocht wordt aan een andere EnergyController, gebeurd dit via de klasse “Energy Controller aansturen”.
OGO 3.2
21
Energiebutler
4.5 Sequentiediagrammen Om een duidelijker beeld te krijgen van hoe bepaalde acties binnen de energie controller worden verwerkt wordt een sequentie diagram gebruikt. Er zullen drie verschillende acties worden behandeld met behulp van deze diagrammen. Dat zijn: • Energie vraag doorkrijgen van een User Assistant. • Energie aanbod doorkrijgen van een Energy Assistant. • Energie aanvraag krijgen van een andere Energy Controller.
Een UserAssistant die een energie aanvraag doet bij de EnergyController, zal doorgeven wanneer hij die energie nodig heeft en de hoeveelheid die hij wenst op te nemen. De EnergyController zal vervolgens nagaan hoeveel energie er in zijn cluster wordt aangeboden en verbruikt over een tijdsdomein. De balans die hierdoor ontstaat, zal gebruikt worden voor het bepalen van de prijs waarmee de EnergyController zijn energie zal verkopen aan andere EnergyControllers. De prijs wordt samen met de balans gebruikt voor het inplannen van de gevraagde hoeveelheid energie. Voor dit inplannen zal meer informatie over de eigenschappen van het apparaat worden opgevraagd, zoals informatie over de mogelijkheid van tussentijds uitschakelen. Als de inplanning gemaakt is zal de UserAssistant worden aangestuurd. Daardoor krijgt de UserAssistant informatie over wanneer hij het apparaat waartoe hij behoord mag aanschakelen.
Het aanbod van de Assistent zal naargelang het een vraag of een aanbod is, positief of negatief zijn. Ditzelfde geld ook voor het energieaanbod van en andere Energie Controllers, hierin wordt eveneens informatie gegeven zoals de tijd waarop een andere Energy Controller energie kan leveren en of vragen. Indien een Assistant zich gedraagt als een EnergyAssistant zal het sequentie diagram er soortgelijk uitzien. Alleen zal de User- en Energy -Assistant verwisseld zijn.
OGO 3.2
22
Energiebutler
energieaanbod energieassistent
energiebalans over tijdsdomein
energieaanbod energieassistant
AanbodAssistent()
energievraag userassistant
prijsbepaling
EnergieAanbod EC2
Grondstofprijzen
eigenschappen assistent
Assistent aansturen
energiestromen inplannen
getAanbodAssistent()
getGrondstofprijzen()
getEigenschappenAssistent
AanbodAssistent
Grondstofprijzen
Eigenschappen
Energiebalans()
getEnergieAanbod() EnergieAanbod
Assistentaansturing()
Energieprijzen()
EnergieBalans() Aansturing
Een EnergyController kan om informatie vragen bij een andere EC. De situatie waarin op EC1 zo een aanvraag binnenkomt van EC2 af, is te zien in het sequentie diagram hierboven. Hierin zit ook de vraag of informatie naar een andere EC toe, die wordt hier EC* genoemd. Vanuit EC2 komt de informatie aanvraag binnen, en deze aanvraag wordt doorgegeven aan de klasse “Energiebalans opmaken over tijdsdomein”. Deze zal een Energiebalans en Energieprijzen moeten weten, om de vereiste informatie terug te kunnen geven. Om deze Energiebalans op te stellen, zal aan alle Assistants het aanbod gevraagd worden, en bij EC* om informatie gevraagd worden. Met de antwoorden die hierop komen, zijn alle mogelijke energiestromen bekend, en kan de Energiebalans opgesteld worden. OGO 3.2
23
Energiebutler
Deze Energiebalans wordt vervolgens doorgegeven aan de klasse “Prijsbepaling”, en hieraan wordt ook om de energieprijzen gevraagd. Deze zal nu de grondstofprijzen opvragen, en het energieaanbod dat van EC* bekend is. Met deze informatie kan de klasse een EnergyPrice vaststellen, en teruggeven aan “Energiebalans opmaken over tijdsdomein”. Deze kan, nu de Energiebalans en EnergyPrice bekend is, een aanbod opmaken om terug te laten geven aan de EC2.
OGO 3.2
24
Energiebutler
5. Assistant Een wasmachine wordt door een gebruiker aangestuurd. Afhankelijk van de keuze van een bepaald programma om te wassen vraagt deze wasmachine om elektrische energie aan een regelaar. Deze vraag van energie kan onafhankelijk van de hoeveelheid en soort worden beschreven met de eigenschap dat het een uitstelbaar is in de tijd. Na levering van energie zal er een proces op gang worden gezet. Dit proces voorziet in de behoefte van een gebruiker. Een zonnecel die elektrische energie produceert, voorziet indirect ook in de behoefte van een gebruiker omdat de energie die hierin is opgewekt in een geval naar de wasmachine wordt gestuurd. In dit hoofdstuk wordt de Assistant uitgewerkt. De Assistant is een agent van een apparaat, agenten zijn autonome computerprogramma's die de belangen van de gebruiker behartigen. In dit hoofdstuk worden eerst de statische aspecten van het model uitgewerkt en daarna de dynamische aspecten.
5.1 Modeleren van de statische aspecten van het systeem. In dit deel van worden de eisen van de Assistant opgesteld. Het use-case diagram en het klassendiagram komen aan de orde. Waarbij het use-case diagram een overzicht geeft over de statische aspecten van het systeem. 5.1.1 Definitie Een Assistant kan worden gedefinieerd als een agent die de behoefte van een gebruiker erkent en hierin voorziet doormiddel van communicatie en aansturing van dergelijke processen in contact met een regelaar. 5.1.2 Requirements De eisen die aan de Assistant worden gesteld kunnen algemeen worden omschreven. Met de informatie die eerder is uitgewerkt over de functies van apparaten die in behoeften van een gebruiker voorzien zijn de requirements opgesteld:
Bevat alle informatie over het apparaat o Eigenschappen van het apparaat onderscheiden. Capaciteit onderscheiden (b.v. tot hoe ver is het mogelijk om energie op te slaan) Met welke knoppen er aangestuurd kan worden o In een apparaat kan er maximaal 1 proces draaien. o Welke processen er zich kunnen afspelen in een apparaat o Informatie over het proces Wat het energieverbruik of productie bij een bepaald proces is Tijdsduur Mogelijkheid tot onderbreking Met welke waarde van knoppen op een apparaat is een proces gekenmerkt. Wat is het rendement o Informatie over een bepaald energieverbruik en productie Hoeveelheid Soort Prijs Welk type het verbruik of productie is. o Van welk type het verbruik of productie van een bepaald proces is Regelbaar Energieverbruik Energieproductie Schakelbaarheid Inzetbaarheid Opslagmogelijkheid Mogelijkheid tot terugleveren. o Hoe het apparaat moet worden aangestuurd op een bepaald proces. Bevat informatie over de situatie,
OGO 3.2
25
Energiebutler
5.1.3
o Welke aanstuurbare processen zijn er o Is er een draaiend proces o Welke aanvragen moeten worden verwerkt Onderscheid maken tussen verschillende typen aanvragen o Aanvrager (EnergyController of gebruiker) o Onderscheid maken tussen wensen van aanvrager (informeren of aansturen) Reageren op aanvragen o Informeren over energieverbruik/ productie, prijs eigenschappen en draaiende processen. o Aansturen van apparatuur Gegevens registreren
use-casediagram
Bij het systeem kunnen er actoren worden onderscheiden; de EnergyController, de gebruiker en het apparaat. De use-cases worden beschreven in het sequentiediagram.
OGO 3.2
26
Energiebutler
5.1.4 Het klassendiagram Om een idee te krijgen hoe het systeem is samengesteld is er in dit hoofdstuk een beschrijving gegeven van elke klasse en tevens zal er gedetailleerde informatie bij staan over componenten, zoals attributen en operaties van iedere klasse. Eerst zal er worden beschreven wat de samenhang van de klassen zijn. Deze versie van het klassendiagram volgt direct uit de use-casediagrammen. De klassen die in dit diagram worden beschreven omvatten alle functionele aspecten van het systeem. De Assistant beschrijft een systeem dat gerelateerd is aan de werking van een apparaat. De klasse ‘Device’ kan worden opgezet om de informatie specifiek voor het apparaat, zoals naam e.d. te laten bevatten. Apparaten opereren met zogenaamde functies die op zichzelf eigenschappen bevatten, deze functies worden ook wel processen genoemd, een voorbeeld: een wasautomaat bevat een proces om de was op 70 graden te wassen. Aan dit proces zijn eigenschappen van tijdsduur, energieverbruik e.d. verbonden. Zo wordt er dus een klasse “Proces” geïntroduceerd waarvan een meervoudsrelatie is met de klasse Device. Om naar de kant van de energie te kijken, kunnen processen verschillende soorten energie verbruiken dan wel opwekken. De eigenschappen van de hoeveelheid, soort enz. kunnen worden omvat in een klasse “Energy”. Het energieverbruik of productie heeft ook nog enkele eigenschappen, zoals bedoeld voor opslag in geval van een buffer, of mogelijkheid om deze energie te regelen in bepaald vermogen enz. Deze eigenschappen kunnen in een aparte klasse worden opgenomen, waarvan er maar 1 per klasse ‘Energie’ van bestaat. Er moet ook rekening worden gehouden met de mate van onderbreking van een proces. Om afwegingen te maken of processen op sommige momenten wel of niet kunnen worden onderbroken is er een aparte klasse ontwikkeld “interruption” die in relatie staat met de klasse Process. Een apparaat wordt aangestuurd door buitenaf, deze aanvragen kunnen van verschillende soorten komen. De bedoeling van externe objecten voor het gebruik van het apparaat kan worden vastgelegd in de klasse Request. Via een interface geeft een gebruiker een bepaalde behoefte weer waarna de informatie die hierin is opgeslagen in een klasse Request komt. Request kan bestaan uit aanvragen van personen of van de Regelaar. Om een apparaat van buitenaf aan te sturen (door een individu) moeten er een aantal instellingen worden gedaan. Deze instellingen zijn afhankelijk van het soort apparaat. Er is daarom een klasse ButtonPanel aangebracht die alle knoppen bevat waarmee het apparaat gekenmerkt wordt. De aparte klasse ‘Button’ in relatie met ButtonPanel bevat de eigenschappen die iedere knop heeft. Omdat er verschillende soorten knoppen bestaan, kunnen er implementaties van de knop worden gemaakt. Bijvoorbeeld een ronde knop en een aan uit knop. Een ronde knop moet meerdere variaties kennen van waarden. De klasse output, in relatie met de klasse Device, is nodig om informatie weer te geven voor externe objecten.
OGO 3.2
27
Energiebutler
Klassendiagram op een A3
OGO 3.2
28
Energiebutler
Device De klasse Device is de klasse dat het mogelijk maakt om specifieke eigenschappen en informatie van het apparaat weer te geven. Class attributes Id Name Capacity -
Nummer ter identificeerbaarheid Naam van het apparaat Capaciteit die het apparaat bevat
Class functions setPersonRequest(time, buttonid, value)
-
Public function setOutput()
-
Functie waarbij er een aanvraag wordt aangemaakt voor een persoon Gegevens voor de output worden opgehaald en als uitgang weergeven
Request In de klasse Request worden de eigenschappen van een aanvraag gedefinieerd. Class attributes Id Time Start
-
Nummer ter identificeerbaarheid Tijd waarop aanvraag is gedaan Tijd waarop aanvraag is behandeld
RequestPerson In de klasse RequestPerson worden de aanvragen geregistreerd. Class attributes Time Tijd waarop het proces moet starten Proces Proces dat moet worden aangestuurd tijdens deze actie Class functions RequestPerson(proces,Time)
-
getInfo()
-
Functie waarbij er een aanvraag wordt aangemaakt voor een persoon Geeft informatie terug over het te draaien proces en op welke tijd dat deze gestart wordt.
RequestEnergy In de klasse RequestEnergy worden de aanvragen geregistreerd die door de regelaar zijn teruggekregen. Class attributes Aansturen
-
Uitsturen
-
Informatie aanvragen
-
Aangeven dat er een proces kan worden aangestuurd. Aangegeven dat een draaiend proces uitgestuurd moet worden In dit attribuut staat aangegeven dat er informatie wordt opgevraagd
Class functions getInfo() Geeft informatie terug over wat voor aanvraag er is gedaan Process In deze klasse is informatie beschreven die informatie bevat over een proces. OGO 3.2
29
Energiebutler
Class attributes Name buttonId,value
-
Status
-
Hierin wordt de naam van het proces beschreven Hierin wordt beschreven met welke id’s en waarde van buttons een proces kan worden aangestuurd Hierin staat beschreven of een proces draaiende is of niet
Class functions getProcess(buttonid,buttonValue)
-
getProcessInfo(name,status, energytype, energyproperties) setStatus(status) setOn()
-
setOff()
-
Dit is een functie die teruggeeft of het waar is dat met opgegeven waarden voor buttons, het proces beschreven is. Hierin wordt informatie over het proces teruggegeven, zoals energie verbruik, productie e.d. Hierin kan de status worden veranderd Hiermee wordt een proces gestart en meteen de status veranderd Hiermee wordt gekeken of een proces kan worden gestopt en anders uitgestuurd.
Energy In de klasse energie wordt het energieverbruik en energieproductie berekend Class attributes Id Type Unit Emin Emax Price Regelbaarheid
-
Schakelbaarheid
-
Inzetbaarheid
-
Opslag Teruglever
-
Nummer ter identificeerbaarheid Energietype Eenheid van de energie Minimale energie dat moet worden opgenomen Maximale energie dat moet worden opgenomen Prijs waarvoor de energie is opgewekt Of het mogelijk is om de energieproductie te regelen tussen vermogens Of het mogelijk is om energieproductie en energieverbruik te schakelen Of het mogelijk is om de energie in de tijd te verschuiven Of de energie wordt gebruikt om op te slaan Of de energie die wordt opgeslagen ook teruggeleverd kan worden
Class functions getEnergy(energytype e.d.)
-
In deze functie worden alle eigenschappen van de klasse energie teruggegeven die benodigd zijn bij een output.
Interruption In de klasse interruption is aangegeven wanneer een proces niet kan worden onderbroken Class attributes Time1 Time2
-
Tijd vanaf dat het process is begonnen Tijd wanneer het proces weer kan worden onderbroken
Class functions getInterruption(time,state)
OGO 3.2
-
Krijg terug of het mogelijk is om het proces te onderbreken op een bepaalde tijd met een bepaalde status.
30
Energiebutler
Output In de klasse output is wijze van communicatie weergeven. Class attributes Id Deviceid Energy Energytype Unit Price Regelbaar Schakelbaar Inzetbaar
-
Opslag Teruglevermogelijkheid
-
Informatie
-
Draaiend
-
Class functions Output(info) showOutput -
Nummer ter identificeerbaarheid Identiteit van het apparaat Hoeveelheid energie Type van energie (warmte elektriciteit) Eenheid van energie Energieprijs Of het mogelijk is om de energie te regelen Of het mogelijk is om energie te schakelen Of het mogelijk is om een proces uit te stellen tot welke tijd Of de energie wordt gebruikt om op te slaan Of het mogelijk is om de energie die voor opslag wordt gebruikt nog kan worden teruggeleverd Of de output bedoeld is als informatie voor energielevering Of het proces wat energie verbruikt draaiend is of niet.
Maakt een output aan en communiceer Geeft de output weer op het scherm.
ButtonPanel De klasse ButtonPanel bevat alle informatie over de knoppen die op een apparaat zitten. Class functions Get buttonInfo()
-
Krijgt alle informatie van de buttons.
Button In de klasse button wordt informatie opgeslagen over de instellingen van de button Class attributes Id Name
-
Nummer ter identificeerbaarheid Naam van de button
Class functions Button(state, name, start)
-
getInfo(id,value,state)
-
PaintComponent()
-
MousePressed()
-
OGO 3.2
Een nieuwe button aan en weet de instelling van deze button is gekoppeld aan een startbutton. Geeft informatie terug over de informatie in een button opgeslagen In deze functie is beschreven hoe de button op het display verschijnt Hierin wordt beschreven wat er gebeurd als er een actie mee gebeurt
31
Energiebutler
5.2 Modelleren van de dynamische aspecten van het systeem. Sequentiediagrammen en collaboratiediagrammen kunnen worden gebruikt om de dynamische aspecten van een systeem te modelleren. Om deze aspecten voor de Assistant te modelleren zijn alleen de sequentiediagrammen gegeven. De collaboratiediagrammen kunnen vanuit het sequentiediagram worden verkregen. 5.2.1
Sequentiediagram
Instellen Het instellen van het apparaat is het eerste dynamische proces wat is uitgewerkt in een sequentiediagram. Door middel van een interface kan de gebruiker een waarde van een knop instellen. Deze knop verandert op de interface en afhankelijk van de waarde wordt er een actie opgestart.
OGO 3.2
32
Energiebutler
Starten van het proces door de gebruiker Als er aanvragen zijn gedaan, zal er een output moeten worden verstuurd om informatie over de processen door te geven aan de regelaar. Hieronder is het sequentiediagram weergegeven. De klasse device controleert iedere keer of er aanvragen zijn voor bepaalde processen. Hierna wordt de output gecommuniceerd.
Aanvraag definiëren Na het starten van het proces van de gebruiker wordt er een ‘requestPerson’ aangemaakt. Alle processen worden afgegaan om te kijken of dit proces met de informatie die door de gebruiker is ingegeven kan worden aangestuurd. Daarna wordt de informatie over het proces wat is aangevraagd opgeslagen in een aanvraag.
Proces
Device Set Request
Request
Get Proces if true New Request Get E use Energy use
Ook een EnergyController kan een aanvraag doen voor aansturen of vraag om informatie aan de Assistant. Hierbij wordt de informatie (aansturen/informeren) opgeslagen in een RequestEnergy. OGO 3.2
33
Energiebutler
Top Package::Actor Energy Controller
Request Energy
Set Request (aansturen,informeren)
Uitkomst aanvraag communiceren Om uiteindelijk de gegevens door te geven aan de EnergyController wordt er een output aangemaakt waarin de gegevens worden opgeslagen. Hieronder is dit proces weergegeven.
OGO 3.2
34
Energiebutler
Aanvraag behandelen In het volgende sequentiediagram is het aansturen van een apparaat/opwekker beschreven. Daarin worden de request en output die eerder is aangemaakt meegenomen en doorgegeven.
OGO 3.2
35
Energiebutler
Informeren Het proces van informeren is beschreven in het onderstaande sequentiediagram.
Device
E Request
Request Person
Proces
Get E Request
informeren ==true Get RequestEnergy
true
compare process with energy
true go on
setOutput set Output
get PersonRequest process setOutput set Output
OGO 3.2
36
Energiebutler
Uitsturen van een proces De mogelijkheid van uitsturen moet kunnen gebeuren om energie te optimaliseren. Dit kan van belang zijn bij apparaten die inzetbaar zijn in de tijd. Wanneer er een onverwachte prijsstijging plaats vindt is er de mogelijkheid om deze apparaten tijdelijk te onderbreken.
Device
E Request
Request Person
Interrupt
Proces
Get E Request
uitsturen ==true get draaiend process
true
stop proces get interuption
true, stop
false, let on
setOutput set Output
5.3 Implementatie In deze paragraaf wordt een beeld gegeven van hoe een Assistant in de praktijk met de gebruiker kan gaan communiceren. Er wordt uitgelegd hoe de user-interface van de energiebutler er uit ziet. 5.3.1
Interface
Definitie interface: Schil of bedieningsbeeld; de wijze waarop een programma is vormgegeven op het beeldscherm. Definitie user-interface: Gebruikersmodel; dit is het systeem waarmee de gebruikers in aanraking zullen komen. Een goede user-interface zorgt voor effectievere productiviteit van de gebruiker. Een van de belangrijkste taken van de user interface is zijn gebruiksvriendelijkheid. De gebruiker moet op een gemakkelijke manier zijn wensen door kunnen geven aan de energie butler. Daarbij is er een onderscheid te maken tussen diverse apparaten. Een wasmachine bijvoorbeeld hoeft niet altijd direct OGO 3.2
37
Energiebutler
aan, de term verschuifbaarheid speelt hierbij een grote rol. Een koffiezetapparaat moet daarentegen wel direct aan, de interface hiervan zal dus vrij eenvoudig zijn. Hieronder is een voorbeeld te zien van de interface van een wasmachine. Aangezien het apparaat verschuifbaar is in de tijd wordt er een energiebesparingsknop toegevoegd aan de interface. Hoe verder je de knop draait des te meer tijd heeft de energiebutler om het proces in te plannen; oftewel hoe meer energie het systeem kan besparen. De energy controller stuurt de wasmachine aan zodra er aanbod van energie is of wanneer bijvoorbeeld de energieprijs laag is. Parallel aan het draaien van de knop zal de eindtijd en de smiley veranderen. Des de langer het proces er over mag doen om op te starten, hoe blijer en groener de smiley zal worden. Zoals hieronder waar te nemen is zal bij de bovenste interface de wasmachine direct starten. Daarentegen zal de wasmachine met de onderste interface later in de tijd worden aangestuurd, hiermee wordt dus energie bespaart.
OGO 3.2
38
Energiebutler
6. Koppeling van energiebutlers Een energiebutler optimaliseert de energiestromen op economisch, ecologisch gebied rekening houdend met de behoeften van een gebruiker. Deze energiebutlers kunnen in contact staan met anderen om energieoverschotten en tekorten op te vangen. Het gedeelte in de energiebutler dat deze overschotten en tekorten registreert is de EnergyController. Informatie over energie, prijs e.d. wordt bij koppeling van dergelijke controllers over en weer gecommuniceerd. Het is belangrijk dat deze energie op een goede manier verder wordt verdeeld, daarom is er een mogelijke keuze voor een architectuur voor onderlinge koppeling van verschillende controllers in dit hoofdstuk behandeld.
6.1
Keuze van architectuur
Bij de keuze van een geschikte architectuur voor de onderlinge koppeling van verschillende EnergyControllers is onder andere rekening gehouden met transport verliezen en goede verdeling van energie over verschillende wijken. Een boomstructuur komt hierdoor in aanmerking. Niveau hoog
laag - EnergyController - koppeling
Hierbij zullen de uiteinden in principe van de EnergyControllers op het laagste niveau zijn. Zoals de energy controllers die een huis of kantoor regelen. Maar het kunnen ook grotere bedrijven zijn (hoe kleiner de tak ervoor hoe groter bedrijf). Door de koppelingen ontstaan clusters van energy controllers die meerdere huizen/ kantoren aansturen. Door dit door te zetten worden dus energy controllers verkregen die bijvoorbeeld op woning, wijk, provincie, landelijk niveau met elkaar communiceren.
OGO 3.2
Er is geen koppeling tussen twee energy controllers die meer dan één niveau van elkaar af liggen. De koppeling die hieronder met de pijl is aangegeven wordt dus niet gemaakt. Dit is om verliezen die ontstaan bij het transporteren van energie te beperken. De beschikbare energie zal door de afwezigheid van deze koppeling namelijk pas over een groter gebied worden verspreid indien een groter cluster dat dus meer dan één niveau van een cluster afligt hiernaar vraagt. Eveneens zal hierdoor een groter vermogen kunnen worden getransporteerd, wat een gunstig effect kan hebben op de verliezen bij transport. Het concurreren tussen de verschillende energy controllers zal ook beter verlopen, het is namelijk goed voor te stellen dat een energy controller die op landelijk niveau werkt met andere hoeveelheden energie zal werken dan een energy controller die 39 Energiebutler
hetzelfde op woning/kantoor niveau doet. Dit geeft dus ook de mogelijkheid om grote opwekkers als windmolenparken en kern(fusie)centrales op de energy controllers aan te sluiten doormiddel van een EnergyAssistant op een EnergyController op een hoog niveau. Een andere koppeling die niet zal worden gemaakt is een verticale koppeling (zoals aangegeven door de pijl). Deze koppeling zou bijvoorbeeld twee woningen die ver van elkaar af liggen verbinden. Waardoor een waarschijnlijk wordt dat een kleine hoeveelheid energie transport plaats vindt, welke ongunstiger is dan een grotere inkoop op wijk niveau. Deze koppeling zou verder betekenen dat elk huis een directe mogelijkheid moet hebben om zijn energie direct naar een ander huis te transporteren. Omdat elke huis dan een dergelijk koppeling zou moeten hebben om alle even sterk in de markt te laten staan (zie onderstaande figuur). Het zal duidelijk zijn dat dit ook niet bijdraagt aan de overzichtelijkheid van het net. En daardoor storingen moeilijker te lokaliseren zijn. Een laatste koppeling die niet zal voorkomen is een koppeling waarbij een energy controller is verbonden met twee andere energy controllers van een hogere orde, Dit eveneens om kleine inkopen van energie te voorkomen en transportverliezen te beperken (figuur rechts onder). Een groot voordeel van deze structuur is naast zijn overzichtelijkheid dat het enig sinds compatible is met het huidige net. Er zullen namelijk nog steeds grote energiestromen kunnen plaatsvinden tussen verschillende wijken. Hoewel het streven natuurlijk het creëren van een energie neutrale wijk is. Waarvoor deze structuur ook kan worden toegepast. Een ander voordeel van deze structuur is de hoeveelheid aan informatie die elke energy controller binnenkrijgt beperkt blijft, doordat het aantal koppelingen beperkt blijft. Dit zal een gunstig effect hebben op de snelheid waarmee de controller kan werken. Ook kan een controller direct aan een controller zitten op een hoog niveau zonder een tak onder zich te hebben. Hierbij kan gedacht worden aan EnergyControllers van grote industrieën die ook zelf hun energie opwekken gebruiken.
OGO 3.2
40
Energiebutler
7. Mogelijke uitbreidingen In dit hoofdstuk worden mogelijke uitbreidingen voor de energiebutler aangedragen.
7.1 Energiebesparing door optimalisatie comfort, economie, ecologie. Zoals de energiebutler nu is gedefinieerd kan deze enkel afstemmen van energievraag en aanbod rekening houdend met economische aspecten, ecologische aspecten en comfort van de gebruiker, direct gerelateerd aan energieverbruik. In de energiebutler is er echter nog geen rekening gehouden met de energiebesparing die kan optreden, door juiste afstemming van verschillende comfortparameters. De manier waarop een individu zijn comfort in zijn leefomgeving beoordeeld kan worden beschreven door verschillende comfortgebieden die indirect afhankelijk van elkaar zijn. Zoals bijvoorbeeld ventilatie, verwarming, beveiliging e.d. Een voorbeeld van een mogelijke energiebesparing tussen afweging van verschillende comfortparameters is: Een gebruiker heeft een behoefte voor een bepaalde temperatuur in een ruimte, deze temperatuur kan beschreven worden als een comfortparameter, afhankelijk van de keuze van een verwarmingsstrategie, (luchtverwarming of vloer en wandverwarming) wordt de behaaglijkheid op het gebied van verwarming bepaald. Wandverwarming bestaat immers voor het grootste gedeelte uit stralingswarmte en luchtverwarming bevat grote componenten in het convectieve warmtetransport. Deze keuze van luchtverwarming of vloer en wandverwarming kan afhangen van de goedkoopste manier van verwarmen, maar er kan natuurlijk ook gekeken worden naar optimalisatie van het comfort van een gebruiker. Hier wordt dus een behoefte voor regeling op comfort beschreven, maar hiermee zouden ook energiebesparingen door kunnen optreden. Stel dat er een raam open staat tijdens het verwarmen en het luchtdebiet wat benodigd is om een voldoende te ventileren is op het moment dat het raam open staat hoger dan benodigd. Het zou zonde zijn om te gaan verwarmen als dit raam open staat. Door rekening te houden met deze aspecten kan er energie worden bespaard. Om duidelijk te maken dat er een juiste afweging komt tussen de verschillende aspecten is hieronder een voorbeeld uitgewerkt. Stel, op een werkdag wordt een gebouw verwarmd met wandverwarming en luchtverwarming ten behoeve voor het comfort van een gebruiker. Als er in het weekend een persoon op kantoor komt voor een geringe tijd zou het zonde zijn om de gehele gebouwmassa te verwarmen. Echter wandverwarming heeft als eigenschap dat deze traag is omdat de massa van de gebouwschil eveneens moet verwarmen. Wandverwarming heeft de eigenschap dat deze in de vorm van voornamelijk stralingswarmte wordt aangeboden en ten goede komt tot het comfort van een persoon. Luchtverwarming wordt geassocieerd met convectieve warmte en een snelle opwarmtijd. In het weekend zal voor deze ene persoon dus beter een keuze kunnen worden gemaakt voor luchtverwarming om een grote energiebesparing te genereren. De taken die hierboven zijn beschreven kunnen worden weggelegd bij de energiebutler. Het is dus belangrijk dat er een goede afweging gemaakt moet worden tussen economische ecologische aspecten en de behoeften van de gebruiker op alle comfortgebieden.
OGO 3.2
41
Energiebutler
8. Conclusie Het belangrijkste aspect van de energiebutler is zijn interactie met de gebruiker. Deze interactie vindt plaats doormiddel van de user-interface. De hoofdfunctie van de user-interface is het doorgeven van de wensen van de gebruiker op een gebruiksvriendelijke manier aan de energiebutler. Aangezien sommige apparaten verschuifbaar zijn in de tijd is er een functie energiebesparing toegevoegd aan de interface. Daardoor geef je de mogelijkheid aan de gebruiker om energie te besparen. Deze toepassing is alleen mogelijk bij apparaten die niet direct inzetbaar hoeven te zijn. Daarnaast moet de energiebutler zorgen voor een optimale regeling tussen productie en verbruik van energie rekening houdend met economische aspecten, ecologische aspecten en comfort van de gebruiker direct gerelateerd aan energieverbruik. Daarbij is er een onderscheid gemaakt binnen de energiebutler tussen de regelaars en de agents, in dit geval tussen de energiecontrollers en de Assistants. De energiecontroller heeft als hoofdfunctie de regeling tussen vraag en aanbod. De Assistant worden aan de apparaten gekoppeld. Daarbij moet onderscheid gemaakt worden tussen Assistants die communiceren met de gebruiker, UserAssistant, en Assistants zonder communicatie met de gebruiker, zoals opwekkers, de energie Assistant. De energiecontrollers zijn op verschillende niveaus actief. Daarbij wordt uitgegaan van een soort boomdiagram. De controller van het hoogste niveau staat bovenaan en heeft verschillende energiecontrollers onder zich, deze hebben elk ook weer een aantal controllers onder zich. Dit proces herhaalt zich tot aan het woningniveau. Elke energy controller optimaliseert zijn eigen markt, waaronder ook de onderliggende niveaus, daarbij communiceert hij met zijn bovenliggende controller. Ten slotte zijn er op het gebied van comfort nog enige uitbreidingsmogelijkheden mogelijk voor de energiebutler.
OGO 3.2
42
Energiebutler
9. Literatuurlijst 1.
Rond, de, M.; ”Handboek UML”; Van Duuren Media; Culemborg ; 2005.
2.
Hommelberg, M.P.F; “Software agents t.b.v. een gebouwbeheersysteem”, TU/e,
3.
Hommelberg, M.P.F; “Presentatie TUe inleiding agents”; ECN, 2006
4.
Russel, S. & Norvig, P.; “Artifiacial Intelligence, a modern approach”; Prentice Hall, 2002
5.
Warmer, C.J. & Kamphuis, I.G.; “De C-box”; ECN, 2003
6.
Website Powermatcher; www.powermatcher.nl; ECN
7.
Rijanto, H. & Kersten, W.J.F.; “Dictaat Elektrische energietechniek”; TU/e, 1997
OGO 3.2
43
2004
Energiebutler