Suchergebnisse

Suchergebnisse 1-12 von insgesamt 12.

  • Benutzer-Avatarbild

    DLL einbinden

    FloMZ - - Schnittstellen-/Hardwareprogrammierung

    Beitrag

    Hallo erstmal in die Runde. Ich bin neu hier und habe eine Frage bezüglich der Einbindung einer DLL in ein VB.net Projekt. Ich bin noch sehr neu in der Materie und will mich in die Thematik reinfuchsen. Ich möchte ein Messgerät via USB-Verbindung ansprechen und der Hersteller des Geräts gibt einem hierzu eine DLL an die Hand, und eine C# Datei, die zeigen soll, wie man die Funktionen aus der DLL aufruft. Die erste Irritation gab es bei mir, als es nicht funktionierte, über „Projekt - Verweis hin…

  • Benutzer-Avatarbild

    DLL einbinden

    FloMZ - - Schnittstellen-/Hardwareprogrammierung

    Beitrag

    Danke Es geht dabei um ein Steuergerät dieser Bauart: keyence.de/products/measure/mi…/models/ls-9501/index.jsp Um die DLL zu erhalten muss man sich anmelden. Ich würde sie nur ungern hier hochladen, da das denke ich zu Problemen führen könnte.

  • Benutzer-Avatarbild

    DLL einbinden

    FloMZ - - Schnittstellen-/Hardwareprogrammierung

    Beitrag

    Bitte bescheid geben, wenn du sie hast @RodFromGermany.

  • Benutzer-Avatarbild

    DLL einbinden

    FloMZ - - Schnittstellen-/Hardwareprogrammierung

    Beitrag

    Vielen vielen Dank für die große Hilfe. Ich werde das alles mal genau anschauen und testen. Gegebenenfalls melde ich mich dann nochmal hier im Thread, oder schließe ihn mit einer Rückmeldung

  • Benutzer-Avatarbild

    DLL einbinden

    FloMZ - - Schnittstellen-/Hardwareprogrammierung

    Beitrag

    So, ein paar Tage sind vergangen. Mittlerweile funktioniert die Verbindung zum Messgerät und Messwerte werden angezeigt. Ich hänge nun ein wenig bei dem Senden von Einstellungen an das Steuergerät. @RodFromGermany hat mir schon sehr weitergeholfen. Bei der "übersetzten" Funktion VB.NET-Quellcode (1 Zeile) bin ich mir jedoch unsicher. Ich bin bisher noch nicht auf so etwas wie diesen Teil gestoßen: VB.NET-Quellcode (1 Zeile) Kann mir vielleicht jemand auf die Sprünge helfen, worum es sich hier ha…

  • Benutzer-Avatarbild

    DLL einbinden

    FloMZ - - Schnittstellen-/Hardwareprogrammierung

    Beitrag

    Danke für die Antwort @RodFromGermany ! Ok, ich glaube ich brauche noch einen Schubser. Es gibt ein konkretes Beispiel in der Dokumentation der DLL. Könntest du mir sagen, wie ich aus der Tabelle die korrekte Größe, die ich in die oben genannte Funktion als pbyDatas (hier pData genannt) übergeben muss, ermitteln kann und wie ich diese korrekt übergebe? Die Datasize lässt sich ja wohl anhand der Zeilenanzahl in Byte ablesen, wenn ich das richtig verstanden habe.

  • Benutzer-Avatarbild

    DLL einbinden

    FloMZ - - Schnittstellen-/Hardwareprogrammierung

    Beitrag

    @'RodFromGermany : wie meinst du das? Es wird mir momentan kein Fehler angezeigt, nur scheint an meiner Lösung etwas falsch zu sein. Es kommt die Meldung, dass ein invalider Parameter übergeben wurde. Ich habe den Verdacht, dass es an dem pbyDatas liegt. In meinem Fall muss einfach nur eine 1 (für Enable) übertragen und in das 1. von insgesamt 4 Bytes geschrieben werden. Eine weitere Fehlerquelle könnte es sein, dass ich die Codes von C# wie folgt übersetzt habe: 0x03 = 3 und 06h = 6 Soweit mein…

  • Benutzer-Avatarbild

    DLL einbinden

    FloMZ - - Schnittstellen-/Hardwareprogrammierung

    Beitrag

    Zitat von RodFromGermany: „ Was steht da?“ Folgendes habe ich im Objektkatalog zu der Funktion gefunden: Public Declare Ansi Function LS9IF_SetSetting Lib "LS9_IF.dll"(byDepth As Byte, stTargetSetting As Test_Keyence_Anzeige.Sample.LS9IF_TARGET_SETTING, lDataSize As Integer, pbyDatas As Byte(), ByRef pdwError As UInteger) As Integer Member von "Test_Keyence_Anzeige.Sample.NativeMethods"

  • Benutzer-Avatarbild

    DLL einbinden

    FloMZ - - Schnittstellen-/Hardwareprogrammierung

    Beitrag

    Zitat von RodFromGermany: „ Möglicherweise ist der Test_Keyence_Anzeige.Sample.LS9IF_TARGET_SETTING-Parameter invalid. Was genau ist das? “ Bei dem Target_Setting Parameter handelt es sich um folgende structure: VB.NET-Quellcode (13 Zeilen) Im Objekt-Browser gibt es keine zusätzlichen Informationen. @RodFromGermany: Könnte es daran liegen, dass das Steuergerät die Codes (die Komponenten von der Structure LS9IF_TARGET_SETTING) nicht versteht, weil es sie als Byte geschickt bekommt, und es erwarte…

  • Benutzer-Avatarbild

    DLL einbinden

    FloMZ - - Schnittstellen-/Hardwareprogrammierung

    Beitrag

    Ich habe nun vor die Parameter "&H" gesetzt, womit diese als Hex-Zahl deklariert werden. Damit hat es funktioniert und ich konnte die Einstellungen erfolgreich an das Steuergerät übertragen. Danke @RodFromGermany Deine Anregungen haben mir sehr geholfen!

  • Benutzer-Avatarbild

    DLL einbinden

    FloMZ - - Schnittstellen-/Hardwareprogrammierung

    Beitrag

    Wie ich einen einzelnen Parameter übergebe habe ich nun begriffen. Wie schaut es aber aus, wenn ich mehrere Parameter übergeben muss? Ich möchte nun nicht mehr nur ein Byte mit einer Zahl füllen, sondern die ersten beiden von insgesamt 12 Bytes. Ich nutze wie zuvor den BitConverter.GetBytes, um meine Einstellung (1. Byte = 2, 2.Byte = 0) in ein Byte-Array umzuwandeln. Ich habe eine Lösung gefunden, wie zumindest laut dem Debugger die korrekten Werte in den Bytes stehen, jedoch mag das Steuergerä…

  • Benutzer-Avatarbild

    Danke für die Antwort, das Format macht schon mal einen guten Eindruck. Leider funktioniert es noch nicht. Ich habe mal den Hersteller kontaktiert, denn es scheint etwas mit der sperrlichen Dokumentation nicht zu stimmen. Laut der Tabelle müsste ich einfach im ersten Byte eine 2 und im zweiten Byte eine 0 übertragen. Wenn ich die Einstellungen jedoch mit dem Herstellertool vornehme, und dann mit einer Funktion auslese, dann stehen in den 12 Bytes vollkommen andere Werte. Diese passen leider garn…