Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
11.12.2009, 11:51 (Dieser Beitrag wurde zuletzt bearbeitet: 11.12.2009 11:53 von mario990.)
Ich lese erfolgreich mit dem CAN Read.vi aus dem virtuellen CAN256 eine Nachricht mit fünf Kanälen aus, die im MAX definert ist! Daraufhin möchte ich die Standardwerte mit CAN257 in den einzelnen Kanälen neu setzen und wiederum mit CAN256 auslesen! Jedoch funktioniert dies nicht und ich hab keine Ahnung wieso!
Habe das VI angehängt! Kann mir jemand sagen wo der Fehler liegt? Ich arbeite mit LV 2009!
Die virtuellen Kanäle 256 und 257 sind miteinander verbunden. Das heißt, wenn du auf 256 schreibst kannst dus auf 257 lesen und andersherum. Standardwerte kannst du mit deiner Methode überhaupt gar nicht setzen. Dazu müsstest du im MAX die Channels editieren. Aber das willst du gar nicht. Lass die ersten zwei While-Loops parallel laufen und du wirst sehen, das Kommunikation stattfindet. Die letzte Loop kann in die Tonne. Weiterhin würde ich den Datentyp von Extended auf Double umstellen. Extended geht mit der Channel-API eh nicht, da ein Frame nur 64 Bit transportieren kann und Extended das doppelte davon bräuchte. Und kommt mir jetzt keiner mit Type-Cast
Danke für deine Antwort schrotti! Das mit den Standarwerten ist mir klar!
Hab es jetzt anders aufgebaut, siehe angehängtes Bild. Ich möchte einfach auf den CAN257 schreiben und dann wieder auf CAN256 auslesen! Aber es werden nicht die von mir gesetzten Werte ausgelesen sondern die Standardwerte die im MAX eingestellt sind! Ich verstehe nicht wieso???
' schrieb:Würde funktionieren, aber nur manchmal! Da einmal das lesen, und das andere mal das schreiben schneller ist!
Na, du musst das schon so in eine auch zeitliche Reihenfolge bringen, wie du es brauchst. InitWr, InitRd - Wr, Warten (wenn auch nur implizit), Rd - Close Rd, Close Wr. Und immer alles sequenziert gemäß Datenfluss.
Zitat:Werden die Werte, die ich auf den CAN257 schreibe nicht gespeichert?
Warum sollten sie? Spätestens nach CloseWr würde ich mal sagen sind die weg!
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
In der CAN Nachricht sind mehrere Kanäle. Wie schaff ich es nun, nur an einen Kanal einen Wert zu übergeben? Den anderen Kanälen dürfen dabei keine Werte übergeben werden!
' schrieb:In der CAN Nachricht sind mehrere Kanäle. Wie schaff ich es nun, nur an einen Kanal einen Wert zu übergeben? Den anderen Kanälen dürfen dabei keine Werte übergeben werden!
Wo bekommen die anderen Kanäle dann ihre Werte her?
Ganz einfach: Einfach in die Task nur die Kanäle aufnehmen, für die auch ein Wert übertragen werden soll. Den Rest macht das System.
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
14.12.2009, 11:57 (Dieser Beitrag wurde zuletzt bearbeitet: 14.12.2009 11:58 von mario990.)