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 

DLL einbinden für Intel-Atom N270 an SuperI/O-Chip



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!

06.07.2010, 10:42 (Dieser Beitrag wurde zuletzt bearbeitet: 06.07.2010 10:46 von Dennis.Moser.)
Beitrag #1

PeterGötz Offline
LVF-Grünschnabel
*


Beiträge: 36
Registriert seit: Aug 2005

2011
2005
DE

69253
Deutschland
DLL einbinden für Intel-Atom N270 an SuperI/O-Chip
Hallo zusammen,

Dank eure Tutorials im Forum vom 10.4.2007 (von <strike>Dennis.Moser</strike> IchSelbst) bin ich schon etwas vorangekommen.
Ich kann über den SuperI/O Chip von einem 3,5" Wafer-Board (Intel-Atom mit 1GB Hauptspeicher, fanless... unter 200€ bei ICP) Ausgänge setzen und Eingänge lesen.
Jetzt möchte ich ebenfalls mit derselben beiligenden (eigentlich gut beschriebeen) DLL auch Board-Temperaturen und Spannungen auf dem Board lesen.


Ich kann selbst die Datenstruktor lesen, und bekommen z.B. mitgesteilt, dass 10verschiedenen Spannungen lesbar seien, was auch der Board-Beschreibung entspricht. Nur über den Befehl HWM-GET-Data (HWM steht für HardWareMonitor) bekomme ich einfach keine Daten. Der Return-Value von HWM-Get-Data =1 das bedeutet kein Fehler = gültig. (Da die DLL-auf Pointer besteht bei der ErgebnisWertrückgabe, denke ich der Fehler liegt bei mir = LabVIEWGrünschnabel)

Mein funktionierendend LabVIEW-VI mit betreffend der steuerung der Ausgänge liegt anbei. Auch die hIsmm.dll und der Header in C sowie die DLL-Beschreibung ist anbei in gezippter Form als DATEN.zip.
Das Board betreibe ich mit WinXP. Wer hat Erfahrung? Über Team-Viewer kann ich euch die Hardware für Tests freischalten, nach vorherigem Gespräch. Tel. 06220-922222

Gruß aus dem südlichen Odenwald von Peter Götz


Angehängte Datei(en)
Sonstige .zip  DATEN.zip (Größe: 394,88 KB / Downloads: 305)

NixIschZuviel
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.07.2010, 19:57
Beitrag #2

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.700
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
DLL einbinden für Intel-Atom N270 an SuperI/O-Chip
' schrieb:Mein funktionierendend LabVIEW-VI mit betreffend der steuerung der Ausgänge liegt anbei.
Wenn du sagt, das beiliegende VI funktioniert, dann will ich das mal glauben. Ich gebe aber folgendes zu bedenken. WORD ist ein U16. Du machst alles mit U8. Schädlich ist das aber nicht.

Für HWM_GetData gehst du wie folgt vor: Mach einen Cluster gemäß der Beschreibung von HWM_DATA, also 5x ULONG FANx, 10x FLOAT VINx und 3x FLOAT TMPINx. Beachte, dass ULONG ein U32 ist und FLOAT ein SGL. Im DLL-Knoten gibst du als Typ an "An Typ anpassen". - Ich hab mal ein Muster gemacht.

LV90


Angehängte Datei(en)
Sonstige .vi  TestDLL_LV901.vi (Größe: 8,83 KB / Downloads: 270)

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.07.2010, 11:39
Beitrag #3

PeterGötz Offline
LVF-Grünschnabel
*


Beiträge: 36
Registriert seit: Aug 2005

2011
2005
DE

69253
Deutschland
DLL einbinden für Intel-Atom N270 an SuperI/O-Chip
Vielen Dank für Dein Beispiel. Es hat fast genau den Punkt getroffen. Das war mein Fehler, die restlichen Daten zu definieren. Jetzt funkioniert es.

Nur zur Info wenn jemand mal Ismm von so einem Board unter LabVIEW nutzen möchte.
Hier das VI anbei. Es werden die 10x Boardspannungen und die 3 Board-Temperaturen gelesen, mit der iSmm.dll

Gruß von Peter Götz


Angehängte Datei(en)
Sonstige .vi  iSmm_HWM_lesen.vi (Größe: 29,01 KB / Downloads: 291)

NixIschZuviel
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.09.2011, 15:12
Beitrag #4

ralph.d Offline
LVF-Grünschnabel
*


