# S7-Graph Transition verzögern



## Aboden (8 September 2010)

Hallo
kann mir jemand sagen, wie ich eine Transition die erfüllt ist, verzögern kann. Also Tranistion erfüllt -> Wartezeit (aktueller Schritt soll noch ativ sein) -> nächster Schritt.


----------



## Thomas101982 (8 September 2010)

Hallo,

Ich habe dass mal im Graph gelöst (siehe Bild).

Die wäre eine Lösung.
Es gibt dann noch die Lösung von Extern mittels IN-Variable.

Grüße Thomas


----------



## CullenTrey (17 September 2010)

Verrat doch mal etwas genauer was du vor hast.
Warum brauchst du in der Transition die wartezeit ?

Ansonsten nimm den "umweg" und setze dir im vorgehenden schritt eine conditioned-Zeile die auf das kommen deiner jetztigen Transitionsbedingung eine zeit startet.

dann kannst du das ende dieser zeit als neue tranition nehmen.


----------



## Aboden (17 September 2010)

*Grund*

Hallo
z.B. für pneumatische Bewegungen. Da müssen Zylinder länger angesteuert bleiben damit sie wirklich in Endstellung sind (trotz Schalter Endlage erreicht). Natürlich kann ich die Endlage über eine Zeit verzögern, aber dafür brauch ich einen Timer den ich wieder dokumentieren muss usw.
Aus diesem Grund wäre es nicht Schlecht, wenn es die Möglichkeit direkt in der Schrittkette gäbe um die Transition zu verzögern. Sowas gibts aber angeblich nicht!
Gruß


----------



## CullenTrey (17 September 2010)

Hmm ... habe mir bei solchen fällen immer gern mit einem "leerschritt" beholfen.
und dann einfach die aktivierungszeit des leeren schrittes als neue transition genommen ... 
zumindest in s7-graph war das der leichteste weg meiner meinung nach.
oder fährt dein zylinder beim verlassen des schrittes wieder ein ?


----------



## Aboden (20 September 2010)

Hi
so habe ich mir auch beholfen! Wird wohl keine andere Lösung geben


----------



## Zefix (22 September 2010)

Füg bei der Transition einen > Vergleicher ein, gib einmal deine gewünschte Zeit (glaub S5format) an und einmal schrittnummer.U  oder Schrittname.U (Wichtig das .U)


----------



## Aboden (22 September 2010)

Hi
.U ist das selbe wie .T, es wird lediglich die Zeit einer Störung nicht mit gezählt. Bei beiden läuft die Zeit ab sobald der Schritt aktiv ist!


----------



## Graph&SCL_Freak (22 September 2010)

Das ist dann aber die Gesamtausführungszeit des Schrittes. Es soll ja erst verzögert werden, wenn z.B. eine Endlage erreicht ist. Das einfachste ist 'Leerschritt' mit Verzögerung in Transition danach.


----------



## NBerger (22 September 2010)

Wenn du den Interlock des Schrittes nicht schon verwendest, kannst du deinen Endlagensensor auf den Interlock legen. Die Zeit .U läuft dann erst wenn die Endlage erreicht ist. 
Mit einem Reset an der Kette wird die Zeit allerdings auf 0 zurück gsetzt.


----------



## Zefix (23 September 2010)

Graph&SCL_Freak schrieb:


> Das ist dann aber die Gesamtausführungszeit des Schrittes. Es soll ja erst verzögert werden, wenn z.B. eine Endlage erreicht ist. Das einfachste ist 'Leerschritt' mit Verzögerung in Transition danach.


 
Klar, hab mich verlesen


----------



## TurboTaube (5 Februar 2014)

