Verbindungselemente bzw. Gelenke

In dieser Rubrik befinden sich Verbindungselemente mit denen z.B. lineare Bewegungen ähnlich wie Zylinder, Drehbewegungen, Radverbindungen usw. realisiert werden können.

Verbindungselemente definieren immer die Beziehung zwischen zwei Physikobjekten. Diese beiden Objekte sind die Ankerobjekte der Verbindung.

Verbindungselemente zeichnen

Einige Verbindungen haben ein Master-Objekt und ein Slave-Objekt. Mit dem Zeichnen einer Verbindung gehen manche Einstellungen vom Master-Objekt auf das Slave-Objekt über. Wird eine Verbindung gezeichnet, dann ist das Start-Objekt bei dem das Zeichnen des Verbindungselements begonnen wird immer auch das Master-Objekt.

Um ein Verbindungselement an zwei Objekten anzubringen geht man wie folgt vor:

  1. Selektion des Verbindungselements

  2. Die Maus zum ersten Ankerpunkt innerhalb des Master-Objekts für die Verbindung bewegen, die linke Maustaste betätigen und halten.

  3. Die Maus zum zweiten Ankerpunkt innerhalb des Slave-Objekts bewegen und die Maustaste loslassen.

Nachfolgend sind diese Schritte am Beispiel einer "Verbindung für lineare Bewegung" zu sehen:

Verbindung für lineare Bewegung

Die Verbindung für lineare Verbindungen wird beispielweise verwendet, um Zylinder zu realisieren.

Anbei das Prinzip-Symbol der Verbindung:

Beispiele für eine solche Verbindung sind:

  • Zylinder
  • Aufzüge
  • Hebebühnen
  • Schiebetüren
  • Vorschübe für Bohranlagen
  • Linearbewegungen von Greifern
  • Realisierung einer Waage

Im folgenden Bild sind zwei Objekte zu sehen, welche über eine "Verbindung für lineare Bewegung" verbunden sind. Das linke Objekt ist das Master-Objekt. Von diesem Objekt aus wird das zweite Objekt bewegt und zwar auf der Linie des Verbindungssymbols.

Wird das zweite Anker-Objekt (Slave) selektiert, dann erscheint zusätzlich ein Symbol, welches den Anschlag symbolisiert. Wird das Objekt rotiert, dann rotiert auch dieser mit, er bleibt also immer an der selben Seite des Objekts. Je nachdem wie eine Bewegung aussieht, kann es notwendig sein das Slave-Objekt zu rotieren, um den Anschlag an der korrekten Stelle zu haben.

Länge der "Verbindung für lineare Bewegung" verändern

Es gibt drei Möglichkeiten, die Länge der Bewegung anzupassen.

Erste Variante

Die erste Möglichkeit besteht darin, das Slave-Objekt zu selektieren und zu verschieben. Wird das Objekt über das momentane Ende der Bewegung hinaus bewegt, dann wird die Länge der Bewegung angepasst.

Bei dieser Methode kann die Länge allerdings nicht verkürzt werden.

Zweite Variante

Bei der zweiten Variante wird das Symbol der Verbindung selektiert und danach die Maus ans Ende bewegt. Hier klickt man nun den Thumb an und hält die linke Maus-Taste betätigt. Daraufhin ändert sich das Aussehen des Verbindungssysmbols und es wird die momentane Länge in Pixel angezeigt. Durch die Maus kann nun der Verfahrweg verlängert oder verkürzt werden. Das Verkürzen ist nur so lange möglich, wie sich die Anschlags-Seite des Slave-Objekts noch innerhalb des Verfahrweges befindet.

Dritte Variante

Zuletzt sei noch die Möglichkeit genannt, die Länge innerhalb der Eigenschaften zu verändern.

Dazu wird die Verbindung selektiert und dann die Eigenschaft "Länge Linearbewegung" verändert.

Steigung bzw. Winkel der "Verbindung für lineare Bewegung" verändern

Es gibt drei Möglichkeiten, die Steigung der Bewegung anzupassen.

Erste Variante

Die erste Möglichkeit besteht darin, das Slave-Objekt zu selektieren und zu verschieben. Die Linearbewegung wird mit dem Slave-Objekt mit verschoben. Gleiches gilt, wenn man das Master-Objekt in seiner Lage verändert.

Zweite Variante

Bei der zweiten Variante wird das Symbol der Verbindung mit einem Doppelklick selektiert oder ein Doppelklick auf das bereits selektierte Symbol ausgeführt. An den Selektion-Thumbs ist zu erkennen, dass der Rotationsmodus aktiv ist.

In diesem Modus kann nun die Steigung verändert werden. Das Slave-Objekt wird dabei in seiner Position nachgeführt.

Dritte Variante

Die dritte Variante besteht darin, die Steigung innerhalb der Eigenschaften zu verändern.

Dazu wird die Verbindung selektiert und dann die Eigenschaft "Rotation" verändert.

Motor der "Verbindung für lineare Bewegung" nutzen

Die lineare Verbindung verfügt über einen Antrieb, der mit Hilfe der Eigenschaft "Motor" innerhalb der Eigenschaftsrubrik "Physik-Einstellungen->Allgemein->Motor Einstellungen" einzustellen ist.

Die Geschwindigkeit des Motors (Angabe in m/s) kann über einen Operanden vorgegeben werden, dabei wird der Wert aus dem Operanden gelesen. Somit ist auch die Angabe einer Konstanten möglich, wenn die Geschwindigkeit nicht variabel ausgelegt sein muss.

Mit der Eigenschaft "Geschwindigkeits-Divisor" kann man die Vorgabe der Geschwindigkeit durch einen Operanden für die Simulation anpassen, ohne dass der Wert des Oberanden verändert werden muss. Dabei wird die im Operanden angegebene Geschwindigkeit durch den in "Geschwindigkeits-Divisor" vorhandenen Wert dividiert. Dies kann z.B. notwendig sein, wenn die Bewegung in der Realität zu schnell ist und somit in der Simulation nicht nachgestellt werden kann.

Die Bewegung des Slave-Objekts wird jeweils über Operanden gesteuert. Da der Wert aus dem Operanden gelesen wird, kann für eine permanente Bewegung auch die Konstante '1' angegeben werden.

Endschalter und Sensoren der "Verbindung für lineare Bewegung"

Die Verbindung besitzt zahlreiche Sensoren. So können die Endlagen ausgewertet werden, die Position des Slave-Objekts als analoger Wert uvm..

Beim Sensor für die Position kann die Angabe eines Skalierungsbereichs sinnvoll sein, um Werte wie in der realen Anlage zu erzeugen. Unabhängig davon, ob die Länge der Bewegung mit der Länge der realen Anlage übereinstimmt.

Beispiel

In einer Anlage ist eine lineare Bewegung mit einer Länge von 4m vorhanden. Der Positionssensor liefert dabei Werte von 0 bis 4000. Dies soll in der virtuellen Anlage von PLC-Lab simuliert werden.

Dazu wird an der Eigenschaft "Sensor Position in Pixel" folgende Angabe getätigt:

0-4000 IM.MW2

Dies hat zur Folge, dass die Position des Slave-Objekts auf den Bereich 0-4000 skaliert und dann in den Wort-Operanden MW2 geschrieben wird.

Durch die Skalierung ist die Länge der linearen Bewegung innerhalb der Simulation nebensächlich. Man erhält die gleichen Sensordaten wie in der realen Anlage.

Bedeutung der Eigenschaft "Ankerobjekte kollidieren": Wie der Name der Eigenschaft es vermuten lässt, kann man durch Aktivierung erreichen, dass das Master-Objekt und das Slave-Objekt miteinander kollidieren. In der folgende Darstellung wurde die Eigenschaft selektiert:

Nun die gleiche Anordnung, wobei die beiden nicht kollidieren, die Eigenschaft also nicht selektiert ist:

Hier ist es so, dass das Slave-Objekt nicht vom Master-Objekt aufgehalten wird.

Wenn die beiden Ankerobjekte kollidieren und trotzdem der Nullpunkt der linearen Bewegung erreicht werden soll, dann erreicht man dies oftmals durch Rotation des Masterobjekts. In der folgenden Darstellung ist dies zu sehen. Das Master-Objekt wird um 180° rotiert, damit sich der Startpunkt der Bewegung in Richtung der Position des Slave-Objekts befindet.

Master- und Slave-Objekt rotieren

Es kommt häufig vor, dass man eine Anordnung bestehend aus zwei Objekten, welche über eine Verbindung für lineare Bewegung verknüpft sind, spiegelverkehrt benötigt. Beispiel ist der linke und rechte Teil einer Schiebetür.

In solchen Fällen werden die beiden verknüpften Objeke zu einer Zeichengruppe zusammengefasst, diese kopiert und anschliessend rotiert.

Im folgenden Video ist dies zu sehen:

Lineare Bewegungen aneinander Reihen

Greifer-Anordnungen bestehen oftmals aus einer horizontalen und vertikalen Bewegung. In einem solchen Fall ist das Slave-Objekt der horizontalen Bewegung auch das Master-Objekt der vertikalen Bewegung des Greifers.

Nachfolgend ein Video, welches den Aufbau einer solchen Greifer-Anordnung zeigt:

