Hinweise zur Dokumentation

Diese Beschreibung wendet sich ausschließlich an ausgebildetes Fachpersonal der Steuerungs- und Automatisierungstechnik, das mit den geltenden nationalen Normen vertraut ist.
Zur Installation und Inbetriebnahme der Komponenten ist die Beachtung der Dokumentation und der nachfolgenden Hinweise und Erklärungen unbedingt notwendig.
Das Fachpersonal ist verpflichtet, für jede Installation und Inbetriebnahme die zu dem Zeitpunkt veröffentlichte Dokumentation zu verwenden.

Das Fachpersonal hat sicherzustellen, dass die Anwendung bzw. der Einsatz der beschriebenen Produkte alle Sicherheitsanforderungen, einschließlich sämtlicher anwendbaren Gesetze, Vorschriften, Bestimmungen und Normen erfüllt.

Disclaimer

Diese Dokumentation wurde sorgfältig erstellt. Die beschriebenen Produkte werden jedoch ständig weiter entwickelt.
Wir behalten uns das Recht vor, die Dokumentation jederzeit und ohne Ankündigung zu überarbeiten und zu ändern.
Aus den Angaben, Abbildungen und Beschreibungen in dieser Dokumentation können keine Ansprüche auf Änderung bereits gelieferter Produkte geltend gemacht werden.

Marken

Beckhoff®, TwinCAT®, EtherCAT®, EtherCAT G®, EtherCAT G10®, EtherCAT P®, Safety over EtherCAT®, TwinSAFE®, XFC®, XTS® und XPlanar® sind eingetragene und lizenzierte Marken der Beckhoff Automation GmbH.
Die Verwendung anderer in dieser Dokumentation enthaltenen Marken oder Kennzeichen durch Dritte kann zu einer Verletzung von Rechten der Inhaber der entsprechenden Bezeichnungen führen.

Patente

Die EtherCAT Technologie ist patentrechtlich geschützt, insbesondere durch folgende Anmeldungen und Patente:
EP1590927, EP1789857, EP1456722, EP2137893, DE102015105702
mit den entsprechenden Anmeldungen und Eintragungen in verschiedenen anderen Ländern.

EtherCAT® ist eine eingetragene Marke und patentierte Technologie lizenziert durch die Beckhoff Automation GmbH, Deutschland.

Copyright

© Beckhoff Automation GmbH & Co. KG, Deutschland.
Weitergabe sowie Vervielfältigung dieses Dokuments, Verwertung und Mitteilung seines Inhalts sind verboten, soweit nicht ausdrücklich gestattet.
Zuwiderhandlungen verpflichten zu Schadenersatz. Alle Rechte für den Fall der Patent-, Gebrauchsmuster- oder Geschmacksmustereintragung vorbehalten.


Übersicht

Die SPS-Bibliothek TcMath.lib enthält erweiterte mathematische Funktionen für die TwinCAT SPS. Die Bibliothek wird zusammen mit TwinCAT ausgeliefert (ab Version 2.9 Build 1000).

Funktionen

FLOOR | Die FLOOR Funktion ermittelt einen ganzzahligen Wert aus einer Floating-Point-Zahl, der gerade kleiner oder gleich dieser Zahl ist.
FRAC | Die FRAC Funktion ermittelt den Nachkommaanteil einer Floating-Point-Zahl.
LMOD | ie LMOD Funktion führt eine Modulo-Division durch und gibt den vorzeichenbehafteten Divisionsrest zurück.
LTRUNC | Die LTRUNC Funktion ermittelt die ganzzahligen Anteil einer Floating-Point-Zahl.
MODABS | Die MODABS Funktion führt eine Modulo-Division durch und ermittelt den vorzeichenlosen Modulowert innerhalb des Modulobereiches.
MODTURNS | Die MODTURNS Funktion führt eine Modulo-Division durch und ermittelt den vorzeichenbehafteten ganzzahligen Anteil.
F_GetVersionTcMath | Liefert die Versionsinformationen der Biliothek


FRAC

TwinCAT PLC Library: TcMath

FUNCTION FLOOR

Die FLOOR Funktion ermittelt einen ganzzahligen Wert aus einer Floating-Point-Zahl, der gerade kleiner oder gleich dieser Zahl ist. Das Ergebnis ist vom Typ LREAL und ist somit nicht auf den Wertebereich einer Integer-Variablen beschränkt.

Beispiele

FLOOR(2.8) = 2

FLOOR(-2.8) = -3

Ähnliche Funktionen: TRUNC, LTRUNC

Hinweis: Im Gegensatz zu FLOOR ermittelt die LTRUNC-Funktion immer den ganzzahligen Anteil vor dem Komma. Dieser Wert ist im positiven Bereich kleiner oder gleich, im negativen Bereich aber größer oder gleich dem Eingangsparameter.

FUNCTION FLOOR : LREAL

VAR_INPUT
    lr_in : LREAL;
END_VAR

lr_in : Funktionsparameter vom Typ LREAL

Entwicklungsumgebung | Zielplattform | Einzubindende SPS Bibliotheken
TwinCAT v2.9.0 ab Build 1000 | PC or CX (x86) | TcMath.Lib
TwinCAT v2.10.0 Build >= 1301 | CX (ARM)

Siehe auch Übersicht.


FRAC

FUNCTION FRAC

Die FRAC Funktion ermittelt den Nachkommaanteil einer Floating-Point-Zahl.

Beispiele

FRAC(2.8) = 0.8

FRAC(-2.8) = -0.8

FUNCTION FRAC : LREAL

VAR_INPUT
    lr_in : LREAL;
END_VAR

lr_in : Funktionsparameter vom Typ LREAL

Entwicklungsumgebung | Zielplattform | Einzubindende SPS Bibliotheken


FRAC

FUNCTION LMOD

Die LMOD Funktion führt eine Modulo-Division durch und gibt den vorzeichenbehafteten Divisionsrest zurück.

Beispiele

LMOD( 400.56, 360) = 40.56

LMOD( -400.56, 360) = -40.56

Ähnliche Funktionen: MOD, MODABS

Hinweise: Im Gegensatz zu MOD arbeitet die LMOD-Funktion mit Floating-Point-Variablen und ermittelt auch einen nicht ganzzahligen Rest.

Im Zusammenhang mit NC-Achsen wird üblicherweise ein vorzeichenloser Modulo-Wert verwendet, der mit der Funktion MODABS berechnet werden kann.

FUNCTION LMOD : LREAL

VAR_INPUT
    lr_Value : LREAL;
    lr_Arg : LREAL;
END_VAR

lr_Value : Eingangswert

lr_Arg : Modulobereich

Entwicklungsumgebung | Zielplattform | Einzubindende SPS Bibliotheken


FRAC

FUNCTION LTRUNC

Die LTRUNC Funktion ermittelt die ganzzahligen Anteil einer Floating-Point-Zahl.

Beispiele

LTRUNC(2.8) = 2

LTRUNC(-2.8) = -2

Ähnliche Funktionen: TRUNC, FLOOR

Hinweis: Im Gegensatz zu TRUNC ist das Funktionsergebnis von LTRUNC vom Typ LREAL und ist somit nicht auf den Wertebereich einer Integer-Variablen beschränkt.

FUNCTION LTRUNC : LREAL

VAR_INPUT
    lr_in : LREAL;
END_VAR

lr_in : Funktionsparameter vom Typ LREAL

Entwicklungsumgebung | Zielplattform | Einzubindende SPS Bibliotheken


FRAC

FUNCTION MODABS

Die MODABS Funktion führt eine Modulo-Division durch und ermittelt den vorzeichenlosen Modulowert innerhalb des Modulobereiches.

Beispiele

MODABS( 400.56, 360) = 40.56

MODABS( -400.56, 360) = 319,44

Ähnliche Funktionen: MOD, LMOD

Hinweis: Mit der MODABS Funktion kann die Modulo-Sollposition einer NC-Achse aus ihrer absoluten Sollposition berechnet werden.

ModuloSetPosition := MODABS( NcToPlc.fPosSoll, 360 );

FUNCTION MODABS : LREAL

VAR_INPUT
    lr_val : LREAL;
    lr_mod : LREAL;
END_VAR

lr_val : Eingangswert

lr_mod : Modulobereich

Entwicklungsumgebung | Zielplattform | Einzubindende SPS Bibliotheken


FRAC

FUNCTION MODTURNS

Die MODTURNS Funktion führt eine Modulo-Division durch und ermittelt den vorzeichenbehafteten ganzzahligen Anteil (Modulo-Perioden, Modulo-Umdrehungen).

Beispiele

MODTURNS ( 800.56, 360) = 2

MODTURNS ( -400.56, 360) = -2

Hinweis: Mit der MODTURNS Funktion kann die Anzahl der Modulo-Umdrehungen einer NC-Achse aus ihrer absoluten Sollposition berechnet werden.

ModuloSetTurns := MODTURNS ( NcToPlc.fPosSoll, 360 );

FUNCTION MODTURNS : LREAL

VAR_INPUT
    lr_Value : LREAL;
    lr_Arg : LREAL;
END_VAR

lr_Value : Eingangswert

lr_Arg : Modulobereich

Entwicklungsumgebung | Zielplattform | Einzubindende SPS Bibliotheken


F_GetVersionTcMath

FUNCTION F_GetVersionTcMath

Mit dieser Funktion können Versionsinformationen der SPS-Bibliothek ausgelesen werden.

FUNCTION F_GetVersionTcMath : UINT

VAR_INPUT
    nVersionElement : INT;
END_VAR

nVersionElement : Versionselement, das gelesen werden soll. Mögliche Parameter:

  • 1 : major number;
  • 2 : minor number;
  • 3 : revision number;
Entwicklungsumgebung | Zielplattform | Einzubindende SPS Bibliotheken