Beiträge: 23
Registriert seit: Jul 2011

8.20 PDS
2000
DE



VI von LV9 in LV8.2 konvertieren
Hallo !

Genau das VI bräuchte ich auch...
Leider habe ich keine Version 9, sondern nur die 8.20
Kann das jemand für mich konvertieren ?
DANKE !
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.09.2011, 15:55
Beitrag #5

ralph.d Offline
LVF-Grünschnabel
*


Beiträge: 23
Registriert seit: Jul 2011

8.20 PDS
2000
DE



RE: DLL einbinden für Intel-Atom N270 an SuperI/O-Chip
Hab's selber geschafft...
Mit der Eval von Labview 2011 und dann als LV8.20 gespeichert.
Für alle, die's interessiert: siehe Anhang...


Angehängte Datei(en)
8.2 .vi  iSmm_HWM_lesen.vi (Größe: 51,21 KB / Downloads: 222)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.09.2011, 08:04
Beitrag #6

ralph.d Offline
LVF-Grünschnabel
*


Beiträge: 23
Registriert seit: Jul 2011

8.20 PDS
2000
DE



RE: DLL einbinden für Intel-Atom N270 an SuperI/O-Chip
Hallo !

Konvertieren hat geklappt. Und den pfad zur DLL hab ich auch entsprechend angepasst. Aber leider bekomme ich keine Daten raus. Wenn GetData aufgerufen wird, kommen keine Daten raus, d.h. die Rückantwort ist Null= Fehler.
Keine Ahnung warum... Das Board kann's, weil ich mit dem Windows ISMM Programm alle Werte auslesen kann. Also ist das VI immer noch fehlerhaft.
Die Deaktivierungsstruktur habe ich nicht verstanden. Warum Sind die GetItemNodes und GetItemDesc deaktiviert ? Braucht man die nicht ?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.10.2011, 10:05
Beitrag #7

ralph.d Offline
LVF-Grünschnabel
*


Beiträge: 23
Registriert seit: Jul 2011

8.20 PDS
2000
DE



RE: DLL einbinden für Intel-Atom N270 an SuperI/O-Chip
Hallo nochmal !

Ich bekomm's einfach nicht hin. Irgendwas stimmt beim Aufruf der pHwmData nicht. Habe mein VI und meine DLL (V1.4) nochmal angehängt. Kann mir jemand helfen ? Die Konfiguration des Clusters müsste eigentlich richtig sein. GetItemNodes und GetItemDesc geht ja auch.


Angehängte Datei(en)
0.0 .zip  SDK.zip (Größe: 126,13 KB / Downloads: 222)

8.2 .vi  iSmm_HWM_lesen(3).vi (Größe: 52,22 KB / Downloads: 208)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.10.2011, 09:52 (Dieser Beitrag wurde zuletzt bearbeitet: 13.10.2011 09:59 von rolfk.)
Beitrag #8

rolfk Offline
LVF-Guru
*****


Beiträge: 2.306
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
RE: DLL einbinden für Intel-Atom N270 an SuperI/O-Chip
(12.10.2011 10:05 )ralph.d schrieb:  Hallo nochmal !

Ich bekomm's einfach nicht hin. Irgendwas stimmt beim Aufruf der pHwmData nicht. Habe mein VI und meine DLL (V1.4) nochmal angehängt. Kann mir jemand helfen ? Die Konfiguration des Clusters müsste eigentlich richtig sein. GetItemNodes und GetItemDesc geht ja auch.

Also ich kann Dir im Moment auch nicht helfen aber das VI macht schon zu Beginn schlicht nonsense. Der Vergleich des gecasted Handles mit dem String INVALID_HANDLE_VALUE ist schlicht absurd und kann NIE wahr sein. Viel sinnvoller wäre der Vergleich des Integerwertes des Handles mit -1, was nähmlich der entsprechende Wert des WINAPI DEFINES "INVALID_HANDLE_VALUE" wäre (Eigentlich ist es 0xFFFFFFFF und ist ein Handle ein Unsigned Integer aber das macht in diesem Zusammenhang wenig Unterschied). Zudem sollte das Handle wahrscheinlich im Zuge der Kompatibilität mit möglichen Upgrades nach 64 Bit Windwos als Pointer Sized Integer gekonfiguriert sein. Der Pfad der DLL sollte wahrscheinlich aangepasst werden um nur den DLL Namen zu enthalten und die DLL sollte in einem der Windows Verzeichnisse installiert sein.

