Endschalter

In dieser Rubrik ist ein rechteckiges Objekt vorhanden, welches als statisches Physik-Objekt vorkonfiguriert ist. Des Weiteren ist die Eigenschaft Neutral bei Kollision eingestellt. Dies bedeutet, dass das Objekt die Kollision mit einem anderen physikalischen Objekt "bemerkt" aber keine Kraft auf dieses ausübt. In der Eigenschaftsrubrik "Endschalter Einstellungen" befindet sich die Eigenschaft Endschalter-Operand an dem der bei Kollision umzuschaltende Operand anzugeben ist. Ebenso kann in dieser Eigenschaftsrubrik selektiert werden, ob der Endschalter als Öffner ausgelegt sein soll.

Tipp:

Jedes geometrische Physik-Objekt (Rechteck, Ellipse, Dreieck) kann als Endschalter konfiguriert werden. Dabei muss man nur die gewünschten Eigenschaften innerhalb der Eigenschaftsrubrik "Endschalter Einstellungen" selektieren bzw. belegen. Alle hier gemachten Aussagen gelten somit auch für diese geometrischen Physik-Objekte.

Induktive-, Kapazitive- und Farbsensoren in PLC-Lab realisieren

Sowohl bei den geometrischen Physik-Objekten als auch beim Endschalter-Objekt, ist die Eigenschaftsrubrik Experten Einstellungen->Physik-Einstellungen->Kollisions-Einstellungen vorhanden. Dort kann die Eigenschaft "Kollisionsgruppe" eingestellt werden. Mit dieser Eigenschaft werden die unterschiedlichen Sensor-Arten für Materialerkennung oder Farberkennung realisiert.

Zunächst eine kurze Erläuterung, worum es sich bei den Kollisionsgruppen handelt.

Mit Hilfe der Kollisionsgruppen kann man bestimmen, welche Objekte miteinander kollidieren. Die Kollisionsgruppe ist dabei im Bereich 0 bis 20 einstellbar. Gehört ein Objekt zur Kollisionsgruppe 0, dann kollidiert es mit allen anderen Objekten, unabhängig zu welcher Kollisionsgruppe diese gehören. Besitzt ein Objekt eine Kollisionsgruppe, welche von 0 verschieden ist, dann kollidiert das Objekt nur mit den Objekten der gleichen Kollisionsgruppe.

Beispiel: Im folgenden Beispiel ist das blaue Rechteck auf die Kollisionsgruppe 2 eingestellt. Der Sensor S1 besitzt die Kollisionsgruppe 1, der Sensor S2 die Kollisionsgruppe 2. Die LEDs über den Endschaltern leuchten, sobald der jeweilige Sensor ausgelöst hat.

Man erkennt, dass das Rechteck den Sensor S1 nicht auslöst, denn dieser besitzt die Kollisionsgruppe 1. Damit kollidiert das der Kollisionsgruppe 2 zugehörige Rechteck nicht mit diesem Sensor. Anders beim Sensor S2, dieser gehört zur Kollisionsgruppe 2. Somit ist dessen Kollisionsgruppe identisch mit der des Rechtecks. Sobald das Rechteck den Sensor S2 berührt, leuchtet die LED als Zeichen dafür, dass der Sensor S2 ausgelöst wurde.

Man könnte nun sagen, dass das blaue Rechteck aus Metall ist und es sich bei dem Sensor S2 um einen induktiven Sensor handelt.

Beispiel: Im nächsten Beispiel sind Farbsensoren realisiert. Der Sensor S1 erkennt Objekte mit einer roten Farbe, der Sensor S2 löst bei grünen Objekten aus. Dieses Verhalten erreicht man dadurch, dass der Sensor S1 der Kollisionsgruppe 1 zugewiesen wird und die roten Rechtecke ebenfalls zu dieser Kollisionsgruppe gehören. Die grünen Rechtecke sind der Kollisionsgruppe 2 zugehörig, ebenso wie der Sensor S2.

Somit zeigt sich folgendes Verhalten: * Berührt das grüne Rechteck den Sensor S2, dann wird dieser ausgelöst, da die beiden die gleiche Kollisionsgruppe besitzen. * Berührt das rote Rechteck den Sensor S1, dann wird dieser ausgelöst, da die beiden die gleiche Kollisionsgruppe besitzen.

Fazit

Mit Hilfe der Kollisionsgruppen können Sensoren realisiert werden, welche nur auf bestimmte Objekte reagieren. Auf diese Weise kann man Induktive-, Kapazitive- und Farbsensoren in PLC-Lab implementieren.

Hinweis:

Weitere Erläuterungen zu Kollisionsgruppen sind im folgenden Abschnitt zu finden: Verwendung von Kollisionsgruppen

Kollisionsgruppe verändern über Endschalter

