TIA Portal Anweisungen

Mathematische Funktionen
Berechnungen & Algorithmen

Von der einfachen Addition bis hin zu komplexen Gleichungen — mathematische Funktionen verwandeln Ihre Rohdaten in verwertbare Informationen für die Steuerung Ihrer Prozesse.

Was sind mathematische Funktionen in TIA Portal?

Mathematische Funktionen in TIA Portal ermöglichen arithmetische, trigonometrische und logarithmische Berechnungen auf verschiedenen Datentypen (Ganzzahlen, Real). Sie sind essenziell für die Skalierung von Sensoren, die Bahnberechnung oder PID-Regelkreise.

TIA Portal zeichnet sich durch die CALCULATE-Anweisung aus, mit der ein komplexer Ausdruck (z. B. (in1 + in2) * in3 / in4) in einem einzigen Baustein geschrieben werden kann, was die Lesbarkeit im Vergleich zu einer Kette einzelner ADD/MUL-Boxen verbessert.

Grundrechenarten

Grundlegende Operationen für die Datenverarbeitung

CALCULATE — Berechnen

CALC

Was es macht

Ermöglicht die Definition eines freien mathematischen Ausdrucks, der mehrere Eingänge (IN1...INn) kombiniert. Sie geben die Formel ein, und TIA Portal generiert die entsprechenden Pins.

Wann man es verwendet

Sobald eine Berechnung mehr als zwei Schritte erfordert. Ideal für Durchfluss-, Volumenberechnungen oder jede komplexe physikalische Formel.

Profi-Tipps

Sie können Funktionen wie ABS, SQRT oder SIN direkt im CALCULATE-Ausdruck verwenden.

Überprüfen Sie immer den Ausgangsdatentyp (OUT), um Überläufe (Overflow) zu vermeiden.

In SCL ist dies das natürliche Äquivalent einer direkten Zuweisung: out := (in1 + in2) * in3;

ADD / SUB / MUL / DIV

+
+, -, *, /

Was sie machen

Standard-arithmetische Anweisungen: Addition, Subtraktion, Multiplikation und Division.

Wann man sie verwendet

Für einfache und schnelle Operationen zwischen zwei Werten.

Profi-Tipps

Verwenden Sie bei der Division (DIV) immer den |OK|-Test oder prüfen Sie, ob der Divisor nicht Null ist, um einen CPU-Stopp zu vermeiden.

Die ADD-Anweisung kann mehr als zwei Eingänge akzeptieren, indem Sie auf das gelbe Symbol am Baustein klicken.

Bei Ganzzahlen liefert DIV den ganzzahligen Quotient. Verwenden Sie MOD für den Rest.

MOD — Modulo

MOD

Was es macht

Liefert den Rest der Ganzzahldivision zwischen IN1 und IN2.

Wann man es verwendet

Verwaltung von Ringpuffern, abwechselnde Zyklen (z. B. Pumpen 1 und 2) oder Einheitenumrechnung (z. B. Sekunden in Minuten/Sekunden).

Profi-Tipps

Sehr nützlich, um eine Aktion alle 'N' Zyklen auszulösen.

Nur für Ganzzahl-Datentypen (Int, DInt usw.) verfügbar.

SCL: remainder := value1 MOD value2;

Vorzeichen & Inkrement

Vorzeichenverwaltung und schnelle Einheitsoperationen

INC / DEC — Inkrementieren / Dekrementieren

++
++ / --

Was es macht

Addiert oder subtrahiert 1 von der angegebenen Variable (InOut).

Wann man es verwendet

Einfache Teilezähler, Schleifenindizes, Warteschlangenverwaltung.

Profi-Tipps

Schneller zu schreiben als ein vollständiger ADD- oder SUB-Baustein.

Achten Sie auf den Datentyp: Ein Inkrement auf einem Int bei 32767 springt auf -32768 um.

In SCL: i := i + 1; oder INC(i);

ABS — Absolutwert

ABS

Was es macht

Liefert den positiven Wert einer Zahl, unabhängig davon, ob sie ursprünglich positiv oder negativ war.

Wann man es verwendet

Berechnung der Abweichung zwischen einer Messung und einem Sollwert, Entfernungsmessung, PID-Fehlerberechnung.

Profi-Tipps

Essenziell für die Berechnung des absoluten Fehlers (|Sollwert - Messwert|).

Unterstützt sowohl Ganzzahlen als auch Real-Zahlen.

SCL: positiveVal := ABS(originalVal);

Min / Max / Limit

Werteauswahl und Begrenzung

MIN / MAX — Minimum / Maximum

MIN

Was es macht

Vergleicht N Werte und liefert den kleinsten (MIN) oder größten (MAX).

Wann man es verwendet

Auswahl der höchsten Temperatur unter mehreren Fühlern, Bestimmung der minimal zulässigen Geschwindigkeit.

Profi-Tipps

Sie können dem Baustein so viele Eingänge hinzufügen wie nötig.

Sehr nützlich für die Multi-Sensor-Diagnose.

SCL: peakValue := MAX(val1, val2, val3);

LIMIT — Begrenzen

LIMIT

Was es macht

Begrenzt (clampt) einen Eingangswert (IN) zwischen einem Minimum (MN) und einem Maximum (MX).

Wann man es verwendet

Sicherheit bei Analogausgängen (z. B. Verhindern, dass ein Ventil mehr als 80 % öffnet), Deckelung von Benutzersollwerten.

Profi-Tipps

Ersetzt vorteilhaft eine Kombination aus MIN und MAX.

Wenn MN > MX ist, hängt der Ausgang vom CPU-Typ ab, meist wird jedoch MX genommen.

SCL: safeVal := LIMIT(MN:=0.0, IN:=rawVal, MX:=100.0);

Potenzen & Wurzeln

Exponentielle und radikale Berechnungen

SQRT / SQR / EXPT

SQRT

Was sie machen

SQRT (Quadratwurzel), SQR (Quadrat), EXPT (Benutzerdefinierte Potenz).

Wann man sie verwendet

Geometrieberechnungen, nichtlineare Signalumwandlung, Fluidphysik.

Profi-Tipps

SQRT einer negativen Zahl ergibt NaN. Testen Sie immer den Eingang oder verwenden Sie ABS.

EXPT ist CPU-intensiv, verwenden Sie SQR für einfache Quadrate.

SCL: area := 3.14 * SQR(radius);

Trigonometrie

Winkel- und Rotationsberechnungen

SIN / COS / TAN / ASIN...

SIN

Was sie machen

Standard-trigonometrische Berechnungen und deren Umkehrfunktionen (arcsin, arccos, arctan). Winkel sind immer in RADIANT.

Wann man sie verwendet

Robotikinematik, Winkelpositionierungsberechnungen, Verarbeitung oszillierender Signale.

Profi-Tipps

Um Grad in Radiant umzurechnen: Radiant = Grad * (PI / 180).

TAN(PI/2) geht gegen Unendlich, überwachen Sie Ihre Eingänge.

Verwenden Sie Systemkonstanten für PI, um Genauigkeit zu gewährleisten.

Erweiterte Funktionen

Logarithmen und Nachkommastellen

LN / EXP / FRAC

LN

Was sie machen

LN (Natürlicher Log), EXP (Exponentiell e^x), FRAC (Extrahiert den Dezimalanteil).

Wann man sie verwendet

Modellierung chemischer Prozesse, exponentielles Wachstum oder Einheitentrennung (FRAC).

Profi-Tipps

FRAC(12.34) liefert 0.34. Sehr praktisch für Zeitpräzisionsberechnungen.

EXP ist das exakte Umkehrwert von LN.

SCL: fraction := FRAC(totalValue);

Vergleich der Berechnungsansätze

KOP vs. SCL — Welche Methode wählen?

BerechnungsartEmpfohlene MethodeWarum?
Einfache AdditionADD-Baustein (KOP)Visuell und leicht nachvollziehbar
Komplexe FormelCALCULATE-BausteinKompakt und reduziert die Anzahl der Netzwerke
Mathematischer AlgorithmusSCL-SpracheSyntax ähnlich C/Pascal, ideal für Formeln
Trigonometrische BerechnungSCL oder CALCULATEEinzelne Boxen sind zu sperrig
SignalbegrenzungLIMIT-BausteinSiemens-Standard, sehr robust
Index-ResetINC/DEC-AnweisungSehr schnell zu implementieren

Häufig gestellte Fragen

Was ist der Vorteil von CALCULATE gegenüber mehreren ADD/MUL-Bausteinen?

CALCULATE reduziert den im Programm belegten Platz erheblich. Anstelle von 5 Netzwerken mit temporären Zwischenvariablen haben Sie einen einzigen Baustein mit einer lesbaren Formel. Zudem ist es einfacher zu warten, wenn sich die Formel ändert.

Wie geht TIA Portal mit Berechnungsfehlern um (z. B. Division durch Null)?

Bei S7-1200/1500 stoppt ein mathematischer Fehler nicht unbedingt die CPU (je nach Konfig), aber das Ergebnis wird zu NaN. Es ist KRITISCH, nach einer sensiblen Berechnung die |OK|-Anweisung zu verwenden, um das Ergebnis zu validieren.

Verwenden trigonometrische Funktionen Grad oder Radiant?

Alle Funktionen (SIN, COS, TAN usw.) verwenden ausschließlich RADIANT. Wenn Ihre HMI Grad liefert, müssen Sie den Wert vor dem Baustein mit 0.01745329 (PI/180) multiplizieren.

Kann ich Berechnungen auf 64 Bit (LReal) durchführen?

Ja, S7-1500 SPS unterstützen nativ den Typ LReal (Long Real) für erhöhte Präzision. Die meisten mathematischen Funktionen akzeptieren diesen Typ.

Vereinfachen Sie Ihre komplexen Berechnungen

Beschreiben Sie Ihre physikalische Formel oder Ihren Algorithmus, T-IA Connect generiert den CALCULATE-Baustein oder optimierten SCL-Code mit Datenvalidierung.