-> Hier kostenlos registrieren
Ich möchte die Verbindung zu einem J1939-Joystick über eine S7-1512SP F-CPU über den PN/J1939 LINK zuverlässig überwachen. Wird der Joystick abgezogen oder fällt aus, soll dies als dauerhafter Fehler in der SPS erkannt werden.
Wenn ich den Joystick während des Betriebs abziehe, geht die SPS kurz in Störung, quittiert diese aber automatisch nach wenigen Sekunden – ohne dass der Joystick wieder angeschlossen ist.
Die Eingangswerte bleiben dabei auf dem letzten Stand stehen, d. h. es ist nicht mehr erkennbar, ob die Daten aktuell sind.
Wie kann ich beim Siemens PN/J1939 LINK sicher erkennen, dass ein Gerät (in diesem Fall ein Joystick) nicht mehr sendet?
Ich möchte zuverlässig erkennen, wenn der Joystick nicht mehr sendet, und in diesem Fall:
Danke für eure Erfahrungen und Hinweise!
Hardware:
- Joystick: Bosch Rexroth J1939
- Gateway: Siemens PN/J1939 LINK (6BK1623-0AA00-0AA0)
- SPS: Siemens S7-1512SP F-1 PN, FW 3.1
- TIA Portal: V19
- PGN-FDD6: 8 Byte Eingangsbereich
Beobachtung:
Wenn ich den Joystick während des Betriebs abziehe, geht die SPS kurz in Störung, quittiert diese aber automatisch nach wenigen Sekunden – ohne dass der Joystick wieder angeschlossen ist.
Die Eingangswerte bleiben dabei auf dem letzten Stand stehen, d. h. es ist nicht mehr erkennbar, ob die Daten aktuell sind.
Bisher versucht:
- Empfangszyklus (ms) im PGN-Modul gesetzt → keine Reaktion, kein ungültiges Statusbit
- Statusbyte (Byte 8) beobachtet → bleibt auf „gültig“, auch nach Steckerabzug
- Telegrammvergleich per Watchdog → unbrauchbar, da Achsen lange in gleicher Stellung bleiben können
Frage an die Runde:
Wie kann ich beim Siemens PN/J1939 LINK sicher erkennen, dass ein Gerät (in diesem Fall ein Joystick) nicht mehr sendet?
- Gibt es eine Möglichkeit, den PGN-Zustand abzufragen (z. B. ungültig / Timeout)?
- Kann man den LINK dazu bringen, ein gültiges Diagnosebit zu setzen, wenn ein PGN ausbleibt?
- Hat jemand eine saubere Lösung zur Telegrammüberwachung, z. B. über Zählerbytes, sekundäre PGNs oder Watchdog im SPS-Code?
Ziel:
Ich möchte zuverlässig erkennen, wenn der Joystick nicht mehr sendet, und in diesem Fall:
