Anfänger und Verständnisprobleme "Zykluszeit"

mister_chaos

Level-1
Beiträge
17
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi!
Zykluszeit ist die gesamte Zeit die eine CPU für die Abarbeitung des gesmaten Anwenderprogramms benötigt. Die ist bei mir als maximale Zykluszeit mit 5 ms angegeben.
Ich habe in meinem Programm 5 FCs und jedes davon steuert ein Lauflicht mit jeweils 5 Sekunden.
Prinzipiell müßte die Zykluszeit dann min. 25 Sekunden betragen, oder?
Die CPU springt in ein FC bearbeitet diesen und setzt die Bearbeitung im OB1 fort.
Kann mir jemand das erklären?
Danke!
 
Die Zykluszeit ist die, die die SPS benötigt einmal komplett durch ihr Programm durchzulaufen und zusätzlich noch die Eingänge zu lesen, sowie die Augänge zu schreiben. Die SPS bleibt ja nicht in jedem FC stehen und wartet 5 Sekunden, das wäre eine Katastrophe, denn was passiert in dieser Zeit mit den restlichen Abläufen? Also rast die SPS immer durch eine Endlosschleife, hier 5 ms und arbeitet das Programm ab. Die Timer laufen dabei "unabhängig" von der Zykluszeit. Laufen sie ab, wird im Zyklus X von der SPS festgestellt, der Timer ist abgelaufen, dann werden die weiteren Verknüpfungen mit dem Timer entspechend der programmierten Logik dazu führen, daß z.Bsp. ein Ausgang (Licht) eingeschaltet wird.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
das s7 programm wird immer von oben nach unten durchlaufen

und normalerweise von nichts und niemanden aufgehalten

bei zeiten wartet er nicht 5 sek bis sie geschalten haben sondern geht einfach weiter und wenn die 5 sek abgelaufen sind und er wieder vorbei kommt wird die aktion ausgeführt

stell dir mal vor du programmierst eine zeit und deswegen darfst du keine eingänge mehr lesen
 
Danke schön!
Na gut, also wenn ich jetzt z.B. hinter einem "5 Sekunden FC" einen Ausgang per Schalter setzen möchte, würde es nicht gehen? Oder doch? (also bevor die 5 Sekunden abgelaufen sind)?
 
wenn du die zeitabfragst ob sie abgelaufen ist und dann erst schaltest dann hast du recht


wenn einfach einen neuen befehl schreibst ist er unabhängig von der zeit
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke schön!
Na gut, also wenn ich jetzt z.B. hinter einem "5 Sekunden FC" einen Ausgang per Schalter setzen möchte, würde es nicht gehen? Oder doch? (also bevor die 5 Sekunden abgelaufen sind)?

Ich hoffe, du hast keinen wirklichen 5-Sekunden-FC geschrieben. Wenn du einen FC schreiben würdest, der tatsächlich in einer Schleife 5 Sekunden hängen bleiben würde, dann geht deine SPS in STOP, denn das ist nicht erlaubt. Die SPS läuft in deinem Falle alle 5 ms durch den FC und bearbeitet ihn. Alles was darin steht wird ausgeführt. Ich denke, du hast einen Timer darin, der 5 Sekunden laufen soll. Die SPS kommt also alle 5 ms vorbei und schaut nach, ob der Timer schon die 5 Sekunden gelaufen ist. In deinen Logikschaltungen hast du z.Bsp. stehen

U T0
= A0.0

Wenn also die SPS nach X Zyklen vorbeikommt und der Timer ist abgelaufen, dann ist T 0 auf True und nun schaltet die SPS A0.0 auf True. Vorher war T0 auf False und die SPS hat den Ausgang immer auf 0 geschaltet.

Das ist eigentlich schon alles.
 
Zurück
Oben