Studio
2023.4
False
Bannerhintergrundbild
Studio-Benutzerhandbuch
Letzte Aktualisierung 3. Apr. 2024

Zustandsautomaten

Eine State Machine ist eine Art von Automatisierung, die eine begrenzte Anzahl von Zuständen in ihrer Ausführung benutzt. Sie kann in einen Zustand gehen, wenn sie durch eine Aktivität ausgelöst wurde, und sie beendet diesen Zustand, wenn eine andere Aktivität ausgelöst wird.

Ein weiterer wichtiger Aspekt von State Machines sind Übergänge, da sie auch Bedingungen hinzufügen können, die den Wechsel von einem Zustand in einen anderen ermöglichen. Diese sind durch Pfeile oder Verzweigungen zwischen den Zuständen dargestellt.

Es gibt zwei Aktivitäten, die für State Machines spezifisch sind, nämlich Status (State) und Endstatus (Final State) unter Workflow > State Machine.

Hinweis: Sie können nur einen Ausgangszustand erstellen. Es sind jedoch mehr als ein Endzustand (Final State) möglich.

Die Aktivität Status (State) enthält drei Abschnitte: Eintritt (Entry), Beenden (Exit) und Transition(s). Endzustand (Final State) hingegen enthält nur einen Abschnitt – Eintritt (Entry). Beide Aktivitäten können durch Doppelklick erweitert werden, um weitere Informationen anzuzeigen und sie zu bearbeiten.

Die Abschnitte Eintritt (Entry) und Beenden (Exit) ermöglichen das Hinzufügen von Eingabe- und Beendigungs-Triggern für den ausgewählten Status, während der Abschnitt Übergang/Übergänge (Transition(s)) alle Übergänge anzeigt, die mit dem ausgewählten Status verknüpft sind.





Übergänge werden erweitert, wenn Sie auf diese doppelklicken, genauso wie die Aktivität Status (State). Sie beinhalten drei Abschnitte, Trigger (Trigger), Bedingung (Condition) und Aktion (Action), die es Ihnen ermöglichen, einen Trigger für den nächsten Zustand oder eine Bedingung hinzuzufügen, unter welcher die Aktivität oder Sequence ausgeführt wird.



Beispiel der Verwendung einer State Machine

Als Beispiel für die Verwendung einer State Machine verwenden wir das Ratespiel aus dem vorherigen Kapitel. Der einzige Unterschied ist, dass wir versuchen werden, eine Zahl zwischen 1 und 100 zu erraten.

  1. Erstellen Sie einen leeren Prozess und wählen Sie auf der Registerkarte Design in Gruppe Datei (File) die Option Neue > State Machine (New > State Machine) aus. Das Fenster Neue State Machine (New State Machine) wird angezeigt.
    Hinweis: Sie können auch eine State Machine-Aktivität im Panel Designer (Designer) hinzufügen, um eine State Machine-Automatisierung zu erstellen.
  2. Geben Sie in das Feld Name (Name) einen Namen für die Automation ein, z. B. „Erste State Machine (First State Machine)“, und lassen Sie den standardmäßigen Projektspeicherplatz stehen oder fügen Sie einen Unterordner hinzu. Klicken Sie auf Erstellen (Create). Das Designer-Panel wird entsprechend aktualisiert.
  3. Erstellen Sie zwei Integer-Variablen, InitialGuess und RandomNumber. Die erste Variable speichert Ihre Schätzung, während die zweite die Zufallszahl speichert.
  4. Fügen Sie eine Status (State)-Aktivität in das Panel Designer (Designer) ein und verbinden Sie sie mit dem Knoten Start. Das ist der ursprüngliche Zustand, der verwendet wird, um eine Zufallszahl zu generieren.
  5. Doppelklicken Sie auf Aktivität. Die Status (State)-Aktivität wird erweitert im Panel Designer (Designer) angezeigt.
  6. Geben Sie „Initializing Random Number“ in das Feld AnzeigeName (DisplayName) im Panel Eigenschaften (Properties) ein. Dies ermöglicht Ihnen, Zustände auseinanderzuhalten.
  7. Fügen Sie eine Assign-Aktivität in den Abschnitt Eintrag hinzu.
  8. Fügen Sie die Variable RandomNumber in das Feld In ein.
  9. Geben Sie new Random().Next(1,100) im Feld Wert ein. Dieser Ausdruck generiert eine Zufallszahl.
  10. Kehren Sie zur Hauptprojektansicht zurück und fügen Sie eine neue Status (State)-Aktivität hinzu.
  11. Verbinden Sie sie mit der zuvor hinzugefügten Aktivität.
  12. Doppelklicken Sie auf die zuletzt hinzugefügte Status (State)-Aktivität. Diese Aktivität wird erweitert im Panel Designer (Designer) angezeigt.
  13. Geben Sie „Zufallszahl erraten“ in das Feld AnzeigeName (DisplayName) im Panel Eigenschaften (Properties) ein. Dieser Zustand wird verwendet, um den Benutzer aufzufordern, eine Zahl zu erraten.
  14. Fügen Sie eine Input Dialog-Aktivität im Abschnitt Eintrag hinzu.
  15. Wählen Sie Eingabedialog (Input Dialog) aus und fügen Sie im Panel Eigenschaften (Properties) ein geeignetes Beschriftung (Label) und einen Titel (Title) hinzu, um den Benutzer aufzufordern, eine Zahl zwischen 1 und 100 zu erraten.
  16. Fügen Sie die Variable InitialGuess im Feld Ergebnis (Result) hinzu. Diese Variable speichert die Schätzungen des Benutzers.
  17. Kehren Sie zur Hauptprojektansicht zurück und erstellen Sie einen Übergang, der vom Zustand „Guess Number“ auf sich selbst zeigt.
  18. Doppelklicken Sie auf den Übergang. Der Übergang wird erweitert im Panel Designer (Designer) angezeigt.
  19. Geben Sie in das Feld AnzeigeName (DisplayName) im Panel Eigenschaften (Properties) „Versuchen Sie kleiner“ ein. Diese Nachricht wird auf dem Pfeil angezeigt. So können Sie leichter durch Ihre Automatisierung gehen.
  20. Geben Sie im Abschnitt Bedingung InitialGuess > RandomNumber ein. Dadurch wird überprüft, ob die Schätzung größer als die Zufallszahl ist.
  21. Fügen Sie eine Message box-Aktivität im Abschnitt Aktion hinzu.
  22. Geben Sie in das Feld Text (Text) z. B. "Ihre Schätzung ist zu groß. Geben Sie eine kleinere Zahl ein." ein. Diese Nachricht wird angezeigt, wenn die Schätzung des Benutzers größer ist als die Zufallszahl.
  23. Kehren Sie zur Hauptprojektansicht zurück und erstellen Sie einen neuen Übergang, der vom Status Nummer erraten (Guess Number) auf sich selbst zeigt.
  24. Doppelklicken Sie auf den Übergang. Der Übergang wird erweitert im Panel Designer (Designer) angezeigt.
  25. Geben Sie „Versuchen Sie größer“ in das Feld AnzeigeName (DisplayName) im Panel Eigenschaften (Properties) ein. Diese Nachricht wird auf dem Pfeil angezeigt und ermöglicht es Ihnen, leichter durch Ihre Automatisierung zu gehen.
  26. Geben Sie im Abschnitt Bedingung InitialGuess < RandomNumber ein. Dadurch wird überprüft, ob die Schätzung kleiner als die Zufallszahl ist.
  27. Fügen Sie eine Nachrichtenbox (Message box)-Aktivität im Abschnitt Aktion (Action) hinzu.
  28. Geben Sie im Feld Text (Text) z. B. "Ihre Schätzung ist zu klein. Geben Sie eine größere Zahl ein." ein. Diese Nachricht wird angezeigt, wenn die Schätzung des Benutzers kleiner als die Zufallszahl ist.
  29. Kehren Sie zur Hauptprojekt-Ansicht zurück und fügen Sie die Aktivität Endzustand (Final State) zum Designer (Designer)-Panel hinzu.
  30. Verbinden Sie einen Übergang von der Aktivität Zahl erraten(Guess Number) mit der Aktivität Endzustand (Final State).
  31. Geben Sie „Richtige Schätzung“ im Panel Eigenschaften (Properties) in das Feld AnzeigeName (DisplayName) ein.
  32. Geben Sie im Feld Bedingung InitialGuess = RandomNumber ein. Das ist die Bedingung, mit der diese Automatisierung in den Endzustand und das Ende übergeht.
  33. Doppelklicken Sie auf die Aktivität Endzustand (Final State). Sie wird erweitert im Panel Designer (Designer) angezeigt.
  34. Fügen Sie eine Nachrichtenbox (Message box)-Aktivität im Abschnitt Eintritt (Entry) hinzu.
  35. Geben Sie im Feld Text etwa Folgendes ein: „Herzlichen Glückwunsch. Sie haben richtig geraten! Die Zahl war „ + RandomNumber.ToString + “.“ Dies ist die letzte Meldung, die angezeigt wird, wenn der Benutzer die Zahl richtig errät.

    Das finale Projekt sollte wie auf dem folgenden Screenshot aussehen.



  36. Drücken Sie F5. Die Automatisierung wird korrekt ausgeführt.


  • Beispiel der Verwendung einer State Machine

War diese Seite hilfreich?

Hilfe erhalten
RPA lernen – Automatisierungskurse
UiPath Community-Forum
UiPath Logo weiß
Vertrauen und Sicherheit
© 2005-2024 UiPath. All rights reserved.