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 

parametertyp - datenzeiger: kein Anschluß unter dieser Kiste



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!

09.11.2007, 13:30
Beitrag #21

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
parametertyp - datenzeiger: kein Anschluß unter dieser Kiste
' schrieb:Hallo Rolf,

doch noch mal kurz die bitte, ob du dein Beispiel zwecks MoveBlock() nicht in eine LV8.2 Datei konvertieren kannst.

Viele Grüße
t4b-1re-2

Ok abgespeichert als 8.0 VI und angepasst, da die CLN in LabVIEW <= 8.0.1 keine implizite Initialisierung von Arrays und so kennt.


Sonstige .vi  POSTGRE_Copy_Data.vi (Größe: 25,72 KB / Downloads: 234)


Rolf Kalbermatter

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
09.11.2007, 13:38 (Dieser Beitrag wurde zuletzt bearbeitet: 09.11.2007 13:46 von rolfk.)
Beitrag #22

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
parametertyp - datenzeiger: kein Anschluß unter dieser Kiste
' schrieb:Die Arrays müßtest Du halt dann rausnehmen, damit es nicht zu aufwändig wird für Dich. Ich muß nun leider los und kann erst am Montag weitermachen.

Ich sehe keine Arrays, oder zumindest keine die nicht fixed size sind, und damit ist es auch kein Problem.
Was ist ein fixed size Array?? Ganz einfach wenn Du eine Array Deklaration siehst die in eckigen Klammern eine Konstante enthält, geht es normalerweise um fixed size Arrays und die werden eben nicht als Pointer in eine Struktur eingefügt sondern als Ganzes.

Also:

<div class='codetop'>CODE</div><div class='codemain' style='height:200px;white-space:pre;overflow:auto'>
typedef struct
{
Module_Info Peril[MAX_MODULE_COUNT];
unsigned short Modul_Count;
unsigned short Rack_Count;
unsigned short Rack_Slot_Count[MAX_RACK_COUNT];
unsigned short Rack_Im_Type[MAX_RACK_COUNT];
unsigned char Rack_Is_Im_Available[MAX_RACK_COUNT];
unsigned char Rack_Is_Im_Plugged[MAX_RACK_COUNT];
} BusEnum;
</div>

Kommt in etwa auf einen LabVIEW Cluster wie folgt:

ModuleInfo aufsplitten und dann entsprechend MAX_MODULE_COUNT in den Cluster aufnehmen,

uInt16 Type_1;
uInt8 Plugged_1;
uInt8 Rack_1;
uInt8 Slot_1;
uInt8 Filler_1;

uInt16 Type_2;
uInt8 Plugged_2;
uInt8 Rack_2;
uInt8 Slot_2;
uInt8 Filler_2;

danach kommt noch

uInt16 Module_Count
uInt16 Rack_Count
uInt16 Rack_Slot_Count_1
uInt16 Rack_Slot_Count_2
uInt16 Rack_Im_Type_1
uInt16 Rack_Im_Type_2
uInt8 Rack_Is_Im_Available_1
uInt8 Rack_Is_Im_Available_2
uInt8 Rack_Is_Im_Plugged_1
uInt8 Rack_Is_Im_Plugged_2

et voila, da ist Dein kompletter BusEnum Cluster.

Die Callbackfunktionen sind natürlich anderer Tobak und hier kommst Du um eine Wrapper-DLL eigentlich nicht umhin.

Und nun geht es ab ins Wochenende, tschüss.

Rolf Kalbermatter

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
09.11.2007, 19:17 (Dieser Beitrag wurde zuletzt bearbeitet: 09.11.2007 19:22 von t4b-1re-2.)
Beitrag #23

t4b-1re-2 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 155
Registriert seit: May 2007

8.5
2007
de

99*
Deutschland
parametertyp - datenzeiger: kein Anschluß unter dieser Kiste
' schrieb:Ok abgespeichert als 8.0 VI und angepasst, da die CLN in LabVIEW <= 8.0.1 keine implizite Initialisierung von Arrays und so kennt.

