(11.03.2014 15:11 )Scuba schrieb: Hallo,
ich möchte einen Schrittmotor mit der Motorsteuerung K8097 von Velleman ansteuern http://www.velleman.eu/products/view/?id=386156
Mit der beigefügten Software von Vellemann klappt das auch super.
Nur möchte ich den Motor natürlich in LabView ansteuern. Also habe ich versucht die beigefügte DLL mit CLF Knoten einzubinden (Ich muss dazu sagen, dass ich erst vor 2 Tagen angefangen habe, mich in dieses Thema einzulesen, aber auch nach langer Hilfesuche komm ich grad keinen Schritt mehr weiter.)
In meinem Test VI versuch ich also einfache Funktionen aufzurufen. Mein größtes Problem dabei ist die Übergabe der richtigen Datentypen. Zum Beispiel haben viele Funtionen den Rückgabewert BOOL, welcher ja nicht einfach so konfiguriert werden kann. Daher weiß ich auch nicht ob die Funktion SMCConnect überhaupt richtig ausgeführt wurde. Ich kanns mir nur denken, da andere einfache Funktionen wie SMCGetInputs oderr SMCGetMotor die richtigen Werte für die Anzahl der Inputs und der Motoren ausspucken. Von der Karte zu lesen scheint also irgendwie zu klappen..
Aber leider bewegt sich der Motor bei Verwendung von SMCMove kein Stück.
Wenn es zu der DLL eine Headerdatei gäbe, könnte ich das natürlich mit diesem LabView Assistent versuchen. Aber die fehlt leider. Außerdem wurden auch 2 DLLs mitgeliefert. Einmal eine "Native DLL" mtrapi.dll und einmal diese MotorLibNET.dll zu der es auch eine Hilfsdatei gibt. In der letzteren DLL findet LabView aber irgednwie die Funktionen gar nicht.
Wie der Name schon sagt ist das keine normale DLL, sondern eine .Net Assembly. Die spricht man in LabVIEW nicht mit der Call Library Node an sondern mit der Create .Net Instance und dann der Property Node und der Method Node auf der zurückgegebenen Refnum.
BOOL ist ein Microsoft Datentyp und entspricht im Prinzip einem int32.
Aber wenn ich Dich wäre würde ich sicher die .Net assembly benützen, dann brauchst Du Dich nicht so um C typische Dinge zu bekümmern.