Een eindige toestandsmachine is diagram gebruikt voor het organiseren van taken om te bepalen van de verschillende insdustrial systemen (productie, kachel, pomp, transportbanden...).
Alle deze sytems omvatten Staten (geassocieerd met een "actie", dwz: start, uitvoeren, stoppen) sommige van hen zijn "gezocht" of zei "stabiele" anderen "ongewenste" of instabiel zijn. De methode van eindige state machine of het diagram organiseert alleen stabiele staten. Wanneer een trigger of een overgang is voldaan (dwz: sensor op, knop ingedrukt), de vorige toestand is uitgeschakeld en de volgende staat is ingeschakeld.
Voor meer informatie:
http://en.wikipedia.org/wiki/Finite-state_machine
Overige diagrammen hebben bijna de zelfde werking: Moore machine, melig machine, SFC diagram (GRAFCET in het Frans).
In dit instructable zal ik spreken over te voeren een statusmachine in een arduino uno met behulp van SM bibliotheek. Deze bibliotheek kunt u uitvoeren "concurent Staten" of parallelle taken (real-time machines): u kunt vele verschillende machine of onafhankelijke systeem met alleen een microcontroller. Het is zeer krachtig en hoeft niet te veel regels code.
In mijn vorige instructables gebruik ik een eenvoudige manier om een eindige toestandsmachine op mijn arduino licht dimmer (zonder een speciale bibliotheek), maar ik denk dat het is onmogelijk om uit te voeren van de concurent staat en het is zeer moeilijk te gebruiken noodstop (essentiële en bruikbaarheid in indstrial systemen voor veiligheid).
De editor ik gebruikt, trekt diagrammen met SYSML of UML-2 regels en maakt finites stelt machines zoals een mix van Moore/Mealy.
Ik heb 3 "echte" voorbeelden van statusmachine te verkennen allermeest naar de mogelijkheden van de bibliotheek SM.h geïmplementeerd.
PS: Deze methode is geschikt, gemeenschappelijk en goed-gekend voor mensen die werkzaam zijn in de automatisering, vele computer ontwikkelaar niet bevalt. Zie dit artikel: