FC_CrankReverseTransformation

 

FC_CrankReverseTransformation - Allgemeine Informationen

Übersicht

Typ

Funktion

Verfügbar ab:

V1.0.3.0

Versionen:

Aktuelle Version

Aufgabe

Rückwärtstransformation einer Schubkurbel

Beschreibung

Diese Funktion berechnet aus der Linearposition einer Schubkurbel die zugehörigen möglichen Kurbelwinkel (kinematische Transformation) und aus der auf der linearen Seite gewünschten Kraft das hierfür auf der rotativen Seite erforderliche Drehmoment (mechanische Transformation). Die Bedeutung der beteiligten Größen kann der folgenden Abbildung entnommen werden. Der Kurbelwinkel wird im mathematisch positiven Sinn (gegen den Uhrzeigersinn) ausgehend von der positiven X-Richtung gemessen.

Es muss beachtet werden, dass die Linearbewegung innerhalb eines begrenzten Bereichs stattfindet. Nur Linearpositionen innerhalb dieses Bereichs sind mechanisch sinnvoll. Der Funktionsbaustein gibt bei Vorgabe einer mechanisch nicht sinnvollen Linearposition die Meldung q_etDiag = InputParameterInvalid und q_etDiagExt = LinearPositionRange aus. Weiterhin muss berücksichtigt werden, dass es für die meisten Linearpositionen zwei zugehörige Kurbelwinkel gibt, d. h. dass die Rückwärtstransformation nicht eindeutig ist (siehe Parameter i_diSector). Die Auswahl des für die Anwendung sinnvollen Kurbelwinkels ist Aufgabe des Anwenders.

HINWEIS: Diese Funktion dient nur der Berechnung der Transformation der Kurbel. Eine Übertragung von Positions-Sollwerten an Achsen findet nicht statt. Ein Vorteil dieser Vorgehensweise ist, dass die Funktion problemlos mit anderen mechanischen Berechnungsbau­steinen kombiniert werden kann.

G-SE-0068639.1.gif-high.gif

 

 

Schnittstelle

Eingang

Datentyp

Beschreibung

i_lrRadius

LREAL

Länge des Radius der Kurbel gemäß obiger Abbildung. Wertebereich > 0,0

i_lrPushRod

LREAL

Länge der Schubstange der Kurbel gemäß obiger Abbildung. Wertebereich > 0,0

i_lrYOffset

LREAL

Position der Ebene der Linearbewegung in Bezug auf die X-Achse.

Achtung: Dieser Parameter ist vorzeichenbehaftet. Liegt die Ebene unterhalb der X-Achse, so muss ein negativer Wert angegeben werden.

i_lrXOrigin

LREAL

Anwenderdefinierter Nullpunkt der Linearposition. Ist i_lrXOrigin = 0,0, so ist die Linearposition gleich dem Abstand von der Y-Achse (= Abstand von der Senkrechten durch den Kurbeldrehpunkt). In der Praxis möchte man jedoch häufig den Nullpunkt in eine der beiden Grenzlagen der Linearposition legen, sodass die Linearposition sich z. B. von 0,0 ... zu Xmax verschiebt. Dies kann durch Vorgabe eines geeigneten Wertes für i_lrXOrigin geschehen (siehe Abbildung oben).

i_xCrankLeft

BOOL

Gibt an, in welche Richtung die Schubstange der Kurbel zeigt.

TRUE: Schubstange zeigt in negative X-Richtung (in der Abbildung nach links).

FALSE: Schubstange zeigt in positive X-Richtung (in der Abbildung nach rechts).

i_diSector

DINT

Parameter zur Selektion des berechneten Kurbelwinkels. Wie bereits oben erläutert, hat die Rückwärtstransformation im allgemeinen zwei Lösungen. Wird i_diSector = 1 gesetzt, so wird die erste Lösung ausgegeben, wird i_diSector = 2 gesetzt, so wird die zweite Lösung ausgegeben.

i_lrLinearPosition

LREAL

Linearposition der Kurbel

i_lrForce

LREAL

Gewünschte Kraft auf der Linearseite

Ausgang

Datentyp

Beschreibung

q_etDiag

GD.ET_Diag

Allgemeingültige, bibliotheksunabhängige Aussage zur Diagnose.

Ein Wert ungleich ET_Diag.Ok entspricht einer Diagnosemeldung.

q_etDiagExt

ET_DiagExt

POU-spezifischer, diagnosebezogener Ausgang.

q_etDiag = ET_Diag.Ok -> Statusmeldung

q_etDiag <> ET_Diag.Ok -> Diagnosemeldung

q_lrAngularPosition

LREAL

Aus der vorgegebenen Linearposition i_lrLinearPosition berechneter Kurbelwinkel (siehe i_diSector).

q_lrTorque

LREAL

Auf der rotativen Seite erforderliches eingeprägtes Drehmoment, um auf der Linearseite die Kraft i_lrForce zu erhalten.

Diagnosemeldungen

q_etDiag

q_etDiagExt

Enumerationswert

Beschreibung

OK

Ok

0

OK

InputParameterInvalid

LinearPositionRange

66

LinearPosition ist außerhalb des gültigen Bereichs.

InputParameterInvalid

PushRodRange

64

PushRod ist außerhalb des gültigen Bereichs.

InputParameterInvalid

RadiusRange

21

Radius  ist außerhalb des gültigen Bereichs.

LinearPositionRange

Enumerationsname:

LinearPositionRange

Enumerationswert:

66

Beschreibung:

LinearPosition ist außerhalb des gültigen Bereichs.

Problem

Ursache

Lösung

-

Die am Eingang i_lrLinearPosition angelegte Position kann nicht erreicht werden.

Überprüfen Sie den Wert an i_lrLinearPosition.

Überprüfen Sie die Kenndaten der Parameter i_lrXOrigin, i_lrYOffset und i_lrRadius.

Ok

Enumerationsname:

Ok

Enumerationswert:

0

Beschreibung:

OK

Die Rückwärtstransformation wurde erfolgreich durchgeführt.

PushRodRange

Enumerationsname:

PushRodRange

Enumerationswert:

64

Beschreibung:

PushRod ist außerhalb des gültigen Bereichs.

Problem

Ursache

Lösung

-

Am Eingang i_lrPushRod wurde ein negativer Wert angelegt.

Dem Eingang i_lrPushRod muss ein Wert größer als 0 übergeben werden.

RadiusRange

Enumerationsname:

RadiusRange

Enumerationswert:

21

Beschreibung:

Radius ist außerhalb des gültigen Bereichs.

Problem

Ursache

Lösung

-

Am Eingang i_lrRadius wurde ein negativer Wert angelegt.

Dem Eingang i_lrRadius muss ein Wert größer als 0 übergeben werden.