Ab der Version 1.5.1.0 kann ein Endschalter (oder auch ein geometrisches Physik-Objekt) so eingestellt werden, dass bei Kollision die Kollisionsgruppe des kollidierenden Objekts verändert wird. Dazu sind die beiden Eigenschaften "Endschalter verändert Kollisionsgruppe" und "Neue Kollisionsgruppe bei Kollision" hinzugekommen. Mit Hilfe der Eigenschaft "Endschalter verändert Kollisionsgruppe" wird die Funktionalität eingeschaltet. Dabei ist in der Eigenschaft "Neue Kollisionsgruppe bei Kollision" die neu einzustellende Kollisionsgruppe anzugeben. Die Angabe erfolgt in Form einer Konstanten oder aber variabel z.B. mit Hilfe eines Wort-Operanden (z.B. IM.MW2). Kollidiert nun ein Objekt mit dem Endschalter, dann wird das Objekt der neuen Kollisionsgruppe zugewiesen. Kollidiert ein aus mehreren Objekten bestehender Körper mit dem Endschalter, dann werden alle Objekte des Körpers auf die neue Kollisionsgruppe eingestellt, welche der Kollisionsgruppe des kollidierenden Objekts zugehörig sind.

Beispiel: Ein Körper besteht aus 4 Objekten. Zwei Objekte gehören der Kollisionsgruppe 1 an, die restlichen der Kollisionsgruppe 2. Nun kollidiert ein Objekt der Kollsionsgruppe 1 mit einem Endschalter. Somit werden nur die Kollisionsgruppen der beiden Objekte mit der Kollisionsgruppe 1 verändert. Die beiden anderen Objekte verbleiben in ihrer alten Kollisionsgruppe 2.

Weitere Erläuterungen zu Kollisionsgruppen und dem Wechsel der Kollisionsgruppe bei Kollision mit einem Endschalter, sind im folgenden Abschnitt zu finden: Verwendung von Kollisionsgruppen

Tipp:

Jedes geometrische Physik-Objekt kann als Endschalter konfiguriert werden. Dabei muss man nur die gewünschten Eigenschaften innerhalb der Eigenschaftsrubrik "Endschalter Einstellungen" selektieren bzw. belegen.

Distanz-Sensoren, Abstands-Sensoren und Sensoren zum Erfassen der Höhe/Breite von Objekten

Ab der Version 2.1.0.0 kann jedes geometrische Physik-Objekt (Rechteck, Ellipse, usw.) als Distanz-Sensor parametriert werden. Die dafür notwendigen Parameter befinden sich innerhalb der Rubrik "Endschalter Einstellungen" der Objekte.

Aussehen des Distanz-Sensors im Zeichnen-Modus

Wurde ein Physik-Objekt als Distanz-Sensor parametriert, dann hat dieser im Zeichnenmodus folgendes Aussehen.

Im Bild ist ein feststehendes Rechteck (Physik) als Distanz-Sensor parametriert, indem ein Operand an der Eigenschaft "Distanz in Pixel (Operand UInt16 schreiben)" angegeben wurde. Die Eigenschaft "Neutral bei Kollision" wird automatisch eingestellt, da die zu erfassenden Objekte in den Distanz-Sensor eindringen müssen. Auf der linken Seite des Sensors ist ein roter Pfeil und ein roter Kreis zu sehen. Diese symbolisieren den Ursprung (bzw. den Nullpunkt) des Sensors. Der Ursprung kann über die Eigenschaft "Ursprung nach rechts" verändert werden. In diesem Fall werden die Symbole auf der rechten Seite des Sensors angezeigt. In der Mitte des Sensors befindet sich eine gestrichelt dargestellte Linie, diese symbolisiert den Laser, welcher die Messung vornimmt. Der Messpunkt liegt also in der Mitte des Objekts. Wird die Simulation gestartet, dann werden diese Symbole beseitigt und es ist nur noch das Rechteck zu sehen.

Nachfolgend sollen nun die Einstellungsmöglichkeiten des Distanz-Sensors beschrieben werden.

Eigenschaft: Distanz in Pixel (Operand UInt16 schreiben)

Hier kann der Operand angegeben werden, in den die ermittelte Distanz in Pixel geschrieben wird. Es muss sich dabei mindestens um einen Byte-Operanden handeln, sofern die ermittelte Distanz im Bereich 0-255 liegt. Normalerweise ist ein Wort-Operand anzugeben. Die max. Distanz ist abhängig von der Länge bzw. Breite des Objekts. Hat das Objekt z.B. eine Länge von 100 Pixel, dann liefert der Sensor Werte von 0 bis 100.

Beispiel

