In diesem Tutorial erfahrt ihr, wie im Modulsystem der STARFACE ermittelt werden kann, ob ein der aktuelle Zeitpunkt in einem konfigurierten Zeitraum liegt. Verwendung findet diese Methode in Modulen, welche "zeitgesteuert" Entscheidungen treffen müssen.
In dem unten gezeigten Beispiel entwerfen wir ein Modul, dass Rufe je nach Zeitraum zu zwei unterschiedlichen Zielen vermittelt. Dabei basiert die Vermittlung auf dem Module Designer Tutorial 1.
Zur Umsetzung unseres Beispieles verwenden wir die Komponenten CurrentDateTime, MatchDateTimeInterval, GetCaller und CallPhoneNumber.
Beschreibung der verwendeten Komponenten
CurrentDateTime
Mit dieser Komponente kann der aktuelle Zeitpunkt Millisekunden genau abgefragt werden und die Rückgabe in anderen Komponenten weiter verarbeitet werden.
Rückgabe der Komponente:Timestamp:Der aktuelle Zeitpunkt als Millisekunden seit dem 1.1.1970 (Unix Timestamp) |
MatchDateTimeInterval
Mit dieser Komponente kann geprüft werden, ob ein Zeitpunkt in einem vorgegeben Intervall liegt. Der Intervall wird als Text eingetragen und kann einDatum, einen Datumsbereich, Wochentage oder Uhrzeiten enthalten. Dabei können Datumsbereiche, Wochentage und Uhrzeiten auch kombiniert werden.
Beispiele:
| |
Eigenschaften der Komponente:
| |
Rückgabe der Komponente:Die Komponente gibt zurück, ob der Zeitstempel in den vorgegebenen Intervall passt
|
Ablaufdiagramm des Beispielmodules
Anleitung zur Erstellung des Beispielmodules
Festlegen der Grundeinstellungen, wie Name und Hersteller. Konfiguration als Modul vom Typ Standard. | |
Anlegen eines neuen Reiters namens Einstellungen im Bereich GUI. in diesen Einstellungen können bei der späteren Konfiguration des Modules die Rufziele konfiguriert werden. | |
Per Drag&Drop können nun drei Felder vom Typ TextInput erstellt werden. Das Erste bekommt den Namen Zeitraum das Zweite den Namen Zielrufnummer 1, das Dritte den Namen Zielrufnummer 2. Diese Eingabefelder können gleich als Variablen im Module Designer verwendet werden. | |
Unter dem Bereich Development legen wir nun eine neue Funktion mi der Bezeichnung start an. | |
In unserer ersten Funktion verwenden wir zuerst die Komponente GetCaller, welche wir bei den Komponenten unter dem Bereich Call finden. | |
Nun konstruieren wir die Intervallüberprüfung mit den Komponenten CurrentDateTime und MatchDateInterval. Im Feld Date/Timeübergeben wir den Rückgabewert _dateTime von CurrentDateTime. Im Feld Interval fügen wir nun die Variable Zeitraum (GUI_ZEITRAUM) ein und wählen unter unter Language den Wert de aus. | |
Die Komponente MatchDateInterval liefert uns in der Variable _matchesInterval zurück, ob der Zeitraum in den Wert aus der GUI passt. Diese Variable können wir daher nun mit einer bedingten Anweisung abfragen. Der Module Designer stellt hierfür die Komponente if (unter Basic Components) zur Verfügung. Nun konfigurieren wir diese Komponente so, dass wenn _matchesInterval erfüllt (IsTrue) ist, der Ruf an das erste Ziel vermittelt wird. Für den Fall, dass der Wert nicht passt, fügen wir eine else Komponente ein. | |
Im nächsten Schritt fügen wir nun die Komponente CallPhoneNumber hinzu, welche den Ruf an unser erstes Ziel vermitteln soll. Damit die Vermittlung funktioniert, müssen wir die Komponente noch konfigurieren. Zuerst wählen wir bei Phonenumber to call unsere Zielrufnummer 1 (GUI_ZIELRUFNUMMER_1) aus. Als Caller Name und Caller number greifen wir auf die Informationen aus der GetCaller-Komponente zurück. In der Variable Ringing duration können wir nun festlegen, wie lange der Anrufversuch dauern soll (z.B. 45 Sekunden). | |
In den else-Bereich fügen wir nun noch einmal CallPhoneNumber ein. Diesmal wird als Phonenumber to call jedoch die Zielrufnummer 2 (GUI_ZIELRUFNUMMER_2) verwendet. | |
Zuletzt beenden wir das Modul richtig mit der Komponente exit aus dem Bereich Basic Components. Das Modul soll laut Ablaufdiagramm in beiden Fällen beendet werden, daher wird das exit nicht eingerückt und somit immer ausgeführt. An diesem Punkt ist das Modul funktionsbereit und kann nun in der Modulkonfiguration, wie jedes andere Modul konfiguriert werden. Viel Spass beim Nachbauen. | |
Konfiguration des Modules | |
Damit wir dieses Modul verwenden können, müssen wir wie bei jedem anderen Modul eine Konfiguration erstellen. | |
Der Konfiguration vergeben wir einen aussagekräftigen Namen. | |
Da wir ein Modul vom Typ Standard gebaut haben, muss diesem jetzt eine Rufnummer zugewiesen werden. | |
Zuletzt konfigurieren wir das Modul unter dem Reiter Einstellungen. |