Step 5 Weckalarm 10ms /// Programm zu lang?

TIA_TESTER

Level-1
Beiträge
103
Reaktionspunkte
0
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.
 
.
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.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
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
 
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ß
 
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
 
Zuviel Werbung?
-> Hier kostenlos registrieren
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ß.
 
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
 
Hallo,
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.

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
 
Zuviel Werbung?
-> Hier kostenlos registrieren
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.
 
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
 
viele Bausteine der CFC Bibliothek nutzen das Attribut "S7_sampletime". das macht auf jeden Fall sorgen. aber man kann natuerlich alles moegliche basteln. die saubere Lösung währe eine cpu mit mehreren weckalarmen zu verwenden. bzw den Fehler im Programm zu suchen, warum die visuanbindung nicht funktioniert.
Gruß
 
Zuviel Werbung?
-> Hier kostenlos registrieren
An den Standardeinstellungen drehen kann mehr Probleme machen als lösen.
Das ist leider so und daher pflichte ich ducati voll ganz bei.
Such deinen Fehler, das ist vermutlich der bessere Weg.

bike
 
Zurück
Oben