# Schrittkette zurück setzen mit SET ... kein verständniss wann SET ausfgefürt wird



## Padi0-000 (18 August 2021)

Hallo zusammen,

Bin sehr neu was das programmieren über AWL betrifft.
habe bis jetzt immer nur FUP bei logo Modulen programmiert.

Hoffe es kann mir jemand helfen das unten aufgelistete Netzwerk zu entschlüssenl was in welchem Schritt passiert, da ich die Zeiten nicht verstehe und den letzten Teil wo die Schrittkette mit SET zurückgesetzt wird.

Wodurch wird Set ausgelöst und wozu gibt es die 10 Sec verzögerung beim Qittieren

Das Programm ein mal mit opperanten und mit Symbolen
Hoffe es kann mir jemand helfen ..

Gruß Patrick



//---Quittiertaster auswertung Flanke
      U     "E-Quittieren"
      O     "DB VISU Einschaltungen".Gesamteinschaltung.Quittieren
      L     S5T#1S
      SV    "T-Störung-CLR"

//-Visu Quittierung DELL
      U     "DB VISU Einschaltungen".Gesamteinschaltung.Quittieren
      R     "DB VISU Einschaltungen".Gesamteinschaltung.Quittieren

//---Sammelstörungen Quittieren
      U     "T-Störung-CLR"
      =     "DB System".System.Stoerung_quittieren

      U     "E-Quittieren"
      L     S5T#10S
      SE    "T-Störungen-CLR"

      U     "Steuerspg. quittieren"
      UN    "Steuerspg. Anlage bereit"
      U     "DB System".System.Nullmerker
      O(   
      U     "T-Störungen-CLR"
      FP    "M-Flanke-Quittieren"
      )    
      SPBN  Fill

      L     0
      T     #SFC21_BVAL

      CALL  "FILL"
       BVAL   :=#SFC21_BVAL
       RET_VAL:=#SFC21_RET_VAL
       BLK    :=P#DB210.DBX0.0 BYTE 112

//-Schrittketten DELL
      SET  
      R     "DB 998 - VISU".SB998D01_01.Animation.LS_Ende
      R     "DB 998 - VISU".SB998D01_02.Animation.LS_Ende
      R     "DB 998 - VISU".SB998D01_03.Animation.LS_Ende
      R     "DB 998 - VISU".SB998D01_04.Animation.LS_Ende
      R     "DB 998 - VISU".SB998D01_05.Animation.LS_Ende
      R     "DB 998 - VISU".SB998D02_01.Animation.LS_Ende
      R     "DB 998 - VISU".SB998D02_02.Animation.LS_Ende
      R     "DB 998 - VISU".SB998D02_03.Animation.LS_Ende
      R     "DB 998 - VISU".SB998D02_04.Animation.LS_Ende
      R     "DB 998 - VISU".SB998D02_05.Animation.LS_Ende
      R     "DB 998 - VISU".SB998D02_06.Animation.LS_Ende

      R     "DB 998 - VISU".SB998D01_03.Allgemein.Uebernahme
      R     "DB 998 - VISU".SB998D01_04.Allgemein.Uebernahme
      R     "DB 998 - VISU".SB998D01_05.Allgemein.Uebernahme
      R     "DB 998 - VISU".SB998D02_01.Allgemein.Uebernahme
      R     "DB 998 - VISU".SB998D02_02.Allgemein.Uebernahme
      R     "DB 998 - VISU".SB998D02_03.Allgemein.Uebernahme
      R     "DB 998 - VISU".SB998D02_04.Allgemein.Uebernahme

      R     "DB 998 - VISU".SB998D01_03.Animation.Band_belegt


      R     "DB 999 - VISU".SB999D01_01.Animation.LS_Ende
      R     "DB 999 - VISU".SB999D01_02.Animation.LS_Ende
      R     "DB 999 - VISU".SB999D01_03.Animation.LS_Ende
      R     "DB 999 - VISU".SB999D01_04.Animation.LS_Ende
      R     "DB 999 - VISU".SB999D01_05.Animation.LS_Ende
      R     "DB 999 - VISU".SB999D02_01.Animation.LS_Ende
      R     "DB 999 - VISU".SB999D02_02.Animation.LS_Ende
      R     "DB 999 - VISU".SB999D02_03.Animation.LS_Ende
      R     "DB 999 - VISU".SB999D02_04.Animation.LS_Ende
      R     "DB 999 - VISU".SB999D02_05.Animation.LS_Ende
      R     "DB 999 - VISU".SB999D02_06.Animation.LS_Ende

      R     "DB 999 - VISU".SB999D01_03.Allgemein.Uebernahme
      R     "DB 999 - VISU".SB999D01_04.Allgemein.Uebernahme
      R     "DB 999 - VISU".SB999D01_05.Allgemein.Uebernahme
      R     "DB 999 - VISU".SB999D02_01.Allgemein.Uebernahme
      R     "DB 999 - VISU".SB999D02_02.Allgemein.Uebernahme
      R     "DB 999 - VISU".SB999D02_03.Allgemein.Uebernahme
      R     "DB 999 - VISU".SB999D02_04.Allgemein.Uebernahme

      R     "DB 999 - VISU".SB999D01_03.Animation.Band_belegt


