Teleswitch


Google-Suche auf MEINE-SCHALTUNG.de :





Online Rechner

Chronik

Dauerkalender


Schere

Eine einfache industrielle Schneidemaschine (Schere) soll mit einem SPS-Programm angesteuert werden. Um das obere Teil der Schneidemaschine zu bewegen, werden zwei pneumatische Ventile eingesetzt. Das erste Ventil ist für die Bewegung nach unten zuständig, das zweite Ventil sorgt für die Bewegung in entgegensetzte Richtung. Die Position der Schneidklinge wird mit zwei Initiatoren überwacht. Ein Sensor fragt die obere Stellung (OT) ab, der andere die untere Position (UT). Mit einem Taster kann der Schneidvorgang ausgelöst werden. Wird der Taster losgelassen, bevor der Schneidvorgang komplett abgeschlossen wurde, muss die Schere sofort anhalten. Wird der Taster kontinuierlich festgehalten, muss er, um einen neuen Schneidvorgang auszulösen, losgelassen und erneut betätigt werden.

Schere


Lösung:

Der einfache Programmablauf für einen Schneidvorgang wird hier mit zwei Merkern gestaltet. Ein Merker (Bit_Merker[1]) steuert das erste Ventil, der zweite (Bit_Merker[2]) das zweite Ventil. Mit einer Flanke wird erkannt, ob der Taster betätigt wurde. Ist das der Fall und der letzte Schneidvorgang wurde komplett abgeschlossen, wird der erste Merker gesetzt. Der Schneidvorgang wird damit aktiviert, es erfolgt eine Bewegung nach unten. Der Vorgang dauert solange an, bis die Position UT erreicht wurde. In dem Moment wechseln beide Merker ihren Wert. Bit_Merker[1]) wird rückgesetzt, Bit_Merker[2] wird dagegen gesetzt. Es erfolgt jetzt eine Bewegung nach oben bis der obere Punkt OT angefahren wird.

KOP Lösung


Wird während des Schneidvorgangs der Taster losgelassen, gehen beide Ventile aus. Damit wird sichergestellt, dass es im manuellen Betrieb zu keinen automatischen Abläufen kommt. Wird der Taster erneut betätigt wird der Schneidvorgang fortgesetzt. Der Wert der beiden Merker wird nach dem Loslassen des Tasters nicht verändert.

Variablen


Lösung mit SCL:


"R_TRIG_DB_3"(CLK:="Taster_Schnitt",
Q=>#Bit_Merker[3]);
IF #Bit_Merker[3] AND NOT #Bit_Merker[2] THEN
#Bit_Merker[1] := TRUE;
END_IF;
IF #Bit_Merker[1] AND "UT" THEN
#Bit_Merker[1] := FALSE;
#Bit_Merker[2] := TRUE;
END_IF;
IF #Bit_Merker[2] AND "OT" THEN
#Bit_Merker[2] := FALSE;
END_IF;
"Ventil_Runter" := "Taster_Schnitt" AND #Bit_Merker[1];
"Ventil_Rauf" := "Taster_Schnitt" AND #Bit_Merker[2];


S7-Programmierung TIA-Portal (Übersicht):




Google-Suche auf MEINE-SCHALTUNG.de :


Home Impressum Datenschutz