4.3 Relatie tussen toestandsdiagrammen en het systeem

Een toestandsovergang wordt uitgevoerd op basis van informatie uit de sensoren en soms ook op basis van een klok of timer. Hieronder enkele voorbeelden van dat soort informatie:

  • De temperatuur is hoger dan 21 graden.
  • De drukknop wordt ingedrukt.
  • De drukknop wordt losgelaten.
  • De bewegingssensor detecteert een beweging.
  • De afstandssensor detecteert een object op een afstand kleiner dan 20 cm.
  • De geluidssensor detecteert geen geluid van meer dan 40 decibel.
  • De klok geeft aan dat het 13.00 uur is geworden.
  • De timer van 1 seconde is verstreken.

Het kunnen ook combinaties zijn van dit soort informatie, bijvoorbeeld ‘de knop is ingedrukt EN de afstand tot een object is niet kleiner dan 20 cm.’
Een toestandsovergang hoeft niet per se een verandering te zijn, kijk maar naar de tabel hieronder.

Verandering Geen verandering
Drukknop De drukknop wordt ingedrukt: de drukknop verandert van niet ingedrukt naar wel ingedrukt De drukknop is ingedrukt (iemand heeft zijn vinger op dit moment op de knop)
Afstandssensor Er komt een object binnen een afstand van 20,0 cm Er is een object binnen een afstand van 20,0 cm.
Temperatuur De temperatuur verandert van lager dan 21,0 graden naar groter dan of gelijk aan 21,0 graden. De temperatuur is groter dan of gelijk aan 21,0 graden.

Welke toestandsovergangen moet je nu kiezen bij het ontwerpen van een systeem? Over het algemeen is het goed om te kiezen voor toestandsovergangen zonder verandering (rechterkolom van de tabel). Het programmeren is dan vaak eenvoudiger. Het nadeel is wel dat het toestandsdiagram uitgebreider wordt. Dat heb je kunnen zien bij de opdracht over de hotelschakeling (3.3.6.1 Opdracht: hotelschakeling).