//---Quittiertaster auswertung Flanke
      U     E      4.1
      O     DB230.DBX   18.7
      L     S5T#1S
      SV    T      8

//-Visu Quittierung DELL
      U     DB230.DBX   18.7
      R     DB230.DBX   18.7

//---Sammelstörungen Quittieren
      U     T      8
      =     DB1.DBX   14.0

      U     E      4.1
      L     S5T#10S
      SE    T      9

      U     T      0
      UN    T      1
      U     DB1.DBX   10.0
      O(   
      U     T      9
      FP    M      1.4
      )    
      SPBN  Fill

      L     0
      T     #SFC21_BVAL

      CALL  SFC   21
       BVAL   :=#SFC21_BVAL
       RET_VAL:=#SFC21_RET_VAL
       BLK    :=P#DB210.DBX0.0 BYTE 112

//-Schrittketten DELL
      SET  
      R     DB2011.DBX   59.0
      R     DB2011.DBX   83.0
      R     DB2011.DBX  107.0
      R     DB2011.DBX  131.0
      R     DB2011.DBX  155.0
      R     DB2011.DBX  179.0
      R     DB2011.DBX  203.0
      R     DB2011.DBX  227.0
      R     DB2011.DBX  251.0
      R     DB2011.DBX  275.0
      R     DB2011.DBX  299.0

      R     DB2011.DBX  108.0
      R     DB2011.DBX  132.0
      R     DB2011.DBX  156.0
      R     DB2011.DBX  180.0
      R     DB2011.DBX  204.0
      R     DB2011.DBX  228.0
      R     DB2011.DBX  252.0

      R     DB2011.DBX  107.2


      R     DB2021.DBX   59.0
      R     DB2021.DBX   83.0
      R     DB2021.DBX  107.0
      R     DB2021.DBX  131.0
      R     DB2021.DBX  155.0
      R     DB2021.DBX  179.0
      R     DB2021.DBX  203.0
      R     DB2021.DBX  227.0
      R     DB2021.DBX  251.0
      R     DB2021.DBX  275.0
      R     DB2021.DBX  299.0

      R     DB2021.DBX  108.0
      R     DB2021.DBX  132.0
      R     DB2021.DBX  156.0
      R     DB2021.DBX  180.0
      R     DB2021.DBX  204.0
      R     DB2021.DBX  228.0
      R     DB2021.DBX  252.0

      R     DB2021.DBX  107.2

Fill: NOP   0


----------



## Heinileini (18 August 2021)

Padi0-000 schrieb:


> ... da ich die Zeiten nicht verstehe und den letzten Teil wo die Schrittkette mit SET zurückgesetzt wird.
> 
> Wodurch wird Set ausgelöst und wozu gibt es die 10 Sec verzögerung beim Qittieren


SET wird nicht ausgelöst, sondern weist die CPU jedesmal an, das "VKE" (VerknüpfungsErgebnis) zu setzen, wenn dieser Befehl durchlaufen wird.
Die folgenden RücksetzBefehle, die nur "bedingt" rücksetzen (also nur, wenn dass VKE true ist), werden folglich auch jedesmal ausgeführt, wenn sie durchlaufen werden.
In dem ProgrammSchnippsel kommen 4 verschiedene Timer vor (T0, T1, T8 und T9) vor.
Wo, wann, wie sie warum T0 und T1 gestartet werden, ist nicht ersichtlich.
T8 wird als "ImpulsVerlängerung" gestartet, d.h. er läuft nach dem Starten mindestens 1 s, auch wenn das Signal, das ihn gestartet hat, längst wieder 0 ist.
T9 wird als EinschaltVerzögerung gestartet, d.h. das Signal, das ihn startet, muss mindesten 10 s lang anstehen, erst danach wird der Ausgang des Timers true und wird erst dann wieder 0, wenn das Signal, das ihn gestartet hat, auch wieder zu 0 wird.
Die Gedanken, die zur Verwendung der Timer geführt haben, kann ich nicht ergründen. Darüber wirst Du, der die Bedienoberfläche bzw. das "Umfeld" anscheinend kennt, erfolgreicher spekulieren können.


----------



## Padi0-000 (18 August 2021)

Hallo danke erst mal für die schnelle Antwort.

Wann wird denn der Befehl SET durchlaufen ?

laut Aussage soll es so gewesen sein, daß nach 10 Sec drücken von der Quittierung Störung die Schrittkette zurück gesetzt wird, aber das sehe ich nicht , bzw. verstehe ich nicht wie ... 

Das das VKE der Datenbausteine Rücksetzen der Schrittkette bedeutet, habe ich schon erfolgreich getestet.


----------



## Padi0-000 (18 August 2021)

T0 und T1 Sind zeiten der Steuerspannung bedeutet dann so viel , daß entweder das Qittieren der Steuerspannung mit T0 und nooch nicht verzogert Anlage EIn T1 oder die Steigende Flanke von T9 die Störungen Qittieren 

Nur verstehe ich halt nicht wann der Befehl SET Durch läuft ... ? bei jedem Zyklus oder wenn  

SPBN  Fill

     L     0
     T     #SFC21_BVAL

     CALL  SFC   21
      BVAL   :=#SFC21_BVAL
      RET_VAL:=#SFC21_RET_VAL
      BLK    :=P#DB210.DBX0.0 BYTE 112


Durch gelaufen ist.


----------



## Heinileini (18 August 2021)

Padi0-000 schrieb:


> laut Aussage soll es so gewesen sein, daß nach 10 Sec drücken von der Quittierung Störung die Schrittkette zurück gesetzt wird, aber das sehe ich nicht , bzw. verstehe ich nicht wie ...


Die Befehle nach ...

```
...
O(
U "T-Störungen-CLR"
FP "M-Flanke-Quittieren"
)
SPBN Fill
```
... werden nur durchlaufen, wenn die positive Flanke des "T-Störungen-CLR" auftritt oder die Bedingung ...

```
U T 0
UN T 1
U DB1.DBX 10.0
```
... erfüllt ist. Ansonsten wird der Rest, bis zur Marke "Fill:" übersprungen.


----------



## Padi0-000 (18 August 2021)

Super Danke .

Also bedeutet es in meinem fall ..
wenn die steuerspannung Quittiert wird

U T 0
UN T 1
U DB1.DBX 10.0

oder Störung Quittiert

O(
U "T-Störungen-CLR"
FP "M-Flanke-Quittieren"
)

Wird das Netzwerk normal weiter bearbeitet mit

L     0
    T     #SFC21_BVAL

    CALL  SFC   21
     BVAL   :=#SFC21_BVAL
     RET_VAL:=#SFC21_RET_VAL
     BLK    :=P#DB210.DBX0.0 BYTE 112
USW.

Passiert nichts davon wird mit dem Befehl
*SPBN  Fill *
gesprungen
in meinem Fall ende des Netzwerkes.


Verstehe ich das richtig ? daß die AWL von oben nach unten abgearbeitet wird ?

und der befel wie SET in meinem fall dann nicht mehr, da durch.
SPBN Springe, wenn VKE = 0 ........................................................................
Zum Netzwerk ende gesprungen wird




Danke Schön für die Hilfe , gibt es hier die möglichkeit dir zu danken wie in anderen Foren ?


----------



## Ralle (18 August 2021)

Padi0-000 schrieb:


> Danke Schön für die Hilfe , gibt es hier die möglichkeit zu dir zu danken wie in anderen Foren ?


Unter den Beitrag  recht steht "Like", das kannst du nutzen.


----------



## Heinileini (18 August 2021)

Padi0-000 schrieb:


> Verstehe ich das richtig ? daß die AWL von oben nach unten abgearbeitet wird ?


Genau!
Ausnahme: wenn ein Sprungbefehl zu einer Marke springt, die "weiter oben" steht, als der Sprungbefehl.
Vorsicht mit solchen Konstrukten: das Programm läuft dann in einer "Schleife". Wenn im Programm nicht für einen Sprung aus der Schleife gesorgt wird, wird sie zu einer "EndlosSchleife", die die CPU zu lange (im ExtremFall "endlos") mit ihrer Abarbeitung beschäftigt und das ist insbesondere für ein "zyklisches" Programm nicht zulässig.


----------

