# Abrufen von Daten aus einem In-Sight Vision-System

Um Daten aus einem In-Sight Explorer-Vision-System an eine ControlLogix-Steuerung zu übergeben, müssen die Daten mit der Funktion WriteResultsBuffer in den Ethernet/IP-Stack übertragen werden.

Diese Funktion verwendet einen mit der Funktion FormatOutputBuffer erstellten Datenpuffer und schreibt dessen Inhalt in den Datenbereich von des In-Sight Vision-Systems, wenn das in der Funktion „WriteResultsBuffer“ konfigurierte Ereignis ausgeführt wird. Diese Daten werden dann nach der vollständigen Ausführung der Tabelle im nächsten RPI-Zyklus an die SPS übertragen.

Die Schreibvorgänge des EtherNet/IP-Puffers in diesem Datenbereich werden in die Warteschlange gestellt, wenn das Bit Buffer Results Enable eingestellt ist. Andernfalls können neue Ergebnisse die vorherigen Ergebnisse überschreiben.

Tipp: Verwenden Sie das Bit „ResultsValid“, um zu bestimmen, wann die Daten gelesen werden sollen. So lassen sich subtile sporadisch auftretende Probleme mit dem Timing in Ihrer SPS-Logik vermeiden, die bei dieser Konfiguration entstehen können, da „ResultsValid“ erst dann hochgesetzt wird, wenn Daten gelesen werden können (nicht vorher).

1. Fügen Sie diese Funktionen in die Tabelle ein. Count , Rand , EditInt und Sum . Legen Sie die Parameter der Funktion „Sum“ als Zellenreferenz auf die Summe des Werts fest, der von den Funktionen „Rand“ und „EditInt“ zurückgegeben wird.

2. Klicken mit der rechten Maustaste in eine leere Zelle und fügen Sie die Funktion FormatOutputBuffer in die Tabelle ein.
3. Klicken Sie im Dialogfeld „FormatOutputBuffer“ auf die Schaltfläche Hinzufügen. Dadurch wird der Zellenauswahlmodus aktiviert. Wählen Sie die Zelle mit der Funktion Sum aus.
4. Verwenden Sie im Dialogfeld „FormatOutputBuffer“ das Pulldown-Menü „Datentyp“, um den Datentyp auf 32-Bit-Fließpunkt festzulegen.

5. Klicken Sie im Dialogfeld „FormatOutputBuffer“ erneut auf die Schaltfläche Hinzufügen. Dadurch wird der Zellenauswahlmodus aktiviert. Wählen Sie die Zelle mit der Funktion Sum aus.

6. Schließen Sie das Eigenschaftenblatt „FormatOutputBuffer“, indem Sie auf die Schaltfläche OK klicken.

7. Klicken mit der rechten Maustaste in eine leere Zelle und fügen Sie die Funktion WriteResultsBuffer in die Tabelle ein. Setzen Sie den Parameter Puffer der Funktion „WriteResultsBuffer“ als Zellenreferenz auf die gerade erstellten Funktion „FormatOutputBuffer“.

8. Wechseln Sie in RSLogix in den Offline-Modus.

9. Klicken Sie in RSLogix mit der rechten Maustaste auf den Ordner Data Types > User-Defined und wählen Sie New Data Type im Menü aus.

10. Geben Sie dem neuen Datentyp einen beschreibenden Namen und fügen Sie zwei Gleitkommawerte zur Liste „Members:“ hinzu.

11. Fügen Sie als Nächstes einen neuen Tag zu den Controller-Tags des Projekts hinzu und verwenden Sie dabei den benutzerdefinierten Datentyp.

12. Fügen Sie eine COP-Anweisung zum Kontaktplan „MainRoutine“ hinzu.

    Hinweis: Das Feld „Length“ enthält die Anzahl der Eingabestrukturen, die ins Feld „Dest“ der COP-Anweisung kopiert werden sollen.
13. Schalten Sie das In-Sight-Vision-System online.

14. Klicken Sie in RSLogix auf den Dropdown-Pfeil auf der Schaltfläche „Offline“ und wählen Sie Herunterladen aus.

15. Nachdem dieses Programm auf die ControlLogix SPS heruntergeladen wurde, werden nun die Daten aus den Zellen Random und Acquisition Counter in der Tabelle im Tag InSight_Top_Input im Gleitkommaformat angezeigt.