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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 12

Thema: Weckalarm 10ms /// Programm zu lang?

  1. #1
    Registriert seit
    10.11.2013
    Beiträge
    81
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    ich habe ein Problem mit dem 10ms Weckalarm bei einer VIPA CPU 314C, ist ziemlich Baugleich mit der 314C-2DP von Siemens. Vipa hat den Ausgabestand geändert und es ist ein Weckalarm-OB weggefallen (100ms), dort hatte ich natürlich auch programmteil drin (Programm lief auf früheren Versionen der CPU anstandslos und jahrelang).

    Jetzt meine Frage, ich habe alles was im 100ms war in den 10ms gepackt. (brauche es im Weckalarm da es Zeitkritische ereignisse sind die bearbeitet werden). Nun hat es auch funktioniert. Jedoch treten neuerdings Probleme auf das Werte aus der VISU nicht übernommen werden, Bits können nicht gesetzt werden vom Panel aus und Werte die eingegeben werden, werden nicht übernommen. Kann es sein das mein Programm im 10ms OB länger als 10ms ist und sporadisch nur der erste Teil bearbeitet wird? Teile der Anlage funktionieren. Wenn ich mir in der Hardwarediagnose die Zykluszeit anzeigen lassen. Ist das inclusive der OB32 Zeiten oder ist das nur der OB1 Zyklus, wenn nur OB1 -> wie bastelt man sich am besten was um die OB32 Zeit zu messen?

    Programm ist größtenteils CFC v7. Alles mit Step7 v5.x programmiert. Wincc Flexible Advanced2008 ist im Einsatz.

    Vielen Dank schonmal, Gruß T.
    Zitieren Zitieren Weckalarm 10ms /// Programm zu lang?  

  2. #2
    Registriert seit
    13.09.2010
    Beiträge
    2.292
    Danke
    178
    Erhielt 375 Danke für 355 Beiträge

    Standard

    .
    Ich kann nur über S7-CPU´s reden, aber vielleicht hilft dir das HIER weiter.

    Evtl. hast du auch Überschneidungen im zeitlichen Ablauf, weil du deinen
    Aufruf des Weckalarms auf 1/10 beschleunigt hast.
    kind regards
    SoftMachine

  3. #3
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.710
    Danke
    398
    Erhielt 2.397 Danke für 1.997 Beiträge

    Standard

    Hallo,

    das sind ja so einige Punkte, die du da hast ...

    also :

    - wenn dein im Zeit-OB laufendes Programm im Zyklus länger wäre als der Zyklus-Takt des Zeit-OB so würdest du einen Systemfehler (wahrscheinlich Zykluszeit-Überschreitung o.ä.) bekommen.
    - die Zeit des OB32 zu messen ist ein kleines Problem. Deine Programm-Zykluszeit ist aber die Zeit, die ein OB1-Durchlauf benötigt. Wenn in der Zeit mehrmals dein Zeit-OB aufgerufen wird dann verlängert sich dein OB1-Zyklus (unkalkulierbar). In jedem Fall aber wird der Zeit-OB "sein Ding" durchziehen.
    - nun zu deiner Visu : Die Vipa-CPU's machen den Datenaustausch mit der Visu (B&B-Dienste) wenn gerade Zeit ist - das kann also mitten im Programmzyklus sein. Wenn du nun in deiner Visu Variablen manipulieren willst, die auch vom SPS-Programm manipuliert werden oder werden können dann wäre das die Erklärung deines Problems. In dem Fall solltest du dir hier etwas anders für die Visu-Variablen ausdenken - z.B. nach einer Änderung sie kontrolliert (vom SPS-Programm kontrolliert) in die Arbeits-Variablen des SPS-Programms schreiben.

    Gruß
    Larry

  4. Folgender Benutzer sagt Danke zu Larry Laffer für den nützlichen Beitrag:

    ducati (20.06.2014)

  5. #4
    Registriert seit
    10.11.2013
    Beiträge
    81
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo und danke euch beiden. Die Tabelle hilft erstmal weiter für die Zukunft. Ich denke aber mal das bei mir der OB32 kurz genug ist damit der OB1 nicht wie von dir beschrieben unkontrollierbar verlängert. Die OB1 Zeit wird mir von der CPU mit 12ms angezeitgt.

    Dachte eigentlich das daher die Probleme mit der VISU kommen. Da dieses erst besteht seitdem ich alles in den 10ms gepackt habe. Wie gesagt Programm an sich ist das selbe wie eh und je,:S bin ein wenig hilflos im Moment.

    Für weitere Anregungen bin ich offen. Werde mir das nächste woche nochmal anschauen genau.

    Gruß

  6. #5
    Registriert seit
    28.06.2003
    Ort
    Nähe Bonn
    Beiträge
    291
    Danke
    15
    Erhielt 92 Danke für 71 Beiträge

    Standard

    Hallo TIA_Tester,

    mach Dir doch einfach einen neuen 100ms Aufruf:
    1. im 10ms OB bei jeden Aufruf einen Zähler (Integerwert) um 1 erhöhen
    2. im Normalprogramm (OB1) den Zähler abfragen,
      wenn >= 10
      dann: 100ms Routine aufrufen
    3. in der 100ms Routine den Zähler auf "0" setzen


    Grüße
    Peter

  7. #6
    Registriert seit
    09.08.2006
    Beiträge
    3.626
    Danke
    911
    Erhielt 656 Danke für 542 Beiträge

    Standard

    Zitat Zitat von Peter Wahlen Beitrag anzeigen
    Hallo TIA_Tester,

    mach Dir doch einfach einen neuen 100ms Aufruf:
    1. im 10ms OB bei jeden Aufruf einen Zähler (Integerwert) um 1 erhöhen
    2. im Normalprogramm (OB1) den Zähler abfragen,
      wenn >= 10
      dann: 100ms Routine aufrufen
    3. in der 100ms Routine den Zähler auf "0" setzen


    Grüße
    Peter
    in CFC geht das mal nicht so einfach, da man die Bausteinaufrufe nicht selbst realisiert... Und wenn man noch Bausteine aus der CFC-Bibliothek verwendet, welche zwingend einen Weckalarm benötigen, schon garnicht.

    Gruß.

  8. Folgender Benutzer sagt Danke zu ducati für den nützlichen Beitrag:

    Peter Wahlen (20.06.2014)

  9. #7
    Registriert seit
    28.06.2003
    Ort
    Nähe Bonn
    Beiträge
    291
    Danke
    15
    Erhielt 92 Danke für 71 Beiträge

    Standard

    Zitat Zitat von TIA_TESTER Beitrag anzeigen
    Hallo,

    ich habe ein Problem mit dem 10ms Weckalarm bei einer VIPA CPU 314C, ist ziemlich Baugleich mit der 314C-2DP von Siemens. Vipa hat den Ausgabestand geändert und es ist ein Weckalarm-OB weggefallen (100ms), dort hatte ich natürlich auch programmteil drin (Programm lief auf früheren Versionen der CPU anstandslos und jahrelang).

    Jetzt meine Frage, ich habe alles was im 100ms war in den 10ms gepackt. (brauche es im Weckalarm da es Zeitkritische ereignisse sind die bearbeitet werden). Nun hat es auch funktioniert. Jedoch treten neuerdings Probleme auf das Werte aus der VISU nicht übernommen werden, Bits können nicht gesetzt werden vom Panel aus und Werte die eingegeben werden, werden nicht übernommen. Kann es sein das mein Programm im 10ms OB länger als 10ms ist und sporadisch nur der erste Teil bearbeitet wird? Teile der Anlage funktionieren. Wenn ich mir in der Hardwarediagnose die Zykluszeit anzeigen lassen. Ist das inclusive der OB32 Zeiten oder ist das nur der OB1 Zyklus, wenn nur OB1 -> wie bastelt man sich am besten was um die OB32 Zeit zu messen?

    Programm ist größtenteils CFC v7. Alles mit Step7 v5.x programmiert. Wincc Flexible Advanced2008 ist im Einsatz.

    Vielen Dank schonmal, Gruß T.
    oh, da sind wohl heute morgen meine Augen noch zu klein

    CFC überlesen und auch keine Ahnung von CFC

    Gruß
    Peter

  10. #8
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.710
    Danke
    398
    Erhielt 2.397 Danke für 1.997 Beiträge

    Standard

    Hallo,
    Zitat Zitat von TIA_TESTER Beitrag anzeigen
    Ich denke aber mal das bei mir der OB32 kurz genug ist damit der OB1 nicht wie von dir beschrieben unkontrollierbar verlängert. Die OB1 Zeit wird mir von der CPU mit 12ms angezeitgt.
    der OB1-Zyklus wird IMMER durch die Aufrufe von Zeit-OB's beeinflußt. Ich denke aber auch, dass das bei dir nicht das Problem ist.

    Zitat Zitat von TIA_TESTER Beitrag anzeigen
    Dachte eigentlich das daher die Probleme mit der VISU kommen. Da dieses erst besteht seitdem ich alles in den 10ms gepackt habe.
    Hast du den von mir genanten Punkt (Variablen, die sowohl von der SPS wie auch von der Visu verändert werden) mal kontrolliert ?
    Vielleicht tust du das mal - dann kommst du ggf. auch weiter ...

    Gruß
    Larry

  11. #9
    Registriert seit
    17.06.2010
    Ort
    nähe Memmingen
    Beiträge
    610
    Danke
    93
    Erhielt 116 Danke für 100 Beiträge

    Standard

    Die Zykluszeit von 100ms in CFC zu verkürzen ist nicht einfach. Die Zeiten sind an vielen Stellen hinterlegt.
    Kürzlich hatte ich bei einer Maschine deshalb eine dynamische Umschaltung der Zeit vorgenommen, das hat da
    gut geholfen. Dazu habe ich die den Weckalarm auf 5ms gestellt und dann mit einem Zähler den Programmaufruf
    alle x Zyklen vorgenommen. Meist läuft das Programm mit x=20 (=100ms) und ist dadurch im original Zustand.

    Nur bei zeitkritischen Zuständen der Maschine habe ich dann auf kleinere x-Werte umgeschalten und dadurch eine
    schnellere Programmbearbeitung erreicht. Auch konnte ich mich so an den maximalen Wert ran tasten bei dem die
    Maschine noch stabil lief.

  12. #10
    Registriert seit
    26.12.2009
    Beiträge
    98
    Danke
    22
    Erhielt 9 Danke für 7 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von ducati Beitrag anzeigen
    in CFC geht das mal nicht so einfach, da man die Bausteinaufrufe nicht selbst realisiert... Und wenn man noch Bausteine aus der CFC-Bibliothek verwendet, welche zwingend einen Weckalarm benötigen, schon garnicht.

    Gruß.
    Hi!

    You can deconnect your scan group from the program hierarchy.
    Use a self resetting counter 0-9 in that runs in a 10ms task, connect the output to trigger your 'own' 100ms scan group.

    Kaputt

Ähnliche Themen

  1. Weckalarm OB 32
    Von Jeremy3 im Forum Simatic
    Antworten: 11
    Letzter Beitrag: 28.11.2012, 10:30
  2. Antworten: 13
    Letzter Beitrag: 12.11.2012, 22:13
  3. Weckalarm
    Von StGo im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 15.03.2012, 10:02
  4. Ausgang auf 10ms genau schalten!
    Von thorsten im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 20.01.2011, 20:06
  5. Antworten: 46
    Letzter Beitrag: 13.02.2009, 16:25

Lesezeichen

Berechtigungen

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