Zum Hauptinhalt springen

KI-GESTÜTZTE DOKUMENTATION

Was möchten Sie wissen?

SPS-Handshakes

Jeder Austausch zwischen einer SPS und OV Spark folgt einem Handshake: Die SPS setzt eine Anforderung, die Kamera bestätigt, 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 gleichermaßen über EtherNet/IP und PROFINET.

Kurz gesagt
  • Warten Sie immer auf das Ready-Bit der Kamera, bevor Sie eine Anforderung setzen, und halten Sie die Anforderung aufrecht, bis Sie das Ack sehen
  • Lesen Sie Ergebnisse bei Results Valid plus einer geänderten Inspection ID, niemals nur anhand eines Toggles
  • Bestätigen Sie jedes Ergebnis, sonst wird nichts Neues bereitgestellt
Signalnamen hier, Byte-Offsets aus den generierten Dateien

Diese Seite benennt bewusst Signale statt Adressen. Das Byte- und Bit-Layout wird pro Firmware generiert, entnehmen Sie es daher der EDS- oder GSDML-Datei für die Firmware Ihrer Kamera oder den Referenzabschnitten auf der Industrial-Ethernet-Seite der Kamera. Von Hand eingetippte Offsets führen dazu, dass eine Installation nach einem Update das falsche Bit liest.

Trigger​

  1. 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
  2. Die Kamera nimmt an der steigenden Flanke an: Trigger Ready fällt auf 0, Trigger Ack steigt auf 1, und Part ID und User Data werden übernommen. Wird der Trigger abgelehnt, steigt Trigger Error und Error ID gibt den Grund an
  3. Wenn Sie Trigger Ack = 1 sehen, nehmen Sie Trigger zurück
  4. Die Kamera senkt Trigger Ack. Exposure Complete wird gesetzt, wenn die Belichtung endet, und Trigger Ready kehrt auf 1 zurück, wenn die nächste Bildaufnahme starten kann
Beachten Sie
  • Trigger dauerhaft hochzuhalten löst keinen erneuten Trigger 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 die Ursache, statt anzunehmen, Sie hätten zu schnell getriggert
  • Trigger Ready = 1 bei gleichzeitig Busy = 1 ist normal, wenn der Bildpuffer in Verwendung ist. Die Kamera kann den nächsten Trigger annehmen, bevor die aktuelle Prüfung abgeschlossen ist. Werten Sie dies nicht als Fehler

Ergebnisse lesen​

Ein einziger Handshake deckt beide Modi ab. Mit Buffer Results Enable = 0 sind die Ergebnisse live, und jedes neue überschreibt das vorherige. Mit Buffer Results Enable = 1 werden bis zu 10 Ergebnisse in die Warteschlange eingereiht.

  1. Warten Sie auf Results Valid = 1
  2. Lesen Sie alle Ergebnisfelder in einem einzigen Scan, zusammen mit der Inspection ID
  3. Setzen Sie Inspection Results Ack und halten Sie es. Die Kamera nimmt den Eintrag aus der Warteschlange, und Results Valid sowie die Pass- und Fail-Bits fallen auf 0
  4. Wenn Sie Results Valid = 0 sehen, nehmen Sie das Ack zurück. Sind weitere Ergebnisse in der Warteschlange, wird das nächste an dieser fallenden Flanke bereitgestellt

Werten Sie den Wechsel von Results Valid 0 auf 1 mit einer geänderten Inspection ID als neues Ergebnis.

Beachten Sie
  • Inspection Completed toggelt; es ist kein Pegel. Im gepufferten Modus markiert es den Abschluss einer Prüfung, nicht die Bereitstellung, es kann also umschalten, während die Ergebnisfelder unverändert bleiben. Lesen Sie Ergebnisse niemals allein anhand des Toggles
  • Der Live-Modus kann eine Prüfung verbergen. Zwei Abschlüsse innerhalb eines Paketintervalls können wie ein einzelnes Umschalten aussehen. Der gepufferte Modus ist dagegen immun
  • Das Ändern von Buffer Results Enable verwirft die Warteschlange und das bereitgestellte Ergebnis, an beiden Flanken
  • Eine Lücke in den Inspection IDs bedeutet, dass ein angenommener Trigger kein Ergebnis erzeugt hat: abgebrochen, verworfen oder unterdrückt
  • Solange das Ack high ist, wird nichts Neues bereitgestellt, wie viele Prüfungen auch abgeschlossen werden

Die Gesamtbeurteilung finden Sie in Inspection Pass und Inspection Fail. Beide auf 0 bedeutet: kein Ergebnis. Die Details pro Tool stammen aus den Slots, die Sie unter Schritt 5: Outputs zuweisen.

Rezeptwechsel​

  1. Prüfen Sie Recipe Switch Ack = 0, schreiben Sie die Recipe ID und setzen Sie dann Recipe Switching Request
  2. Falls angenommen: Recipe Switch Ack steigt, Trigger Ready fällt, und Online fällt mit Offline Reason = 3, Rezept wird geladen. Falls abgelehnt: Recipe Switch Error steigt, mit einem Unknown-Recipe- oder Busy-Fehler
  3. Nach Abschluss des Ladevorgangs: Current Recipe ID, Recipe Version und Tool Count werden aktualisiert, Recipe Load Complete steigt, und Online kehrt auf 1 zurück
  4. Nehmen Sie Recipe Switching Request zurück. Die Kamera löscht das Ack und Recipe Load Complete
Beachten Sie
  • Halten Sie die Recipe ID konstant von der steigenden Flanke der Anforderung bis zum Ack
  • In Bearbeitung befindliche Teile werden mit dem alten Rezept zu Ende geprüft. Sie tragen das alte Rezept in Recipe ID During Judgment; verwenden Sie dieses – nicht Current Recipe ID – um ein Ergebnis zu interpretieren
  • Ergebnisse in der Warteschlange überleben den Wechsel und behalten das Rezept, mit dem sie beurteilt wurden
  • Schlägt das Laden fehl, bleibt das vorherige Rezept geladen
  • Die Recipe ID ist die SPS-Rezept-ID, die unter Schritt 5: Outputs festgelegt wird. Beim Duplizieren oder Importieren eines Rezepts erhält es eine neue ID

Befehle​

  1. 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
  2. Die Kamera übernimmt die ID und die Argumente: Command Ready fällt, Command Executing steigt
  3. Nach Abschluss liefert ein einziges Update alle folgenden Werte: Command Response 0 bis 3, Command Result Code, Command Executing = 0, Command Complete = 1 und – bei Fehlschlag – Command Failed = 1. Diese werden niemals über mehrere Scans verteilt
  4. 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 eine Logik, die in der Produktion zuverlässig läuft, so aus:

  1. Bei anwesendem Teil auf Trigger Ready warten, dann triggern
  2. Auf Results Valid mit einer neuen Inspection ID warten
  3. Beurteilung, benötigte Slots und Recipe ID During Judgment lesen
  4. Bestätigen
  5. Entsprechend der Beurteilung handeln, dem Teil über Part ID oder Inspection ID zugeordnet
Ergebnisse per ID dem Teil zuordnen, nicht per Zeit

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 – dann kann ein einzelnes fehlendes Teil nicht alle nachfolgenden Beurteilungen verschieben.

Zurück zum EinstiegspfadMit Ihrer SPS verbinden