Beispiel: OpenCV
Produkt: CODESYS Development System
Dieses Beispiel zeigt eine Python-Implementierung von opencv
, einer freien Bibliothek von Programmierfunktionen. Mit dieser Bibliothek wird ein Bild ausgewertet und die Informationen werden über Shared Memory an CODESYS übertragen.
Beschreibung
In diesem Beispiel wird ein Bild mit Hilfe von Python und der freien Bibliothek von Programmierfunktionen opencv
ausgewertet. Es sind verschiedenfarbige Kreise im Bild enthalten. Die blauen Kreise werden gefiltert und die Koordinaten der Konturen werden in einen String geschrieben. Der String wird mit einem String des aktuellen Zeitstempels kombiniert. Dieser String wird in ein Byte-Array übertragen und im Shared Memory abgelegt.
Für eine bestimmte Zeit ist das Shared Memory geöffnet (in diesem Fall 60 Sekunden), um CODESYS das Lesen der Daten zu ermöglichen. In CODESYS wird der Shared-Memory-Puffer gelesen und das Byte-Array wieder in einen String übertragen.
Nach der Übergabe an den String befinden sich die Koordinaten von vier Konturen und der Zeitstempel im String. Eine weitere vorbereitete Möglichkeit ist die Auswertung eines Videostreams, die Konturen sind in diesem Fall auf fünf begrenzt, um keinen Überlauf zu erhalten.
Weitere Informationen
Vorbereitungen:
Öffnen Sie in CODESYS das Projekt
OpenCV_Example2.project
Installieren Sie Python 3.8 oder höher
Installieren Sie
opencv
: Befehlszeile:pip install opencv-python
Verzeichnis für die Ordner:
Das Python-Projekt und das Beispielbild sollten sich im selben Ordner befinden.
Benennen Sie den Shared Memory in CODESYS genauso wie in Python (Standard
MySharedMemory
).Legen Sie die gleiche Größe fest für den Shared Memory in CODESYS sowie in Python (Standardwert
100
).Stellen Sie im Python-Projekt die Zeit für das Öffnen des Shared Memory ein (Standard
60
Sekunden).
Vorgehensweise:
Starten Sie CODESYS und verbinden Sie sich mit dem lokalen Steuerung CODESYS Control Win. Melden Sie sich an und starten Sie die Steuerung.
Im Monitoring zeigt die String-Variable
PLC_PRG.strRead
den Wert""
.Führen Sie das Python-Skript aus -> Im Monitoring zeigt der String vier Koordinaten und einen Zeitstempel.
Weitere Funktionalitäten:
Die wichtigsten Funktionen von
opencv
können Sie auf der Website https://opencv.org/ nachlesen.Für weitere Funktionen muss eventuell der Puffer des Shared Memory vergrößert werden.
Systemvoraussetzungen und Einschränkungen
Programmiersystem | CODESYS Development System Version 3.5.16.0 oder höher |
Laufzeitsystem | CODESYS Control Win Version 3.5.16.0 |
Zusatzkomponenten | - |
Hinweis
DOWNLOAD Projekt