Hallo liebe SPS-Freunde, ich habe folgendes Problem: Der Timer einer S7-400 kann in AWL-Sprache nur auf minimal 10ms gesetzt werden. Meine SPS arbeitet mit einer Zykluszeit von 3ms. Gibt es einen Trick wie ich diesen Timer auf 3-4ms herunter bekomme? Ich habe nämlich eine Reihenfolge von Signalausgängen in 3-4ms-Takt abzuarbeiten... Im schlimmsten Fall muß ich mehrere Schalter entlang der Strecke setzen um Interrupte auszulösen?!^^ Beste Grüße Uni
Die Timer der S7 haben eine minimale Auflösung von 10ms. Ein Ausgang kann nicht schneller als die Zyluszeit x2 der CPU takten. Die normalen Ausgänge können als maximale Frequenz 100Hz abgeben. Da die Zykluszeit jedoch je nach SPS Programm nicht stabil ist (siehe Diagnosepuffer / Zykluszeit max.) würde ich mich darauf nicht verlassen. Ich würde es mit einem Weckalarm von 3-4ms versuchen.
Ich bin ein bisschen raus, aber gab es nicht mal einen sogenannten schnellen Interrupt. Ansonsten: Ändert sich etwas, so wird ein Ausgang mit dem nächsten Zyklus geändert. Es ist also sinnlos zu versuchen schneller zu sein, da das Ereignis nicht früher nach "außen" geführt wird.
Frag am besten im Siemens Support Forum bzw. im SPS-Forum nach. Da wird dir geholfen :)
Amateur schrieb: > aber gab es nicht mal einen sogenannten > schnellen Interrupt. Ich kenne das mit den Interrupts nur so das sie grösser der maximalen Zyluszeit liegen müssen. Sonst kann der Aufruf nicht garantiert werden. Sonst stimme ich Amateur zu, die Zykluszeit ist x2 zu nehmen. Als Versuch könnte man den Ausgang lesen, bei "0" auf "1" steuern. im nächsten Zyklus wieder lesen und auf "0" steuern. Alles im OB1 programmieren. Als AWL: un a 100.0 =a 100.0 *** Hiermit müsstge die maximale mögliche Frequenz erreichbar sein.
Bei mir ist's schon 25 Jahre her mit S5 Programmierung.. Damals gab es einen Befehl, mitten im Zyklus das Prozeßwort direkt/sofort zu schreiben. Ob das jetzt ein Systembefehl (wie TAK) oder normale AWL war, weiß ich nicht mehr. Damals - da hatte man Zykluszeiten von 450ms..550ms; und Ohweh, wenn es mal 700ms waren, dann hüpfte das Material aus dem Aufzug oben wieder raus.. Zeitkritische Programmteile waren dann in einem PB programmiert, der dann mehrmals pro Zyklus (OB1) aufgerufen wurde, und eben dieses direkte Peripheriewort Schreiben (und Lesen?).
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.