FlexPro bietet Ihnen die Möglichkeit, eigene Funktionen in FPScript oder Python zu programmieren. Diese legen Sie wie normale Formeln an, verwenden jedoch in der ersten Code-Zeile die Arguments-Anweisung, um Argumente für die Funktion zu deklarieren. Die Formel wird hierdurch zur Funktion und muss beim Aufruf mit Argumenten versehen werden. Sie können solche Funktionen in Vorlagendatenbanken speichern und somit den Funktionsvorrat von FlexPro erweitern.
Python ist in der Professional-Edition Bestandteil von FlexPro.
Ein Beispiel
a) FPScript
Eine FPScript-Funktion Sum würde z. B. wie folgt aussehen:
Arguments a, b
a + b
Diese Funktion kann nun in einer anderen Formel aufgerufen werden:
Sum(1 V, 2 mV)
oder
Sum(Datensatz1, Datensatz2)
Die Argumente a und b dienen als formale Parameter zur Aufnahme der übergebenen Argumente. Sie können diese wie lokale Variable verwenden.
Sie können beim Aufruf beliebige Elemente der Argumentliste weglassen, diese erhalten dann den Datentyp Leer:
Sum( , 2) ist also äquivalent zu Sum(Empty, 2) und Sum(1) ist äquivalent zu Sum(1, Empty).
Beachten Sie bitte, dass in der Funktion Sum keine Return-Anweisung nötig ist. Das Ergebnis der letzten Anweisung in einer FPScript-Formel wird automatisch als Ergebnis der Formel verwendet.
b) Python
Das gleiche Beispiel in Python sieht etwas anders aus. In Python müssen Sie das Berechnungsergebnis explizit dem Ergebniswert der Funktion zuweisen. Die Argumente werden als flexpro.Data Objekte mit Wert und Einheit übergeben:
arguments a, b
this.data = a.value + b.value
Wenn Sie das Ergebnis mit Einheit übergeben möchten, sieht der Code so aus:
arguments a, b
this.data = flexpro.Data(a.value + b.value, a.unit)
Eine FPScript- oder Python Funktion wird in einer Python-Formel wie folgt aufgerufen:
flexrpro.call('Sum', flexpro.Data(1, 'V'), flexpro.Data(2, 'V'))
Bitte beachten Sie, dass Python die Einheit nicht prüft und auch nicht angleicht. Wenn z. B. a die Einheit V und b die Einheit mV hat, ist das berechnete Ergebnis falsch.
FPScript- oder Python-Funktionen als Vorlage speichern
Wenn Sie eine FPScript- oder Python-Funktion in einer Vorlagendatenbank speichern, können Sie diese in Ihren Projektdatenbanken wie eine eingebaute Funktion verwenden. Zum Speichern einer Funktion verwenden Sie einen Assistenten, in dem Sie für jedes Argument einen Kommentar angeben und die zulässigen Datentypen und Datenstrukturen festlegen können. So gespeicherte Funktionen
•werden im Assistenten zum Einfügen einer Funktion in eine Formel in der Kategorie Benutzerdefiniert angezeigt,
•werden von der Assistenz-Funktion des FPScript-Editors unterstützt,
•unterstützen optionale Argumente mit Vorgabewerten und
•prüfen die beim Aufruf übergebenen Argumente automatisch auf zulässige Datentypen und Datenstrukturen.
FPScript-Funktionen gemeinsam nutzen
Die Editionen Professional und Developer Suite von FlexPro unterstützen gemeinsam genutzte Vorlagendatenbanken. FPScript- oder Python-Funktionen, die Sie in einer solchen Vorlagendatenbank speichern, können Sie mit Ihren Kollegen gemeinsam verwenden. Verwenden Sie genutzte Vorlagendatenbanken, um Funktionsbibliotheken für Ihre Abteilung oder Ihre Firma zur erstellen.
Siehe auch
Tutorial benutzerdefinierte FPScript-Funktionen
Arbeiten mit FPScript-Funktionen
Erstellen einer FPScript-Funktion
Speichern einer FPScript-Funktion als Vorlage