Hallo,

 ich habe gerade das selbe Problem. Soll ein Programm von  Graph 5 nach Graph 7 konvertieren. In der S5 Schrittkette wurden ganz  oft Einschaltverzögerungen als Entprellfunktion für die Bedingungen der  Transitionen verwendet. Da man aber leider keine Zeiten in die Graph 7  Transitionen einfügen kann musste ich mir einen Extra FB dafür basteln  und in der Transition wird dann nur der Timer abgefragt. Das Problem  dabei ist das es ziemlich unübersichtlich geworden ist da man immer  beide Bausteine anschauen muss um die Funktion der Schrittkette zu  verstehen.

Kennt da noch jemand eine andere Möglichkeit das in der Graph 7 Schrittkette zu programmieren?

Wichtig: Es handelt sich um eine Einschaltverzögerung, die Bedingung muss also zB 1 Sekunde lang *anstehen bleiben*.


----------



## de vliegende hollander (5 Februar 2014)

Hallo,

Sucht du so eine Konstruktion ?

Mit ein CMP > Funktion


Anhang anzeigen 23184


DVH


----------



## Sinix (5 Februar 2014)

Entweder wie du schon gepostet hast externe Timer oder

probiere mal die Schrittzeit+Signal als Transistion normaler Ablauf und machst eine Alternativzweig mit Transition "nicht" Signal und Rücksprung zum vorherigen Schritt.


----------



## sps-concept (5 Februar 2014)

Hallo,

er will ja keine Mindestverweilzeit in dem Schritt was Step4.T > 10s bewirken würde. Es soll die erfüllte Transition verzögert werden.

André


----------



## TurboTaube (5 Februar 2014)

Hallo *de vliegende hollander*, 

in deinem Beispiel wird nur die Schrittlaufzeit gemessen. Die wird ja gestartet sobald der Schritt aktiv ist. Was ich bräuchte ist quasi einen Timer in der Transition starten zu können. Die Transition muss so zu sagen eine gewisse Zeit erfüllt bleiben bis weiter geschaltet wird. 

Hallo Sinix,

das mit dem Rücksprung wäre ne Möglichkeit. Probiere es gleich mal aus


----------



## TurboTaube (5 Februar 2014)

Hallo *de vliegende hollander*, 

in deinem Beispiel wird nur die Schrittlaufzeit gemessen. Die wird ja gestartet sobald der Schritt aktiv ist. Was ich bräuchte ist quasi einen Timer in der Transition starten zu können. Die Transition muss so zu sagen eine gewisse Zeit erfüllt bleiben bis weiter geschaltet wird. 

Hallo *Sinix*,

das mit dem Rücksprung wäre ne Möglichkeit. Probiere es gleich mal aus


----------



## TurboTaube (5 Februar 2014)

Hallo *de vliegende hollander*, 

in deinem Beispiel wird nur die Schrittlaufzeit gemessen. Die wird ja  gestartet sobald der Schritt aktiv ist. Was ich bräuchte ist quasi einen  Timer in der Transition starten zu können. Die Transition muss so zu  sagen eine gewisse Zeit erfüllt bleiben bis weiter geschaltet wird. 

Hallo *Sinix*,

das mit dem Rücksprung wäre ne Möglichkeit. Probiere es gleich mal aus :smile:


----------



## TurboTaube (5 Februar 2014)

Hallo *de vliegende hollander*, 

in deinem Beispiel wird nur die Schrittlaufzeit gemessen. Die wird ja  gestartet sobald der Schritt aktiv ist. Was ich bräuchte ist quasi einen  Timer in der Transition starten zu können. Die Transition muss so zu  sagen eine gewisse Zeit erfüllt bleiben bis weiter geschaltet wird. 

Hallo *Sinix*,

das mit dem Rücksprung wäre ne Möglichkeit. Probiere es gleich mal aus :smile:

Vielen Dank für die Antworten


----------



## Sinix (5 Februar 2014)

sps-concept schrieb:


> er will ja keine Mindestverweilzeit in dem Schritt was Step4.T > 10s bewirken würde.



Is klar



sps-concept schrieb:


> Hallo,
> 
> Es soll die erfüllte Transition verzögert werden.



neg, was ist wenn der Eingang prellt (oder INI beim Zylinder überfahren wird)?




