Tutorial benutzerdefinierte FPScript-Funktionen

23.08.2021

FlexPro bietet Ihnen die Möglichkeit, eigene Funktionen in FPScript zu programmieren, in einer Vorlagendatenbank abzuspeichern und dann in FPScript-Formeln zu verwenden. Eine FPScript-Funktion ist eine in FPScript geschriebene Formel, die mindestens ein Argument verwendet. Das oder die Argumente deklarieren Sie mit der Arguments-Anweisung.

Im folgenden Beispiel lernen Sie, wie Sie eine Funktion zum Normieren eines Datensatzes programmieren, als FPScript-Funktion registrieren und diese dann verwenden.

Hinweis   Das Beispiel beschränkt sich auf die Implementierung einer benutzerdefinierten Funktion in der Sprache FPScript. Wenn Sie zur Realisierung der Funktion auf externe Bibliotheken (DLLs) zugreifen wollen oder bereits vorliegende Algorithmen für FlexPro verfügbar machen wollen, sollten Sie die benutzerdefinierte FPScript-Funktion in VBA oder einer anderen Automation-kompatiblen Programmiersprache implementieren. Siehe hierzu Eine benutzerdefinierte FPScript-Funktion.

Eine benutzerdefinierte FPScript-Funktion registrieren

1.Erzeugen Sie eine Formel mit folgendem FPScript-Code:
 
Arguments Data, NormalizeTo
If NormalizeTo == Empty Then
  NormalizeTo = 1.
End
NormalizeTo * Data / Maximum(Data)
 
Durch die Arguments-Anweisung wird die Formel zur Funktion und muss beim Aufruf mit einer Argumentliste versehen werden.

2.Markieren Sie die Formel in der Objektliste und klicken Sie auf Start[Markierte Objekte] > Als Vorlage speichern.

3.Wählen Sie auf der ersten Seite des Vorlagen-Assistenten als Vorlagentyp FPScript-Funktion, geben Sie als Name Normalize und als Kommentar Normiert einen Datensatz ein.

Hinweis   Der Vorlagentyp FPScript-Funktion ist nur auswählbar, wenn exakt eine Formel markiert wurde. Außerdem muss die Formel in der ersten Zeile das Schlüsselwort Arguments enthalten und darf keine Syntaxfehler aufweisen.

4.Klicken Sie auf Weiter. Geben Sie als Beschreibung für das Argument Data den Text Der zu normierende Datensatz ein. Wählen Sie die zulässigen Datentypen 16-Bit Ganzzahl bis 64-Bit Fließkommazahl aus. Wählen Sie als zulässige Datenstrukturen Datenreihe und Signal aus.

5.Klicken Sie auf Weiter. Geben Sie als Beschreibung für das Argument NormalizeTo den Text Wert, auf den der Datensatz normiert wird ein. Als zulässige Datentypen wählen Sie 16-Bit Ganzzahl bis 64-Bit Fließkommazahl aus. Wählen Sie als zulässige Datenstrukturen Einzelwert aus. Aktivieren Sie die Option Vorgabewert und geben Sie 1 ein.

6.Klicken Sie auf Weiter. Überprüfen Sie auf der letzten Seite des Assistenten die Einstellungen und speichern Sie die Vorlage in der Persönlichen Vorlagendatenbank. Beenden Sie den Assistenten.

7.Die Funktion Normalize ist nun in der Vorlagendatenbank gespeichert. Sie können diese nun aus Ihrer Projektdatenbank löschen. Markieren Sie hierzu die Funktion in der Objektliste und drücken Sie die ENTF-Taste.

Eine benutzerdefinierte FPScript-Funktion verwenden

1.Wählen Sie Einfügen[Daten] > Signal > Sinus, um ein synthetisches Sinussignal anzulegen.

2.Legen Sie anschließend mit Einfügen[Daten] > Formel eine leere Formel an und klicken Sie auf Formeltools/Entwurf[FPScript einfügen] > Funktion. Wählen Sie die Kategorie Benutzerdefiniert und wählen Sie dann die Funktion Normalize aus.

3.Geben Sie als Argument Data den zu normierenden Datensatz Signal und als Argument NormalizeTo den Wert 10 an.
Der Code sollte nun so aussehen: Normalize(Signal, 10)

4.Klicken Sie nun auf den Namen der Formel in der Objektliste. Die Sinuskurve wird nun mit den Extremwerten +-10 in der Vorschau angezeigt.

Eine benutzerdefinierte FPScript-Funktion im Firmennetz verfügbar machen

Hinweis   Diese Möglichkeit besteht nur in den Editionen Professional und Developer Suite von FlexPro.

1.Legen Sie eine neue Projektdatenbank an und speichern Sie diese unter dem Namen FPScript-Bibliothek in einem freigegebenen Ordner im Netzwerk.

2.Klicken Sie auf Datei > Informationen > Organisieren und aktivieren Sie die Registerkarte Vorlagen im Dialogfeld Organisieren.

3.Klicken Sie auf Gemeinsam genutzte Vorlagendatenbanken, um das gleichnamige Dialogfeld zu öffnen.

4.Klicken Sie auf Einfügen und dann auf die Schaltfläche am rechten Rand des neu angelegten Feldes in der Liste.

5.Wählen Sie die zuvor gespeicherte Datenbank aus und schließen Sie dann beide Dialogfelder mit OK.

6.Im Dialogfeld Organisieren wählen Sie den Vorlagentyp FPScript-Funktion aus.

7.Wählen Sie auf der linken Seite unter Elemente verfügbar in die zuvor im Netzwerk gespeicherte Projektdatenbank FPScript-Bibliothek aus. Falls diese nicht in der Liste angezeigt wird, klicken Sie auf Projektdatenbank schließen und dann auf Projektdatenbank öffnen und wählen Sie die Datei aus.

8.Wählen Sie auf der rechten Seite unter Elemente verfügbar in die Persönliche Vorlagendatenbank aus.

9.Markieren Sie im Listenfeld auf der rechten Seite die Funktion Normalize und klicken Sie dann auf Kopieren, um diese in die gemeinsam genutzte Vorlagendatenbank zu kopieren.

10.Klicken Sie nun auf Löschen, um die Funktion aus der persönlichen Vorlagendatenbank zu entfernen.

Hinweise
Damit Ihre Kollegen die in der Vorlagendatenbank FPScript-Bibliothek abgelegten FPScript-Funktionen nutzen können, müssen sie diese wie unter 2. bis 5. beschrieben in die Liste Gemeinsam genutzte Vorlagendatenbanken eintragen.
 
Funktionen mit gleichen Namen in unterschiedlichen Vorlagendatenbanken werden aus der Vorlagendatenbank mit der jeweils höchsten Priorität geladen. Es gilt folgende Reihenfolge:
1) Persönliche Vorlagendatenbank
2) Gemeinsam genutzte Vorlagendatenbanken in der Reihenfolge, wie Sie in der Liste Gemeinsam genutzte Vorlagendatenbanken eingetragen sind.

Artikel teilen oder als Email versenden:

Diese Beiträge könnten Sie ebenfalls interessieren