Edit: Die Bemerkung wegen Pointersized Integers ist bei LabVIEW 8.2 glaube ich noch nicht sinnvoll. Die Clusterkonfiguration scheint tatsächlich korrekt. Aber das Getue mit dem expliziten Pfad zur DLL ist mir sehr suspekt. Da ich das entsprechende Board aber nicht habe, kann ich hier nichts testen. Ich denke mal dass ISMM_Open bei Dir -1 zurückgibt. Warum das so ist kann ich nicht erraten. Es könnte sein dass Deine DLL das verwendete Board oder Chipset nicht unterstützt. Nicht jedes Atom Board verwendet zwingenderweise dasselbe Intel Chipset, da auch VIA und andere gerne ein Chipset verkaufen. Und da funktioniert diese Library simpelweg nicht.

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
13.10.2011, 10:07 (Dieser Beitrag wurde zuletzt bearbeitet: 13.10.2011 10:12 von ralph.d.)
Beitrag #9

ralph.d Offline
LVF-Grünschnabel
*


Beiträge: 23
Registriert seit: Jul 2011

8.20 PDS
2000
DE



RE: DLL einbinden für Intel-Atom N270 an SuperI/O-Chip
Hallo !

Vielen Dank erstmal für die Antwort/ Hilfe.
Die ISMM.dll geht, da ich einen Panel-PC habe auf der dieses SDK Kit explizit mitgeliefert wird und auch ein Windows Programm dazu existiert, dass alle Werte auslesen kann.
Open, GetItemNodes und GetItemDesc geht ja auch und ich bekomme Werte, nur die GetData geht nicht. Leider.
Den Pfad habe ich direkt einegtragen, dass die DLL auch richtig gefunden wird. Das geht ja.
Ich hab's auch mit Ihrer V1.3 und meiner mitgelieferten V1.4 dll probiert - beide gleich (schlecht).
Wahrscheinlich liegts irgendwie doch an den Pointern auf das Array. Vielleicht find ich's ja noch raus, ich weiss nur nicht wie...

Danke und gruß
Ralph Dühring
Das mit dem INVALID_HANDLE_VALUE stimmt. Ist Unsinn. Hab ich nicht beachtet. War in dem original VI von Ihnen schon so, oder LAbview hat es irgendwie konvertiert...
Die dll leg ich mal direkt unter c:\ ab und probiers nochmal...
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.10.2011, 10:12 (Dieser Beitrag wurde zuletzt bearbeitet: 13.10.2011 10:19 von rolfk.)
Beitrag #10

rolfk Offline
LVF-Guru
*****


Beiträge: 2.306
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
RE: DLL einbinden für Intel-Atom N270 an SuperI/O-Chip
(13.10.2011 09:52 )rolfk schrieb:  Edit: Die Bemerkung wegen Pointersized Integers ist bei LabVIEW 8.2 glaube ich noch nicht sinnvoll. Die Clusterkonfiguration scheint tatsächlich korrekt. Aber das Getue mit dem expliziten Pfad zur DLL ist mir sehr suspekt. Da ich das entsprechende Board aber nicht habe, kann ich hier nichts testen. Ich denke mal dass ISMM_Open bei Dir -1 zurückgibt. Warum das so ist kann ich nicht erraten. Es könnte sein dass Deine DLL das verwendete Board oder Chipset nicht unterstützt. Nicht jedes Atom Board verwendet zwingenderweise dasselbe Intel Chipset, da auch VIA und andere gerne ein Chipset verkaufen. Und da funktioniert diese Library simpelweg nicht.

Und die HWM_GetItemDesc Funktion lässt Du besser disabled. So wie das im Moment programmiert ist kann das nur crashen, sobald ISM_Open ein gültiges Handle zurückgibt.
(13.10.2011 10:07 )ralph.d schrieb:  Das mit dem INVALID_HANDLE_VALUE stimmt. Ist Unsinn. Hab ich nicht beachtet. War in dem original VI von Ihnen schon so, oder LAbview hat es irgendwie konvertiert...
Die dll leg ich mal direkt unter c:\ ab und probiers nochmal...

Ich gehe davon aus dass die Grossschreibung hier ein Versehen war. Ich würde es nie wagen solchen Code in irgendeiner Weise zu veröffentlichen. Cool

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
Antwort schreiben 


Gehe zu: