Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 4 von 5 ErsteErste ... 2345 LetzteLetzte
Ergebnis 31 bis 40 von 44

Thema: Verzögerung für nachfolgende Netzwerke

  1. #31
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.649
    Danke
    789
    Erhielt 655 Danke für 498 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von spirit Beitrag anzeigen
    Solange der Befehl BEB aktiv ist, werden die nachfolgenden NW nicht bearbeitet. Und somit verzögert sich doch sehr wohl die Ausführung dieser NW.
    Ja aber jetzt nehmen wir an BEB wird 3ms lang nach Start des FC ausgeführt. Dann werden die nachfolgenden NW nicht bearbeitet.

    Wenn jetzt die Zykluszeit 20ms ist wird der FC gleich wieder aufgerufen und die 3ms starten von neuem. Die nachfolgen netzwerke werden also NIE ausgeführt.

    Wenn die Zykluszeit unter 3ms ist wird die Zeit bei jedem Start von FC1 (der ist ja in jedem Zyklus) neu gestartet, die nachfolgen Netzwerke werden also NIE ausgeführt.

    mfg René

  2. #32
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.327
    Danke
    932
    Erhielt 3.332 Danke für 2.690 Beiträge

    Standard

    Um das Senden zu verzögern würde ich nicht den Sendecode (samt Auswertung) überspringen, sondern einfach nur den Sende-Anstoß verzögern. Einige Kommunikationsbausteine mögen es nicht, wenn man sie nur unregelmäßig aufruft.

    Beispiel: falls Du mit AG_SEND sendest, dann den Eingang ACT verzögert aktivieren.
    Die Ausgänge DONE oder ERROR (oder ggf. ein Empfangsereignis) starten eine Ausschaltverzögerung SA, und diese wird am Eingang ACT als "UN Tx" verknüpft.
    Bei anderen Sendebausteinen läßt sich dieses Prinzip garantiert auch umsetzen.
    Code:
    O  "SND_1_DONE"
    O  "SND_1_ERROR"
    O  "FP_we_got_some"
    L  S5T#20ms
    SA T15
    
    U  "Sendeauftrag"
    UN T15
    =  #SND_1_ACT
    
    CALL "Sendefunktion"
      ACT  :=#SND_1_ACT
      ...
      DONE :="SND_1_DONE"
      ERROR:="SND_1_ERROR"
    PS: Die S7-Timer kann man (und Frau ) nicht für Zeiten kleiner 10ms benutzen.

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  3. #33
    Avatar von spirit
    spirit ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    12.09.2012
    Beiträge
    961
    Danke
    183
    Erhielt 23 Danke für 22 Beiträge

    Standard

    Zitat Zitat von vollmi Beitrag anzeigen
    Ja aber jetzt nehmen wir an BEB wird 3ms lang nach Start des FC ausgeführt. Dann werden die nachfolgenden NW nicht bearbeitet.

    Wenn jetzt die Zykluszeit 20ms ist wird der FC gleich wieder aufgerufen und die 3ms starten von neuem. Die nachfolgen netzwerke werden also NIE ausgeführt.

    mfg René
    Ok René, hier habe ich in der Tat ein echtes Verständnisproblem...

    Ein Zyklus beginnt doch mit dem Lesen der Eingänge in das PAE. Danach erfolgt die Programmabarbeitung im OB1 - es wird in die FC1 gesprungen. Hier ist aber BEB aktiv, so dass zum nächsten FC gesprungen wird. Sind alles FC's abgearbeitet, so erfolgt das Schreiben der Ausgänge aus dem PAA. Hier ist ein Zyklus zu Ende. Im neuen Zyklus beginnt alles wieder von vorne - dann würden ja in der Tat niemals die nachfolgenden NW bearbeitet werden, weil im neuen Zyklus wieder BEB aktiv ist. Aber die Praxis sagt etwas anderes... Wo liegt jetzt mein Denkfehler; doch daran, dass ich blond bin?

    Lieben Dank!
    LG
    spirit

  4. #34
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.649
    Danke
    789
    Erhielt 655 Danke für 498 Beiträge

    Standard

    Poste mal deinen FC inklusive Schnittstelle.

  5. #35
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.649
    Danke
    789
    Erhielt 655 Danke für 498 Beiträge

    Standard

    Zitat Zitat von spirit Beitrag anzeigen
    Aber die Praxis sagt etwas anderes... Wo liegt jetzt mein Denkfehler; doch daran, dass ich blond bin?
    Für die Praxis gilt Regel nummer 7:
    Ein Programm macht was du programmierst, nicht was du willst oder erwartest.

  6. #36
    Avatar von spirit
    spirit ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    12.09.2012
    Beiträge
    961
    Danke
    183
    Erhielt 23 Danke für 22 Beiträge

    Standard

    Weiß nicht was ich falsch mache; aber klappt irgendwie nicht René.

    Habe das Ganze aber jetzt mal so umgebaut wie von Harald vorgeschlagen; und läuft super!


    Werde mir das mit dem Zyklus nochmals in Ruhe durchlesen; habe mit diesem zyklischen Denken echt Probleme - vor allem, was passiert an der Stelle, wenn der Befehl BEB aktiv ist.


    Dank' euch für die Unterstützung...
    LG
    spirit

  7. #37
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.649
    Danke
    789
    Erhielt 655 Danke für 498 Beiträge

    Standard

    Der aktuelle Baustein (FB,FC,OB) wird direkt beendet, alles nach dem BE oder BEB wird nicht mehr ausgeführt (nur in diesem Baustein). Du musst das so sehen als ob in diesem Baustein nach dem BE oder BEB kein Code mehr steht und der Baustein zu ende ist.

    mfG René

  8. #38
    Avatar von spirit
    spirit ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    12.09.2012
    Beiträge
    961
    Danke
    183
    Erhielt 23 Danke für 22 Beiträge

    Standard

    Zitat Zitat von vollmi Beitrag anzeigen
    Der aktuelle Baustein (FB,FC,OB) wird direkt beendet, alles nach dem BE oder BEB wird nicht mehr ausgeführt (nur in diesem Baustein). Du musst das so sehen als ob in diesem Baustein nach dem BE oder BEB kein Code mehr steht und der Baustein zu ende ist.

    mfG René
    Ja ok, das ist klar. Aber was passiert danach... dann werden doch erst die anderen FC's bearbeitet und irgendwann erfolgt ja wieder der Sprung in den besagten FC mit dem Befehl BEB. Aber zu diesem Zeitpunkt hat doch schon ein neuer Zyklus begonnen, so dass BEB erneut ausgeführt wird. Dann aber würde ja alles nach BEB niemals ausgeführt werden; das kann ja auch nicht sein? Zumindest nicht in der Praxis!
    LG
    spirit

  9. #39
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.649
    Danke
    789
    Erhielt 655 Danke für 498 Beiträge

    Standard

    Kommt drauf an. BEB wird ja nur bedingt ausgeführt also wenn du ein U #irgendwas BEB machst dann wird das zeug hinter BEB nur ausgeführt solange #irgenwas "false" ist.

    Was hinter einem BE kommt wird niemals ausgeführt.

    mfg René

  10. #40
    Avatar von spirit
    spirit ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    12.09.2012
    Beiträge
    961
    Danke
    183
    Erhielt 23 Danke für 22 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von vollmi Beitrag anzeigen
    Ja aber jetzt nehmen wir an BEB wird 3ms lang nach Start des FC ausgeführt. Dann werden die nachfolgenden NW nicht bearbeitet.

    Wenn jetzt die Zykluszeit 20ms ist wird der FC gleich wieder aufgerufen und die 3ms starten von neuem.
    mfg René
    Ich glaube hier liegt mein Verständnisproblem René.

    Sagen wir mal der BEB dauert 10ms. Die Zykluszeit beträgt 40ms. So, nun wird beim Aufruf der Fkt. (z.B. über einen Timer) eben dieser besagte Befehl BEB ausgeführt und anschließend die FC sogleich wieder verlassen, da BEB aktiv.

    Innerhalb dieser 40ms Zykluszeit wird ja die FC mit dem BEB-Befehl nicht mehr aufgerufen, sondern erst wieder, wenn ein neuer Zyklus gestartet ist. Dann aber ist ja auch der Timer mit den 10ms längst abgelaufen und wird beim erneuten Funktionsaufruf wieder aktiviert, so dass BEB wieder aktiv ist und die FC verlassen wird. Stimmt das soweit?

    Dann wäre es aber in der Tat ja doch so, dass alles nach BEB niemals durchlaufen wird!

    Das wäre ja dann nur der Fall, wenn die Timerzeit höher als die Zykluszeit gewählt wird.... oder sehe ich das wieder einmal falsch?
    LG
    spirit

Ähnliche Themen

  1. Antworten: 14
    Letzter Beitrag: 09.08.2012, 00:04
  2. Verzögerung bei Übertragung
    Von Woody88 im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 11.06.2011, 21:05
  3. verzögerung zeit bilden
    Von zigelei im Forum Elektronik
    Antworten: 2
    Letzter Beitrag: 15.01.2010, 13:00
  4. sfb30 314ifm verzögerung
    Von jdp001 im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 29.09.2008, 21:50
  5. Verzögerung S7- 200
    Von mmeu im Forum Simatic
    Antworten: 25
    Letzter Beitrag: 05.10.2005, 20:03

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •