Definition der Maße
Die Werte für den Kurbelradius (lrRadius) und die Schubstangenlänge (lrPushRod) sind immer absolut. Die Werte von lrXStart (Nullposition für die Gleitbewegung) und lrOffset (vertikale Entfernung vom Schlittenzentrum bis zum Mittelpunkt der Kurbel) hingegen sind nicht absolut.
Bestimmung der Ausrichtung der Schubstange
Bestimmung der Maße
stCrankModuleItf.stCrank.lrRadius := 50.0; (* Crank radius *)
stCrankModuleItf.stCrank.lrPushRod := 157.2; (* Length *)
stCrankModuleItf.stCrank.lrOffset := 0.0; (* Distance crank center to slide level *)
stCrankModuleItf.stCrank.lrXStart := 7.2; (* Distance crank center to 0-position of slide *)
stCrankModuleItf.stCrank.diXLogEqualXMechRange := 1; (* Range where logical position equals mechanical position of slide *)
Nach rechts ausgerichtete Schubstange |
Nach links ausgerichtete Schubstange |
---|---|
Bestimmung der Ausrichtung der Schubstange (rechts) stCrankModuleItf.stCrank.xCrankLeft := FALSE; |
Bestimmung der Ausrichtung der Schubstange (links) stCrankModuleItf.stCrank.xCrankLeft := TRUE; |
diXLogEqualXMechRange ist der Bereich, in dem der logische Schlittenabstand dem mechanischen Schlittenabstand entspricht. Stellen Sie sicher, dass nur die Werte 1 oder 2 zur Auswahl des Bereichs gewählt werden müssen.
Die Variable xRange wird nur berücksichtigt, wenn die Folgenden Kriterien erfüllt werden:
Um Prüfen dieser Kriterien gehen Sie wie folgt vor:
Berechnen Sie zunächst, wie im folgenden Graphen dargestellt, die Werte x1 und y und bilden Sie diese ab:
Nehmen Sie anschließend den y-Wert und berechnen mit Hilfe der folgenden Formel den x2-Wert:
If x1 = x2, dann:
ofür einen Bewegungsbereich LINKS
stMain. stCrank.xRange := TRUE
ofür einen Bewegungsbereich RECHTS
stMain. stCrank.xRange := FALSE
Beispiel:
Setzen der Intervalle für eine Extremposition der Schlittenachse
Bei den Extrempositionen der Linearachse (xMechMin und xMechMax) handelt es sich um kritische Punkte der Transformation, da hier die Geschwindigkeit der Linearachse unabhängig von der Geschwindigkeit der Kurbelachse Null sein muss. Es ist daher nicht möglich, beliebige Bewegungen der Linearachse über einen dieser Punkte hinaus vorzugeben.
Um dieses Problem zu beheben wird die Kurbeltransformation in einem konfigurierbaren Bereich von Extrempositionen der Linearachse durch eine polynomiale Transformation 5. Grades ersetzt, deren Neigung in diesem Bereich niemals Null entspricht. In diesem Bereich folgt die Linearachse dann nicht mehr der vorgegebenen Bewegung. Die Geschwindigkeit der Kurbelachse bleibt jedoch beschränkt.
stCrankModuleItf.stCrank.lrP5Pole1IntervalLow := 0.5; (* Distance X pole 1 <-> low end of interpolation interval *)
stCrankModuleItf.stCrank.lrP5Pole1IntervalHigh := 0.5; (* Distance X pole 1 <-> high end of interpolation interval *)
stCrankModuleItf.stCrank.lrP5Pole2IntervalLow := 0.5; (* Distance X pole 2 <-> low end of interpolation interval *)
stCrankModuleItf.stCrank.lrP5Pole2IntervalHigh := 0.5; (* Distance X pole 2 <-> high end of interpolation interval *)
Die obigen Intervalle können so groß gewählt werden, dass sie sich überlappen. In diesem Fall steht noch eine weitere Möglichkeit zur Verfügung, die Kurbelbewegung den Anforderungen der Anwendung anzupassen, um z. B. die maximal auftretende Geschwindigkeit unter einem bestimmten Wert zu halten.
HINWEIS: Diese Möglichkeit sollte nur von Experten verwendet werden. Sollten Sie Hilfe benötigen oder Fragen bezüglich der Verwendung dieser Anpassung der Kurbelbewegung haben, kontaktieren Sie bitte Ihr Supportteam.
stCrankModuleItf.stCrank.lrP5RangeLow := 2.0; (* only for overlapping interpolation intervals: definition range of start polynomial *)
stCrankModuleItf.stCrank.lrP5RangeHigh := 2.0; (* only for overlapping interpolation intervals: definition range of end polynomial *)