Wird der Greifer nicht über einen Magneten realisiert, sondern mit Greifarmen, dann werden am Slave-Objekt der vertikalen Bewegung weitere Verbindungen z.B. für Drehbewegungen angebracht. In diesem Fall ist es wichtig, dass durch Erhöhung der Dichte des Slave-Objekts, dessen Masse vergrößert wird. Anderenfalls wird die Anordnung instabil.

Im folgenden Video ist der Aufbau eines Greifers mit einer Greiferzange zu sehen. Man beachte die explizite Einstellung der Dichte zum Zeitpunkt 6.07 Minuten innerhalb des Videos:

Tipps zum Platzieren des Slave-Objekts

Das Slave-Objekt ist der dynamische Teil der linearen Bewegung. Die Zeichenposition dieses Objekts ist auch die Startposition beim Start der Simulation.

Möchte man die Zeichenposition des Slave-Objekts verändern, dann führt man die Veränderung am Besten mit Hilfe der Pfeil-Tasten auf der Tastatur aus. Dazu wird das Objekt selektiert und dann über die Pfeil-Tasten dessen Position verändert. Wenn man die Anfangsposition der linearen Bewegung erreicht hat und sich daraufhin über diese hinaus bewegt, dann ändert sich die Richtung der linearen Bewegung. Man sollte dann einfach um eine Position zurück gehen (also die Pfeil-Taste in die entgegengesetzte Richtung betätigen), dann hat man den Nullpunkt der linearen Bewegung erreicht. Nachfolgend ist dies zu sehen:

Die Pfeil-Tasten können einen Objekt nur in der Vertikalen oder Horizontalen verschieben. Wenn die lineare Bewegung eine bestimmte Steigung besitzt, dann ist es sehr schwierig das Slave-Objekt zu verschieben, ohne die Steigung der Bewegung zu verändern.

In einem solchen Fall sollte das Slave-Objekt mit einer Schablone belegt werden, die dafür sorgt, dass eine Verschiebung nur in dem eingestellten Winkel der linearen Bewegung möglich ist.

Folgende Schritte sind notwendig um Objekte mit einer solchen Schablone zu versehen:

  1. Selektion aller Objekte, welche mit der Schablone belegt werden sollen. Um mehrere Objekte zu selektieren, betätigt man die Shift-Taste und hält diese betätigt. Dann werden die einzelnen Objekte mit der Maus angeklickt. Zuletzt wird das Symbol der Verbindung selektiert.

  2. Nun kann die Shift-Taste losgelassen werden. Innerhalb der Liste der Aktionen wird die Aktion "Schablone setzen" ausgewählt.

  3. Im Statusfeld von PLC-Lab erscheint die Meldung, dass die Schablone gesetzt wurde.

  4. Nun können die Objekte nur noch entlang einer Linie in der Position verändert werden. Dies gilt sowohl für Änderungen mit der Maus, als auch mit den Pfeil-Tasten auf der Tastatur.

Möchte man die Objekte wieder frei positionieren, dann selektiert man diese und wählt die Aktion "Schablone rücksetzen".

Im folgenden Video ist das Setzen und Rücksetzen einer Schablone zu sehen:

Eine Waage mit Hilfe der Verbindung für lineare Bewegung realisieren

Die Verbindung für lineare Bewegung besitzt den Sensor "Kraft in Newton". An diesem Sensor kann ein Operand angegeben werden. In diesen Operanden wird der aktuelle Wert der Kraft in Newton geschrieben, welche die Verbindung benötigt, um die momentane Position zu halten bzw. eine etwaige Bewegung zu vollziehen.

Wird die lineare Verbindung z.B. vertikal angeordnet und der Slave-Anker bewegt sich nicht, dann wird in den Sensor der Wert der Kraft geschrieben, die für das Halten dieser Position notwendig ist.

Nachfolgend ist eine Verbindung für lineare Bewegung vertikal angeordnet:

Das zweite Anker-Objekt befindet sich ca. in der Mitte der Verbindung. Der Sensor "Kraft in N" wurde mit einem Wortoperanden belegt. Dieser Wort-Operand wird auch an einem Tacho-Objekt angegeben. Die lineare Verbindung vollzieht keine Bewegung, d.h. an den beiden Eigenschaften "Operand Bewegung zum Minimum" und "Operand Bewegung zum Maximum" ist jeweils die Konstante 0 angegeben.

Beim Start der Simulation zeigt sich folgendes Bild:

Das Tacho-Objekt zeigt an, dass eine Kraft von 2 Newton benötigt wird, um den Anker 2 an seiner Position zu halten.

Im nächsten Schritt sollen nun Rechtecke identischer Größe mit unterschiedlicher Dichte (und somit unterschiedlichen Massen) auf dem zweiten Anker-Objekt abgelegt werden.

Durch das Ablegen der Rechtecke auf dem zweiten Anker, benötigt die lineare Verbindung eine höhere Kraft, um die Postion zu halten. Diese Kraft wird jeweils im Tacho-Objekt angezeigt. Je nach Masse des abgelegten Objekts ist diese Kraft unterschiedlich und somit ein Maß für dessen Gewicht.

Info

Vollzieht das Slave-Objekt eine Bewegung und trifft auf die Begrenzung der linearen Verbindung, dann steigt die Kraft an, bis die max. Kraft der linearen Verbindung erreicht ist.

Automatische Positionierung einer "Verbindung für lineare Bewegung" (ab V1.5.4.0)

Mit Hilfe der automatischen Positionierung kann eine Verbindung für lineare Bewegung auf eine bestimmte Position gesetzt werden. Ähnlich wie dies bei einer Schrittmotorensteuerung der Fall ist. Des Weiteren ist auch die Positionierung relativ zur aktuellen Position möglich. Die für diese Funktionalität notwendigen Eigenschaften befinden sich in der Rubrik "Positionierung".

Bedeutung der Eigenschaften innerhalb der Rubrik "Positionierung"

Positionierung aktivieren

An dieser Eigenschaft kann ein Bool-Operand oder eine Konstante angegeben werden. Sobald der Operand den Wert '1' (true) besitzt, ist die Positionierung aktiv. Gleiches gilt wenn die Konstante '1' angegeben wird. Ist die Positionierung aktiv, dann kann die lineare Bewegung nicht mehr über die beiden Operanden "Bewegung zum Minimum" oder "Bewegung zum Maximum" gesteuert werden. Des Weiteren werden einige Eigenschaften, wie z.B. das "Impulsverhalten" und "Geschwindigkeit umkehren bei Status '0' der Bewegungs-Operanden" deaktiviert. Wechselt der Operand während der Positionierung von '1' nach '0', dann wird die Positionierung gestoppt.

Positionierdaten übernehmen

An dieser Eigenschaft ist ein Bool-Operand anzugeben. Bei einer pos. Flanke des Operanden und aktivierter Positionierung, wird der Positioniervorgang gestartet.

Positionsvorgabe

Operand für die Vorgabe der Positions-Inkremente. Der Wert wird aus dem angegebenen Operanden gelesen. Dabei ist die Angabe einer Konstanten > 0 nicht erlaubt. Je nach Positionier-Modus wird der Wert als absolute Position oder relative Positionsänderung verwendet. Die Angabe eines Bereichs ist nicht möglich! Es wird ein etwaiger Bereich am Positions-Sensor der Verbindung für lineare Bewegung verwendet.

Positionier-Modus

Operand oder Konstante für die Vorgabe des zu verwendenden Positionier-Modus.

Modus Bedeutung
0 Keine Funktion
1 Positionierung über Absolutwert. Der Wert an der Positionsvorgabe wird als absoluter Positionswert gedeutet.
2 Positionierung über relativen Wert. Der Wert an der Positionsvorgabe wird als relativer Positionswert gedeutet. Die Richtung wird über die Eigenschaft "Bewegungsrichtung für Positionierung" bestimmt.

Bewegungsrichtung für Positionierung

Operand zur Angabe der Bewegungsrichtung bei der relativen Positionierung.

Wert Bedeutung
0 Bewegung zum Maximum.
1 Bewegung zum Minimum.

Sensor Positionierung abgeschlossen

Operand wird true, sobald ein Positionier-Auftrag abgeschlossen ist. Dies bedeutet, die über die Positionsvorgabe vorgegebene Position (absolut oder relativ) wurde erreicht. Der Operand bleibt so lange true, bis neue Positionsdaten übernommen werden, die Position verändert oder die Positionierung deaktiviert wird.

Maximale Geschwindigkeit für die Positionierung vorgeben

Innerhalb der Rubrik "Motor Einstellungen" kann an der Eigenschaft "Geschwindigkeit in m/s" eine Konstante oder ein Operand angegeben werden. Diese Eigenschaft wird auch bei der automatischen Positionierung ausgewertet.

Ist der Wert des Operanden oder der Konstanten identisch mit 0, dann erfolgt die Positionierung mit maximaler Geschwindigkeit. Ist ein Wert > 0 vorhanden, dann wird die max. Geschwindigkeit bei der Positionierung auf diesen Wert begrenzt.

Beispiel zur absoluten Positionierung

Im folgenden Beispiel soll eine Hebebühne absolut positioniert werden. Die Hebebühne ist dabei auf eine beliebige Höhe im Bereich 0 bis 250 cm einstellbar.

Die Plattform der Hebebühne wird mit Hilfe einer Verbindung für lineare Bewegung in der Vertikalen bewegt. Die Länge der Verbindung ist auf 250 eingestellt, weshalb kein Skalierungsbereich an der Eigenschaft "Sensor Position in Pixel" notwendig ist. Wäre ein Skalierungsbereich notwendig, dann würde der an diesem Sensor angegebene Bereich auch für die Positionsdaten der Positionierung verwendet werden.

