LabVIEWForum.de
Auslesen von Daten mittels CAN USB Umsetzer - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: DLL & externer Code (/Forum-DLL-externer-Code)
+---- Thema: Auslesen von Daten mittels CAN USB Umsetzer (/Thread-Auslesen-von-Daten-mittels-CAN-USB-Umsetzer)



Auslesen von Daten mittels CAN USB Umsetzer - Ro - 05.08.2013 14:45

Hallo Labview-Gemeinde,

ich versuche derzeit mittels eines CAN USB Umsetzers, Daten auszulesen.

Bisher ist es mir leider nur gelungen, die Daten aus dem Empfangspuffers des CAN Controllers durch zyklisches Polling auszulesen, was für spätere Anwendung sehr unvorteilhaft ist.
Nun wollte ich versuchen, über die Funktion CAN_SetValue einen Parameter zu setzen, um ein handle auszulösen, welches Eintritt sobald eine Nachricht im Empfangspuffer eingeht.

Habe aber schon Schwierigkeiten bei der Deklaration des Typs TPCANParameter.

Handelt es sich hierbei um ein Array mit 21*8bit Feldern?

Wenn ja, wie setze ich Parameter um das handle zu erzeugen?

Ich hoffe, ihr könnt mir weiterhelfen.

-----------------------------------------------------
TPCANStatus __stdcall CAN_SetValue(
TPCANHandle Channel,
TPCANParameter Parameter,
void* Buffer,
WORD BufferLength
);
-----------------------------------------------------
Parameter Beschreibung
Channel Das handle für einen PCAN Kanal (siehe TPCANHandle).
Parameter Der Code für die zu lesende Information (siehe TPCANParameter).
Buffer Der Puffer für den zu schreibenden Wert.
BufferLength Die Grösse des Puffers (in bytes).


RE: Auslesen von Daten mittels CAN USB Umsetzer - rolfk - 05.08.2013 16:06

(05.08.2013 14:45 )Ro schrieb:  Hallo Labview-Gemeinde,

ich versuche derzeit mittels eines CAN USB Umsetzers, Daten auszulesen.

Bisher ist es mir leider nur gelungen, die Daten aus dem Empfangspuffers des CAN Controllers durch zyklisches Polling auszulesen, was für spätere Anwendung sehr unvorteilhaft ist.
Nun wollte ich versuchen, über die Funktion CAN_SetValue einen Parameter zu setzen, um ein handle auszulösen, welches Eintritt sobald eine Nachricht im Empfangspuffer eingeht.

Habe aber schon Schwierigkeiten bei der Deklaration des Typs TPCANParameter.

Handelt es sich hierbei um ein Array mit 21*8bit Feldern?

Wenn ja, wie setze ich Parameter um das handle zu erzeugen?

Ich hoffe, ihr könnt mir weiterhelfen.

-----------------------------------------------------
TPCANStatus __stdcall CAN_SetValue(
TPCANHandle Channel,
TPCANParameter Parameter,
void* Buffer,
WORD BufferLength
);
-----------------------------------------------------
Parameter Beschreibung
Channel Das handle für einen PCAN Kanal (siehe TPCANHandle).
Parameter Der Code für die zu lesende Information (siehe TPCANParameter).
Buffer Der Puffer für den zu schreibenden Wert.
BufferLength Die Grösse des Puffers (in bytes).

TPCanParameter ist NICHT ein Array mit 21 bytes sondern ein Byte mit 21 möglichen Werten. Für die Call Library Node ist das einfach ein (u)int8 und in LabVIEW käme es am meisten einem Enum nahe.

Aber das sieht irgendwie nach Callback aus, und dürfte dann spätestens beim Empfangen dieses Events mit nur LabVIEW Mitteln voll schief gehen.


RE: Auslesen von Daten mittels CAN USB Umsetzer - Ro - 06.08.2013 14:48

[/quote]

TPCanParameter ist NICHT ein Array mit 21 bytes sondern ein Byte mit 21 möglichen Werten. Für die Call Library Node ist das einfach ein (u)int8 und in LabVIEW käme es am meisten einem Enum nahe.

Aber das sieht irgendwie nach Callback aus, und dürfte dann spätestens beim Empfangen dieses Events mit nur LabVIEW Mitteln voll schief gehen.
[/quote]

Vielen Dank für deine Hilfe!

Hab es hinbekommen 2hands
Musste noch eine WinAPI miteinbinden und kann nun das "handle" pollen.