DOCA0272DE-00

Zyklische Daten

Alle Funktionsblöcke, die auf zyklische Daten zugreifen, verwenden zwei Schnittstellenvariablen zur Parametrisierung des Zugriffs auf die zyklischen Daten:

  • i_hwStartAddress für zyklische Eingangsdaten

  • iq_hwQWAddress für zyklische Ausgangsdaten

Die Schnittstellenvariable „i_hwStartAddress“ (Datentyp „Variant“) wird von den Funktionsblöcken genutzt, um das ganze Volumen an zyklischen Eingabedaten abzurufen, das dem Avatar zugeordnet ist. Damit ein Funktionsblock diesen Vorgang ausführen kann, muss er mit der Startadresse des Avatar-Eingabebereichs parametrisiert werden (Eingabe-Untermodul des Avatars für PROFINET IO, Avatar-Modul für PROFIBUS DP). Bei der üblichen Methode werden SPS-Tags für eine Adresse am Anfang des Bereichs erstellt. Die Datengröße des SPS-Tags ist unerheblich, solange er sich am Anfang des Bereichs befindet (Beispiel: Für den Pumpen-Avatar im nachstehenden Beispiel verweist BOOL „AvPump02_StartAddress“ auf die Adresse „%I4.0“).

Für die Richtung der Ausgabedaten verwenden die Funktionsblöcke die E/A-Variable „iq_hwQWAddress“ (in einigen Fällen auch „iq_hwQBAddress“, da nur ein einziges Ausgabedaten-Byte für den Avatar vorhanden ist). Im Gegensatz zu den Eingabedaten bezieht sich diese Variable auf die gesamten Ausgabedaten der Insel (in den meisten Fällen ein Wort) und ist als E/A-Variable mit dem Funktionsblock verbunden. In einigen Fällen greifen mehrere Funktionsblöcke auf die Ausgabedaten desselben Avatars in unterschiedlichen Bereichen zu (wie z. B. ein Avatar-Steuerungsfunktionsblock zusammen mit einem Avatar-Diagnosefunktionsblock). Aus diesem Grund muss der aktuelle Status gelesen werden, bevor eine Änderung in den Ausgang geschrieben wird. Der Zugriff auf den Ausgabebereich des Avatars sollte normalerweise ebenfalls mit einem SPS-Tag für den gesamten Ausgabebereich konfiguriert werden (im vorstehenden Beispiel referenziert „AvConveyorOneDir03_OutAddress“ vom Typ „Wort“ die Adresse „%QW5“).

HINWEIS: Die Funktionsblöcke in der TeSys™ island-Bibliothek für das TIA Portal können keine Fehlkonfiguration der Eingabe-/Ausgabe-Bereiche der Avatars erkennen. Daher liegt es in der Verantwortung des Benutzers sicherzustellen, dass die richtigen Eingabe- und Ausgabebereiche konfiguriert und zusammen mit den entsprechenden Funktionsblocktypen verwendet werden. Geschieht das nicht, kann das Ergebnis ein unerwartetes Verhalten des TeSys™ island sein.

Sobald die Eingabevariable „i_xEnable“ im Programm auf „wahr“ eingestellt ist, führen die Funktionsblöcke mit zyklischer Kommunikation die zyklischen Daten aus und aktualisieren sie. Das bedeutet, dass alle Eingabevariablen an der Funktionsblock-Schnittstelle, die den Avatar über die zyklische Kommunikation steuern (z. B. „i_xRunFwd“ im vorstehenden Beispiel), in den Ausgabedatenbereich des Avatars geschrieben werden. Gleichzeitig werden alle relevanten Statusinformationen aus dem Eingabedatenbereich des Avatars vom Funktionsblock gelesen und zur Ausgabeschnittstelle kopiert (z. B. „q_xRunFwd“).

Der Statusausgang „q_xActive“ der Funktionsblöcke ist das Gegenstück zu „i_xEnable“. Wenn die Ausführung des Funktionsblocks aktiviert ist und kein Fehler erkannt wurde, ist „q_xActive“ „wahr“. Wenn ein Fehler während der Ausführung des Funktionsblocks erkannt wird, wird das durch eine steigende Flanke auf „q_xError“ signalisiert. Der Abruf von zyklischen Eingangsdaten und die Ausführung des Funktionsblocks werden angehalten. Außerdem gibt „q_dwErrorID“ mithilfe der Fehlercode-Werte vom Datenblock „ConstTeSysIsland“ (siehe Datenblock ConstTeSysIsland) an, welche Fehlerart erkannt wurde. Gleichzeitig werden alle Ausgänge des Funktionsblocks, die das Ergebnis der zyklischen bzw. azyklischen Kommunikation mit dem TeSys island sind, auf ihre jeweiligen Standardwerte zurückgesetzt. Das bedeutet Folgendes:

  • Alle numerischen (INT, UINT, …) und Bit-Feld-Ergebnisse (WORD, DWORD, …) werden auf 0 eingestellt

    .
  • Alle Zeichenfolgen-Ergebnisse werden auf eine leere Zeichenfolge eingestellt.

  • Alle Booleschen Ergebnisse werden auf FALSCH eingestellt.

  • Alle Ergebnisse der Art „Datum und Uhrzeit“ (DTL in dieser Bibliothek) werden auf den Mindestwert für diese Ergebnisart zurückgesetzt (DTL#1970-01-01-00:00:00.0).

  • Alle Ergebnisse, die in einem benutzerdefinierten Datentyp (UDT) oder Struct gruppiert sind, werden auf die Standardwerte zurückgesetzt, die in der Typdefinition angegeben sind. Bei diesen werden im Allgemeinen die vorstehenden Regeln eingehalten.

HINWEIS: Änderungen an den Definitionen der UDTs in der Bibliothek führen auch zu Änderungen an den Standardwerten, die bei einem Fehler von den Funktionsblöcken genutzt werden, und müssen daher vermieden werden.
WARNUNG
Nicht bestimmungsgemäßer Gerätebetrieb
  • Um bei einem Fehler Betriebsunterbrechungen bei der Last, die durch den Avatar repräsentiert wird, zu vermeiden, bleiben die zyklischen Ausgangsdaten, die an die Insel gesendet werden (z. B. die Laufbefehle), unverändert. Wenn beim Auftreten eines Fehlers eine Abschaltung der Last erforderlich ist, sind Sie verantwortlich dafür, dass alle aktiven Eingangs-Bits des Funktionsblocks situationsgerecht entfernt werden.
Die Nichtbeachtung dieser Anweisungen kann Tod, schwere Verletzungen oder Sachschäden zur Folge haben.

Der Funktionsblock verlässt den Zustand „Fehler erkannt“ erst, wenn eine neue steigende Flanke auf „i_xEnable“ erkannt wird und wenn die Bedingung, durch die der Funktionsblock in den Zustand „Fehler erkannt“ versetzt wurde, nicht mehr vorhanden ist.

QR Code is a registered trademark of DENSO WAVE INCORPORATED in Japan and other countries.

War das hilfreich für Sie?