|
|
 |
intelligente ovenbesturing |
|
|
| |
Ook bij het oven project is PragmaLab vanaf de start betrokken geweest. Het betrof een oven die modulair ontworpen diende te worden. Dat betekende dat de oven uitgeleverd kon worden met verschillende configuraties: met of zonder booster, gas-verwarmd of elektrisch verwarmd, met of zonder blower, etc, etc. Voor het software ontwerp resulteerde dat in strak gedefinieerde modules die met en zonder elkaar in hetzelfde systeem aanwezig konden zijn.
Het vastleggen van de interfaces tussen de verschillende modules en het trekken van de functionele scheidslijnen was zeer voornaam.
|
| |
|
|
De oven is in staat complete recepten sequentieel uit te voeren. Een recept kent bijvoorbeeld stappen als 'voorverwarmen' , 'cook & hold', 'stomen', of ''regenereren'. De oven kan op verschillende manieren een gerecht verwarmen en zelfs de kerntemperatuur van het gerecht gebruiken om de regeling te aan te sturen. Een recept kan ter plekke op de oven samengesteld worden en opgeslagen. Recepten kunnen ook met behulp van een PC-applicatie samengesteld worden en later in de oven ge-upload worden. Om recepten van oven naar oven te transporteren, werd gebruik gemaakt van een tag-reader waarmee middels een RFID-techniek (Mifare) de recepten van de oven op de tag werden gezet, en later weer van tag naar oven werden overgezet. Deze contactloze manier van data-overdracht is in een keuken zeer praktisch.
De oven kent voor de bediening honderden verschillende schermen. Middels de softkeys die rondom het scherm geplaatst zijn, kan men keuzes maken in het menu. |
 |
|
| |
| Omdat er zoveel verschillende schermen gebruikt worden in de applicatie, heeft PragmaLab een taal ontwikkeld (PMDF: PragmaLab Menu Definition Language), die een technische gebruiker in staat stelt interactieve schermen te ontwerpen op de PC. De schermdefinities die uit deze ontwerpen vloeien, worden als modules naar de oven ge-upload. Een embedded parser aan boord van de oven vertaalt de schermdefinities naar een scherm waarbij gebruik gemaakt wordt van een ingekochte grafische bibliotheek. |
| |
|
|
Een scherm kent vele eigenschappen. Zo kan een scherm op een template gebaseerd zijn om zodoende de basis functies in een scherm niet elke keer opnieuw te hoeven definiëren. Een scherm is middels de softkeys gekoppeld aan andere schermen en kent tal van acties die gestart kunnen worden indien het scherm getoond of verlaten wordt of wanneer er een softkey wordt ingedrukt. Ook kennen schermen condities waaraan voldoen moet zijn als een scherm getoond moet worden. Een alternatief scherm kan worden gedefinieerd wanneer de conditie niet-waar was.
|
|
 |
| |
| Gaandeweg het project werd de schermdefinitie taal verder uitgebreid met geavanceerdere functies. Zo werd niet alleen de layout compleet beschreven in de taal (font, positie van labels en graphics, etc), maar hoe langer hoe meer werd ook het gedrag van de oven beschreven in de taal. Het indrukken van een softkey had tot gevolg dat er een ander scherm getoond werd, of dat een actie gestart moest worden. Een actie is bijvoorbeeld het starten van een gekozen recept of het toevoegen van een stap aan een recept. Bijna het hele gedrag van de oven werd uiteindelijk in schermdefinities vastgelegd. Een simulator op de PC stelde de eindgebruiker in een vroeg stadium in staat de uitwerking van de schermen te ervaren, nog voor de code op de echte oven werd ingezet. |
| |
Met de schermdefinities werd onder andere een complete recepten-editor gebouwd in de oven: er konden recepten worden aangemaakt, gewijzigd of verwijderd. Ook konden recepten in groepen bijeen worden gezet, zodat men een groep 'banket', of 'vlees' kon gebruiken.
Binnen een recept kon men stappen wijzigen, toevoegen of verwijderen.
Buiten de oven kon men diezelfde recepten aanmaken en beheren via een PC-applicatie, de 'Profile Composer' genaamd. Het resultaat van beide acties (op de oven of op de PC) kwam terecht in zogeheten profile bestanden en deze konden in iedere oven ge-upload worden. |
|
 |
| |
Vanwege het modulaire karakter van de ovens, kon het voorkomen dat een stap in een recept een hardware onderdeel vereiste dat niet in de oven aanwezig was. Voordat een recept werd gestart werd hierop gecheckt en indien mogelijk werd het recept op een alternatieve manier bereid. Indien het recept op de betreffende oven niet bereid kon worden, volgde een waarschuwing.
Met recht een 'intelligente' ovenbesturing dus..... |
| |
|
|
|
|
|
|
|
|
|