LabVIEWForum.de
CAN - BUS - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenkommunikation (/Forum-Datenkommunikation)
+---- Thema: CAN - BUS (/Thread-CAN-BUS--19322)



CAN - BUS - elektroniker - 29.06.2011 08:14

Guten Morgen ihr Anniespam er Angel_not

ich hätte noch ein Problem. und hoffe hier bei euch mal wieder auf den richtigen Weg gebracht zu werden.
Ich habe zwei kann module geschrieben, eins das liesst und eins das schreibt. Getrennt klappen die auch wunderbar.
Leider kommt kann ich nicht beide gleichzeitig ausführen. Es kommt immer der Fehler 1074388985

Fehlerbeschreibung:

Sie versuchten ein Konfigurations-Attribut zu setzen,
während das Objekt lief. Lösungen: Konfigurieren Sie
Attribute, bevor Sie ein Objekt öffnen; Stoppen Sie die
Kommunikation und starten Sie sie neu, wenn nötig, wenn
Sie Konfigurations-Einstellungen aktualisieren wollen.

Jetzt ist es aber so das ich abwechselnd senden und empfangen will und das ich nach jeder Aktion den Bus schliesse und dann wieder neu initialisiere. Also dürfte das nach meinem verständnis kein Problem darstellen.
Hatte schonmal jemand dasd Problem?
Ich danke euch. :-)


RE: CAN - BUS - frankyp - 29.06.2011 08:30

Bau doch mal ein Wait von ein paar ms zwischen die beiden Befehle bzw. lass den Bus einfach offen und schließe ihn erst dann wenn du ihn erstmal nicht mehr benötigst.

Das wäre ein genereller Ansatz, die Fehlerbeschreibung sagt mir rein gar nichts...


RE: CAN - BUS - Takuro - 29.06.2011 08:48

Google Suche hat diese Lösung von NI selber ergeben.

Hast du das schon gefunden gehabt?

Grüße,

Takuro


RE: CAN - BUS - elektroniker - 29.06.2011 08:52

Habe ich gelesen und berücksichtigt. Keine Besserung der Lage


RE: CAN - BUS - Takuro - 29.06.2011 09:01

mMn musst du verhindern, dass gleichzeitig gelesen und geschrieben werden soll.

Lade doch mal dein VI hoch, dann kann man da mal draufschauen. (Am besten auch Screenshot, für Leute ohne LV auf dem Rechner. Smile )


RE: CAN - BUS - elektroniker - 29.06.2011 09:20

Habe das vi angehängt.
Screenshot ist schlecht, da so viele Schleifen und switch>/case-Anweisungen vorhanden sind

EDIT: VI entfernt


RE: CAN - BUS - elektroniker - 29.06.2011 14:05

So ich habe jetzt eine lösung gefunden. Ich sende und empfange einfach in einem Zyklus. Klappt zwar noch nicht so ganz. Aber ich habe ein gute Gefühl.
jetzt kommt der Fehler 1073094917?? Ist mir mzwar auch ein Rätsel, aber dafür finde ich hoffentlich eine Lösung.


RE: CAN - BUS - schrotti - 01.07.2011 00:01

Der Fehler -1074388985 entsteht, wenn du an einem laufenden CAN-Objekt, in deinem Fall wahrscheinlich das Interface, versuchst, ein Attribut wie bspw. die Baudrate zu ändern. In deinem Fall ist es so, dass du zweimal versuchst, das gleiche Objekt zu öffnen, einmal zum lesen und einmal zum schreiben. Beim zweiten Mal wird der Fehler erzeugt.
Lösung: Machs nur einmal auf. Die Referenz (ObjHandle) kannst du ja an mehrere VIs verteilen.

Der Fehler 1073094917 entsteht glaube ich, wenn man beim ncWriteNet.vi die Nutzdatenlänge (DataLength) falsch angibt. Am besten mit "Array Size" vorher ermitteln bzw. das Protokoll einhalten.