W języku LD (zgodnie z IEC 61131-3) symbole styków NO/NC oznaczają warunek logiczny dla bitu wejściowego, a niekoniecznie "taki sam" typ styku jak w aparacie fizycznym.
Jak zachowuje się S1 (fizyczny NO)? Gdy nie jest wciśnięty, obwód jest otwarty i typowo na wejściu PLC mamy 0. Po wciśnięciu S1 zamyka obwód, więc wejście I0.0 przyjmuje 1. Żeby start następował po wciśnięciu, w programie stosuje się styk programowy NO, który przewodzi, gdy I0.0=1.
Jak zachowuje się S2 (fizyczny NC, awaryjny)? W stanie normalnym (awaria nieaktywna) styk jest zamknięty, więc PLC widzi 1 na I0.1. Po wciśnięciu awaryjnym styk się rozwiera i wejście przechodzi na 0. Wymagana funkcja to: układ ma działać, gdy I0.1=1 oraz ma się zatrzymać, gdy I0.1=0. To dokładnie odpowiada zastosowaniu styku programowego NO dla I0.1 (przewodzi przy 1, blokuje przy 0).
Dlaczego pozostałe warianty są błędne?
- Wariant z I0.1 jako styk NC odwraca logikę: przy normalnym I0.1=1 styk NC w LD blokuje tor i układ nie wystartuje (albo będzie działał "na awarii").
- Wariant z I0.0 jako styk NC powoduje, że start jest aktywny bez naciśnięcia S1 (bo NC przewodzi przy 0), co nie odwzorowuje przycisku NO.
- Wariant z oboma stykami NC odwraca działanie zarówno startu, jak i awaryjnego stopu, przez co zachowanie układu staje się nielogiczne i niezgodne ze schematem.
Podtrzymanie realizuje się przez włączenie styku wyjścia Q0.0 równolegle do S1 (I0.0). Dzięki temu po krótkim naciśnięciu S1 wyjście pozostaje w stanie 1, aż do przerwania toru (np. zadziałaniem S2).