# S7-Graph Timeout, Unplausible Eingänge, Einzelschritt



## element. (10 November 2009)

Hallo,

ich habe bisher Schrittketten (kleine Projekte) nur in AWL (U,U,S,R) programmiert.
Nun wünscht ein Kunde die Verwendung von S7-Graph. Dazu habe ich (ich habe es leider noch nicht) folgende Fragen, vielleicht kann mir jemand mit einem Screenshot oder Beispielprogramm aushelfen. Die Siemens-Ausbildungsunterlage C1 habe ich schon.

1. Wie greife ich die "Zeitüberwachung U" ab, um den Fehler in Winccflex anzuzeigen? Ist das ein Merker? Zb Meldung, wenn Zylinder nach 5s Endlage nicht erreicht hat.
Bisher habe ich auf dem HMI die Weiterschaltbedingungen angezeigt, zb "Warte auf Z4 ES", daher noch nie derartige Meldungen programmiert.

2. Wie überwache ich auf unplausible Eingänge, zB Zylinder meldet GS und ES gleichzeitig.

3. Kann ich für den Einzelschrittbetrieb dieselbe Kette nehmen, und wie wird das realisiert, mit Tastendruck immer einen Schritt weiter zu gehen?
Im Siemens-Dokument steht, dass man im Einzelschrittbetrieb schneller durchtippen muss, als die Zeitüberwachungen (zb 5 Sekunden von meinem Punkt 1.). Wie kann das umgangen werden?

4. Irgendwo habe ich gelesen, dass Graph viel Speicher in der CPU belegt und man evtl ein höheres Modell wählen muss.

Danke!


----------



## jabba (10 November 2009)

Zu1 :Einen Vergleicher bei der Überwachung einbauen
siehe Bild

Zu2: ich hab immer einen eigene Baustein für ventile , wenn das in Grapg sein soll, dann bei den "nachgeschaltetet permaneten Operation" einen Eintarg anlegen, "Wenn AS und GS dann Störung"

Zu 3, wenn die Graph Kette richtige verschaltet wird kein Problem, mann mus in der Überwachung abfragen , ob die Transition nicht erfüllt ist, dann kommt auch beim Tippen kein Fehler.

Zu4. in der Standardversion sind schon mal 8k weg ohne Kette
eine Kette kann locker mal bei ca 100 Schritten bis zu 20K verbraten.


----------



## jabba (10 November 2009)

Nachtrag ein Bild mit der Mindestbeschaltung einer "kleinen" Anlage

wenn Du die Transitionen anzeigen willst wäre bei einem großem Siemens Panel >277 ProAgent interessant . Ansonsten speiche ich bei so etwas extra mit "s1 N | Schritt :=1" und "S1 N | Trans:=1" die Werte extra ab,
damit die beim neu nummerieren nicht durcheinnder kommen


----------



## Blockmove (10 November 2009)

Eine Anmerkung zum Tippbetrieb von Graph:
Zum Weiterschalten in den nächsten Schritt ist immer zur erfüllten Transistion ZUSÄTZLICH eine Flanke am FB-Eingang TPUSH notwendig.
Dies macht bei Motoren Ärger, da natürlich unter Umständen nicht rechtzeitig abgeschalten wird! Deshalb entweder das Abschalten über Interlock oder ausserhalb der Kette erzwingen.
Ich mach den Tippbetrieb "klassisch". Soll heissen, dass ich die Kette bei Tipp-Betrieb/Einzelschritt in der Betriebsart Automatik lasse und über einen Tipp-Merker in den entsprechenden Transitionen das Weiterschalten erledige. Hat sich in der Praxis als einfacher erwiesen, als alles was Siemens so zu diesem Thema in Graph eingebaut hat 

@Jabba:
Wieso beschaltest du nich ACK_EF?
Damit kannst du die Überwachungszeiten ggf. quittieren und weiterlaufen lassen?

Gruß
Dieter


----------



## element. (11 November 2009)

OK, ich sehe, ich muss erst fit werden in Graph, bevor ich eure Tips verstehe :sad:

Jabba: Bei Frage 4 hab ich die Hläfte vom Text vergessen - kann man das nicht mit einer größeren Speicherkarte lösen? Warum eine andere CPU?

Blockmove, zum Einzelschrittbetrieb: Du hast also bei jeder Transition den Merker mit dabei, im Automatikbetrieb ist er immer an? Wie gehts dann im Tippbetrieb? Meine erste Idee war, ihn immer kurz einzuschalten, aber dann rennen ja evtl mehrere Schritte durch. Gibt es einen Befehl, einen Merker nur 1 Zyklus lang einzuschalten?


----------



## jabba (11 November 2009)

Blockmove schrieb:


> @Jabba:
> Wieso beschaltest du nich ACK_EF?
> Damit kannst du die Überwachungszeiten ggf. quittieren und weiterlaufen lassen?
> 
> ...


 
Meines Wissens wird ja dann trotzdem eine Meldung rausgegeben wenn ich die mit "V1 S" setze, und das will ich in diesem Fall nicht haben.

@element.

Speicherkarte reicht nicht, da der größte Teil im Arbeitsspeicher liegt und nicht im Ladespeicher.

Wenn es eine neue CPU ist, sollte es mit dem Speicher eigentlich selten Probleme geben (höchsten bei einer 312), die anderen werden halt eng wenn sehr viel mit Graph gemacht werden muss.


Zu dem Weiterschalten wie Blockmove das beschrieben hat.
In zuständen wo ich kein Tippen brauchen kann wie z.B.
- Start eines Gerätes
- Warte auf Zyklussignal vom Gerät High, nächster Schritt
- Warte auf Zyklussignal vom Gerät Low, nächster Schritt

in diesem Fall könnte das Gerät ja Fertig sein bevor ich weiter Tippe und die Kette bleibt hängen. So auch z.B. bei einem Motor wie Blockmove beschrieben.
In diesen Fällen unterbinde ich das Tippen in den Schritten die unbedingt weiter laufen müßen mit dem Befehl "N | Mop.T_Push", dadurch wartet die Schrittkette an dieser Stelle nicht auf eine Flanke an TPUSH.


----------



## Blockmove (11 November 2009)

element. schrieb:


> Blockmove, zum Einzelschrittbetrieb: Du hast also bei jeder Transition den Merker mit dabei, im Automatikbetrieb ist er immer an? Wie gehts dann im Tippbetrieb? Meine erste Idee war, ihn immer kurz einzuschalten, aber dann rennen ja evtl mehrere Schritte durch. Gibt es einen Befehl, einen Merker nur 1 Zyklus lang einzuschalten?


 
Ich hab diesen Merker eben nicht in jeder Transition, sondern nur in den Schritten, in denen die Kette bei Einzelschritt warten soll.
Schau dir mal den Befehl FP (Positive Flanke) an. Damit erreichst du, dass ein Merker nur einen Zyklus lang aktiv ist.

Eine größere Speicherkarte hilft dir bei S7 wenig. Der Arbeitsspeicher ist durch den CPU-Typ fest vorgegeben. Du kannst ledigleich den Ladespeicher durch Speicherkarten vergrößern.

Gruß
  Dieter


----------

