FC_CrankForwardTransformation

 

FC_CrankForwardTransformation - Allgemeine Informationen

Übersicht

Typ

Funktion

Verfügbar ab:

V1.0.3.0

Versionen:

Aktuelle Version

Aufgabe

Vorwä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 es Kurbeln gibt, bei denen es mechanisch nicht möglich ist, alle Kurbelwinkel anzufahren. Der Funktionsbaustein gibt bei Vorgabe eines mechanisch nicht zulässigen Kurbelwinkels die Meldung q_etDiag = InputParameterInvalid und q_etDiagExt = AngularPositionRange aus.

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_lrAngularPosition

LREAL

Winkel der Kurbel (rotative Position). Einheit: Grad, Wertebereich: 0,0° ... 360°

i_lrTorque

LREAL

Auf der rotativen Seite eingeprägtes Drehmoment. Die Einheit ist beliebig wählbar, es muss jedoch beachtet werden, dass gegebenenfalls ein Umrechnungsfaktor verwendet werden muss, um die ausgangsseitige Kraft q_lrForce in einer bestimmten Einheit zu erhalten (Beispiel: gewählte Einheit für i_lrRadius, i_lrPushRod usw.: mm, gewählte Einheit für i_lrTorque: Nm. Als Einheit für q_lrForce ergibt sich dann Nm / mm = 1000 N.

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_lrLinearPosition

LREAL

Aus dem Kurbelwinkel i_lrAngularPosition berechnete Linearposition.

Bemerkung: Abhängig von den Vorgaben kann die Linearposition auch negative Werte annehmen.

q_lrForce

LREAL

Aus dem eingeprägten Drehmoment i_lrTorque berechnete ausgangsseitige Kraft

Diagnosemeldungen

q_etDiag

q_etDiagExt

Enumerationswert

Beschreibung

OK

Ok

0

OK

InputParameterInvalid

AngularPositionRange

65

AngularPosition 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.

AngularPositionRange

Enumerationsname:

AngularPositionRange

Enumerationswert:

65

Beschreibung:

AngularPosition ist außerhalb des gültigen Bereichs.

Problem

Ursache

Lösung

-

Die Berechnung der Ausgänge q_lrLinearPosition und q_lrForce ist für den vorgegebenen Wert von i_lrAngularPosition nicht möglich.

Überprüfen Sie i_lrAngularPosition.

Überprüfen Sie alle Parameter, die in die Berechnung einfließen: i_lrRadius, i_lrPushRod, i_lrYOffset.

Ok

Enumerationsname:

Ok

Enumerationswert:

0

Beschreibung:

OK

Die Vorwä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.