Folgende Operanden kommen bei dem Beispiel zur Anwendung:

Symbol Operand Bedeutung
GoToNewPos E0.0 Eine pos. Flanke an diesem Operanden soll die Positionierung starten.
NewPosReached E0.1 Dieser Operand soll den Status 1 besitzen, sobald die Positionierung abgeschlossen ist und die Hebebühne die Position erreicht hat.
ActualPos EW2 In diesem Wort-Operanden soll die momentane Position der Hebebühne abgelegt sein, im Bereich 0 bis 250.
TargetPos EW4 Die absolute Ziel-Position, welche von der Hebebühne anzufahren ist, im Bereich 0 bis 250.

Da das Beispiel ohne SPS-Programm bzw. GRAFCET ablaufen soll, werden Eingänge des Sim-Device als Operanden verwendet.

Das Beispiel wird mit PLC-Lab installiert. Siehe auch: Positionierung absolut

Einstellungen innerhalb des Motors der Verbindung für lineare Bewegung

Nachfolgend die Einstellungen der Motor-Eigenschaften der Verbindung für lineare Bewegung.

Die Geschwindigkeit wird auf 1 m/s begrenzt, damit wird ein relativ sanftes Positionieren erreicht. Die Eigenschaften für die Bewegung zum Minimum und zum Maximum sind jeweils mit der Konstanten '0' belegt, denn diese werden nicht verwendet. Soll die Hebebühne auch manuell bewegt werden können, dann sind hier die entsprechenden Operanden anzugeben. Allerdings würden diese erst beachtet werden, wenn die Positionierung nicht aktiv ist.

Einstellungen innerhalb der Endschalter der Verbindung für lineare Bewegung

Als Sensor wird lediglich der Sensor "Position in Pixel" benötigt. Hier ist der Operand mit dem Symbol "ActualPos" anzugeben.

Einstellungen innerhalb der Rubrik "Positionierung" der Verbindung für lineare Bewegung

Nun zu den wichtigsten Einstellungen innerhalb der Rubrik "Positionierung". Nachfolgend sind diese zu sehen:

An der Eigenschaft "Positionierung aktivieren" wird die Konstante '1' angegeben, denn im Beispiel soll die Hebebühne ausschließlich durch Angabe eines Positionswerts in der Lage verändert werden. Ein manuelles verändern ist nicht vorgesehen. Wäre dies gewünscht, dann könnnte man an der Eigenschaft einen Bit-Operanden angeben und so zwischen einem manuellen Bewegen und der automatischen Positionierung umschalten. Ebenso könnte die Positionierung mit Hilfe des Operanden sofort gestoppt werden. Auch darauf wird der Einfachheit wegen in diesem Beispiel verzichtet.

Die Positionsdaten sollen bei einer pos. Flanke am Operanden "GoToNewPos" übernommen und die Positionierung gestartet werden. Somit ist dieser an der Eigenschaft "Positionierdaten übernehmen" anzugeben.

Da im Beispiel ausschließlich die absolute Positionierung zur Anwendung kommt, kann an der Eigenschaft "Positionier-Modus" die Konstante '1' angegeben werden.

Zuletzt ist am "Sensor Positionierung abgeschlossen", der Operand "NewPosReached" anzugeben. Dieser wird auf true gesetzt, sobald die Positionierung abgeschlossen ist. Der Operand ist am Leuchttaster "New pos." angegeben und signalisiert somit das Erreichen der Position.

Simulation des Beispiels

Damit sind alle Einstellungen komplett und die Anlage kann simuliert werden. Nachfolgend ist dies zu sehen.

Die jeweils anzufahrende Position wird mit Hilfe des Schiebereglers eingestellt und die Positionierung über den Taster gestartet. Sobald die Position erreicht ist, wird dies durch Aufleuchten des Tasters signalisiert.

Beispiel zur relativen Positionierung

Im folgenden Beispiel soll eine Hebebühne relativ zur momentanen Position positioniert werden. Der Offset zur momentanen Position kann dabei von 1 bis 50 cm eingestellt werden. Über einen Drehschalter wird selektiert, ob die Bewegung hin zum Maximum (nach oben) oder zum Minimum (nach unten) erfolgen soll.

Die Plattform der Hebebühne wird mit Hilfe einer Verbindung für lineare Bewegung in der Vertikalen bewegt. Die Länge der Verbindung ist auf 250 eingestellt, weshalb kein Skalierungsbereich an der Eigenschaft "Sensor Position in Pixel" notwendig ist. Wäre ein Skalierungsbereich notwendig, dann würde der an diesem Sensor angegebene Bereich auch für die Positionsdaten der Positionierung verwendet werden.

Folgende Operanden kommen bei dem Beispiel zur Anwendung:

Symbol Operand Bedeutung
GoToNewPos E0.0 Eine pos. Flanke an diesem Operanden soll die Positionierung starten.
NewPosReached E0.1 Dieser Operand soll den Status 1 besitzen, sobald die Positionierung abgeschlossen ist und die Hebebühne die Position erreicht hat.
Direction E0.2 0: Bewegung zum Maximum, 1: Bewegung zum Minimum.
ActualPos EW2 In diesem Wort-Operanden soll die momentane Position der Hebebühne abgelegt sein, im Bereich 0 bis 250.
RelativePositionChange EW4 Die relative Positionsänderung, welche von der Hebebühne auszuführen ist, im Bereich 0 bis 50.

Da das Beispiel ohne SPS-Programm bzw. GRAFCET ablaufen soll, werden Eingänge des Sim-Device als Operanden verwendet.

Das Beispiel wird mit PLC-Lab installiert. Siehe auch: Positionierung relativ

Einstellungen innerhalb des Motors der Verbindung für lineare Bewegung

Nachfolgend die Einstellungen der Motor-Eigenschaften der Verbindung für lineare Bewegung.

Die Geschwindigkeit wird auf 1 m/s begrenzt, damit wird ein relativ sanftes Positionieren erreicht. Die Eigenschaften für die Bewegung zum Minimum und zum Maximum sind jeweils mit der Konstanten '0' belegt, denn diese werden nicht verwendet. Soll die Hebebühne auch manuell bewegt werden können, dann sind hier die entsprechenden Operanden anzugeben. Allerdings würden diese erst beachtet werden, wenn die Positionierung nicht aktiv ist.

Einstellungen innerhalb der Endschalter der Verbindung für lineare Bewegung

Als Sensor wird lediglich der Sensor "Position in Pixel" benötigt. Hier ist der Operand mit dem Symbol "ActualPos" anzugeben.

Einstellungen innerhalb der Rubrik "Positionierung" der Verbindung für lineare Bewegung

Nun zu den wichtigsten Einstellungen innerhalb der Rubrik "Positionierung". Nachfolgend sind diese zu sehen:

An der Eigenschaft "Positionierung aktivieren" wird die Konstante '1' angegeben, denn im Beispiel soll die Hebebühne ausschließlich durch Angabe eines relativen Positionswerts in der Lage verändert werden. Ein manuelles verändern ist nicht vorgesehen. Wäre dies gewünscht, dann könnnte man an der Eigenschaft einen Bit-Operanden angeben und so zwischen einem manuellen Bewegen und der automatischen Positionierung umschalten. Ebenso könnte die Positionierung mit Hilfe des Operanden sofort gestoppt werden. Auch darauf wird der Einfachheit wegen in diesem Beispiel verzichtet.

Die Positionsdaten sollen bei einer pos. Flanke am Operanden "GoToNewPos" übernommen und die Positionierung gestartet werden. Somit ist dieser an der Eigenschaft "Positionierdaten übernehmen" anzugeben.

Da im Beispiel ausschließlich die relative Positionierung zur Anwendung kommt, kann an der Eigenschaft "Positionier-Modus" die Konstante '2' angegeben werden.

Der Operand "Direction" wird an der Eigenschaft "Bewegungsrichtung für Positionierung" angegeben. Hat dieser den Status '0', dann wird die relative Positionsänderung hin zum Maximum (also nach oben) ausgeführt. Hat der Operand den Status '1' dann erfolgt die Bewegung hin zu Minimum und somit nach unten.

Zuletzt ist am "Sensor Positionierung abgeschlossen", der Operand "NewPosReached" anzugeben. Dieser wird auf true gesetzt, sobald die Positionierung abgeschlossen ist. Der Operand ist am Leuchttaster "New pos." angegeben und signalisiert somit das Erreichen der Position.

Simulation des Beispiels

Damit sind alle Einstellungen komplett und die Anlagen kann simuliert werden. Nachfolgend ist dies zu sehen.

Der Offset für die anzufahrende Position wird mit Hilfe des Schiebereglers eingestellt, die Richtung vorgegeben und die Positionierung über den Taster gestartet. Sobald die Position erreicht ist, wird dies durch Aufleuchten des Tasters signalisiert.

Verbindung für Drehbewegung bzw. Drehgelenk

Die Verbindung für Drehbewegung bzw. Drehgelenk wird unter anderem zur Realisierung von folgenden Anlagenteilen verwendet:

  • Drehgelenken

  • Lüfter mit variabler Geschwindigkeit

  • Drehbewegung mit Lagesensor

  • Kippvorrichtungen

  • Drehtüren

  • Variable Rampen

  • Schranken