So habe ich das Teil heut schon fertig gemacht, es läuft perfekt! Saustarker Support!

Grüße
t4b-1re-2

Ps.: Ich habs nicht direkt verwendet, sondern als Vorlage benutzt. Nach deinem Hinweis auf die LabVIEW Library und MemBlock war ich nah drann, aber so hab ichs schneller verstanden und konnte schneller umsetzen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.11.2007, 12:29
Beitrag #24

Guest
Unregistered


 







parametertyp - datenzeiger: kein Anschluß unter dieser Kiste
Danke Rolf, für Vorschlag. Bin mir aber nicht sicher, ob das praktikabel ist. Meinen cluster mit Testprg. hatte ich leider nicht eingefügt. Im Prinzip hatte ich es so, nur halt statt die z.B. Module_info explizit einzufügen - also mehrfach - hatte ich das als Array drin ebenso wie die anderen, was aus den schon erwähnten Gründen nicht geht.

So wie von Dir vorgeschlagen ist es insofern schlecht, weil ich die Arrays ja nicht nur 2 Elemente haben. Das Module_Info- struct ist z.B. 32 mal vorhanden. d.h. ziemlicher Erstellungsaufwand, was aber nicht so schlimm wäre. Aber ich muß das dann doch auf LV-Seite irgendwie wieder in ein Array bringen, damit die anderen VI komfortabel und übersichtlich auf die Elemente zugreifen können. Aber zumindest gibt es mal eine Lösung

Georg
Diese Nachricht in einer Antwort zitieren to top
14.11.2007, 14:33
Beitrag #25

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
parametertyp - datenzeiger: kein Anschluß unter dieser Kiste
' schrieb:Danke Rolf, für Vorschlag. Bin mir aber nicht sicher, ob das praktikabel ist. Meinen cluster mit Testprg. hatte ich leider nicht eingefügt. Im Prinzip hatte ich es so, nur halt statt die z.B. Module_info explizit einzufügen - also mehrfach - hatte ich das als Array drin ebenso wie die anderen, was aus den schon erwähnten Gründen nicht geht.

So wie von Dir vorgeschlagen ist es insofern schlecht, weil ich die Arrays ja nicht nur 2 Elemente haben. Das Module_Info- struct ist z.B. 32 mal vorhanden. d.h. ziemlicher Erstellungsaufwand, was aber nicht so schlimm wäre. Aber ich muß das dann doch auf LV-Seite irgendwie wieder in ein Array bringen, damit die anderen VI komfortabel und übersichtlich auf die Elemente zugreifen können. Aber zumindest gibt es mal eine Lösung

Nun im Header File das in dem DLLParameterTest.zip File war, war MAX_MODULE_COUNT eindeutig 2 und da dachte ich, ach das ist eine kleine Mühe. 32 mal ist etwas ganz Anderes aber im Prinzip musst Du es halt schon so irgendwie tun.

Rolf Kalbermatter

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
15.11.2007, 10:21
Beitrag #26

Guest
Unregistered


 







parametertyp - datenzeiger: kein Anschluß unter dieser Kiste
' schrieb:Nun im Header File das in dem DLLParameterTest.zip File war, war MAX_MODULE_COUNT eindeutig 2 ....
Rolf Kalbermatter


Das ist richtig Rolf. Ich dachte für ein Testbeispiel genügen erstmal 2.

Nochmals Danke
Georg
Diese Nachricht in einer Antwort zitieren to top
11.12.2007, 10:25
Beitrag #27

Guest
Unregistered


 







parametertyp - datenzeiger: kein Anschluß unter dieser Kiste
Für alle die mit der Parameterübergabe kämpfen. Es gibt dazu ein NI-Beispiel. Dazu in den Beispielen das Beispiel CallDLL.vi suchen. Ist sehr hilfreich.
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Übergabe von Datenzeiger Cubaner 3 6.009 22.01.2008 13:18
Letzter Beitrag: rolfk

Gehe zu: