KI-GESTÜTZTE DOKUMENTATION
Was möchten Sie wissen?
SPS-Handshakes
Jeder Austausch zwischen einer SPS und OV Spark Pro folgt einem Handshake: Die SPS setzt eine Anforderung, die Kamera bestätigt sie, und die SPS nimmt die Anforderung zurück, sobald sie die Bestätigung gesehen hat. Es gibt vier davon: Trigger, Ergebnisse lesen, Rezeptwechsel und Befehle.
Diese Seite richtet sich an den Steuerungstechniker, der die SPS-Logik schreibt. Sie funktioniert gleich über EtherNet/IP und PROFINET.
- Warten Sie stets auf das Ready-Bit der Kamera, bevor Sie eine Anforderung setzen, und halten Sie die Anforderung, bis Sie das Ack sehen
- Lesen Sie Ergebnisse bei Results Valid plus geänderter Inspection ID, niemals allein auf Basis eines Toggles
- Bestätigen Sie jedes Ergebnis, sonst wird nichts Neues präsentiert
Diese Seite benennt bewusst Signale statt Adressen. Das Byte- und Bit-Layout wird pro Firmware generiert, nehmen Sie es also aus der EDS- oder GSDML-Datei für die Firmware Ihrer Kamera oder aus den Referenzabschnitten auf der Industrial-Ethernet-Seite der Kamera. Handgetippte Offsets sind der Weg, auf dem eine Installation nach einem Update am Ende das falsche Bit liest.
Trigger
- Prüfen Sie Online = 1, Trigger Ready = 1 und Trigger Ack = 0. Schreiben Sie Part ID und, falls verwendet, User Data, setzen Sie dann Trigger und halten Sie es
- Die Kamera übernimmt an der steigenden Flanke: Trigger Ready fällt auf 0, Trigger Ack steigt auf 1, und Part ID und User Data werden gelatcht. Weist sie den Trigger ab, steigt Trigger Error und Error ID nennt den Grund
- Wenn Sie Trigger Ack = 1 sehen, nehmen Sie Trigger zurück
- Die Kamera nimmt Trigger Ack zurück. Exposure Complete wird gesetzt, wenn die Belichtung endet, und Trigger Ready geht auf 1 zurück, sobald die nächste Aufnahme starten kann
- Trigger dauerhaft hoch zu halten löst nicht erneut aus. Die Kamera reagiert nur auf die steigende Flanke
- Trigger Error meldet den letzten Trigger aus beliebiger Quelle, nicht nur Ihren. Lesen Sie Error ID für den Grund, statt anzunehmen, dass Sie zu schnell getriggert haben
- Trigger Ready = 1 bei Busy = 1 ist normal, wenn der Bildpuffer belegt ist. Die Kamera kann den nächsten Trigger akzeptieren, bevor die aktuelle Prüfung abgeschlossen ist. Werten Sie das nicht als Fehler
Ergebnisse lesen
Ein Handshake deckt beide Modi ab. Mit Buffer Results Enable = 0 sind die Ergebnisse live und jedes überschreibt das vorherige. Mit Buffer Results Enable = 1 werden bis zu 10 in die Warteschlange gestellt.
- Warten Sie auf Results Valid = 1
- Lesen Sie alle Ergebnisfelder in einem Zyklus zusammen mit der Inspection ID
- Setzen Sie Inspection Results Ack und halten Sie es. Die Kamera entfernt den Eintrag aus der Warteschlange, und Results Valid sowie die Pass- und Fail-Bits fallen auf 0
- Wenn Sie Results Valid = 0 sehen, nehmen Sie das Ack zurück. Sind weitere Ergebnisse in der Warteschlange, wird das nächste auf dieser fallenden Flanke präsentiert
Werten Sie Results Valid von 0 auf 1 mit geänderter Inspection ID als neues Ergebnis.
- Inspection Completed toggelt; es ist kein Pegel. Im gepufferten Modus kennzeichnet es einen Abschluss, nicht eine Präsentation, kann also kippen, während die Ergebnisfelder gleich bleiben. Lesen Sie Ergebnisse niemals allein auf Basis des Toggles
- Der Live-Modus kann eine Prüfung verbergen. Zwei Abschlüsse innerhalb eines Paket-Intervalls können wie ein einzelnes Kippen aussehen. Der gepufferte Modus ist davor sicher
- Das Ändern von Buffer Results Enable verwirft die Warteschlange und das präsentierte Ergebnis, bei jeder Flanke
- Eine Lücke in den Inspection IDs bedeutet, dass ein akzeptierter Trigger kein Ergebnis erzeugt hat: abgebrochen, verworfen oder unterdrückt
- Solange das Ack hoch ist, wird nichts Neues präsentiert, ganz gleich wie viele Prüfungen abgeschlossen werden
Die Gesamtbeurteilung steht in Inspection Pass und Inspection Fail. Beide auf 0 bedeutet kein Ergebnis. Detailwerte je Tool kommen aus den Slots, die Sie auf Schritt 5: Outputs zuweisen.
Rezeptwechsel
- Prüfen Sie Recipe Switch Ack = 0, schreiben Sie Recipe ID, setzen Sie dann Recipe Switching Request
- Bei Annahme: Recipe Switch Ack steigt, Trigger Ready fällt, und Online fällt mit Offline Reason = 3, Rezept wird geladen. Bei Ablehnung: Recipe Switch Error steigt, mit einem Fehler für unbekanntes Rezept oder Belegt-Zustand
- Wenn das Laden abgeschlossen ist: Current Recipe ID, Recipe Version und Tool Count werden aktualisiert, Recipe Load Complete steigt, und Online geht auf 1 zurück
- Nehmen Sie Recipe Switching Request zurück. Die Kamera löscht das Ack und Recipe Load Complete
- Halten Sie Recipe ID konstant von der steigenden Flanke der Anforderung bis zum Ack
- Teile, die bereits in Bearbeitung sind, werden mit dem alten Rezept abgeschlossen. Sie tragen das alte Rezept in Recipe ID During Judgment, verwenden Sie also dieses und nicht Current Recipe ID, um ein Ergebnis zu interpretieren
- Ergebnisse in der Warteschlange überdauern den Wechsel und behalten das Rezept, das sie beurteilt hat
- Scheitert das Laden, bleibt das vorherige Rezept geladen
- Die Recipe ID ist die SPS-Rezept-ID, die auf Schritt 5: Outputs festgelegt wird. Beim Duplizieren oder Importieren eines Rezepts erhält es eine neue
Befehle
- Prüfen Sie Command Ready = 1, schreiben Sie Command ID und Command Arg 0 bis 3, setzen Sie dann Execute Command und halten Sie es
- Die Kamera latcht die ID und die Argumente: Command Ready fällt, Command Executing steigt
- Wenn er abgeschlossen ist, überträgt eine Aktualisierung gemeinsam Command Response 0 bis 3, Command Result Code, Command Executing = 0, Command Complete = 1 und, bei Fehler, Command Failed = 1. Diese werden nie über mehrere Zyklen verteilt
- Lesen Sie die Antwort und nehmen Sie Execute Command zurück. Die Kamera löscht Command Complete und setzt Command Ready auf 1 zurück
Die Befehlsliste und die Result Codes finden Sie in den Abschnitten Command reference und Codes auf der Industrial-Ethernet-Seite der Kamera.
Eine robuste SPS-Sequenz
Für eine typische Linie sieht die Logik, die den Produktionsalltag überlebt, so aus:
- Bei Teileerkennung auf Trigger Ready warten, dann triggern
- Auf Results Valid mit neuer Inspection ID warten
- Beurteilung, benötigte Slots und Recipe ID During Judgment lesen
- Bestätigen
- Entsprechend der Beurteilung handeln, das Ergebnis dem Teil über Part ID oder Inspection ID zuordnen
Anzunehmen, das nächste Ergebnis gehöre zum nächsten Teil, funktioniert bis zum ersten verlorenen Trigger. Schreiben Sie bei jedem Trigger eine Part ID und prüfen Sie, dass sie mit dem Ergebnis zurückkommt – so kann ein einzelnes verlorenes Teil nicht jede folgende Beurteilung verschieben.