Der Drehpunkt der Verbindung ist frei einstellbar.

Anbei das Prinzip-Symbol der Verbindung:

Im folgenden Bild sind zwei Objekte zu sehen, welche über eine "Verbindung für Drehbewegung bzw. Drehgelenk" verbunden sind. Das untere Objekt ist das Master-Objekt, welches in den meisten Fällen ein feststehendes Objekt sein wird. Vom Master-Objekt aus führt eine durchgezogene Linie zum Drehpunkt. Dieser ist über einen farbigen Kreis mit einem Kreuz symbolisiert. Die Verbindungslinien zum Slave-Objekt ist punktiert dargestellt. Das Slave-Objekt ist das Objekt, welches um den Drehpunkt rotiert.

Lage des Drehpunkts der "Verbindung für Drehbewegung bzw. Drehgelenk" verändern

Der Drehpunkt der Verbindung ist frei positionierbar. Dazu wird der Kreis welcher den Drehpunkt symbolisiert selektiert und mit der Maus verschoben.

Im nachfolgenden Beispiel wird der Drehpunkt in der Mitte des Slave-Objekts platziert.

Nun ein Beispiel, bei dem der Drehpunkt außerhalb des Slave-Objekts platziert wird.

Die Beispiele zeigen, dass durch die freie Platzierung des Drehpunkts sehr unterschiedliche Drehbewegungen realisiert werden können.

Motor der "Verbindung für Drehbewegung bzw. Drehgelenk" nutzen

Die Verbindung verfügt über einen Antrieb, der mit Hilfe der Eigenschaft "Motor" innerhalb der Eigenschaftsrubrik "Physik-Einstellungen->Allgemein->Motor Einstellungen" einzustellen ist. Die Geschwindigkeit des Motors (Angabe in U/min) kann über einen Operanden vorgegeben werden, dabei wird der Wert aus dem Operanden gelesen. Somit ist auch die Angabe einer Konstanten möglich, wenn die Geschwindigkeit nicht variabel ausgelegt sein muss.

Mit der Eigenschaft "Geschwindigkeits-Divisor" kann man die Vorgabe der Geschwindigkeit durch einen Operanden für die Simulation anpassen, ohne dass der Wert des Oberanden verändert werden muss. Dabei wird die im Operanden angegebene Geschwindigkeit durch den in "Geschwindigkeits-Divisor" vorhandenen Wert dividiert. Dies kann z.B. notwendig sein, wenn die Bewegung in der Realität zu schnell ist und somit in der Simulation nicht nachgestellt werden kann.

Die Rechts-/Links-Drehung des Slave-Objekts wird jeweils über Operanden gesteuert. Da der Wert aus dem jeweiligen Operanden gelesen wird, kann für eine permanente Drehung in die jeweilige Richtung auch die Konstante '1' angegeben werden. Dabei ist allerdings zu beachten, dass immer nur eine Drehrichtung aktiv sein darf. Sind beide Drehrichtungen aktiv, dann erfolgt keine Drehbewegung.

Endschalter und Sensoren der "Verbindung für Drehbewegung bzw. Drehgelenk"

Die Verbindung besitzt zahlreiche Sensoren. So kann die Position des Slave-Objekts als analoger Wert erfasst oder auch die Geschwindigkeit der Drehbewegung ausgelesen werden.

Wird die Drehbewegung begrenzt, dann ist auch die Angabe von Endlagen-Sensoren möglich.

Begrenzung der Drehbewegung

Innerhalb der Eigenschaftsrubrik "Physik-Einstellungen->Allgemein->Endschalter" ist die Eigenschaft "Begrenzung aktivieren" vorhanden.

Diese kann verwendet werden, wenn man die Drehbewegung auf einen bestimmten Teilbereich begrenzen möchte. Beispiele sind Kippvorgänge, Schranken, Drehtüren.

Bevor man diese Option aktivieren kann, muss eine obere bzw. untere Begrenzung in Grad angegeben werden.

Die zulässigen Werte für die jeweilige Grenzen sind:

  • Untere Begrenzung: -180° bis 0°
  • Obere Begrenzung: 0° bis 180°

Info

Nur wenn eine Begrenzung aktiv ist, können auch die Endschalter am Minimum oder Maximum verwendet werden.

Nachfolgend ein Beispiel, bei dem die Drehbewegung auf -90° bis 0° begrenzt ist. Die Endschalter an den Grenzen wurden mit Operanden versehen, welche den Status der Lampen beeinflussen.

Die Begrenzungen sind immer relativ zur Lage des Slave-Objekts und des Drehpunkts. Dabei ist die Drehbewegung entgegen des Uhrzeigersinns negativ, mit dem Uhrzeigersinn positiv. Im obigen Beispiel wurde deshalb als untere Grenze -90° angegeben. Da die obere Grenze mit 0° definiert ist, kann das Slave-Objekt vom Startpunkt aus keine weitere Drehung nach rechts ausführen.

Nachfolgend wurde die obere Grenze auf den Wert 45° verändert.

Dies hat zur Folge, dass in der Ausgangsstellung der Endschalter an der oberen Begrenzung nicht betätigt ist. Des Weiteren kann eine Drehbewegung nach rechts (also im Uhrzeigersinn) bis 45° ausgeführt werden. Dann wird auch die Betätigung des Endschalters an der oberen Grenze (45°) durch das Leuchten der Lampe signalisiert.

Sensor für die Position

Normalerweise liefert der Sensor für die Position der Drehbewegung einen Wert von 0 bis 360.

Hier kann die Angabe eines Skalierungsbereichs sinnvoll sein, um Werte wie in der realen Anlage zu erzeugen.

Beispiel

In einer Anlage liefert ein absoluter Winkelgeber einen analogen Wert von 0..10V. Der Winkelgeber ist an einem analogen Kanal einer S7-Analogbaugruppe von Siemens angeschlossen. Somit wird der analoge Wert digitalisiert und liefert die digitalen Wert 0 bis 27648.

Dies soll in der virtuellen Anlage von PLC-Lab simuliert werden.

Dazu wird an der Eigenschaft "Sensor Position in Grad" folgende Angabe getätigt:

0-27648 IM.MW2

Dies hat zur Folge, dass die Position der Drehbewegung auf den Bereich 0 bis 27648 skaliert und anschließend in den Wort-Operanden MW2 geschrieben wird.

Mit Hilfe der Skalierung kann das identische Signal erzeugt werden, wie in der realen Anlage.

Erzeugen von Impulsen bei bestimmten Positionen

Soll die Drehbewegung beim Erreichen von bestimmten Positionen jeweils einen Impuls erzeugen, z.B. um die Pulse eines Inkrementalgebers zu simulieren, so ist dies in PLC-Lab über verschiedene Wege möglich.

Erzeugen von Impulsen über Rechner-Objekt

Die erste Möglichkeit besteht darin, ein Rechner-Objekt mit der Funktion "In Bereich" zu verwenden. Dies wird im folgenden Beispiel gezeigt. Im Beispiel wird eine Drehbewegung mit Hilfe einer "Verbindung für Drehbewegungen" realisiert. Die Drehbewegung ist vom Operanden "S1" abhängig, welcher über einen Schalter beeinflusst wird. Die Position der Drehbewegung wird in den Wort-Operanden "B2Position" geschrieben, dazu wird dieser am "Sensor Position in Grad" angegeben. Sobald sich die Drehbewegung an der Position 89° bis 91° befindet, soll der Operand "B1Pulse" den Status 1 besitzen. Dies wird über ein Rechner-Objekt erreicht, welches wie folgt zu konfigurieren ist:

Dabei ist im Rechner-Objekt die Funktion "In Bereich" zu selektieren. Am Eingang 1 wird der untere Wert des zu überwachenden Bereichs angegeben. Am Eingang 2 der Operand, welcher den Wert liefert und am Eingang 3 der obere Wert des Bereichs. Als Funktionsergebnis ist ein BOOL-Operand notwendig, welcher den Status 1 besitzt, sobald sich der Wert im angegebenen Bereich befindet. Anderenfalls wird der Status 0 in den Bool-Operanden geschrieben. Der Puls wird über eine Lampe symbolisiert. Nachfolgend ist die Anordnung zu sehen:

Jetzt kann die Simulation gestartet werden.

Man erkennt, dass die Lampe kurz aufleuchtet, sobald sich die Drehbewegung im angegebenen Bereich befindet.

Erzeugen von Impulsen über ein C#-Script

Sollten Sie mit dem C#-Script in PLC-Lab noch nicht vertraut sein, dann kann eine Beschreibung unter folgendem Link erreicht werden: C#-Script in PLC-Lab

In der Anordnung des obigen Beispiels wird das Rechner-Objekt gelöscht und das C#-Script aktiviert.

Die Auswertung des Bereichs soll nun im C#-Script programmiert werden. Dabei wird die Anforderung ebenfalls ein wenig geändert: Der Impuls soll nun 4 Mal pro Umdrehung erzeugt werden. Im ersten Schritt sind die Operanden für den Zugriff im C#-Script zu definieren. Dazu wird in der Symboltabelle der Operand "B2Position" ausgewählt und der Button für den Lesezugriff im C#-Script betätigt.

Dann ist das Symbol bzw. der Operand "B1Pulse" auszuwählen und der Button für den Schreibzugriff zu betätigen.

Damit können die Operanden im C#-Script angesprochen werden. Nachfolgend ist der Code für das Beispiel zu sehen:

