TIA Brauche Hilfe in s7 graph im Tia Portal

flashgorny

Level-1
Beiträge
55
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

habe ein Motor FB mit Graph7 im Tia portal erstellt. Beim Initialisieren des Baustein setze ich die Werte zurück, der Motor wird abgeschaltet. Jetzt will ich den Motor erst nach 1 Minute Ausschalten, andernfalls soll er weiter machen.

Habe es mit einer Ausschaltverzögerung TOF versucht funktioniert aber nicht. Setzt den Wert "Aus1" nach 30 Sekunden einfach nicht zurück.

CALL TOF TIME , "IEC_Timer_0_DB_1"
(IN := "m_eins"
PT :=T#30S
Q => "DB_X_Achse".pos.WR_PZD_POSBETR.STW1.Aus1
ET => )
CALL TOF TIME , "IEC_Timer_0_DB_11"
(IN := "m_eins"
PT := T#30S
Q => "DB_Z_Achse".pos.WR_PZD_POSBETR.STW1.Aus1
ET =>
)
gruß

Jonny
 
Wo hast du die Timer aufgerufen?
Falls du das im Schritt gemacht hast, dann funktioniert das nicht.
Nach dem Verlassen des Schrittes wird der Timer nicht mehr bearbeitet.
Am saubersten ist das, wenn du das ausserhalb des Graph-FBs machst.
Im Schritt weist du z.B. einen Merker zu (N X_AUS1) und ausserhalb gehst du damit auf den TOF.

Gruß
Dieter
 
Also ich habs in der Schrittkette versucht

Versuch macht klug. Blockmove hat aber recht


Mir stellen sich paar Fragen.

1. Wann wird bei dir die Schrittkette immer wieder neuinitialisiert? Evt. gibts eine andere Lösung?
2. Ist der Motor "immer" an, wenn die Schrittkette läuft? Sonst würde ich eine separate Kette für die Motorensteuerung erstellen, dann ist diese unabhängig von deiner Hauptschrittkette. In der Motorschrittkette kannst du verschiedene Fälle abfangen --> neuinitilisierung und und und..
2.1 Nachteil von 2. : Mehrere Schritte aktiv, aber es wird am Baustein immer nur ein Schritt aktiv angezeigt.
2.2 Meine Lösung: Bei mehreren Ketten, habe ich für jede Kette eine INT-Variable, die in den aktiven Schritten mit Wert der "Schrittnummer" gesetzt wird und die lege ich auf OUT (Hauptschrittkette, Motorschrittkette,...) . Alternativ kann man unter permanente Anweisungen abfragen, welche Schritte aktiv sind (mit Schritt_Motor_1.X )


Kannst ja berichten, wie du es lösen wirst...
 
@shutdown_TIA12

Wenn für dich aktive Schritt-Nummern wichtig sind, dann mach doch einfach einen neuen Baustein anstelle einer Unterkette.
Dann sparst du dir die Int-Variable für die Schritt-Nr.

Die Ansteuerung von Motoren oder Servos packe ich generell in einen eigenen FB.
Aus der Kette kommt nur eigentlich nur der Start.
Eine simple Verknüpfungssteuerung in KOP oder FUP ist zwar altmodisch, funktioniert aber erfahrungsgemäß besser als die meisten Zustandsautomaten in Schrittkettenform :)

Gruß
Dieter
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@Blockmove

Wollte einen Lösungsvorschlang anbieten, wenn man jetzt nicht mehrere S7-Graph Bausteine haben möchte (sofern alles noch übersichtlich bleibt). Zwei Int-Variablen (welche im FB benutzt werden, und am Ausgang optional angeschaut werden wollen) oder einen zusätzlichen FB(S7-Graph) mit noch einem iDB ... sehe ich grad nicht den Vorteil gegenüber meinem Lösungsvorschlag (vllt siehe ich gen Feierabend nicht mehr so viel).

Ansteuerung von Motoren, Ventilen und sonstigem mache ich auch ausserhalb der Schrittkette in einem eigenen FB, so wie du.
Ja, mit FUP hätte ich es realisieren können, aber auch mit AWL... nichts desto weniger trotz wollte ich für meine Arbeit eine "visualisierte" Schrittkette in einem FB haben :) Und trotz der Problemchen gibt es viele tolle Sachen, die mir gefallen und mir Arbeit abnehmen :)

In diesem Sinne haben wir beide in etwa dieselbe (diegleiche ?) Meinung...
Ich wollte dem Themenstarter bei seinem Problem zur Seite stehen... Am Ende wäre es darauf hinaus gelaufen, dass er eingesehen hätte, den Motor ausserhalb der Schrittkette anzusteuern, oder vielleicht wäre am Ende eine Lösung für die Ansteuerung des Motors in der Schrittkette realisiert worden, da es, wie es scheint, er dies gerne in der Schrittkette realisiert hätte.
 
@shutdown_TIA12

Viele Wege führen nach Rom ...
Deine Int-Variablen musst du in jedem Schritt mitführen.
Das wäre mir persönlich bei meinen Programmen zuviel Aufwand.
Aber übersichtlicher als die Siemens-Lösung (Durchtippen der aktiven / gestörten Schritte) ist es allemal.
Wir haben einen Baustein für Aktoren im Einsatz.
Dort werden für jede Bewegung Freigaben, Rückmeldungen, Laufzeiten, Plausibilitätskontrolle, usw. parametriert.
Diese kann man dann, wenn man will, in den Ketten in den Transistionen und Interlock verschalten.
Die Daten sind im Global-DB und somit funktioniert auch Querverweis und "Gehe zu Verwendungstelle".
Dazu haben wir passende Bildbausteine und Diagnose.
Somit brauchen wir recht wenig von den Graph-Diagnosen und sind flexibler beim Ändern von Schrittketten.

Gruß
Dieter
 
Zurück
Oben