# Tag From

Dieser Funktionsblock dient als benannter Referenzpunkt, um Daten zwischen verschiedenen Teilen Ihres Szenarios weiterzugeben. Verwenden Sie ihn zusammen mit dem Block `Tag To` oder den Daten-Lese/Schreib-Blöcken, um Werte zu teilen, ohne direkte verkabelte Verbindungen herzustellen.

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

`Generic`\
Akzeptiert beliebige Datentypen (Zahlen, Text, Listen, Bilder usw.), die Sie unter einem Tag-Namen verfügbar machen möchten.

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

Dieser Funktionsblock besitzt keine Ausgangsbuchsen. Er stellt eine benannte Speicherung/Referenz bereit, auf die andere Blöcke mithilfe von Referenzierungsblöcken zugreifen oder die sie ansteuern können.

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

`Tag Name`\
Geben Sie einen kurzen, eindeutigen String ein, um diesen Tag zu identifizieren. Dieser Name wird von anderen Referenzblöcken (z. B. `Tag To`, `Data Read Local`, `Data Read Global`) verwendet, um Daten an diesen Block zu senden oder von ihm zu lesen.

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

* `Named Reference` — Erstellen Sie einen leicht lesbaren Bezeichner für einen Wert, sodass andere Blöcke Daten senden oder lesen können, ohne eine direkte Leitung zu benötigen.
* `Duplicate Protection` — Der Block warnt, wenn bereits ein anderer Block denselben `Tag Name` verwendet, um versehentliche Konflikte zu vermeiden.
* `Self-write Protection` — Der Block gibt eine Warnung aus, wenn ein `Tag To`-Block versuchen würde, denselben Tag auf eine widersprüchliche Weise zu beschreiben, und hilft so, unbeabsichtigte Schleifen zu verhindern.

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

1. Platzieren Sie diesen Block an der Stelle im Szenario, an der der gemeinsame Wert vorhanden sein soll.
2. Geben Sie im Steuerfeld `Tag Name` eine eindeutige Kennung ein.
3. Speisen Sie den Wert, den Sie teilen möchten, in den Eingang `Generic` ein.
4. Verwenden Sie einen `Tag To`-Block (mit demselben `Tag Name`), um Daten programmatisch zu senden, oder nutzen Sie Daten-Lese-/Schreib-Blöcke, um den gespeicherten Wert an anderer Stelle zuzugreifen.

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

Beim Ausführen akzeptiert der Block den verbundenen Eingabewert und macht ihn unter dem konfigurierten `Tag Name` im Referenzsystem verfügbar. Die Benutzeroberfläche informiert Sie, falls der gewählte Tag-Name Duplikate oder Konflikte verursacht.

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

* Verwenden Sie `Tag To` gemeinsam mit diesem Block, um Werte aus einem Bereich Ihres Szenarios in einen anderen zu senden, ohne direkte Verdrahtung.
* Zum Lesen von Werten an anderer Stelle kombinieren Sie mit `Data Read Local` oder `Data Read Global`, abhängig vom benötigten Geltungsbereich.
* Um Werte zuverlässig zu speichern oder zu aktualisieren, denken Sie an die Kombination mit `Data Write Local` oder `Data Write Global`.
* Verwenden Sie `Data Memory`, wenn Sie einen Wert einfrieren möchten, damit er sich nicht ändert, bis er explizit aktualisiert wird.
* Für die Fehlersuche beim Entwerfen fügen Sie in der Nähe der sendenden oder lesenden Blöcke `Debug Input` hinzu, um Werte zu inspizieren.
* Beim Exportieren oder Protokollieren von Daten leiten Sie per Tags gesammelte Werte in `Data to JSON` oder `CSV Export` Blöcke.

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

* Duplicate tag warning appears\
  Stellen Sie sicher, dass jeder `Tag Name` eindeutig ist. Benennen Sie einen der Blöcke um, um Kollisionen zu vermeiden.
* Conflict with a sending block\
  Wenn die Oberfläche meldet, dass ein `Tag To`-Block versucht, auf ungültige Weise an denselben Tag zu schreiben, prüfen Sie die `Tag Name`-Werte beider Blöcke und passen Sie den Ablauf an, um zyklische Referenzen zu vermeiden.
* No value available at read-time\
  Stellen Sie sicher, dass der Block, der den Wert bereitstellt, aktiv ist und dass der Eingang `Generic` verbunden ist oder gültige Daten liefert. Falls der Lesende weiterhin nichts anzeigt, überprüfen Sie die exakte Übereinstimmung der `Tag Name`-Strings (keine zusätzlichen Leerzeichen).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.augelab.com/german/function-blocks/data-logic/referencing/tag-from.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