public void Loop() {
    int position = (int) Get_DebugB2Position();
    //
    if (position >= 359 && position <= 360 ||
        position >= 0 && position <= 1 ||

        position >= 89 && position <= 91 ||
        position >= 189 && position <= 191 ||
        position >= 269 && position <= 271 
        ){
        Set_DebugB1Pulse(true);
    }
    else {
        Set_DebugB1Pulse(false);
    }
}

Beim Start der Simulation zeigt sich somit folgendes Verhalten:

Fazit

Die beiden Beispiele haben gezeigt, wie man die Verbindung für Drehbewegungen nutzen kann, um Impulse zu erzeugen. Dabei kam das Rechner-Objekt mit der Funktion "In Bereich" zum Einsatz und das C#-Script. Die Impulse können beispielsweise für die Simulation von Inkrementalgebern genutzt werden.

Bedeutung der Eigenschaft "Ankerobjekte kollidieren"

Wie der Name der Eigenschaft es vermuten lässt, kann man durch Aktivierung erreichen, dass das Master-Objekt und das Slave-Objekt miteinander kollidieren. Ist die Option nicht selektiert, dann kollidieren die beiden Objekte nicht miteinander, dies ist insbesondere dann notwendig, wenn sich das Slave-Objekt innerhalb des Master-Objekts befindet.

Automatische Positionierung einer "Verbindung für Drehbewegung" (ab V1.5.4.0)

Mit Hilfe der automatischen Positionierung kann eine Verbindung für Drehbewegung auf eine bestimmte Position gesetzt werden. Ähnlich wie dies bei einer Schrittmotorensteuerung der Fall ist. Des Weiteren ist auch die Positionierung relativ zur aktuellen Position möglich. Die für diese Funktionalität notwendigen Eigenschaften befinden sich in der Rubrik "Positionierung".

Bedeutung der Eigenschaften innerhalb der Rubrik "Positionierung"

Positionierung aktivieren

An dieser Eigenschaft kann ein Bool-Operand oder eine Konstante angegeben werden. Sobald der Operand den Wert '1' (true) besitzt, ist die Positionierung aktiv. Gleiches gilt wenn die Konstante '1' angegeben wird. Ist die Positionierung aktiv, dann kann die Drehbewegung nicht mehr über die beiden Operanden "Operand für Rechtsdrehung" oder "Operand für Linksdrehung" gesteuert werden. Des Weiteren werden einige Eigenschaften, wie z.B. das "Impulsverhalten" und "Geschwindigkeit umkehren bei Status '0' der Bewegungs-Operanden" deaktiviert. Wechselt der Operand während der Positionierung von '1' nach '0', dann wird die Positionierung gestoppt.

Positionierdaten übernehmen

An dieser Eigenschaft ist ein Bool-Operand anzugeben. Bei einer pos. Flanke des Operanden und aktivierter Positionierung, wird der Positioniervorgang gestartet.

Positionsvorgabe

Operand für die Vorgabe der Positions-Inkremente. Der Wert wird aus dem angegebenen Operanden gelesen. Dabei ist die Angabe einer Konstanten > 0 nicht erlaubt. Je nach Positionier-Modus wird der Wert als absolute Position oder relative Positionsänderung verwendet. Die Angabe eines Bereichs ist nicht möglich! Es wird ein etwaiger Bereich am Positions-Sensor der Verbindung für Drehbewegung verwendet.

Positionier-Modus

Operand oder Konstante für die Vorgabe des zu verwendenden Positionier-Modus.

Modus Bedeutung
0 Keine Funktion
1 Positionierung über Absolutwert. Der Wert an der Positionsvorgabe wird als absoluter Positionswert gedeutet.
2 Positionierung über relativen Wert. Der Wert an der Positionsvorgabe wird als relativer Positionswert gedeutet. Die Richtung wird über die Eigenschaft "Bewegungsrichtung für Positionierung" bestimmt.

Info

Ist die Positionierung über Absolutwert eingestellt und sind keine Begrenzungen für die Drehbewegung angegeben, dann wird bei der Positionierung immer der kürzeste Weg zur Zielposition verwendet.

Bewegungsrichtung für Positionierung

Operand zur Angabe der Bewegungsrichtung bei der relativen Positionierung.

Wert Bedeutung
0 Bewegung nach Rechts (im Uhrzeigersinn).
1 Bewegung nach Links (gegen Uhrzeigersinn).

Sensor Positionierung abgeschlossen

Operand wird true, sobald ein Positionier-Auftrag abgeschlossen ist. Dies bedeutet, die über die Positionsvorgabe vorgegebene Position (absolut oder relativ) wurde erreicht. Der Operand bleibt so lange true, bis neue Positionsdaten übernommen werden, die Position verändert oder die Positionierung deaktiviert wird.

Maximale Geschwindigkeit für die Positionierung vorgeben

Innerhalb der Rubrik "Motor Einstellungen" kann an der Eigenschaft "Drehgeschwindigkeit in U/min" eine Konstante oder ein Operand angegeben werden. Diese Eigenschaft wird auch bei der automatischen Positionierung ausgewertet.

Ist der Wert des Operanden oder der Konstanten identisch mit 0, dann erfolgt die Positionierung mit maximaler Geschwindigkeit. Ist ein Wert > 0 vorhanden, dann wird die max. Geschwindigkeit bei der Positionierung auf diesen Wert begrenzt.

Beispiel zur absoluten Positionierung

Im folgenden Beispiel soll ein drehbar gelagerter Montage-Tisch absolut positioniert werden. Auf dem Montage-Tisch werden Rahmen bearbeitet und der Bediener kann den Tisch auf eine beliebige Position im Bereich von 0 bis 360° drehen lassen.

Der Montage-Tisch wird mit Hilfe einer Verbindung für Drehbewegung bewegt. Da die Positionseinstellung im Bereich 0 bis 360° erfolgen soll, ist an der Eigenschaft "Sensor Position in Grad" keine Skalierung notwendig ist. Wäre ein Skalierungsbereich notwendig, dann würde der an diesem Sensor angegebene Bereich auch für die Positionsdaten der Positionierung verwendet werden.

Folgende Operanden kommen bei dem Beispiel zur Anwendung:

Symbol Operand Bedeutung
GoToNewPos E0.0 Eine pos. Flanke an diesem Operanden soll die Positionierung starten.
NewPosReached E0.1 Dieser Operand soll den Status 1 besitzen, sobald die Positionierung abgeschlossen ist und der Drehtisch die Position erreicht hat.
ActualPos EW2 In diesem Wort-Operanden soll die momentane Position der Drehtischs abgelegt sein, im Bereich 0 bis 360.
TargetPos EW4 Die absolute Ziel-Position, welche am Drehtisch anzufahren ist, im Bereich 0 bis 360.

Da das Beispiel ohne SPS-Programm bzw. GRAFCET ablaufen soll, werden Eingänge des Sim-Device als Operanden verwendet.

Das Beispiel wird mit PLC-Lab installiert. Siehe auch: Positionierung absolut

Einstellungen innerhalb des Motors der Verbindung für Drehbewegung

Nachfolgend die Einstellungen der Motor-Eigenschaften der Verbindung für Drehbewegung.

Die Geschwindigkeit wird auf 8 U/min begrenzt. Die Eigenschaften für die Drehung nach Rechts bzw. nach Links sind jeweils mit der Konstanten '0' belegt, denn diese werden nicht verwendet. Soll der Montage-Tisch auch manuell bewegt werden können, dann sind hier die entsprechenden Operanden anzugeben. Allerdings würden diese erst beachtet werden, wenn die Positionierung nicht aktiv ist.

Einstellungen innerhalb der Endschalter der Verbindung für Drehbewegung

Als Sensor wird lediglich der Sensor "Position in Grad" benötigt. Hier ist der Operand mit dem Symbol "ActualPos" anzugeben.

Einstellungen innerhalb der Rubrik "Positionierung" der Verbindung für Drehbewegung

Nun zu den wichtigsten Einstellungen innerhalb der Rubrik "Positionierung". Nachfolgend sind diese zu sehen:

An der Eigenschaft "Positionierung aktivieren" wird die Konstante '1' angegeben, denn im Beispiel soll der Montage-Tisch ausschließlich durch Angabe eines Positionswerts in der Lage verändert werden. Ein manuelles verändern ist nicht vorgesehen. Wäre dies gewünscht, dann könnnte man an der Eigenschaft einen Bit-Operanden angeben und so zwischen einem manuellen Bewegen und der automatischen Positionierung umschalten. Ebenso könnte die Positionierung mit Hilfe des Operanden sofort gestoppt werden. Auch darauf wird der Einfachheit wegen in diesem Beispiel verzichtet.

Die Positionsdaten sollen bei einer pos. Flanke am Operanden "GoToNewPos" übernommen und die Positionierung gestartet werden. Somit ist dieser an der Eigenschaft "Positionierdaten übernehmen" anzugeben.

Da im Beispiel ausschließlich die absolute Positionierung zur Anwendung kommt, kann an der Eigenschaft "Positionier-Modus" die Konstante '1' angegeben werden.

Zuletzt ist am "Sensor Positionierung abgeschlossen", der Operand "NewPosReached" anzugeben. Dieser wird auf true gesetzt, sobald die Positionierung abgeschlossen ist. Der Operand ist am Leuchttaster "New pos." angegeben und signalisiert somit das Erreichen der Position.