MfG Sinix


----------



## TurboTaube (5 Februar 2014)

Danke *Sinix*,

dein Tipp hat mir zur Lösung verholfen. Hab das gerade getestet und es Funktioniert.

Kann gerade leider keine Bilder hoch laden von der Firma, werde ich nachher von zu Hause machen.


----------



## TurboTaube (5 Februar 2014)

Danke Sinix,

habe das jetzt so gemacht. 



Nicht ganz so wie bei dir, Funktioniert aber auch. Der Tipp mit dem Rücksprung hat mir sehr geholfen. Programmiere nicht so oft Graph 7. Schreibe meine Schrittketten meistens selber da man einfach mehr Möglichkeiten damit hat. 

Einen schönen Abend euch noch.


----------



## sps-concept (5 Februar 2014)

Hallo,

mag zwar funktionieren - aber schön finde ichs persönlich  nicht. Da wird Graph vergewaltigt. Ich stelle mir grad die Schrittanzeige dazu in ProAgent vor... Aber die Geschmäcker sind zum Glück verschieden.

Was genau muss verzögert werden? Eingänge von Endlagen oder das ganze Ergebnis der Transition?

André


----------



## TurboTaube (5 Februar 2014)

Hallo André,

beides ist vorhanden an mehreren stellen. Eingänge von Endlagen und auch ganze Teile von Verknüpfungen in der Transition. Hier mal nen Überblick.

Hab Anfang dieser Woche den Auftrag bekommen mal "schnell" ein von Step 5 nach Step 7 zu konvertieren da die Steuerung ausgetauscht wird. An dem Programm was läuft waren auch schon über die letzten 20 Jahre mehrere Programmierer am Werk. Am liebsten würde ich es neu schreiben, und dann auch mit eigenen Schrittketten, aber leider fehlt mir da momentan die Zeit für. Also hab ich alles durch den Konverter gejagt und danach kontrolliert. Die Graph 5 Schrittketten kann man leider nicht konvertieren, da muss ich das nun "per Hand" machen. In den Schrittketten wurden zum teil Sachen programmiert die gar nicht so gut da Rein passen, Zuweisungen auf Ausgänge in den Transitionen um mal ein Beispiel zu nennen.

Hab mir bis her so weiter geholfen wie ich oben beschrieben habe. _"Da man aber leider keine Zeiten in die Graph 7  Transitionen einfügen  kann musste ich mir einen Extra FB dafür basteln  und in der Transition  wird dann nur der Timer abgefragt. Das Problem  dabei ist das es  ziemlich unübersichtlich geworden ist da man immer  beide Bausteine  anschauen muss um die Funktion der Schrittkette zu  verstehen."_

Ich muss mir jetzt überlegen was mir wichtiger ist. Packe ich alles in einen Baustein und dafür ein bisschen unübersichtlicher oder verteile ich es auf 2 Bausteine und habe das Problem das man dann immer in beide rein schauen muss.

Habe da kein Panel dran und somit auch keine ProAgent, die Schritte werden noch mit BCD LED anzeigen dargestellt.

Euch noch einen schönen Abend, Jonas


----------



## sps-concept (5 Februar 2014)

Hallo Jonas,

wenn eine Schrittanzeige dran ist dann hast du schon den Dreck. Ich würde mal die Struktur des Programmes überdenken. Wenn ich Endlagen von Zylindern verzögern muss dann mache ich das für die jeweilige Zylindergruppe. Im weiteren Programm wird das verzögerte Signal abgefragt. Sollte ich dann doch noch irgendetwas in einer Transition verzögern müssen, dann füge ich lieber einen Warteschritt ein. Aber ist nur meine Meinung, eine von vielen. Auch Graph5-Programme kann man teilweise konvertieren.

André


----------



## Blockmove (5 Februar 2014)

sps-concept schrieb:


> Auch Graph5-Programme kann man teilweise konvertieren.