Im folgenden Beispiel ist das gelbe Rechteck als Distanz-Sensor eingestellt. Dabei wurde in der Eigenschaft "Distanz in Pixel" ein Wort-Operand mit dem Symbol "Distance" angegeben. Das gelbe Rechteck besitzt eine Breite von 100 Pixel und kann somit die Wert 0 bis 100 liefern. Der Ursprung des Sensors liegt links, dies wird über den roten Pfeil und den roten Kreis symbolisiert.

Im Bild ist ebenfalls zu sehen, dass in der Mitte des Sensors eine gestrichelte Linie vorhanden ist. An dieser Linie wird das Mess-Signal erfasst. Nun wird die Simulation gestartet und das blaue Rechteck in den Sensor hinein geschoben. Als Folge liefert der Sensor immer kleinere Distanzwerte.

Sobald das blaue Rechteck den Ursprung des Sensors berührt, liefert dieser wieder den maximalen Wert.

Wert skalieren

Liefert der Sensor der realen Anlage einen Wert von 0 bis 1000, dann muss der Sensor in der virtuellen Anlage nicht 1000 Pixel breit gezeichnet werden. Denn der Wert an der Eigenschaft "Distanz in Pixel" ist skalierbar. Dazu wird einfach vor dem Operanden, zusätzlich der gewünschte Bereich angegeben. Nachfolgend ist dies zu sehen:

Somit liefert der Sensor die Werte 0 bis 1000, obwohl er nur eine Breite von 100 Pixel besitzt.

Mit Hilfe der Skalierung kann somit das in der realen Anlage vorhandene Signal erzeugt werden, ohne den Sensor der virtuellen Anlage in der Breite verändern zu müssen.

Eigenschaft: Ursprung nach rechts

Standardmäßig liegt der Ursprung eines Distanz-Sensors auf der linken Seite. Über die Eigenschaft "Ursprung nach rechts" kann dies geändert werden, ohne dass man das Objekt rotieren muss. Wird im obigen Beispiel diese Einstellung vorgenommen, dann ist die Änderung im Zeichnenmodus sofort ersichtlich.

Man erkennt, dass die Symbole für den Ursprung auf der rechten Seite des Objekts angeordnet sind. Hier befindet sich nun also der Ursprung bzw. der Nullpunkt.

Eigenschaft: Signal invertieren

Dringt ein Objekt an der gegenüberliegenden Seite des Ursprungs in den Sensor ein, dann liefert der Sensor die Distanz zu dem eindringenden Objekt.

Möchte man die Höhe oder Breite eines Objekts erfassen, dann müsste man den gelieferten Distanzwert vom maximalen Wert des Sensors subtrahieren, um das Ergebnis zu erhalten. Dies kann man allerdings auch über die Eigenschaft "Signal invertieren" erreichen. Ist diese Eigenschaft selektiert, dann wird die Eindringtiefe als Ergebnis vom Sensor geliefert.

Diese Einstellung ist somit zu verwenden, wenn nicht die Distanz, sondern die Höhe/Breite bzw. die Eindringtiefe über den Sensor zu ermitteln ist.

Beispiel 1 zu Distanz-Sensor

Im folgenden Beispiel werden Metallteile auf Fehler untersucht. Die Metallteile müssen über drei Metallstifte verfügen, welche eine bestimmte Höhe besitzen. Die Metallstifte haben eine Höhe von 40 mm, 20 mm und 40 mm. Die Metallstifte sind immer an der gleichen Position angebracht. Die Höhe der Metallstifte wird dabei über einen vertikal angebrachten Sensor ermittelt. Ein horizontaler Sensor erfasst die Position des Metallteils und löst somit die Messung aus. Die Teile werden über ein Förderband an die Mess-Station transportiert. Nachfolgend ist die Anordnung zu sehen.

Sensor 1 erfasst die Höhe der Metallstifte, dazu wurde im Distanz-Sensor die Eigenschaft "Signal invertieren" selektiert. Sensor 2 erfasst die Position des Metallteils und initiiert die Auswertung des vom Sensor 1 gelieferten Werts. Über die beiden Lampen wird signalisiert, ob es sich um ein gutes oder schlechtes Teil handelt.

Beispiel 2 zu Distanz-Sensor

Im nächsten Beispiel werden Teile auf einem Förderband transportiert. Über einen Distanz-Sensor B3 soll die korrekte Lage der Teile auf dem Förderband kontrolliert werden. Ist die Lage eines transportierten Teils korrekt, dann liefert der Sensor einen Wert von 37. Die Messung erfolgt, sobald der Sensor B1 betätigt ist. Bei einem Fehler wird der Wert des Distanz-Sensors über oder unterschritten. In diesem Fall sollen die beiden Zylinder ausfahren und das Teil in die korrekte Position bringen. Das Ausfahren der Zylinder wird über den Sensor B2 ausgelöst. Nachfolgend der Aufbau der Anlage:

In der nächsten Darstellung ist der Ablauf in der Simulation dargestellt.