Simulation des Beispiels

Damit sind alle Einstellungen komplett und die Anlage kann simuliert werden. Nachfolgend ist dies zu sehen.

Die jeweils anzufahrende Position wird mit Hilfe des Schiebereglers eingestellt und die Positionierung über den Taster gestartet. Sobald die Position erreicht ist, wird dies durch Aufleuchten des Tasters signalisiert.

Beispiel zur relativen Positionierung

Im folgenden Beispiel soll ein drehbar gelagerter Montage-Tisch relativ zur momentanen Position positioniert werden. Der Offset zur momentanen Position kann dabei von 1 bis 100° eingestellt werden. Über einen Drehschalter wird selektiert, ob die Bewegung nach Rechts (im Uhrzeigersinn) oder nach Links (gegen Uhrzeigersinn) erfolgen soll.

Der Montage-Tisch wird mit Hilfe einer Verbindung für Drehbewegung bewegt. Ein Skalierungsbereich ist im Beispiel nicht notwendig, da die Eigenschaft "Sensor Position in Grad" Werte im Bereich von 0 bis 360° liefert. Wäre ein Skalierungsbereich notwendig, dann würde der an diesem Sensor angegebene Bereich auch für die Positionsdaten der Positionierung verwendet werden.

Folgende Operanden kommen bei dem Beispiel zur Anwendung:

Symbol Operand Bedeutung
GoToNewPos E0.0 Eine pos. Flanke an diesem Operanden soll die Positionierung starten.
NewPosReached E0.1 Dieser Operand soll den Status 1 besitzen, sobald die Positionierung abgeschlossen ist und der Montage-Tisch die Position erreicht hat.
Direction E0.2 0: Drehung nach Rechts, 1: Drehung nach Links.
ActualPos EW2 In diesem Wort-Operanden soll die momentane Position des Montage-Tischs abgelegt sein, im Bereich 0 bis 360.
RelativePositionChange EW4 Die relative Positionsänderung, welche vom Tisch auszuführen ist, im Bereich 0 bis 100.

Da das Beispiel ohne SPS-Programm bzw. GRAFCET ablaufen soll, werden Eingänge des Sim-Device als Operanden verwendet.

Das Beispiel wird mit PLC-Lab installiert. Siehe auch: Positionierung relativ

Einstellungen innerhalb des Motors der Verbindung für Drehbewegung

Nachfolgend die Einstellungen der Motor-Eigenschaften der Verbindung für Drehbewegung.

Die Geschwindigkeit wird auf 8 U/min begrenzt. Die Eigenschaften für die Drehung nach Rechts bzw. nach Links sind jeweils mit der Konstanten '0' belegt, denn diese werden nicht verwendet. Soll der Montage-Tisch auch manuell bewegt werden können, dann sind hier die entsprechenden Operanden anzugeben. Allerdings würden diese erst beachtet werden, wenn die Positionierung nicht aktiv ist.

Einstellungen innerhalb der Endschalter der Verbindung für Drehbewegung

Als Sensor wird lediglich der Sensor "Position in Grad" benötigt. Hier ist der Operand mit dem Symbol "ActualPos" anzugeben.

Einstellungen innerhalb der Rubrik "Positionierung" der Verbindung für Drehbewegung

Nun zu den wichtigsten Einstellungen innerhalb der Rubrik "Positionierung". Nachfolgend sind diese zu sehen:

An der Eigenschaft "Positionierung aktivieren" wird die Konstante '1' angegeben, denn im Beispiel soll der Montage-Tisch ausschließlich durch Angabe eines relativen Positionswerts in der Lage verändert werden. Ein manuelles verändern ist nicht vorgesehen. Wäre dies gewünscht, dann könnnte man an der Eigenschaft einen Bit-Operanden angeben und so zwischen einem manuellen Bewegen und der automatischen Positionierung umschalten. Ebenso könnte die Positionierung mit Hilfe des Operanden sofort gestoppt werden. Auch darauf wird der Einfachheit wegen in diesem Beispiel verzichtet.

Die Positionsdaten sollen bei einer pos. Flanke am Operanden "GoToNewPos" übernommen und die Positionierung gestartet werden. Somit ist dieser an der Eigenschaft "Positionierdaten übernehmen" anzugeben.

Da im Beispiel ausschließlich die relative Positionierung zur Anwendung kommt, kann an der Eigenschaft "Positionier-Modus" die Konstante '2' angegeben werden.

Der Operand "Direction" wird an der Eigenschaft "Bewegungsrichtung für Positionierung" angegeben. Hat dieser den Status '0', dann wird die relative Positionsänderung nach Rechts (im Uhrzeigersinn) ausgeführt. Hat der Operand den Status '1' dann erfolgt die Drehbewegung nach Links und somit gegen den Uhrzeigersinn.

Zuletzt ist am "Sensor Positionierung abgeschlossen", der Operand "NewPosReached" anzugeben. Dieser wird auf true gesetzt, sobald die Positionierung abgeschlossen ist. Der Operand ist am Leuchttaster "New pos." angegeben und signalisiert somit das Erreichen der Position.

Simulation des Beispiels

Damit sind alle Einstellungen komplett und die Anlagen kann simuliert werden. Nachfolgend ist dies zu sehen.

Der Offset für die anzufahrende Position wird mit Hilfe des Schiebereglers eingestellt, die Richtung vorgegeben und die Positionierung über den Taster gestartet. Sobald die Position erreicht ist, wird dies durch Aufleuchten des Tasters signalisiert.

Beispiele

Nachfolgend finden Sie Links zu Beispiel-Videos, bei denen eine Verbindung für Drehbewegung bzw. Drehgelenk zum Einsatz kommt.

Verbindung mit konstanter Distanz

Die Verbindung mit konstanter Distanz wird immer dann verwendet, wenn zwei Objekte über eine Stange miteinander zu verbinden sind.

Diese Verbindung kommt auch häufig zum Einsatz, um Mutterobjekte die über einen Creator vervielfältigt werden, an einer bestimmten Stelle zu halten. Auch für die Umsetzung eines Pendels kann diese Verbindung verwendet werden.

Anbei das Prinzip-Symbol der Verbindung:

Im folgenden Bild sind zwei Objekte über eine Verbindung mit konstanter Distanz verbunden. Die verbundenen Anker-Objekte sind dabei gleichwertig, d.h. bei dieser Verbindungsart ist kein Master- bzw. Slave-Objekt vorhanden. Die Verbindung selbst wird über eine schwarze Linie symbolisiert.

Wird diese Anordnung simuliert, dann kann man sehr gut die Eigenschaft dieser Verbindung erkennen.

Verändern der Ankerpunkte

Der Ankerpunkt der Verbindung am jeweiligen Anker-Objekt ist variabel. Er sollte sich aber innerhalb des jeweiligen Anker-Objekts befinden.

Um einen Ankerpunkt zu verändern selektiert man zunächst die Linie welche die Verbindung symbolisiert und klickt dann mit der Maus auf einen der beiden Selektions-Thumbs um diesen zu verschieben. Dabei erscheinen an dem jeweiligen Anker-Objekt Standard-Ankerpunkte, an denen angedockt werden kann. Es sind aber auch Ankerpunkte an anderen Stellen innerhalb des Objekts möglich.

Nachfolgend ist die Selektion eines neuen Ankerpunktes zu sehen:

Theoretisch kann auch ein Ankerpunkt außerhalb eines Anker-Objekts selektiert werden. Das Verhalten der Verbindung ist dann allerdings nicht mehr ganz eindeutig und die physikalische Simulation unter Umständen instabil.

Die Eigenschaften "Steifigkeit" und "Dämpfung"

Eingangs wurde erwähnt, dass die Verbindung mit konstanter Distanz vergleichbar ist mit einer Stange, die zwei Objekte miteinander verbindet. Mit den beiden Eigenschaften "Steifigkeit" und "Dämpfung" kann der Charakter der Verbindung etwas verändert werden.

Die Eigenschaft "Steifigkeit" kann die Werte 1 bis 30 annehmen. Dabei bedeutet 1 = soft und 30 = starr. Der Standardwert ist 29.

Wählt man hier den Wert 1, dann wird die Verbindungs-Stange in eine Verbindungs-Kette gewandelt, allerdings mit relativ großen Kettengliedern.

Die Eigenschaft "Dämpfung" kann die Werte 0.0 bis 1.0 annehmen. Der Standardwert ist 0.9. Damit kann der Charakter der Verbindung zwischen Metall und Hart-Gummi variiert werden.

Beispiele

Nachfolgend finden Sie Links zu Beispiel-Videos, bei denen eine Verbindung mit konstanter Distanz zum Einsatz kommt.

Verbindung zu einem Körper

Die Verbindung zu einem Körper wird verwendet, wenn zwei Objekte unlösbar miteinander verbunden werden sollen.

Diese Verbindung kommt auch zum Einsatz, wenn ein oder mehrere Objekte an der Kolbenstange eines Zylinders anzubringen sind.

Zwischen den beiden über die Verbindung verbundenen Objekte können sich auch Lücken befinden. Die Lücken sind für andere Objekte durchlässig, ähnlich wie bei einem Sieb.

Anbei das Prinzip-Symbol der Verbindung:

Im folgenden Bild sind zwei Objekte über eine Verbindung zu einem Körper verbunden. Das linke Objekt ist das Master-Objekt. Das Zeichnen der Verbindung wurde bei diesem Objekt begonnen. Rechts befindet sich das Slave-Objekt (Kreis).

