Picotech TC-08 Thermologger - 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: Picotech TC-08 Thermologger (/Thread-Picotech-TC-08-Thermologger) |
Picotech TC-08 Thermologger - AndiMetzger - 17.12.2008 11:47 Hi, danke dir, also, ich habe unter LabVIEW 7.1 auch Anpassen an Typ und handles by value ausgewählt, aber wenn man die Parametrierung der Funtionseinbindung beendet und sich dann die DLL Einbindung anschaut, stellt man fest, dass nicht ein Cluster Type sondern ein ganz normaler String Typ angezeigt wird. Kann es viel. sein, dass in LabVIEW 7.1 die Clustereinbindung von Funktionen gar nicht möglich ist? Als erstes habe ich dass nämlich probiert diese Funktion zu verwenden, da diese aber nur einen leeren String zurückgab, aber sie in der dll auch als strict Type verwendet wird, war mir klar, dass das so nicht funktioniert und ich dachte, ach, was lang rummachen, nehme ich dir get_formatted Funktion, welche schon funktioniert aber sehr oft alles zum Absturtz bringt. Eine beider Funktionen benötige ich aber unbedingt und zwar dauernd lauffähig. Kann mir jemand anderes viel. hier im Forum das VI von Jens aus LV 8.0 in 7.1 übersetzen, dann würde ich sehen ob LV dies so darstellt oder auch wieder als String. Oder weiß jemand wie man ein Cluster in 7.1 in einer DLL erstellt? Genau richtig getroffen Jens, dass mit dem Cluster ist noch die Frage. Picotech TC-08 Thermologger - jg - 17.12.2008 11:52 ' schrieb:Hi, danke dir, also, ich habe unter LabVIEW 7.1 auch Anpassen an Typ und handles by value ausgewählt, aber wenn man die Parametrierung der Funtionseinbindung beendet und sich dann die DLL Einbindung anschaut, stellt man fest, dass nicht ein Cluster Type sondern ein ganz normaler String Typ angezeigt wird. Kann es viel. sein, dass in LabVIEW 7.1 die Clustereinbindung von Funktionen gar nicht möglich ist?Dann häng doch noch ein Flatten To String dazwischen? Nur so testhalber. Wichtig ist eigentlich nur, dass du in Anordung und Größe einen Speicherbereich übergibst, der der Typ-Definition in C entspricht. Das sollte bei der Umwandlung des Clusters per Flatten To String so funktionieren. Gruß, Jens Picotech TC-08 Thermologger - AndiMetzger - 17.12.2008 14:43 Hm, ich glaub du hast es jetzt nicht richtig verstanden!? Schau dir doch mal bitte nochmals den dritten screenshot oben von mir an! Ich bekomme ja gar kein Cluster zurück also kann ich ja auch kein Cluster in einen String umwandeln. Die Funktion gibt direkt einen String zurück, was ja falsch ist, welcher immer leer ist, weil ja der Funktionsaufruf ein Cluster ausgeben würde und nicht einen String. Also wie bekommt man das hin, dass ein Cluster in 7.1 zurückgegeben wird? Picotech TC-08 Thermologger - jg - 17.12.2008 15:02 Achso, noch später weitere Screenshots hinzugefügt:(Das habe ich dann nicht gesehen. Aber Rückfrage, mein Vorschlag sieht doch anders aus, nicht String als Eingang verwenden! Hast du mal den Cluster, so wie in meinem Screenshot beschrieben, nachgebaut? Und diesen dann als Eingangselement für den Funktions-DLL-Aufruf zu verwenden? Lässt sich ein solcher Cluster in 7.1 als Eingangselement verwenden? Gruß, Jens Picotech TC-08 Thermologger - AndiMetzger - 17.12.2008 15:54 Achso, jetzt verstehe ich.... Ein Cluster erzeugen wie bei dir definiert und dann an den Eingang und dann auf String wandeln und am Ausgang ebenfalls wieder in umgekehrter Reihenfolge zurück wandeln!? Und dann schauen ob es funktioniert wenn ich die Funktion so verwende! Habe ich noch nicht. Mach ich dann mal... Glaub die Chancen das es so funzt stehen fifty / fifty! Weiß aber nicht ob ich bald dazu komme! :-) Picotech TC-08 Thermologger - jg - 17.12.2008 16:16 Ja, jetzt sind wir auf demselben Dampfer. Und um dann zu lesbaren Strings zu kommen, danach natürlich noch folgendes machen (exemplarisch hier nur für DriverVersion gezeigt): [attachment=15917] MfG, Jens Picotech TC-08 Thermologger - rolfk - 18.12.2008 17:43 ' schrieb:Achso, jetzt verstehe ich.... Warum denn die ganze Wandlung vor und nach dem Aufruf? Das ergibt nur noch mögliche extra Endianprobleme bei im Cluster anwesenden Elementen die grösser als 1 Byte sind. Wenn Du Adapt To Type ausgewählt hast kannst Du direkt einen Cluster an das Terminal anschliessen solange dieser Cluster keine LabVIEW Arrays oder Strings enthält und das tut dieser hier ja nicht. Rolf Kalbermatter Picotech TC-08 Thermologger - jg - 18.12.2008 18:11 ' schrieb:Warum denn die ganze Wandlung vor und nach dem Aufruf? Das ergibt nur noch mögliche extra Endianprobleme bei im Cluster anwesenden Elementen die grösser als 1 Byte sind.@Rolf Auf die (mglw. dumme) Idee bin ich nur gekommen, da Andi sagte, er kann keinen Cluster als Eingang in LV7.1 anschließen. Da ich momentan keinen Zugriff auf eine 7er Version habe, weiß ich nicht mehr, ob das geht oder nicht. @Andi: Ich hoffe, du hast versucht, den Cluster direkt per AdaptToType anzuschließen?! Gruß, Jens Picotech TC-08 Thermologger - AndiMetzger - 26.12.2008 11:06 Hi Jens, noch nicht, da ich momentan Urlaub habe und nicht im Geschäft bin. Werde es aber natürlich testen sobald ich wieder dort bin. Gebe dann Bescheid ob es funktioniert hat. Danke! Picotech TC-08 Thermologger - AndiMetzger - 19.01.2009 15:01 ' schrieb:Ja, jetzt sind wir auf demselben Dampfer. Hi Jens, habe diese und andere mögliche Varianten nun ausprobiert, geben aber leider nichts zurück. Parallel habe ich mit einem von Picotech (England) gemailt, hat nur ein Beispiel für die get_formatted_info Variante, welche ja immer abstürzt und zu der hier von dir beschriebenen Variante get_unit_info haben die gar nichts und können auch nicht mehr weiterhelfen.... Toller Support... da kauft man so Dinger und kommt nur wegen der doofen serial number nicht mehr weiter und könnte die Dinger fast in die Tonne kloppen. Keine Ahnung mehr wie ich das nun machen soll.... |