PLC Siemens

Trigger, timer w SCL - programowanie PLC w języku SCL #3

mgr inż. Kamil Biedulski 2 min czytania

Kontynuujmy pracę z programowaniem dla podajnika w języku LAD i SCL.

Lista zmiennych:

Nazwa zmiennejTypAdres
xPrzyciskStart Bool Bool%I0.0
xPrzyciskStopBool%I0.1
xPodajnikUruchomBool%Q0.0
xSensorBool%I0.2

Scenariusz nr 7: Dojazd za czujnik, mierząc od przodu kontenera 😀

Aby kontener przejechał zadaną drogę za wiązkę czujnika, zastosujemy timer typu TON (Timer On-delay). Ustawiony czas 750 ms pozwala na przesunięcie kontenera za czujnik o zadany dystans.

Jak to napisać w języku SCL?🤔

W języku SCL musisz wywołać instrukcję timera w postacji jak w linii nr 1. W instrukcji IF... odnosisz się do wyjścia Q timera.

"IEC_Timer_SensorStop_DB".TON(IN := NOT "xSensor",
                              PT := T#750ms);

IF NOT "xPrzyciskStop"
    OR "IEC_Timer_SensorStop_DB".Q
THEN
    "xPodajnikUruchom" := 0;
ELSIF "xPrzyciskStart" THEN
    "xPodajnikUruchom" := 1;
END_IF;

Scenariusz nr 8: Dojazd za czujnik, mierząc od tyłu kontenera 😀

Załóżmy teraz, że zależy nam, aby dystans jaki pokona kontener był mierzony od jego końca. Teraz musimy w programie uchwycić moment, w którym koniec kontenera przestaje przecinać wiązkę czujnika i dodatkowo wydłużyć czas ruchu tego obiektu. Zastosujemy tutaj timer TOF (Timer OFF-delay), który niejako "przedłuży" stan wysoki sygnału z czujnika i następnie wykryjemy zbocze opadające sygnału wyjściowego timera poprzez F_TRIG.

Jak to napisać w języku SCL?🤔

W języku SCL musisz wywołać instrukcję timera oraz triggera przed wywołaniem instrukcji IF...

"IEC_Timer_SensorStop_DB".TOF(IN:=NOT "xSensor",
                              PT:=T#750ms);
"F_TRIG_DB"(CLK:="IEC_Timer_SensorStop_DB".Q);


IF NOT "xPrzyciskStop"
    OR "F_TRIG_DB".Q
THEN
    "xPodajnikUruchom" := 0;
ELSIF "xPrzyciskStart" THEN
    "xPodajnikUruchom" := 1;
END_IF;

  1. Część #1: Operator przypisania, operacje bool'owskie - programowanie PLC w języku SCL na przykładach
  2. Część #2: Przerzutniki w SCL - programowanie PLC w języku SCL na przykładach
  3. Część #3: Triggery, timery - programowanie PLC w języku SCL na przykładach

Co dalej? 😀

Na razie to na tyle... Zapraszam Cię do sprawdzenia pełnego kursu programowania PLC Siemensa w języku SCL w linku poniżej:

Autor mgr inż. Kamil Biedulski

Założyciel ControlByte, programista PLC. 12+ lat w automatyce przemysłowej. Autor kursów Siemens S7-1200/1500 (LAD/FBD, SCL, Safety), komunikacji przemysłowej, serwonapędów i schematów elektrycznych.

Kursy online

Chcesz programować PLC w praktyce?

Kursy Siemens, CODESYS, komunikacji i safety z certyfikatem i wsparciem instruktora. Zacznij od bezpłatnego minikursu.

Zobacz kursy