Gast
#2686344
Hallo allerseits, ich bin gerade in der CANopen-Recherche für ein neues Projekt und kenne es daher nur aus Büchern (und auch nur einen kleinen Teil davon); Das Frage, die sich mir stellt, betrifft die Implementierung von CANopen und ob/wie das folgende Problem ohne Konsistenz-Probleme gelöst werden kann: Im Beispiel gibt es 2 Raumbedienteile mit 7-Segment-Anzeige (Node-ID 1 und Node ID 2) vorhanden; beide Bedienteile können die Solltemperatur (für z.B. eine Heizung) verändern; wird an Bedienteil 1 die SollTemperatur geändert (ein TPDO wird bei jeder Änderung gesendet), sollte der neue Wert auf Bedienteil 2 übernommen werden und umgekehrt; beide Bedienteile müssen immer die selbe Temperatur anzeigen; RPDO1 von Node 1 wird mit der Default-TPDO1 von Node 2 gelinkt (0x182) RPDO1 von Node 2 wird mit der Default-TPDO1 von Node 1 gelinkt (0x181) Auf beiden Nodes sind jeweils TPDO1 und RPDO1 auf das Objekt 0x2000 gemapped - hier steht in dem Beispiel die Solltemperatur; wenn nun gleichzeitig auf Bedienteil 1 die Temperatur gesenkt und auf Bedienteil 2 die Temperatur erhöht wird (beide schicken unmittelbar ein TPDO ab) werden diese der Reihe nach am Bus gesendet; kann es nun passieren dass anschließend die Bedienteile unterschiedliche Werte anzeigen? Ist dieses Vorgehen überhaupt erlaubt (ein TPDO und RPDO auf das selbe Object mappen)? Benötige ich gar 2 RPDOs pro Node für die Aufgabe bzw. können bei CANopen Nodes die gesendeten TPDOs mit eigenen RPDOs gelinkt werden? Ich bin für jeden Hinweis dankbar. mfG, Andreas