INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Pointer und MoveBlock



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!

02.06.2013, 16:12
Beitrag #1

OXO Offline
LVF-Grünschnabel
*


Beiträge: 11
Registriert seit: Apr 2013

2012
2010
DE



Pointer und MoveBlock
Hallo und einen schönen Sonntag,

ich habe mal wieder ein Problem, es geht um folgende Funktion (die Funktion soll den Status der beiden digitalen Eingänge eines angeschlossenen USB Gerätes erfragen) :

BOOL HoleStatus ( DigitalInput* digital_input, const byte** status);

Status übergibt mir einen Zeiger auf einen Zeiger auf den Status der digitalen Eingänge. Folgendes habe ich bisher gemacht:

Wie immer über den Aufruf externer Bibliotheken die DLL eingebunden. Rückgabetyp (vorzeichenloser 32 Bit Integer) und digital_input (vorzeichenloser 32-Bit-Integer) definiert. Das beides funktioniert gewohnt gut. Ich erhalte über den Rückgabewert auch die Information, dass die Funktion erfolgreich ausgeführt wurde.
Status liefert mir einen Speicherbereich, der sinnig erscheint. Nun wollte ich mittels MoveBlock den Wert abfragen. Das MoveBlock VI ist im Anhand zu sehen.

Leider erhalte ich folgende Reaktionen:
Ich erhalte den Fehler 1097
Bei nicht gesetzten Eingängen erhalte ich die Werte 108 und -80 und wenn ich den zweiten Eingang auf True setze, die Werte 110 und -78. Das Ergebnis ist wiederholbar. Zu erwarten wäre allerdings für den ersten Fall 0 0 und im zweiten Fall 0 1

Kann mir vielleicht jemand helfen?

Viele Grüße und einen schönen Sonntag!


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
02.06.2013, 20:20
Beitrag #2

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
RE: Pointer und MoveBlock
(02.06.2013 16:12 )OXO schrieb:  Hallo und einen schönen Sonntag,

ich habe mal wieder ein Problem, es geht um folgende Funktion (die Funktion soll den Status der beiden digitalen Eingänge eines angeschlossenen USB Gerätes erfragen) :

BOOL HoleStatus ( DigitalInput* digital_input, const byte** status);

Status übergibt mir einen Zeiger auf einen Zeiger auf den Status der digitalen Eingänge. Folgendes habe ich bisher gemacht:

Also die MoveBlock Konfiguration sieht im Prinzip nicht schelcht aus, auch wenn da einiges in einem Bild nicht eindeutig sein kann, ein VI ist immer vorzuziehen und dann mit Vorteil in einer ältern dan der letzten LabVIEW Version.

Aus dem Bild ist nur die Konfiguration des letzten (und am meisten uninteressanten) Parameters sichtbar aber nichts über die Calling Convention und weitere Dinge. Mal angenommen dass die soweit stimmen, sollte die MoveBlock Funktion in Ordnung.

Ob das für die eigentlich Funktion gilt is leider ganz und gar nicht zu sagen und wäre auch hier mit einem VI direkt nachvollziehbar.

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.06.2013, 21:15 (Dieser Beitrag wurde zuletzt bearbeitet: 02.06.2013 21:18 von OXO.)
Beitrag #3

OXO Offline
LVF-Grünschnabel
*


Beiträge: 11
Registriert seit: Apr 2013

2012
2010
DE



RE: Pointer und MoveBlock
Hallo,

vielen Dank für die Antwort. Mir ist gerade noch eingefallen, dass es ja vielleicht gar kein Array ist? Vielleicht sind die True/False Zustände der beiden Eingänge einfach nur binärcodiert in dem Byte-Wert hinterlegt. Ich muss das morgen mal testen und gegebenenfalls das VI reinstellen.

Und ja du hast recht, das Bild ist wirklich schlecht gewählt. Ich hatte das vorhin gemacht, als ich den Wald vor lauter Bäumen schon nicht mehr gesehen hatte.

Viele Grüße und noch einmal vielen Dank.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.06.2013, 09:02
Beitrag #4

Kiesch Offline
LVF-Stammgast
***


Beiträge: 412
Registriert seit: Mar 2009

2019, 2018, 2016
2009
DE

04519
Deutschland
RE: Pointer und MoveBlock
Gott... wäre gut wenn du das Bild mal updatest mit einem wo man die eigentliche Funktion sieht.
Hab grad paar min gegrübelt und wollte schon schreiben, dass du ne Fkt mit 2 Parametern aufrufst Labview aber 3 angibst xD Aber das ist ja ne ganz ander Funktion die da gezeigt ist.

Gruß Kiesch

Zitat:Märchen und Geschichten werden erzählt am Lagerfeuer, technischen Fakten werden mitgeteilt (oder so). (Genauso wie Software nicht auf einem Server "herumliegt", die ist dort installiert.)
*Zitat: IchSelbst*
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.06.2013, 16:31
Beitrag #5

OXO Offline
LVF-Grünschnabel
*


Beiträge: 11
Registriert seit: Apr 2013

2012
2010
DE



RE: Pointer und MoveBlock
Wie gesagt, das Bild ist wirklich sehr ungünstig gewählt.. Ich gelobe Besserung und Poste nur noch VIs!
Das Problem hat sich geklärt: Die Zustände der Eingänge sind binär im Byte-Wert hinterlegt (aufsteigend vom LSB). So wie es eigentlich auch zu erwarten war. Gestern stand ich scheinbar etwas länger auf dem Schlauch, heute hat alles geklappt.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Datenübergabe an DLL Pointer to Pointer Reiling 2 9.601 02.02.2018 10:59
Letzter Beitrag: Reiling
  Absturz durch unzulässige Pointer VS_03 3 10.315 28.10.2016 18:32
Letzter Beitrag: VS_03
  dll mit Pointer auf komplexe Struktur einbinden Wedgewood 11 17.011 27.04.2014 23:44
Letzter Beitrag: Wedgewood
  Pointer auf Array mit Labview übertragen und darstellen lupus022 35 32.561 19.07.2013 10:53
Letzter Beitrag: lupus022
  Pointer auf Subarray übergeben Event Horizon 5 7.428 15.07.2012 10:21
Letzter Beitrag: rolfk
  DLL-Einbindung, Struct mit verschiedenen Datentypen als Pointer übergeben hawk72 4 11.081 11.05.2012 14:41
Letzter Beitrag: hawk72

Gehe zu: