MC_AxRtReadPressureSingle_BkPlcMc (ab V3.0)
Der Funktionsbaustein übernimmt die Ermittlung des Istdrucks der Achse aus den Eingangsdaten einer Analog-Eingangsklemme.
Stehen zwei Eingangssignale für die A- und B-Seite zur Verfügung sollte ein Baustein des Typs MC_AxRtReadPressureDiff_BkPlcMc verwendet werden. |
Eingänge
VAR_INPUT
AdcValue: INT:=0;
ScaleFactor: LREAL:=0.0;
ScaleOffset: LREAL:=0.0;
ReadingMode: E_TcMcPressureReadingMode:=iTcHydPressureReadingDefault;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
AdcValue | INT | Hier sind die Eingangsdaten von der Analog-Klemme zu übergeben. |
ScaleFactor | LREAL | [bar/ADC_INC] Dieser Wert stellt die Gewichtung dar. Er legt fest, welche Druckerhöhung einer Stufe des AD-Wandlers entspricht. |
ScaleOffset | LREAL | [bar] Dieser Offset dient dazu, den Nullpunkt der Druckskala zu korrigieren. |
ReadingMode | E_TcMcPressureReadingMode | Hier kann die zu ermittelnde Istgröße festgelegt werden. Als Defaultwert wird Axis_Ref_BkPlcMc.ST_TcHydAxRtData.fActPressure ausgewählt. |
Ein-/Ausgänge
VAR_INOUT
Axis: Axis_Ref_BkPlcMc;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
Axis | Axis_Ref_BkPlcMc | Hier ist die Adresse einer Variablen vom Typ Axis_Ref_BkPlcMc zu übergeben. |
Ausgänge
VAR_OUTPUT
Error: BOOL;
ErrorID: UDINT;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
Error | BOOL | Hier wird das Auftreten eines Fehlers signalisiert. |
ErrorID | UDINT | Hier wird eine codierte Fehlerursache bereitgestellt. |
Verhalten des Bausteins
Bei jedem Aufruf untersucht der Baustein das übergebene Achsinterface. Dabei kann ein Problem erkannt und gemeldet werden:
- Ist der Pointer pStAxRtData in Axis_Ref_BkPlcMc nicht initialisiert reagiert der Baustein mit Error und ErrorID:=dwTcHydErrCdPtrMcPlc. Die Achse kann in diesem Fall nicht in einen Störzustand versetzt werden.
Wenn diese Überprüfung ohne Problem durchgeführt werden konnte wird der Istdruck der Achse durch Auswertung der Variablen AdcValue ermittelt. Das Ergebnis wird in ST_TcHydAxRtData.fActPressure eingetragen.
Die Speicherung von einer Achse zugeordneten Parametern kann zum Beispiel in den ST_TcHydAxParam.fCustomerData[...] erfolgen. So ist sichergestellt, dass die Daten zusammen mit den Standard-Parametern der Achse geladen, gespeichert und gesichert und bei Bedarf auch exportiert und importiert werden. |
Inbetriebnahme-Variante A
Hierbei ist es erforderlich, das in beide Richtungen ein Block mit vollem Systemdruck angefahren werden kann. Dabei ist eine echte Bewegung der Achse nicht erforderlich. Also kann das Anfahren der Anschläge dadurch nachgebildet werden, dass die Achse durch Einlegen von provisorischen Begrenzungen nur einen Teil ihres Fahrweges zurücklegen kann oder sogar mechanisch vollständig fixiert wird.
- Es sind alle Bausteine zu deaktivieren, die auf den Wert von ST_TcHydAxRtData.fActPressure reagieren.
- Mit niedriger Geschwindigkeit wird zunächst der untere (in Richtung sinkender Istposition gelegene) Block angefahren. Dabei wird für AdcValue der Wert zu ermittelt und festgehalten. Jetzt sollte auf der B-Seite der Systemdruck und auf der A-Seite der Tankdruck und somit der Umgebungsdruck anstehen. Ist dies aus irgendwelchen Gründen nicht der Fall sind die A- und B-seitigen Drücke durch Messung zu ermitteln.
- Mit niedriger Geschwindigkeit wird anschließend der obere (in Richtung steigender Istposition gelegene) Block angefahren. Dabei wird erneut für AdcValue der Wert ermittelt und festgehalten. Auch jetzt sind die Drücke festzustellen.
- Die einzutragenden Parameter errechnen sich dann wie folgt:
- ScaleFactor := (DruckMAX - DruckMIN) / (AdcValueMAX - AdcValueMIN);
- ScaleOffset := DruckMIN - ScaleFactor * AdcValue;MIN
Inbetriebnahme-Variante B
Ersatzweise kann eine Inbetriebnahme der Erfassung ohne Ansteuerung der Achse erfolgen. Dabei wird jedoch eine weitaus geringere Genauigkeit erreicht.
- Zunächst ist die Achse druckfrei zu machen. Dazu ist der Kompressor still zu setzen und der Druckspeicher zu entlasten.
- Es ist sicher zu stellen, dass die Achse keinen Druck aufbaut. Dazu ist eine von außen mit Kräften (Gravitation usw.) beaufschlagte Achse mechanisch abzustützen. Das Ventil ist mehrfach manuell oder elektrisch in beide Richtungen zu öffnen.
- Jetzt wird für AdcValue der Wert ermittelt und festgehalten. Es sollte sowohl auf der A- als auch auf der B-Seite der Tankdruck und somit der Umgebungsdruck anstehen. Ist dies aus irgendwelchen Gründen nicht der Fall ist der A-seitige Druck durch Messung zu ermitteln. Die so gefundenen Werte sind in den oben genannten Gleichungen als MIN Werte einzusetzen.
- Aus den Datenblattangaben der Drucksensoren ist der Druck für die obere Grenze des elektrischen Signals (10 Volt, 20 mA) zu entnehmen. Als AdcValue ist der obere Grenzwert für die gewandelte elektrische Größe anzunehmen. Diese Werte sind als MAX Werte in die oben genannten Gleichungen einzusetzen.
- Die einzutragenden Parameter errechnen sich dann wie oben beschrieben.