×
Siemens Industry Online Support
Siemens AG
Beitragstyp: FAQ Beitrags-ID: 8795702, Beitragsdatum: 06.02.2007
(11)
Bewerten

Wie erfolgt die Potenz-, Exponential-, Wurzel-, Polynom-, Logarithmus- und Linearwertberechnung sowie die Wandlung der Winkelfunktionen in Gradmaß?

  • Beitrag
  • Betrifft Produkt(e)

Anleitungen:
Die nachstehende Tabelle enthält einige Beispiele zur Programmierung der folgenden mathematischen Funktionen:

  1. Berechnung der Exponential-, Wurzel-, Polynom-, Logarithmus- und Potenzfunktion
  2. Winkelfunktionen im Gradmass wandeln
  3. Linearwertberechnung
  4. Abbildung verschiedener mathematischer Funktionen in der Steuerung

Kopieren Sie die entsprechende Exe-Datei in ein separates Verzeichnis auf Ihrer Festplatte und starten Sie die Datei anschließend per Doppelklick. Das STEP 7 Projekt wird jetzt mit allen dazugehörigen Unterverzeichnissen entpackt. Anschließend können Sie das entpackte Projekt mit dem SIMATIC Manager öffnen und bearbeiten.
 

Nr. Programmierung mathematischer Funktionen:
1 Berechnung der Exponential-, Wurzel-, Polynom-, Logarithmus- und Potenzfunktion
In STEP 7 gibt es nur die Möglichkeit mit der Eulerschen Zahl e (e = 2.7182818 ...) zu potenzieren (EXP). Diese natürliche Exponentialfunktion kann jedoch in Kombination mit dem natürlichen Logarithmus (LN) dazu verwendet werden, jede beliebige Potenz zu bilden (z. B. 10 hoch x oder 2 hoch x). Einzige Einschränkung ist, dass die Basis niemals den Wert Null annehmen darf. Der LN von Null ist nicht definiert. Damit führt eine Operation mit der Basis Null zu einem mathematisch falschen Ergebnis! Die allgemeine mathematische Formel, um über EXP und LN die Potenz zu bestimmen, lautet wie folgt:


Bild 01

Bild 01 zeigt die mathematische Formel zur allgemeinen Berechnung der Potenz. Die Umsetzung dieser Gleichung in ein STEP7-Projekt sieht dabei wie folgt aus:


Bild 02

Die in der angefügten Bibliothek enthaltenen Bausteine führen folgende Berechnungen aus. Alle Variablen sind im Real-Format einzugeben. Als Ausgabewert der Funktionen erhalten Sie ebenfalls eine Zahl im Real-Format.

  1. FC1: Exponentialfunktion Y = Xb
  2. FC2: Wurzelfunktion Y = bàX
  3. FC3: Polynomberechnung Y = aX4 + bX3 + cX2 + dX + e
  4. FC4: Logarithmus Y = lg bx

Das folgende Download "Mathlib" enthält die oben genannten vier Funktionen mit den Programmen für die mathematischen Gleichungen:

Mathlib.zip ( 31 KB )

Hinweis :
Die Werte für die Potenz und den Eingangswert müssen vom Typ "Floating-Point (32 Bit)" sein, wie in der Norm "ANSI/IEEE Standard 754-1985, IEEE Standard for Binary Floating -Point Arithmetic" beschrieben.

2 Winkelfunktionen im Gradmass wandeln
Für die Bearbeitung der Winkelfunktionen Sinus, Cosinus und Tangens mit STEP 7 müssen Sie den Winkel im Bogenmaß (0 bis 2p) als Gleitpunktzahl angeben. Der Winkel muss als Gleitpunktzahl im AKKU 1 vorliegen. Das Ergebnis wird wiederum im AKKU 1 gespeichert.

Die Winkel werden meist in Gradmaßen (0 bis 360 Grad) angegeben. Um diese Werte mit STEP 7 verarbeiten zu können, muss eine Umrechnung in das Bogenmass erfolgen. Beide Angaben sind proportional zueinander, so entspricht der Wert 180 Grad der Zahl p (3.141593... .)

  • Bogenmaß = Gradzahl * p / 180
  • Gradzahl = Bogenmaß * 180 / p

Das Download "Winkel" enthält ein kleines STEP 7 Projekt mit den Funktionen FC1 und FC2, mit dem Sie die Umrechnung von Grad- in Bogenmass, und umgekehrt realisieren können.

  1. FC1: Umrechnung des Winkels von Grad- zum Bogenmass
  • Eingangsparameter: "Gradzahl" mit dem Datentyp: REAL,
  • Ausgangsparameter: "Bogenmass" mit dem Datentyp: REAL.
  1. FC2: Umrechnung des Winkels von Bogenmass- zum Gradmass
  • Eingangsparameter: "Bogenmass" mit dem Datentyp: REAL,
  • Ausgangsparameter: "Gradzahl" mit dem Datentyp: REAL.

Der Aufruf der Funktionen FC1 und FC2 erfolgt im OB1. Bei positiver Flanke am Eingangsbit E1.0 wird die Funktion FC1 aufgerufen und bei positiver Flanke am Eingangsbit E1.1 die Funktion FC2.

Winkel.zip ( 59 KB )

Hinweis:
Die S7 400 CPU-Baugruppen haben eine systembedingte Rundungsabweichung beim Arbeiten mit dem Datentyp "REAL".

3 Linearwertberechnung
Durch die Koordinaten (x0,y0) und (x1,y1) legen Sie den Verlauf einer Geraden fest. Sie geben durch den Parameter x einen Wert auf der Abszisse vor. Der Baustein errechnet den dazu passenden Ordinatenwert y auf dieser Gerade. Als Ausgabewert erhalten Sie für y eine ganze Zahl im Bereich von -27648 bis +27648.


Bild 03

Die Ordinate des Punktes P wird berechnet nach der Formel:

  • y = ((y1-y0) / (x1-x0)) *(x-x0) +y0


Bild 04

Das beigefügte STEP 7 Projekt "Linear" enthält die Funktion FC101 mit dem Programm zur Linearwertberechnung:

Linear.zip ( 335 KB )

4 Abbildung verschiedener mathematischer Funktionen in der Steuerung
Die hier vorliegenden Bausteine bilden sieben gängige mathematische Funktionszusammenhänge ab. Sie finden Gleichungen vierter, dritter und zweiter Ordnung (quadratische Gleichung), über die lineare Gleichung bis zur Exponentialfunktion, logarithmische Funktion und Potenzfunktion. Das STEP 7 Projekt "regressions_functionen" enthält für die unten dargestellten mathematischen Gleichungen die folgenden sieben Funktionen:
  1. FC10:  Y = aX4 + bX3 + cX2 + dX + e
  2. FC11:  Y = aX3 + bX2 + cX + d
  3. FC12:  Y = aX2 + bX + c
  4. FC13:  Y = aX + b
  5. FC14:  Y = a*bx
  6. FC15:  Y = a + b * ln(x)
  7. FC16:  Y = a*Xb

Beispiel:
Für den Zusammenhang zwischen zwei physikalischen Größen zur statistischen Berechnung wählen Sie z.B. die Exponentialfunktion (Y = a*bx). Mittels des hier vorliegenden Bausteins FC14 können Sie sich die gefundene Exponentialfunktion in die Steuerung legen und für neue x-Werte die resultierenden y-Werte errechnen.

Aufrufparameter des Bausteins FC10 (Beispiel)

  • [Y = aX4 + bX3 + cX2 + dX + e]


Bild 05

Der Download enthält sowohl die S7-SCL-Quelle als auch die daraus kompilierte Programmierung in AWL für die Funktionen FC10 bis FC16, sowie einen Beispielaufruf aus dem OB1.

regressions_funktionen.zip ( 46 KB )

Suchbegriffe:
Alternativfunktion, Ersatzfunktion, Hilfsfunktion

Securityhinweise
Um technische Infrastruktur, Systeme, Maschinen und Netzwerke gegen Cyber-Bedrohungen zu sichern, ist es erforderlich, ein ganzheitliches IT Security-Konzept zu implementieren (und kontinuierlich aufrechtzuerhalten), das dem aktuellen Stand der Technik entspricht. Die Produkte und Lösungen von Siemens formen nur einen Bestandteil eines solchen Konzepts. Weitergehende Informationen über Cyber Security finden Sie unter
https://www.siemens.com/cybersecurity#Ouraspiration.