Todes-Schleife...

Hawkster

Level-1
Beiträge
90
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo allesamt...

ich bin mit meinem Latein am Ende.
Hab hier ne Anlage mit ner CPU 317 und einer derzeitigen Durchschnittszykluszeit von 45ms (schon viel, kommt auch schon bald die 319 :s6:)

So... da ist das Prachtstück...

Code:
      L     0
      T     #LK_Temp.Zaehler

LP01: NOP   0
//==> Aktion Start


//==> Aktion Ende

      L     #LK_Temp.Zaehler
      L     1
      +I    
      T     #LK_Temp.Zaehler

      U(    
      L     100
      L     #LK_Temp.Zaehler
      <=I   
      )     
      SPB   LE01
      SPA   LP01

LE01: NOP   0
//FERTIG :D

Ich kann diese Schleife Online Problemlos anschauen. Zykluszeit schwankt bei den Normalen +/- 1 MS.

So, Schleife vorgefertigt, dem Kollegen gegeben (genauso wie oben), er testet und was passiert beim Klick auf die tolle Brille -> PIFF, CPU-Stop, Kunde schreit...
Ok... ich leicht irritiert frag warum er die CPU stoppt er Achselzuckend "Ich wars net"...

Zum seinem Rechner, geschaut... schleife so wie vorher. Auf ein neues.... Beobachen beendet, ins Run geschaltet und alles Super... dann der Klick auf die Brille und PIFF, CPU-Stop, Kunde schreit schon lauter...

Ok... SPS Welt kurz vorm Zusammenbrechen hab ich mich daran festgehalten das einfach seine Software ne Macke hat...

Zum 2. Kollegen -> Brille angeklickt -> PIFF, CPU-Stop, Kunde schreit !"§$%&/()=

Zum 3. Kollegen -> Brille angeklickt -> PIFF, CPU-Stop, Kunde schreit (kann man nicht mal mehr in Sonderzeichen fassen)

Zum 4. Kollegen -> Brille angeklickt -> Jaa... genau das gleiche wie bei denen davor...

Ok... mein Rechner... Online gegangen... läuft, Zykluszeit normal... SPS-Welt schon so ziemlich am Boden zerstört....

Nun eine Frage... könntet Ihr diese Schleife (statt der Temp könnt ihr auch nen MW nehmen (haben wir auch schon getestet, hilft au nix) bei euch mal testen wie sich die Zykluszeit vor dem Beobachten und nach dem Beobachten verhalten hat (also die Max-Werte)...

Soo... ich geh jetzt mit Pipi in den Augen zu Bett.

Mit freundlichen Grüßen,
Hawkster
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich habe hier schon einmal irgendwo gelesen, daß, wenn man mit dem Cursor in einer Schleife steht und auf beobachten geht, die Zykluszeit enorm ansteigen kann.
 
Läuf die CPU im Test- oder im Prozessbetrieb?

Unterschied zwischen Test- und Prozessbetrieb (Auszug aus der Online-Hilfe von STEP 7)

Im Prozessbetrieb werden die Testfunktionen wie Programmstatus oder Variable beobachten/steuern so eingeschränkt, dass die eingestellte zulässige Zykluszeiterhöhung nicht überschritten wird. Das Testen mit Haltepunkten und die schrittweise Programmausführung können nicht ausgeführt werden.

Im Testbetrieb sind alle Testfunktionen über PG/PC ohne Einschränkung nutzbar, die auch größere Verlängerungen der Zykluszeit bewirken können. Wenn sich die CPU im Testbetrieb befindet, müssen Sie dafür sorgen, dass die CPU bzw. der Prozess große Zykluszeitverlängerungen "vertragen" kann. In diesem Modus können Verlängerungen der CPU-Zykluszeiten auftreten, da z. B. der Status von Anweisungen in programmierten Schleifen bei jedem Durchlauf ermittelt wird.

ID22727341 Warum soll nach der Inbetriebnahme des STEP 7 Programms die Betriebsart der CPU von Test- auf Prozessbetrieb umgeschaltet werden?

Gruß Kai
 
Hi!

Hast du schon mal überprüft wie deine Einstellungen sind bezüglich Prozessbetrieb und Testbetrieb!?

Gruß talentfrei

edit: Ah, zu langsam! Kai war schneller! :)
 
Diagnosepuffer -> Zykluszeitüberschreitung

CPU ist im Testbetrieb.

