Układ "sygnalizatora wolnych miejsc" sprowadza się do utrzymywania w PLC jednej zmiennej stanu opisującej bieżące obciążenie parkingu (np. liczbę zajętych miejsc albo liczbę wolnych miejsc). Dla parkingu o pojemności 10 program musi poprawnie reagować na:
- wjazd wykrywany czujnikiem NO na I0.0,
- wyjazd wykrywany czujnikiem na I0.1,
- reset realizowany przyciskiem NO na I0.2.
Najczęściej poprawna realizacja wykorzystuje licznik (w praktyce często licznik dwukierunkowy) albo równoważną logikę: wjazd zmienia stan o 1 w jedną stronę, a wyjazd o 1 w przeciwną. Niezależnie od tego, czy liczysz "zajęte" czy "wolne", musisz zachować spójność:
- Jeśli liczysz wolne miejsca, wjazd je zmniejsza, a wyjazd zwiększa.
- Jeśli liczysz zajęte miejsca, wjazd je zwiększa, a wyjazd zmniejsza.
Sygnalizacja wynika bezpośrednio z progu: zielone światło oznacza, że istnieje co najmniej jedno wolne miejsce, a czerwone – że wolnych miejsc nie ma. Dlatego w programie musi istnieć porównanie do wartości granicznej (0 lub 10 – zależnie od przyjętej zmiennej) oraz odpowiednie ustawienie wyjść lamp.
Typowe błędy w rozwiązaniach błędnych to: brak obsługi resetu, brak ograniczeń (możliwość "przewinięcia" licznika poniżej 0 lub powyżej 10), odwrócona logika lampek (zielone przy pełnym parkingu), albo wielokrotne zliczanie podczas podtrzymania sygnału z czujnika (zamiast zliczania impulsu/zbocza). Rozwiązanie poprawne spełnia wszystkie założenia jednocześnie: poprawne zliczanie w obu kierunkach, reset oraz jednoznaczne progi sterujące zielonym i czerwonym światłem.