Man erkennt, dass das Symbol der Verbindung auf der Seite zum Master-Objekt mit einer durchgezogenen Linie dargestellt ist, während die Linie zum Slave-Objekt über Punkte realisiert wird.

Wird die Verbindung erzeugt, dann werden einige Eigenschaften des Master-Objekts vom Slave-Objekt übernommen. Man sollte also dem "dominanteren" Objekt die Rolle des Master-Objekts zukommen lassen und somit bei diesem mit dem Zeichnen der Verbindung beginnen.

Wird z.B. an die Kolbenstange eines Zylinders ein anderes Objekt befestigt, dann sollte die Kolbenstange das Master-Objekt sein.

In vielen Fällen hat aber die Rollenverteilung keinen Einfluss auf die Funktion der Verbindung.

Unterschied zwischen Körper-Gruppe und Verbindung zu einem Körper

Innerhalb des Aktions-Fensters von PLC-Lab befindet sich die Rubrik "Körper-Gruppe". Darin findet man die Aktion "Körper bilden". Diese bildet aus den momentan selektierten Objekten einen Körper. Dieser wird mit Hilfe einer Körpergruppe symbolisiert, welche mit einem gestrichelt dargestellten Rechteck umrandet ist. Die Umrandung unterscheidet sich dabei gegenüber einer Zeichen-Gruppe.

Somit hat die Aktion "Köper bilden" die gleiche Wirkung, wie das Verbinden zu einem Körper. Es stellt sich also die Frage, wann die Verbindung und wann die Aktion einzusetzen ist.

Vereinfacht kann man sagen, dass wenn mehr als zwei Objekte zu einem Körper zusammengefasst werden sollen, die Aktion "Körper bilden" einzusetzen ist. Soll dann beispielsweise eine solche Körper-Gruppe mit einem anderen Objekt fest verbunden werden, dann kann wieder die Verbindung zu einem Körper zum Einsatz kommen.

Das folgende Video zeigt dies sehr anschaulich. Dabei wird ein Behälter mit Hilfe einer Körper-Gruppe gebaut und dieser dann mit einer Verbindung zu einem Körper an der Kolbenstange des Zylinders befestigt.

Grundsätzlich könnte man den Behälter auch mit Hilfe von mehreren Verbindungen zu einem Körper realisieren. Die Funktion wäre auch damit gegeben.

Ein weiterer Vorteil der Körper-Gruppe insbesondere bei zahlreichen Objekten ist, dass sich diese wie eine Zeichen-Gruppe verhält. Dies bedeutet, man kann die Gruppe z.B. vergrößern und verkleinern wobei die relativen Position der Objekte zueinander erhalten bleiben. Wird ein Objekt innerhalb der Gruppe mit der Maus kopiert, dann ist das neu erzeugte Objekt ebenfalls der Gruppe zugehörig und somit Teil des Körpers.

Ein Nachteil der Körper-Gruppe ergibt sich, wenn Objekte die nicht dem Körper zugehörig sind, innerhalb der Gruppe angeordnet werden. Dann ist optisch nicht ersichtlich, dass diese Objekte eigentlich dem Körper nicht zugehörig sind. Hier wäre dann die Verbindung zu einem Körper von Vorteil, da die Symbole der Verbindung die Zugehörigkeit optisch kenntlich machen.

Körpergruppen werden unter dem folgenden Link genauer erläutert:

Verwendung von Körper-Gruppen

Lücken zwischen Objekten die einen Körper bilden

Eingangs wurde bereits erwähnt, dass sich zwischen Objekten die zu einem Körper zusammengefasst werden auch Lücken befinden können.

Diese Tatsache erhöht nochmals die Flexibilität beim Bau von virtuellen Anlagen.

Beispiel

Im folgenden Beispiel ist eine Anordnung zu sehen, bei der an ein rotierendes Kreis-Objekt ein Nocken angebracht ist, welcher einen Sensor betätigt. Dabei wurde der Sensor nicht direkt an dem Kreis-Objekt platziert.

Die Simulation der Anordnung zeigt folgendes Verhalten:

Man erkennt, dass der Nocken mit dem Kreis-Objekt rotiert. Die Lücke zwischen dem Kreis-Objekt und dem Nocken hat dabei keinen Einfluss auf die Verbindung.

Beispiel

Im zweiten Beispiel wurde eine Wippe aus einzelnen Rechtecken gebaut. Die Rechtecke wurden mit Hilfe einer Körper-Gruppe zu einem Körper zusammengefasst. Der Boden der Wippe gleicht einem Sieb, hat also Lücken. Auf der Wippe befinden Sie Kreis-Objekt, welche von der Größe her durch die Lücken des Siebs fallen. Die Wippe kann über Taster bewegt werden.

Man erkennt, dass die Kreis-Objekte durch die Lücken hindurch fallen. Trotz der Lücken bilden die Rechtecke aber einen Körper.

Fazit

Objekte die man zu einem Körper zusammenfasst können auch räumlich voneinander getrennt sein. Trotz dieser Trennung reagieren diese so, als ob eine Verbindung vorhanden ist. Diese "virtuelle" Verbindung beeinflusst aber keine anderen Objekte.

Schweiß-Verbindung (lösbar)

Eine Schweiß-Verbindung kommt zum Einsatz, wenn zwei Objekte miteinander zu verbinden sind, diese Verbindung aber im Gegensatz zu der "Verbindung zu einem Körper" wieder gelöst werden kann.

Zu diesem Zweck kann bei einer Schweiß-Verbindung eine Kraft bzw. Festigkeit angegeben werden. Wirkt auf die Verbindung eine höhere Kraft ein, dann "bricht" die Verbindung und besteht fortan nicht mehr.

Anbei das Prinzip-Symbol der Verbindung:

Im folgenden Bild sind zwei Objekte über eine Schweiß-Verbindung verbunden. Bei einer Schweiß-Verbindung ist kein Master- oder Slave-Objekt vorhanden. Die Verbindung wird über eine durchgezogene Linie mit einem Kreis in der Mitte symbolisiert.

Die Enden der Schweiß-Verbindung sind die Befestigungspunkte am jeweiligen Anker-Objekt. Wird die Simulation gestartet, dann wirkt die Kraft der Schweiß-Verbindung an diesen Fixier-Punkten. Für die obige Darstellung bedeutet dies, dass die beiden Objekte an diesen Punkten zusammengefügt werden. Das nachfolgende Bild zeigt dies.

Verändern der Fixierpunkte an den Anker-Objekten

Möchte man die Fixierpunkte der Ankerobjekte verändern dann geht man wie folgt vor:

  1. Selektion der Schweiß-Verbindung.

  2. Den Thumb des Anker-Objekts mit der Maus verschieben, dessen Fixierpunkt man verändern möchte.

Nachfolgend ist dies zu sehen.

Sobald man mit der Maus den Thumb "anfasst" werden beim jeweiligen Anker-Objekt die Standardpunkte sichtbar um an diesen anzudocken. Diese müssen allerdings nicht verwendet werden. Die Platzierung ist frei wählbar.

Wird die Simulation nach der obigen Selektion des Fixierpunkts eingeschaltet, dann zeigt sich folgendes Verhalten:

Der Eckpunkt rechts unten ist nun der Punkt, an dem die Kraft der Schweiß-Verbindung wirkt.

Beispiel

Im Beispiel ist die Schweiß-Verbindung wie folgt platziert:

Dabei wurde eingestellt, dass die beiden Anker-Objekte nicht kollidieren.

Beim Einschalten der Simulation zeigt sich folgendes verhalten:

Die Kraft der Schweiß-Verbindung wirkt am jeweiligen Mittelpunkt der Anker-Objekte und schiebt diese zusammen. Es sei nochmals erwähnt, dass dieses Verhalten nur möglich ist, wenn die Anker-Objekte nicht kollidieren.

Beispiel

Im nächsten Beispiel befinden sich die Fixierpunkte außerhalb der Anker-Objekte.

Somit entsteht beim Start der Simulation eine Lücke zwischen den beiden.

Die Anker-Objekte sind aber trotzdem über die Schweiß-Verbindung miteinander verbunden.

Max. Kraft der Schweiß-Verbindung einstellen

Eine Schweiß-Verbindung kann "zerstört" werden bzw. "brechen", wenn eine Kraft auf diese einwirkt, die größer ist als die max. eingestellte Kraft der Verbindung.

Um die Schweiß-Verbindung lösbar zu machen, müssen folgende Eigenschaften eingestellt werden:

  1. Selektion der Eigenschaft "Verbindung kann brechen" innerhalb der Rubrik "Physik-Einstellungen->Allgemein".

  2. Einstellung der max. Kraft in der Eigenschaft "Max. Kraft bevor die Verbindung bricht" innerhalb der Rubrik "Physik-Einstellungen->Allgemein".

Beispiel

Im nachfolgend dargestellten Beispiel wurde eingestellt, dass die Schweiß-Verbindung bereits bei einer max. Kraft von 10N bricht.

Die so verbundenen Anker-Objekte fallen von oben herab auf ein spitzes Objekt. Die dabei auftretende Kraft lässt die Schweiß-Verbindung brechen. Somit werden die beiden Anker-Objekte voneinander gelöst.

Objekte durch Berührung verschweißen und wieder lösen