Schön und gut, wieso gehts bei mir, und bei keinem anderen?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also wir verbinden via TCP/IP (bedingt durch die Anzahl der Steuerungen)... haben aber auch schon mit einem Baugleichen Laptop versucht ob es anders ist... der bekommt auch den CPU-Stop hin :(
 
wir gehen übers wlan online...das wird es aber leider wohl nicht sein den 3mal defekte hardware wäre auch iwo komisch

edit: zu langsam ;P drecks hotel-wlan -.-

achja der cpu-stop tritt auch schon ein sowie mal weit oberhalb der schleife nur in das netzwerk klickt...nochnichtmal direkt die schleife beobachtet ...
 
Zuletzt bearbeitet:
Ihr könntet mal die Zyklusüberwachungszeit der SPS richtig hochsetzen. Dann nach dem Online-gehen jeweils die Zykluszeit ansehen (wird ja auch die größte angezeigt). Dann kann man vielleicht erstmal sehen, welchen Einfluß wer genau hat und ob die anderen Rechner alle die selbe Zykluszeiterhöhung verursachen. Was habt ihr für Einstellungen am Simatic-Arbeitsplatz, ist da einer der Chef? Ich hab das zwar noch nie ganz geschnallt was das bringt, aber wenn ihr zu dritt oder viert am Projekt arbeitet, wer weiß. Wo liegt das Projekt, bei dir oder auf einem Server? Wer war zuerst Online, du? Könnte unter Umständen auch ne Rolle spielen. Ist sicher ne Menge Probieren und Raten dabei um hier irgend etwas heraus zu bekommen.
 
Also, wir haben sie ma Testweise bei einem Kollegen hochgenommen. Die Zykluszeit hat 200ms erreicht. Was bei anderen passiert haben wir leider noch nicht getestet...

Also mein Arbeitsplatz ist definitiv auf Einzelplatz gestellt. Dennis, wie ist deiner Eingestellt? Systemsteuerung -> Simatic Irgendwas.

Nein, Arbeiten immer alleine an einer SPS.

PS: Triggerereigniss belegt (gibts da nen trick?)
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
mhh bei mir stehts auf mehrplatz ...bin mal gespannt obs nen unteschied macht wenn ichs umstelle

hehe laut simulator scheints jetzt zu gehn...bin mal morgen früh gespannt
 
Zuletzt bearbeitet:
Mach die Simulation auf dann weiste es doch...
Selbst die Simulation hats auf 30ms gehaun. Ich test ma bei mir damit ich die MS weiß.

Dennis, Ohne F-Call und ohne Anwenderprog!
 
Ich bin gerade unsicher wegen der Syntax:
Was soll:
#LK_Temp.Zaehler
sein?
1. Ein Element aus einem UDT im Lokaldatenbereich
2. Ein Element aus einem #LK_Temp adressierten Datenbaustein?

Und wozu braucht ihr die Schleife? Steht da auch was Produktives im Schleifenrumpf?
Wenn ja, tut es nötig das in einer Schleife zu machen?
Oder könnte man auch pro Zyklus einen (oder 3 oder 5) Schritte der Schleife berechnen?
Wenn dann nach 100, 33 oder 20 Zyklen das Ergebnis vorliegt, kann man ja einen Merker setzen, der dem Rest des Programms sagt, daß nun ein neues Eergebnis vorliegt...
 
ok hab jetz en bissel gewartet und bin über die schleife gegangen...

erst isser stabil bei seinen 15ms geblieben nur ob1 + schleife ...und beim beobachten der schleife is er erst auch in dem bereich geblieben ...aber am end bin ich doch wieder bei 24ms gelandet -.-


hrhr ich warte mal auf morgen ....

edit: auch auf mehrplatz hab ich die zykluszeit +1ms ...heut mittag waren wir noch bei 30ms
 

Anhänge

  • Unbenannt.JPG
    Unbenannt.JPG
    125,5 KB · Aufrufe: 36
Zuletzt bearbeitet:
Der Baustein ist ein FC.

Der LK_Temp ist eine Struktur im Temp-Bereich vom Baustein. Und in dieser Struktur ist der "Zaehler" hinterlegt.

Ja, die Schleife ist dringenst nötig :) Weil da auch was sinnvolles drinsteht. ist zwar derzeit draußen (da wir das Problem analysieren).

Ja, Zottel. Deines wäre ein WOrk-Around und ist nicht die Lösung meines Problems. Schleifen gehen. Und ich habs auch schon oft genug verwendet und beobachtet. In viel viel komplexeren Prozessen... deswegen bin ich irritiert das eine 100 Durchgangs-Schleife (was ein Witz) so Probleme verursacht...

MFG
Hawkster
 
Zurück
Oben