Naja es gab mal einen Graph 5 -> S7 Graph-Konverter.
Jeder Schritt und jede Transistion wurden in jeweils einen eigenen Baustein verlagert.
In der Praxis war das Ding kaum brauchbar.
Aber es war halt der einzige Weg zu konvertieren.
Graph 5 hatte wesentlich mehr Möglichkeiten was Transistionen und Schritte angeht.
Vieles vermisse ich heute noch.

Gruß
Dieter


----------



## 190B (5 Februar 2014)

Blockmove schrieb:


> Naja es gab mal einen Graph 5 -> S7 Graph-Konverter.



Der wurde bei STEP5 V7.2x mitgeliefert und war wie STEP5 aufgebaut.


----------



## TurboTaube (6 Februar 2014)

@sps-concept: Wegen der Schrittanzeige hatte ich gerade ne Idee. Da ich  ja in den Schrittketten des Programms nie mehr als 100 Schritte habe  kann ich die neu eingefügten Schritte die ich für die Verzögerungen  brauche einfach ab 100 Nummerieren. zB: Wenn ich für Schritt 15 eine  Verzögerung brauche gebe ich die Schrittnummer 115. Bei der Ausgabe der  Schrittnummer lasse ich dann einfach die erste Stelle weg, somit sollte  dann eigentlich bei beiden Schritten nur die 15 angezeigt werden. Und  ich kann nachher gut sehen welche Schritte für eine Verzögerung  eingefügt wurden. Sehe aber auch gerade die Nachteile, zB wenn Aktionen  nur bei Schrittbeginn oder -ende ausgeführt werden sollen werden diese  immer wieder ausgeführt. 

@Blockmove & 190B: Danke für den  Tipp, habe Version 7.23. Kann den Konverter aber irgendwie nicht finden.  Muss man den extra installieren? Habe beim aktuellen Projekt jetzt ja  schon fast alles per Hand konvertiert aber könnte ihn dann beim nächsten  Projekt mal Testen.

@Blockmove: Habe mit Graph 5 nicht so viel  zu tun gehabt, dafür bin ich einfach zu Jung. Je mehr ich mit Graph 7  arbeite finde ich es aber auch sehr beschränkt in seinen Möglichkeiten.  Weiß auch nicht ob das durch die Norm EN 61131 kommt oder ob Siemens da  damals nicht dran gedacht hat. Was mir zB auch fehlt ist einzelne  Aktionen zusätzlich zum Interlock mit Eingängen oder Merkern zu  verknüpfen. 



Vielen Dank für die vielen Tipps


----------



## Sinix (6 Februar 2014)

> Vielen Dank für die vielen Tipps :smile:



Wer vernünftigt fragt bekommt auch vernüftig Antworten hier.

Wie die anderen user richtig bemerken ist meine/deine Lösung eine Notlösung, 
die nur vereinzelt im Programm auftauchen sollte und ungünstig zur Schrittnummeranzeige ist.
Ich verwende deshalb auch Timer in einem anderen FB. Zur Kontrolle kann die 
IN-Beschaltung des Timer auch an der Graph-Transition stehen.

Gruß Sinix


----------



## 190B (6 Februar 2014)

Hallo TurboTaube,

habe mich vertan, ist nicht bei STEP5 dabei, sondern bei S7-Graph (Classic) dabei und muß extra installiert werden. Extra Ordner namens G5KONV. Lauffähig aber lt. Siemens nur unter (siehe folgenden Auszug aus der LIESMICH-Datei):

[h=2]6.6Konvertierung von GRAPH5-Programmen in S7‑GRAPH‑Programme[/h]Ihre DVD S7-GRAPH enthält ein separat zu installierendes Programm, mit dem Sie bei der Umsetzung von GRAPH5-Programmen nach S7-GRAPH unterstützt werden.
Das Konvertierungsprogramm ist unter den folgenden Betriebssystemen ablauffähig:


MS Windows XP Professional
MS Windows Server 2003


----------

