Hehe, siehe da... Gut zu wissen, dass es anderen auch noch so geht. Habe das ebenfalls durch. Wir hatten auch Vertreter von NI + Technical Support im Haus, die wurden auch gleich damit genervt - du wussten ebenfalls nicht weiter.
Ich weiß nur soviel: "CANopen Close" reicht zum Beenden. Einfach ein solches VI an die Referenz hängen, die du mit "CANopen Interface Create" erstellst. Du brauchst weder ein Close für alle Objekte, noch ein Beenden-VI für z.B. Sync-Pulse... Damit kannst du den ganzen Case streichen. Hänge einfach ein CANopen Close HINTER deine State-Machine, so dass es immer am Ende ausgeführt wird. Damit konnte ich das Problem beheben. Einzige Einschränkung: Du solltest das Prog nicht über den Stop-Button in der Symbolleiste beenden, sondern immer schön bis zum Ende ausführen. Und evtl. kann es sein, dass du den Error-In nicht an "CANopen Close" anschließen darfst. Ich glaube mich nämlich zu erinnern, dass das VI nicht seine Aufgabe erfüllt, wenn ein Error in der Leitung hängt - auch, wenn der Error intern nur durchgeschliffen wird... Wieso auch immer