# PWM (Pulse Width Modulation)

Dieser Funktionsblock ermöglicht es Benutzern, ein künstliches Pulsbreitenmodulationssignal zu erzeugen, das nützlich ist, um das Timing digitaler Signale basierend auf Zeitintervallen oder Stichproben zu steuern.

## 📥 Eingänge <a href="#inputs" id="inputs"></a>

Dieser Funktionsblock hat keine Eingangsanschlüsse.

## 📤 Ausgänge <a href="#outputs" id="outputs"></a>

`Boolean` Dieser Ausgang zeigt den aktuellen Zustand des PWM-Signals an, wechselt zwischen `True` und `False`.

## 🕹️ Steuerungen <a href="#controls" id="controls"></a>

`Interval` Ein beschriftetes Eingabefeld, in dem Sie die Gesamtdauer des Intervalls für das PWM-Signal festlegen können. Dies definiert, wie lange ein kompletter Zyklus (hoch und runter) dauern wird.

`Up Duration` Ein beschriftetes Eingabefeld, um die Dauer anzugeben, für die das Signal im hohen Zustand (True) innerhalb des Gesamtintervalls bleibt.

`Time Mode` Ein Umschalter, der es Ihnen ermöglicht, zwischen zeitbasiertem Signal (ein) und stichprobenbasiertem Signal (aus) zu wählen.

## 🎨 Funktionen <a href="#features" id="features"></a>

`Vielseitige Daueroptionen` Benutzer können das PWM-Verhalten basierend auf Zeitintervallen oder Stichprobenanzahlen definieren, was Flexibilität für verschiedene Anwendungen bietet.

`Echtzeit-Zustandsaktualisierungen` Der Ausgangszustand wird kontinuierlich basierend auf den festgelegten Intervallen und den umgeschalteten Zustandseinstellungen aktualisiert.

## 📝 Nutzungshinweise <a href="#usage" id="usage"></a>

1. **Set Interval**: Geben Sie das gewünschte Gesamtintervall mit der Steuerung `Interval` ein.
2. **Set Up Duration**: Geben Sie an, wie lange das Signal während dieses Intervalls hoch sein soll, indem Sie die Steuerung `Up Duration` verwenden.
3. **Toggle Mode**: Schalten Sie je nach Anwendungsbedarf zwischen Zeitmodus und Stichprobenmodus mit dem Schalter `Time Mode`.
4. **Evaluate**: Beim Ausführen des Blocks zeigt der Ausgang den aktuellen Zustand des PWM-Signals an.

## 📊 Bewertung <a href="#evaluation" id="evaluation"></a>

Wenn er ausgeführt wird, gibt dieser Funktionsblock ein boolesches Signal aus, das basierend auf den für die Gesamtdauer und die Hochdauer festgelegten Parametern schwankt und ein PWM-Signal simuliert.

## 💡 Tipps und Tricks <a href="#tips-and-tricks" id="tips-and-tricks"></a>

<details>

<summary>Signalfrequenz anpassen</summary>

Um die Frequenz des PWM-Signals anzupassen, ändern Sie das `Interval`, was sich direkt darauf auswirkt, wie schnell das Signal zwischen den Zuständen wechselt.

</details>

<details>

<summary>Stichprobenanzahl für Konsistenz verwenden</summary>

Wenn Sie ein wiederholtes und konsistentes Verhalten in einer kontrollierten Umgebung benötigen, wählen Sie den Stichprobenmodus und verwenden Sie feste Stichprobenanzahlen, um vorhersehbares Timing sicherzustellen.

</details>

<details>

<summary>Überwachung von Zustandsänderungen</summary>

Verbinden Sie den Ausgang dieses Funktionsblocks mit einem beliebigen Visualisierungstool, um zu überwachen, wie sich der PWM-Ausgangszustand im Laufe der Zeit oder bei Stichproben ändert.

</details>

## 🛠️ Fehlersuche <a href="#troubleshooting" id="troubleshooting"></a>

<details>

<summary>Keine Ausgabe beobachtet</summary>

Überprüfen Sie, ob die Felder `Interval` und `Up Duration` korrekt eingestellt sind. Wenn `Up Duration` gleich oder länger als `Interval` ist, kann die Ausgabe hoch bleiben.

</details>

<details>

<summary>Unerwartetes Verhalten im Zeitmodus</summary>

Stellen Sie sicher, dass der Schalter `Time Mode` korrekt eingestellt ist. Wenn er aktiviert ist, sich das Ausgabeverhalten jedoch erratisch zeigt, überprüfen Sie, ob die Uhr des Systems korrekt funktioniert.

</details>

<details>

<summary>Fehler im Stichprobenmodus</summary>

Überprüfen Sie, ob Ihr `Interval`-Wert nicht unter 1 eingestellt ist, da dies zu Divisionfehlern oder instabilen Operationen im Stichprobenmodus führen kann. Passen Sie dies entsprechend an.

</details>
