An CP35QVGA fremd CAN Gerät anschliessen und starten

Nost

Level-2
Beiträge
205
Reaktionspunkte
44
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
Ich möchte an einem CP35-QVGA ein Fremd CAN Gerät anschliessen und Betreiben. Das funktioniert prinzipiell auch Problemlos bis auf folgendes.
Meine CAN Slave booted sehr viel schneller wie mein CP35QVGA. Dadurch geht der Slave dann in den ruhemodus und wird nicht durch das Display
gestartet. Mache ich bei eigeschaltetem Display einen neustart des Slaves via Spannungsreset wird dieser beim Booten auch initialisiert und gibt alle
Werte raus.
Jetzt gibt es diverse CAN Libarys mit denen ich die Kommunikation steueren kann. Mit welchem Befehl kann ich nach dem booten des Displays eine reinitialisierung
der CAN Slaves bewirken? Ein Beispiel hierzu wäre sehr hilfreich.
 
Hallo Nost,
ein CAN Node sollte nach dem Starten im Preoperational-State verweilen.
Sobald das Panel gestartet ist wird auf den Index 1000 Subindex 0 des Nodes lesend zugegriffen um festzustellen ob dieser am Bus vorhanden ist. Gibt der Node eine Antwort zurück, wird mit der Konfiguration begonnen. Nach Abschluss der Konfiguration wird der Teilnehmer in den Operational-State versetzt.
Du könntest entweder Node Guarding oder Heartbeat aktivieren, dann kann das CPTV feststellen dass sich der Node nicht mehr im Operational-State befindet. In diesem fall wird der Node wieder konfiguriert und in den Operational-State versetzt.
Bei aktiviertem Guarding kann der Status der Nodes aus dem globalen Array g_CanOpenMasterNodeDiagnostics ausgelesen werden.
Ein Log der CAN Kommunikation würde klären warum Dein Node beim ersten Mal gestartet wird.
Grüße
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
Nodeguarding ist aktiv das verhalten tritt aber immernoch auf.
Habe ich nur einen CAN Slave angeschlossen funktioniert alles.
Habe ich zwei baugleiche CAN Slaves angeschlossen werden diese nach dem neustart der Anlage nicht gefunden.
Mache ich dann an den Slaves einen Neustart (Spannung aus/ein) werden diese nach dem Start direkt von dem CP35QVGA gefunden und gestartet.
Welchen Status die Slaves haben wenn sie nicht gefunden werden muss ich gleich noch einemal auslesen.
Mit welchem BEfehl könnte ich die Slaves vom CP35QVGA aus neu initialisieren?
 
Zurück
Oben