S7 300 Timer ohne Flanke ?

Boernie

Level-1
Beiträge
25
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Gibt es Timer in der S7 300, die zum start keine Flanke benötigen. Benötige Verzögerungszeiten für Programmschritte. Ich programmiere unter KOP, gibt es da einen Unterschied zwischen den Merkern die als Ausgangssymbol und denen die als normales Funktionssymbol dargestellt sind ? Von welchem Datentyp sind die IEC Timer TON SFB4, versuche ich hier eine Timer als Symbol in die Funktion einzutragen z.B. T10 so funktioniert die nicht. Gibt es ein Dokument wo Timer näher beschrieben sind, in der Onlinehilfe fehlen zu den IEC Timern die Beilspiele.


Bin für jede Hilfe dankbar, komm von der S7-200 Seite und mir kommt es so vor als ob bei der 300er alles anders wäre.
:roll: :?:
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Gibt es Timer in der S7 300, die zum start keine Flanke benötigen.

Den Timern der S7-300er reicht ein statisches Signal und haben intern ne Flankenerkennung auf ne positive Flanke.
Wenn ich mich nicht all zu sehr täusche, ist es bei den 200er Timern genauso :wink:

... mir kommt es so vor als ob bei der 300er alles anders wäre.

Verabschiede Dich bei ner 300er mal von den 200er-Timern. In der 300er hast Du 128 bzw 256 Timer (je nach CPU) zur Verfügung, aus denen Du Dir einen beliebigen (freien) Timer auswählen kannst - im Gegensatz zur 200er gib es keine Beschränkung der Funktions- und/oder Zeitbasis auf bestimmte Timer.

Wenn Du in KOP/FUP eine Leebox (Alt+F9) einfügst, sind die Timer unter S_... in der Auswahlliste zu finden:

S_AVERZ = Zeit als Ausschaltverzögerung
S_EVERZ = Zeit als Einschaltverzögerung
S_IMPULS = Zeit als Impuls
S_SEVERZ = Zeit als speichernde Einschaltverzögerung
S_VIMP = Zeit als verlängerter Impuls

Alle Timer haben den gleichen (maximalen) Zeitbereich:

Datentyp: S5TIME
Länge (Bit): 16
Format: h min s oder min s ms

Beispiele
Min.: S5T#0ms und S5T#10ms
Max.: S5T#2h46m30s


Gruss,
Jörg
 
Bei S_AVERZ = Zeit als Ausschaltverzögerung
wir allerdings die Zeit mit Signalwechsel von 1 auf o gestartet.

Gruß
raika
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich sollte wohl mein Problem noch etwas genauer erläutern. Hab eine Funktion in der ich eine Zeitverzögerung benötige. Wenn ich die Funktion Aufrufe, soll die Verzögerung ablaufen, ich dachte an einen normalen EVERZ Timer. Der Timer scheint aber bei Aufruf des Unterprogramms nicht zu starten. Muß ich da einen FB statt einer FC schreiben, das die Werte des Timers erhalten bleiben ? Oder kann ich mir irgendwie beim Aufruf der Funktion eine Flanke erzeugen ?

Sorry, bin leider noch so der SPS Progammierer. Ich komm aus der C Ecke und hab mit manchen SPS spezifischen Sachen einfach etwas Probleme.

Euch allen jedenfalls mal vielen Dank für die Hilfe und viel Spaß beim Programmieren.

:D :D
 
Timer ohne Flanke

:D
Ich würde es mit einem Merker versuchen ,entweder
=XX.1 oder S MXX.1 ; Das gleichzeichen ist eine Flanke und beim setzen musst du den Merker Rücksetzten.
Ich hoffe du kannst was mit anfangen, versuche morgen UPS heute noch noch mal reinzuschauen
M.Müßigbrodt, Mechatroniker
 
Hallo @Boernie,
wenn du dein Unterprogramm nur aufruftst, wenn auch die Zeit gestartet werden soll, so erkennt dein Timer keinen 0 -> 1 Wechsel.

Um den dann zu erreichen schreibe folgende AWL:

U T 1
BEB

CLR
SV T 1
SET
L S5T#1S
SV T 1

Mit den Anweisungen:
U T 1
BEB

erreichst du, dass wenn einmal die Zeit gestartet ist, sie bis zum Ablauf der Zeit (1 Sek) nicht mehr bearbeitet wird. Sonst wird sie in jedem Zyklus wieder neu gestartet.

Nimm dieses Beispiel eher zum Verständnis, nicht unbedingt als Vorlage.

Als Unterprogramm ist das so noch in Ordnung, aber in Steuerungen sollten meiner Meinung nach die Befehle BEB und SPB X nicht stehen.

Gruß Wilfried
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi Leute,

danke für die Hilfe. Das mit dem BEB Befehl werd ich gleich mal probieren. Für was ist der eigentlich gut ? Als was find ich den unter KOP. Na ja wenn nich muß ich doch in die Ansicht in AWL wechseln.

Auf jeden Fall werd ich das mal Probieren, das war genau mein Problem.

Oh sorry, hab mich noch nicht eingelogt gehabt.

:wink: :wink:
 
Zurück
Oben