TIA Motion Control Schrittkette Pausieren

_chris_

Level-2
Beiträge
25
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich habe mit einer S7-1200 (1214C) und V90 Antrieben eine Positionieranlage umgesetzt.
Dabei arbeite ich hauptsächlich mit den Motion Control Technologieobjekten und habe den Ablauf als Schrittkette umgesetzt.

Die Anlage soll nur verfahren, wenn die Sicherheitstüre geschlossen ist. Ich habe das bis jetzt so gelöst, dass ich den "Türe geschlossen" Sensor als Bedingung vor jedem neuen Schritt per UND Verknüpfung eingefügt habe. So wurde es auch schon ein paar mal hier im Forum empfohlen.

Wenn ich die Türe während der Bearbeitung öffne, dann startet der nächste Schritt nicht. Aber der Schritt, der gerade in der Ausführung ist, wird noch beendet. Dies würde ich gerne auch noch verhindern.
Die Anloge soll also in Pause gehen und alle Bewegungen unterbrechen wenn der Sensor abfällt und wenn er wieder da ist alle Bewegungen fortsetzen.

Gibt es da eine Lösung für so eine Unterbrechung oder ist die Lösung mit der Schrittbedingung das einzig mögliche?

Vielen Dank schonmal,
Chris
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zako,

daran hatte ich am Anfang auch gedacht. Aber im S7-1200 Motion Control Handbuch steht nichts zu Geschwindigkeits override.
Im Handbuch der S7-1500 hingegen schon.

Daher habe ich gedacht, dass das eine Funktion ist, die nur mit der 1500 möglich ist.
Oder sehe ich das falsch?
 
Wenn die Tür nicht zu ist mit MC_HALT stoppen würd ich sagen. Und sobald die Achse steht mit MC_POWER ausschalten.
 
Ich hatte vergessen zu sagen, dass ich eine referenzierte Achse nutze.
Nach MC-HALT müsste ich dann doch jedes mal neu Referenzpunkt fahren, oder?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Was meinst du mit referenzierte Achse? Welcher Geber? Wie ist der Geber parametriert (Zyklisch Absolut, Absolut oder Inkremental).
Ich wüsste nicht warum der die Referenz bei MC_HALT verwerfen würde.
 
Die Achse ist über MC_Home aktiv referenziert worden. So, dass ich sie nun absolut positionieren kann.
Der Geber ist direkt im Motor (1FL6...). Der Geber ist am Profinet, Providrive-Geber und ist Rotatorisch-Inkrementell (2500 Schritte/Umdrehung) und das Ganze kommuniziert über Profinet und Standard Telegramm 3.

Ich habe es gerade noch einmal ausprobiert.
Wenn ich erst MC_Home fahre und dann eine Positionieraufgabe beginne. Diese unterbreche ich durch das Öffnen eines Sensors der MC_Halt triggert (Achse ist verbunden, Execute=True, Done=true, Error=False). Dann bleibt die Achse stehen.

Wenn ich jetzt den Sensor wieder schließe, dann fällt MC_Halt ab (Execute=False, Done=False). Aber die Bewegung wird nicht fortgesetzt und MC_MoveAbsolut zeigt Execute=True, Done=False, Busy=False, Error=False, CommandAborted=True an.

Die Selbsthaltung mit der die Bewegung gestartet wurde ist aber noch aktiv, sodass ich diese auch nicht neu starten kann.
Auch MC_Reset ändert daran nichts.

Das war jetzt etwas viel geschrieben aber ich wollte es genau beschreiben.

Mache ich in dem Ablauf vielleicht etwas falsch wenn du sagst, dass ein Fortführen nach MC_Halt grundsätzlich möglich ist?
 
Hallo,

der MC_MoveAbsolut braucht eine steigende Flanke am Execute, nachdem er mit MC_Reset unterbrochen wurde.
Ich weiß nicht, ob die LAxisCtrl Bibliothek auch auf 1200 verfügbar ist, aber die sorgt dafür, dass sich die MC-Befehle nicht gegenseitig in die Wolle bekommen.

SIMATIC S7-1500 / S7-1500T: Standardapplikation Achsansteuerung - ID: 109749348 - Industry Support Siemens

(Würde dein Problem aber nicht lösen da immer noch eine steigende Flanke für den absolut Befehl nötig ist nach dem Unterbrechen...)

(OK der Link war dumm, da ja schon 1500 drin steht...)
 
Zurück
Oben