MOVIDRIVE-Ansteuerung
Also zur Klärung der Verwendung der Objekte: Das Heartbeat- bzw. Nodeguard-Objekt (sind nahezu gleich, zumindest in ihrer Verwendung und Nutzung) pingt deinen Controller regelmäßig an. Damit überwachst du die Kommunikationfähigkeit. Wenn z.B. eins dieser Signale nicht mehr am Controller ankommt, sollte dieser den Motor deaktivieren (zumindest tut das meiner). Es könnte ja sein, dein Rechner ist abgestürzt oder das Kabel kaputt und dann hättest du keine Möglichkeit mehr, den Motor zu stoppen. Andererseits kannst du einen Heartbeat-Fehler abfangen und in deinem Programm weiterverarbeiten. Zum Beispiel die Kommunikations abbrechen (CANopen Close), weil du sowieso keine Verbindung mehr hast.
Dieses ganze Verhalten kann man auch abschalten. Dazu sollte es Objekte im Objektverzeichnis deines Controllers geben, mit denen du das Aktivieren oder Deaktivieren kannst. Dann läuft der Controller auch ohne Heartbeats bzw. Nodeguards, allerdings hast du die Sicherheit wesentlich reduziert.
Sync-Objekte machen was anderes. Sie werden ebenfalls in regelmäßigen Abständen geschickt und dienen der Synchronisation des Controllers mit deinem PC. Wenn z.B. eine Nachricht vom Controller eintrifft, dann weißt du, dass sie zum Sync-Puls losgeschickt wurde. Egal, wann sie dann letztendlich eintrifft. Wenn z.B. 5 Controller am Bus hängen und alle gleichzeitig Nachrichten losschicken, kommt die mit der höchsten Priorität (kleinste ID) zuerst an, danach die zweite usw. Und obwohl sie nacheinander ankommen, weißt du, dass sie alle zur gleichen Zeit losgeschickt wurden. Damit kannst du Abläufe mit verschiedenen Motoren synchronisieren. Du kannst zeitgenaue Verläufe plotten. Du kannst...
Aber auch hier wieder: Deine Kommunikation läuft prinzipiell auch ohne Sync-Objekte.
Ein ständiges Pollen ist meiner Meinung nach nicht nötig. Außer natürlich das Pollen mit Heartbeats oder Nodeguards, wenn diese aktiviert sind.
Leider fange ich heute erst an, mein CANopen-Programm zu schreiben, habe also diesbezüglich nur theoretisches Wissen. Aber vielleicht kannst du mal dein VI posten und ich schaue mal drüber, ob mir was auffällt...
|