Oben wurde gezeigt, dass eine Schweiß-Verbindung so eingestellt werden kann, dass diese bricht. Dabei muss die auf die Verbindung einwirkende Kraft größer oder gleich der eingestellten max. Kraft sein.

Bei den geometrischen Objekten (Rechteck, Ellipse, Dreieck) ist die Rubrik "Schweiß-Verbindung" vorhanden. In dieser Rubrik befinden sich zwei Eigenschaften.

Die Eigenschaft "Operand Schweiß-Verbindung herstellen"

Diese Eigenschaft erwartet einen Bit-Operanden oder aber einen Operanden mit einer Bereichsangabe (../siehe auch Angabe eines Bereichs zusätzlich zum Operanden). Da der Wert aus dem Operanden gelesen wird, kann auch die Kostante '1' angegeben werden. Damit ist dann die Funktion der Eigenschaft immer aktiv.

Ist die Eigenschaft bei einem Physik-Objekt aktiv und kollidiert dieses Objekt mit zwei anderen Physik-Objekten, dann werden diese an der Kollisionstelle verschweißt.

Beispiel

Im folgenden Beispiel sollen zwei dynamische Rechtecke mit Hilfe eines Zylinders verschweißt werden. Dazu wird an der Zylinderstange des Zylinders ein dynamisches Rechteck angebracht (mit einer unlösbaren Verbindung) bei dem die Eigenschaft "Operand Schweiß-Verbindung herstellen" mit der Konstanten '1' belegt wurde. Somit ist die Eigenschaft dauerhaft aktiv.

Der Zylinder kann mit Hilfe eines Tasters nach unten bewegt werden. In der unteren Endlage des Zylinders berührt das Schweiß-Objekt die beiden zu verschweißenden Rechtecke.

Nachfolgend ist die Wirkunsgweise zu sehen.

Zunächst sind die beiden Rechtecke noch unabhängig voneinander. Erst nachdem der Zylinder seine untere Endlage erreicht und somit das Objekt an der Zylinderstange den Schweiß-Vorgang ausgeführt hat, sind die beiden Rechtecke miteinander verbunden.

Die Eigenschaft "Operand Schweiß-Verbindung lösen"

Diese Eigenschaft erwartet einen Bit-Operanden oder aber einen Operanden mit einer Bereichsangabe (../siehe auch Angabe eines Bereichs zusätzlich zum Operanden). Da der Wert aus dem Operanden gelesen wird, kann auch die Kostante '1' angegeben werden. Damit ist dann die Funktion der Eigenschaft immer aktiv.

Ist die Eigenschaft bei einem Physik-Objekt aktiv und kollidiert dieses Objekt mit zwei anderen Physik-Objekten, welche mit Hilfe der Eigenschaft "Operand Schweiß-Verbindung herstellen" miteinander verbunden wurden, dann werden diese wieder voneinander gelöst.

Beispiel

Im folgenden Beispiel wird eine ähnliche Anordnung verwendet wie beim Beispiel für die Eigenschaft "Operand Schweiß-Verbindung herstellen". Allerdings wird das Objekt an der Kolbenstange des Zylinders so eingestellt, dass das Verschweißen und das Lösen einer Verbindung umgeschaltet werden kann.

Es ist zu sehen, wie die beiden Rechtecke zunächst miteinander verschweißt werden. Anschließend wird die Funktion des Objekts an der Kolbenstange von "Schweißen" auf "Lösen" umgeschaltet. Nachdem sich der Zylinder nach unten bewegt hat, sind die beiden Rechtecke wieder voneinander gelöst worden. Die Schweiß-Verbindung wurde somit beseitigt.

Info

Anmerkung: Es können keine Schweiß-Verbindungen gelöst werden, welche zeichnerisch über eine Schweiß-Verbindung festgelegt wurden. Ausschließlich die über die Eigenschaft "Operand Schweiß-Verbindung herstellen" erzeugten Verbindungen können über "Operand Schweiß-Verbindung lösen" wieder beseitigt werden.

Videos zu den beiden Eigenschaften

Nachfolgend der Link auf ein Video, welches die Verwendung der beiden Eigenschaften zum Herstellen und Lösen einer Schweiß-Verbindung veranschaulicht.

Rad-Verbindung mit Stoßdämpfer

Wie der Name es vermuten lässt, wird diese Verbindung vornehmlich eingesetzt, wenn man eine Rad-Verbindung mit einem Stoßdämpfer benötigt.

Der Drehpunkt der Verbindung kann innerhalb der Grenzen des Symbols der Verbindung verändert werden.

Anbei das Prinzip-Symbol der Verbindung:

Wird die Verbindung erzeugt, dann muss mit dem Objekt begonnen werden, welches den feststehenden Teil der Rad-Verbindung darstellt. Das zweite Anker-Objekt ist das rotierende Slave-Objekt.

Im folgenden Bild sind zwei Objekte zu sehen, welche über eine "Rad-Verbindung" verbunden sind. Das untere Objekt ist das Master-Objekt, welches in vielen Fällen ein feststehendes Objekt sein wird. Vom Master-Objekt aus führt eine etwas breitere durchgezogene Linie bis zur Mitte des Verbindungssysmbols. Ebenfalls von der Mitte des Verbindungssymbols aus, führt dann eine etwas dünnere Linie zum Slave-Objekt.

Der Kreis zeigt den Drehpunkt an. Das Slave-Objekt ist das Objekt, welches um diesen Drehpunkt rotiert.

Lage des Drehpunkts der "Rad-Verbindung" verändern

Der Drehpunkt der Verbindung ist veränderbar. Dazu wird das Symbol der Verbindung selektiert und mit der Maus der Kreis bzw. dessen Thumb verschoben. Im nachfolgenden Beispiel wird der Drehpunkt in der Mitte des Slave-Objekts platziert.

Nun ein Beispiel, bei dem der Drehpunkt außerhalb des Slave-Objekts platziert wird.

Die Beispiele zeigen, dass durch das Verschieben des Drehpunkts sehr unterschiedliche Drehbewegungen realisiert werden können.

Motor der "Rad-Verbindung" nutzen

Die Verbindung verfügt über einen Antrieb, der mit Hilfe der Eigenschaft "Motor" innerhalb der Eigenschaftsrubrik "Physik-Einstellungen->Allgemein->Motor Einstellungen" einzustellen ist. Die Geschwindigkeit des Motors (Angabe in U/min) kann über einen Operanden vorgegeben werden, dabei wird der Wert aus dem Operanden gelesen. Somit ist auch die Angabe einer Konstanten möglich, wenn die Geschwindigkeit nicht variabel ausgelegt sein muss.

Mit der Eigenschaft "Geschwindigkeits-Divisor" kann man die Vorgabe der Geschwindigkeit durch einen Operanden für die Simulation anpassen, ohne dass der Wert des Oberanden verändert werden muss. Dabei wird die im Operanden angegebene Geschwindigkeit durch den in "Geschwindigkeits-Divisor" vorhandenen Wert dividiert. Dies kann z.B. notwendig sein, wenn die Bewegung in der Realität zu schnell ist und somit in der Simulation nicht nachgestellt werden kann.

Die Rechts-/Links-Drehung des Slave-Objekts wird jeweils über Operanden gesteuert. Da der Wert aus dem jeweiligen Operanden gelesen wird, kann für eine permanente Drehung in die jeweilige Richtung auch die Konstante '1' angegeben werden. Dabei ist allerdings zu beachten, dass immer nur eine Drehrichtung aktiv sein darf. Sind beide Drehrichtungen aktiv, dann erfolgt keine Drehbewegung.

Endschalter und Sensoren der "Rad-Verbindung"

Die Verbindung besitzt zahlreiche Sensoren. Ein besonderer Sensor erfasst die Amplitude des Stoßdämpfers der Verbindung. Als Standard werden dabei die Werte -100% (vollständig ausgedehnt) bis 100% (vollständig komprimiert) geliefert. Durch eine Bereichsangabe ist man in der Lage, diese Werte auf andere Werte zu skalieren. Eine häufige Anwendung für diesen Sensor ist die Erfassung der Unwucht einer Rotation.

Die "Steifigkeit" und "Dämpfung" kann dabei über die gleichnamigen Eigenschaften variiert werden.

Im folgenden Video wird ein Beispiel für diesen Anwendungsfall vorgestellt:

Bedeutung der Eigenschaft "Ankerobjekte kollidieren":

Wie der Name der Eigenschaft es vermuten lässt, kann man durch Aktivierung erreichen, dass das Master-Objekt und das Slave-Objekt miteinander kollidieren. Ist die Option nicht selektiert, dann kollidieren die beiden Objekte nicht miteinander, dies ist insbesondere dann notwendig, wenn sich das Slave-Objekt innerhalb des Master-Objekts befindet.

Verändern der Ankerpunkte

Der Ankerpunkt der Verbindung am jeweiligen Anker-Objekt ist variabel. Er sollte sich aber innerhalb des jeweiligen Anker-Objekts befinden. Um einen Ankerpunkt zu verändern, selektiert man zunächst das Symbol der Verbindung und klickt dann mit der Maus auf einen der beiden Selektions-Thumbs um diesen zu verschieben. Dabei erscheinen an dem jeweiligen Anker-Objekt Standard-Ankerpunkte, an denen angedockt werden kann. Es sind aber auch Ankerpunkte an anderen Stellen innerhalb des Objekts möglich.

Nachfolgend ist die Selektion eines neuen Ankerpunktes zu sehen: