34 Sterowanie logiczne i sekwencyjne
stanowej. Działanie sterowników programowych z reguły jest oparte na obsłudze zdarzeń.
Działanie maszyny stanowej asynchronicznej przedstawimy na przykładzie alarmu domowego. Urządzenie to będzie się składać z automatu Door oraz automatu Alarm1.
Dla maszyny Door zdefiniujemy następujące zdarzenia wejściowe:
1) DoorMode: 1 -A 0 (zmiana wartości sygnału DoorMode z 1 na 0),
2) DoorMode: 0 —» / (zmiana wartości sygnału DoorMode z 0 na 1),
3) DoorSensor: 1 —>0 (zmiana wartości sygnału DoorSensor z 1 na 0),
4) DoorSensor: 0 —» / (zmiana wartości sygnału DoorSensor z 0 na 1). Zdarzenia wyjściowe tej maszyny stanowią.:
1) wysłanie komunikatu Alen On,
2) wysłanie komunikatu AlenOff'.
Tabela przejść tej maszyny jest przedstawiona w tabl. 4.4.
Tabl. 4.4. tablica przejść asynchronicznej maszyny Door
Stan x(f) |
Zdarzenie wejściowe |
Zdarzenie wyjściowe |
Stan .v</ -r 1) |
DoorModeOn DoorOn |
DoorMode: 1 —* 0 |
DoorModeOff DoorOn | |
ifOorSensor: 1 -rO |
AlenOff |
DoorModeOn DoorOff | |
DoorModeOn DoorOff |
DoorMode: I->0 |
DoorModeOff DoorOff | |
DoorSensor: 0 -> 1 |
AhsnOn |
DoorModeOn DoorOn | |
DoorModeOff' DoorOn |
DoorMode: 0 - > 1 |
AiertOn |
DoorModeOn DoorOn |
DoorSensor 1 -> 0 |
AlenOff |
DoorModeOff DoorOff | |
DoorModeOff DoorOff |
DoorMode: 0 |
DoorModeOn DoorOff | |
DoorSensor; 0 -> 1 |
DoorModeOff DoorOn |
Dla maszyny Alarm zdefiniujemy następujące zdarzenia wejściowe:
1) AlarmEnahle: 1 —>0 (zmiana wartości sygnału AlarmEnable z 1 na 0),
Zakładamy, że zapobieganie sporadycznym drganiom czy podobnym zakłóceniom fang. (lebouncing) jest realizowane w sensorze.