FC_ProfileSetParam - Allgemeine Informationen
Typ |
Funktion |
Verfügbar ab |
SystemInterface_1.32.6.0 |
Versionen: |
Aktuelle Version |
Profil anpassen.
Es sind die folgenden allgemeinen Bewegungsgesetze verfügbar:
oAllgemeine modifizierte Sinuslinie ("modisincom")
oAllgemeines modifiziertes Beschleunigungstrapez ("modacctrcom")
oHarmonische Kombination ("harmocomb")
oSinus-Gerade-Kombination ("sinstraightcomb")
Die Bezeichnung in Klammern ist der bei Aufruf der Funktion FC_ProfileLoad() zu verwendende Name für das Profil.
Die Anpassung dieser Profile erfolgt mit der Funktion FC_ProfileSetParam().
Eingang |
Datentyp |
Beschreibung |
---|---|---|
i_diProfileId |
DINT |
Logische Adresse des Profils |
i_diSubType |
DINT |
Die Bewegungsgesetze "Allgemeines modifiziertes Beschleunigungstrapez" und "Harmonische Kombination" können für mehr als eine Standardbewegungsaufgabe verwendet werden. Die Funktion von i_diSubType hängt vom Profil ab und ist beim entsprechenden Profil erläutert (siehe unten, "Beispiele"). Generell hat der Parameter nur bei Profilen Bedeutung, deren Ausgangs- und Endzustand verschieden sind (z. B. Geschwindigkeit -> Umkehr oder Rast -> Umkehr). Der Wert 0 repräsentiert die literale Interpretation und der Wert 1 die invertierte Interpretation (Geschwindigkeit -> Umkehr invertiert ergibt Umkehr -> Geschwindigkeit). |
i_diParSelect |
DINT |
Die Parameter iq_lrLambda, iq_lrC, iq_lrY1, iq_lrM0, iq_lrM1, iq_lrK0, iq_lrK1 sind Werte, mit denen die Eigenschaften des Profils definiert werden können. Es kann jedoch immer nur eine gewisse Untermenge der Parameter aus der obigen Liste vorgegeben werden, niemals alle. Mit dem Parameter i_diParSelect werden die Parameter aus der obigen Liste spezifiziert, die vorgegeben werden müssen. Er sequenziert die Positionen der entsprechenden Parameter aus der obigen Liste in aufsteigender Reihenfolge. i_diParSelect = 137 bedeutet, dass die Parameter iq_lrLambda, iq_lrY1, iq_lrK1 vorgegeben werden müssen. Die Parameter dieser Liste sind als VAR_IN_OUT definiert. Diejenigen, die nicht vorgegeben werden, sind durch die vorgegebenen eindeutig bestimmt und werden als Berechnungsergebnisse zurückgegeben. Sie werden z. B. dazu benötigt, die Anschlussbedingungen für weitere Profile zu berechnen. Die Vorgabemöglichkeiten hängen vom Profil ab und werden weiter unten erläutert. |
Eingang/Ausgang |
Datentyp |
Beschreibung |
---|---|---|
iq_lrLambda |
LREAL |
Lage des Wendepunkts des Profils Der gültige Bereich für die Profile dieses Abschnitts ist generell 0,0001...0,9999. |
iq_lrC |
LREAL |
Kurvenanteil des Profils Der gültige Bereich für die Profile dieses Abschnitts ist generell 0,0001...1. |
iq_lrY1 |
LREAL |
Position im Endpunkt des Profils (F(1)) Nicht alle Profile dieses Abschnitts sind normiert. Deshalb ist es erforderlich, diese Variable voreinzustellen und ihren Wert zu kennen. |
iq_lrM0 |
LREAL |
Steigung im Anfangspunkt des Profils (F‘(0)) |
iq_lrM1 |
LREAL |
Steigung im Endpunkt des Profils (F‘(1)) |
iq_lrK0 |
LREAL |
Krümmung im Anfangspunkt des Profils (F‘‘(0)) |
iq_lrK1 |
LREAL |
Krümmung im Endpunkt des Profils (F‘‘(1)) |
Datentyp |
Beschreibung |
---|---|
DINT |
0: OK. -1: i_diProfileId ungültig. -2: Der Wert des Parameters iq_lrLambda ist ungültig. -3: Der Wert des Parameters i_diSubType ist ungültig. -4: Der Wert des Parameters i_diParSelect ist ungültig. -5: Der Wert des Parameters iq_lrY1 ist ungültig. -6: Der Wert des Parameters iq_lrM0 ist ungültig. -7: Der Wert des Parameters iq_lrM1 ist ungültig. -8: Der Wert des Parameters iq_lrK0 ist ungültig. -9: Der Wert des Parameters iq_lrK1 ist ungültig. -10: Der Wert des Parameters iq_lrC ist ungültig. -20: Funktion wird vom gewählten Profil nicht unterstützt. -30: Profil wird gerade von einer anderen Funktion benutzt und ist daher gesperrt. |
HINWEIS: Die Funktionen FC_ProfileSetLambda() und FC_ProfileSetC() können für die Profile dieses Abschnitts nicht verwendet werden.
Das bedeutet, dass die "neuen" Profile nur mit der Funktion FC_ProfileSetParam() parametriert werden können. Es ist nicht möglich, mit den Funktionen FC_ProfileSetLambda() oder FC_ProfileSetC() nur den Parameter Lambda oder C des Profils zu verändern. Der Grund hierfür ist, dass – im Unterschied zu den bisherigen Profilen – die zulässigen Wertebereiche für diese Parameter von den restlichen Parametern abhängen. Es muss daher grundsätzlich die Kompatibilität ALLER Parameter überprüft werden. Dies kann nur in der Funktion FC_ProfileSetParam() durchgeführt werden.
Die Eigenschaften der Profile im einzelnen:
Allgemeine modifizierte Sinuslinie
Bewegungsaufgabe: "Geschwindigkeit in Geschwindigkeit"
Nur die Kombination der Parameter iq_lrLambda, iq_lrM0, iq_lrM1 kann vorgegeben werden. i_diSubType und i_diParSelect haben für diese Regel keine Bedeutung.
Allgemeines mod.Beschleunigungstrapez
Bewegungsaufgaben: "Rast in Umkehr" und "Umkehr in Rast"
Die Bewegungsaufgabe wird durch den Parameter i_diSubType ausgewählt:
i_diSubType = 0 : "Rast in Umkehr"
i_diSubType = 1 : "Umkehr in Rast"
Im Fall von "Rast in Umkehr" gibt es folgende Vorgabemöglichkeiten:
1. iq_lrLambda und iq_lrY1* (i_diParSelect = 13)
2. iq_lrK1 (i_diParSelect = 7)
Im Fall von "Umkehr in Rast" gibt es folgende Vorgabemöglichkeiten:
1. iq_lrLambda und iq_lrY1* (i_diParSelect = 13)
2. iq_lrK0 (i_diParSelect = 6)
*Hinweis: Es kann nur das Vorzeichen von iq_lrY1 vorgegeben werden. Der Betrag ist immer 1.
Bei Vorgabe von iq_lrK0 oder iq_lrK1 muss gelten: | iq_lrK0 |, | iq_lrK1 | >= 2,025
Harmonische Kombination
Bewegungsaufgaben: "Geschwindigkeit in Umkehr" und "Umkehr in Geschwindigkeit"
Die Selektion der Bewegungsaufgabe erfolgt über i_diSubType:
i_diSubType = 0: Geschwindigkeit in Umkehr
i_diSubType = 1: Umkehr in Geschwindigkeit
Vorgebbare Parameterkombinationen:
i_diSubType = 0:
1. iq_lrLambda, iq_lrM0, iq_lrK1 (i_diParSelect = 147)
Folgende Rahmenbedingungen sind zu erfüllen:
2. iq_lrLambda, iq_lrY1, iq_lrK1 (i_diParSelect = 137)
Folgende Rahmenbedingungen sind zu erfüllen:
3. iq_lrLambda, iq_lrY1, iq_lrM0 (i_diParSelect = 134)
Folgende Rahmenbedingungen sind zu erfüllen:
4. iq_lrY1, iq_lrM0, iq_lrK1 (i_diParSelect = 347)
Folgende Rahmenbedingungen sind zu erfüllen:
Mit den Definitionen
muss gelten:
(1)
(2) Einer der folgenden Werte muss zwischen 0,0001 und 0,9999 liegen:
Dieser Wert heißt Lambda. Mit ihm muss gelten
(3)
i_diSubType = 1: 1. iq_lrLambda, iq_lrM1, iq_lrK0 (i_diParSelect = 156)
Folgende Rahmenbedingungen sind zu erfüllen:
2. iq_lrLambda, iq_lrY1, iq_lrK0 (i_diParSelect = 136)
Folgende Rahmenbedingungen sind zu erfüllen:
3. iq_lrLambda, iq_lrY1, iq_lrM1 (i_diParSelect = 135)
Folgende Rahmenbedingungen sind zu erfüllen:
4. iq_lrY1, iq_lrM1, iq_lrK0 (i_diParSelect = 356)
Folgende Rahmenbedingungen sind zu erfüllen:
Mit den Definitionen
muss gelten:
(1)
(2) Einer der folgenden Werte muss zwischen 0,0001 und 0,9999 liegen:
Dieser Wert heißt Lambda.
Mit ihm muss gelten
(3)
Sinus-Gerade-Kombination
Bewegungsaufgabe: "Umkehr in Umkehr"
Vorgebbare Parameterkombinationen (zugehöriger Wert von i_diParSelect in Klammern):
iq_lrY1, iq_lrK0, iq_lrK1 (i_diParSelect = 367)
iq_lrC, iq_lrK0, iq_lrK1 (i_diParSelect = 267)
iq_lrLambda, iq_lrY1, iq_lrK0 (i_diParSelect = 136)
iq_lrC, iq_lrY1, iq_lrK0 (i_diParSelect = 236)
iq_lrLambda, iq_lrC, iq_lrK0 (i_diParSelect = 126)
iq_lrLambda, iq_lrY1, iq_lrK1 (i_diParSelect = 137)
iq_lrC, iq_lrY1, iq_lrK1 (i_diParSelect = 237)
iq_lrLambda, iq_lrC, iq_lrK1 (i_diParSelect = 127)
iq_lrLambda, iq_lrC, iq_lrY1 (i_diParSelect = 123)
Hinweis: Werden iq_lrK0 oder iq_lrK1 vorgegeben, so muss stets gelten:
Werden beide vorgegeben, müssen sie verschiedene Vorzeichen haben.