# Siemens S7 Read

Dieser Funktionsblock erleichtert die Kommunikation mit Siemens S7 SPS (Speicherprogrammierbare Steuerungen), indem er verschiedene Datentypen aus bestimmten Datenblöcken innerhalb der SPS liest.

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

`Enable` Ein boolescher Eingang, der das Aktivieren oder Deaktivieren der Leseoperation von der SPS ermöglicht.

`S7 Client` Ein generischer Eingang, der die Verbindungsdetails darstellt, die erforderlich sind, um mit dem Siemens S7-Gerät zu kommunizieren.

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

`Data` Stellt die aus dem angegebenen Datenblock in der SPS gelesenen Daten bereit, die dem ausgewählten Datentyp entsprechen.

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

`DB Number` Ein Texteingabefeld, in dem Sie die Datenblocknummer angeben, aus der gelesen werden soll.

`DB Byte Address` Ein Texteingabefeld zum Eingeben der Start-Byte-Adresse innerhalb des Datenblocks.

`DB Data Type` Ein Dropdown-Menü, das es Ihnen ermöglicht, den zu lesenden Datentyp auszuwählen, z. B. Boolean, Int, DInt, Real usw. Verfügbare Typen sind vordefiniert.

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

`Flexible Data Access` Benutzer können verschiedene Datentypen aus unterschiedlichen Datenblöcken innerhalb der SPS lesen.

`Error Handling` Robuste Protokollierung gegen potenzielle Lese- oder Verbindungsfehler bietet Echtzeit-Feedback.

`Dynamic Connection Management` Stellt automatisch eine Verbindung zu verschiedenen SPS-Geräten her, wenn sich die Adresse ändert.

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

1. **Enable Reading**: Setzen Sie den Eingangsbereich `Enable` auf true, um dem Block zu erlauben, eine Leseoperation zu initiieren.
2. **Input Connection Details**: Verbinden Sie den Eingangsbereich `S7 Client` mit den Verbindungsparametern der Siemens SPS.
3. **Specify DB Number**: Geben Sie die gewünschte Datenblocknummer mithilfe des Eingabefelds `DB Number` an.
4. **Set Byte Address**: Geben Sie die Byte-Adresse ein, um festzulegen, von welchem Punkt im Block die Daten gelesen werden sollen.
5. **Select Data Type**: Wählen Sie den entsprechenden Datentyp zum Lesen aus dem Dropdown-Menü.
6. **Run the Block**: Bei Ausführung wird der Block Daten basierend auf den angegebenen Parametern von der SPS lesen und das Ergebnis ausgeben.

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

Der Funktionsblock ruft die angegebenen Daten von der Siemens S7 SPS ab und zeigt sie an, wenn er erfolgreich ausgeführt wird.

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

<details>

<summary>Understanding Data Types</summary>

Stellen Sie sicher, dass der aus dem Dropdown-Menü `DB Data Type` ausgewählte Datentyp genau mit den im SPS gespeicherten Daten übereinstimmt. Fehlende Typen können unerwartete Ergebnisse oder Fehler verursachen.

</details>

<details>

<summary>Checking Connection Status</summary>

Wenn Sie Probleme beim Lesen von Daten haben, bestätigen Sie, dass die SPS verbunden und zugänglich ist. Nutzen Sie die Protokollierungsfunktionen, um Verbindungsfehler zu identifizieren.

</details>

<details>

<summary>Efficiently Handling Busy Server States</summary>

Wenn Sie eine "Server beschäftigt"-Warnung erhalten, sollten Sie in Betracht ziehen, Wiederholungsmechanismen zu implementieren oder das Leseintervall zu verlängern, damit der Server Zeit hat, vorherige Anfragen zu verarbeiten.

</details>

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

<details>

<summary>Server Not Connected</summary>

Wenn die Fehlermeldung anzeigt, dass der Server nicht verbunden ist, überprüfen Sie die Verbindungseinstellungen, die über den Eingangsbereich `S7 Client` übermittelt wurden. Stellen Sie sicher, dass Ihre SPS mit Strom versorgt und korrekt konfiguriert ist.

</details>

<details>

<summary>Invalid DB Number or Byte Address</summary>

Stellen Sie sicher, dass die angegebene DB-Nummer und Byte-Adresse gültig sind und in der SPS-Konfiguration existieren. Eine falsche Konfiguration verhindert das Lesen von Daten.

</details>
