Sie befinden sich hier: Lego® - K8055 USB Interface- Board - LabVIEW

K8055 USB Interface- Board und LabVIEW:


Ansteuerung:


  • Download labview8_k8055.zip von Hersteller Seite (http://www.velleman.eu)
  • Datei K8055D.dll z.B. in das Verzeichnis c:/windows/system32 kopieren
    sollen mehrere K8055 Board's parallel an einen PC angeschlossen werden, muss die .dll nochmals unter einem anderen Namen in das Verzeichnis c:/windows/system32 kopiert werden und entsprechend eingebunden werden.
    Bsp.:
    • Board 1: K8055D.dll
    • Board 2: K8055D2.dll (Kopie von K8055D.dll)
  • ansprechen der Karte über CLF- Knoten (Knoten zum Aufruf externer Bibliotheken); Ruft eine dll- Funktion direkt auf
  • Funktionsübersicht
    Funktionsname Name (Parameter) Datentyp (Parameter)
    OpenDevice
    OpenDevice(long CardAddress)
    z.B. arg1 oder CardAddress etc. Vorzeichenbehafteter 32- Bit Integer
    (I32; Long- Integer)
    Wert zwischen 0 - 3
    CloseDevice
    CloseDevice()
    Rückgabetyp  
    Digitale Kanäle
    Funktionsname Name (Parameter) Datentyp (Parameter)
    WriteAllDigital
    WriteAllDigital(long Data)
    z.B. channel Vorzeichenbehafteter 32- Bit Integer
    Wert zwischen 0 - 255
    0 = output 1-8 aus
    1 = output 1 an
    3 = output 1-2 an
    7 = output 1-3 an
    15 = output 1-4 an
    31 = output 1-5 an
    63 = output 1-6 an
    127 = output 1-7 an
    255 = output 1-8 an
    ClearDigitalChannel
    ClearDigitalChannel(long Channel)
    z.B. channel Vorzeichenbehafteter 32- Bit Integer
    Wert zwischen 1 - 8
    ClearAllDigital
    ClearAllDigital()
    Rückgabetyp  
    SetDigitalChannel
    SetDigitalChannel(long Channel)
    z.B. channel Vorzeichenbehafteter 32- Bit Integer
    Wert zwischen 1 - 8
    SetAllDigital
    SetAllDigital()
    Rückgabetyp  
    ReadDigitalChannel
    ReadDigitalChannel(long Channel)
    z.B. channel Vorzeichenbehafteter 32- Bit Integer
    Wert zwischen 1 - 5
    ReadAllDigital
    ReadAllDigital()
    Rückgabetyp  
    Zähler
    Funktionsname Name (Parameter) Datentyp (Parameter)
    ReadCounter
    ReadCounter(long CounterNr)
    z.B. counter Vorzeichenbehafteter 32- Bit Integer
    Wert 1 oder 2
    ResetCounter
    ResetCounter(long CounterNr)
    z.B. counter Vorzeichenbehafteter 32- Bit Integer
    Wert 1 oder 2
    SetCounterDebounceTime
    SetCounterDebounceTime(long CounterNr, long DebounceTime)
    z.B. counter Vorzeichenbehafteter 32- Bit Integer
    Wert 1 oder 2
    z.B. DebounceTime
    Wert 0 - 5000
    Analoge Kanäle
    Funktionsname Name (Parameter) Datentyp (Parameter)
    ReadAnalogChannel
    ReadAnalogChannel(long Channel)
    z.B. channel Vorzeichenbehafteter 32- Bit Integer
    Wert zwischen 1 - 2
    ReadAllAnalog
    ReadAllAnalog(long *Data1, long *Data2)
    z.B. data1
    z.B. data 2
    Vorzeichenbehafteter 32- Bit Integer
    Zeiger
    OutputAnalogChannel
    OutputAnalogChannel(long Channel, long Data)
    z.B. channel Vorzeichenbehafteter 32- Bit Integer
    Wert zwischen 1 - 2
    z.B. data
    Wert zwischen 0 - 255
    z.B.:
    0 = 0V
    255 = 5V
    z.B. data=200:
    data/255*5V
    = 200/255*5V = 3,92V
    --> 200 = 3,92V
    OutputAllAnalog
    OutputAllAnalog(long Data1, long Data2)
    z.B. data1 Vorzeichenbehafteter 32- Bit Integer
    Wert zwischen 0 - 255
    z.B. data2
    Wert zwischen 0 - 255
    ClearAnalogChannel
    ClearAnalogChannel(long Channel)
    z.B. channel Vorzeichenbehafteter 32- Bit Integer
    Wert zwischen 1 - 2
    ClearAllAnalog
    ClearAllAnalog()
    Rückgabetyp  
    SetAnalogChannel
    SetAnalogChannel(long Channel)
    z.B. channel Vorzeichenbehafteter 32- Bit Integer
    Wert zwischen 1 - 2
    SetAllAnalog
    SetAllAnalog()
    Rückgabetyp  
  • In der Benutzeranleitung von der Herstellerseite gibt es weitere Informationen über Befehle zum Ansprechen der Karte
  • OpenDevice (long CardAddress)
    Öffnet den Kommunikationslink zu dem K8055 Gerät
    Die Card Address ist davon abhängig wie der Jumper auf dem K8055 Board gesteckt wurde. Auf dem Bild ist CardAddress = 2 um die Karte anzusprechen. (SK5=Jumper; SK6=keinen Jumper)Card Address










  • CloseDevice()
    schließt den Link zum K8055 Gerät und sollte an jedem Programm Ende stehen

Beispielprogramm:


  • Digitaler Ausgang 1 ist gesetzt bis Digitaler Eingang 1 (z.B. Taster Inp1 auf Karte) betätigt wird:



























    Blockdiagramm:
  • Funktionen --> Programmierung --> Flache Sequenzstruktur einfügen
  • Funktionen --> Konnektivität --> Bibliotheken und Programme --> Knoten zum Aufruf externer Bibliotheken einfügen
  • Doppelklick auf „Knoten zum Aufruf externer Bibliotheken“ oder rechte Maustaste "Konfigurieren..."
    Funktion
    - Bibliotheksname oder Pfad: Pfad zur k8055D.dll
      hier: C:\windows\system32\k8055D.dll
    - Funktionsname: OpenDevice (fängt ein Programm immer mit an)
    - Aufrufkonvention: stdcall (WINAPI)
    Parameter
    für OpenDevice(long CardAddress)
    - Parameter hinzufügen
    - Parameter "arg1":
      Name: arg1 kann z.B. in cardAddress umbenannt werden
      Datentyp: Vorzeichenbehafteter 32 Bit- Integer
      --> Ok
  • an Anschluss links (cardAddress) ein Bedienelement erstellen (rechte Maustaste auf cardAddress --> Erstellen --> Bedienelement)
  • auf Flache Sequenzstruktur rechte Maustaste --> Rahmen danach einfügen
  • Knoten zum Aufruf externer Bibliotheken einfügen
  • „Knoten zum Aufruf externer Bibliotheken“ konfigurieren
    Funktion
    - Bibliotheksname oder Pfad:
      hier: C:\windows\system32\k8055D.dll
    - Funktionsname: SetDigitalChannel (schaltet einen output ein)
    - Aufrufkonvention: stdcall (WINAPI)
    Parameter
    für SetDigitalChannel(long Channel)
    - Parameter hinzufügen
    - Parameter "arg1":
      Name: channel
      Datentyp: Vorzeichenbehafteter 32 Bit- Integer
    --> Ok
  • an Anschluss links (channel) eine Konstante erstellen und auf "1" stellen (output 1 = ein)
  • Flache Sequenzstruktur --> Rahmen danach einfügen
  • Funktionen --> Programmierung --> Strukturen --> While- Schleife einfügen
  • Knoten zum Aufruf externer Bibliotheken aus 2. Sequenz kopieren, einfügen
  • „Knoten zum Aufruf externer Bibliotheken“ konfigurieren/ abändern
    Funktion
    - Funktionsname: ReadDigitalChannel (liest einen input)
    Parameter
    für ReadDigitalChannel(long Channel) ändern
    - Parameter "Rückgabetyp":
      Typ: Numerisches Element (liefert einen Rückgabewert)
    --> Ok
  • an Anschluss links "channel" eine Konstante erstellen und auf "1" stellen (input 1 wird überwacht)
  • CLF- Knoten hat rechts jetzt 2 Ausgänge:
    Obere Ausgang: Rückgabewert liefert das Ergebnis, ob input 1 betätigt ist oder nicht
    Untere Ausgang: Kopie vom linken Eingangswert
    - Anzeigeelement an Ausgang "Rückgabetyp" erstellen
    CLF- Knoten (Knoten zum Aufruf externer Bibliotheken; Code Library Function)
  • Felder rechts:
    - obere Ausgang: Rückgabewert; ein CLF- Knoten hat maximal einen Rückgabewert
    - weitere Ausgänge: Kopie von jeweiligen linken Eingangswert
  • Felder links:
    - erstes Feld ist leer
    - weitere Felder: Eingangswerte
  • Funktionen --> Programmierung --> Numerisch --> Konvertierung --> Zahl nach boolesches Array einfügen und Eingang mit "Rückgabewert" verbinden
  • Funktionen --> Programmierung --> Cluster, Klasse, Variant --> Array nach Cluster einfügen und Eingang mit Ausgang "Zahl nach boolesches Array" verbinden
  • Funktionen --> Programmierung --> Cluster, Klasse, Variant --> Aufschlüsseln einfügen und Eingang mit Ausgang "Array nach Cluster" verbinden
  • Ausgang "Boolean array[0]" von "Aufschlüsseln" mit Schleifenbedingung verbinden (While- Schleife wird beendet wenn input 1 betätigt wird)
  • Flache Sequenzstruktur --> Rahmen danach einfügen
  • Knoten zum Aufruf externer Bibliotheken aus 1. Sequenz kopieren, einfügen
  • „Knoten zum Aufruf externer Bibliotheken“ konfigurieren/ abändern
    Funktion
    - Funktionsname: ClearAllDigital (output 1-8 aus)
    Parameter
    für ClearAllDigital() ändern
    - Parameter "cardAddress" löschen
    --> Ok
  • Knoten zum Aufruf externer Bibliotheken aus 3. Sequenz kopieren, einfügen
  • „Knoten zum Aufruf externer Bibliotheken“ konfigurieren/ abändern
    Funktion
    - Funktionsname: CloseDevice (USB- Schnittstelle wird geschlossen)
    --> Ok
  • viAbschnitt kann in LabVIEW 2009 als funktionsfähiges VI eingefügt werden
    Flache Sequenzstruktur:
    Erst wird der Rahmen ganz links abgearbeitet. Wurde dieser abgearbeitet wird mit dem nächsten begonnen. Usw.
    Frontpanel:
  • "cardAddress" auf 2 stellen
    Über "Bearbeiten" --> "Aktuelle Werte als Standard" kann man den Wert als Standardwert festlegen. D.h. wenn das Programm später erneut geöffnet wird, ist cardAddress auf 2 eingestellt und muss nicht erneut eingegeben werden.

  • Programm speichern und ausführen

Lego mit

  K8055

Modelle
- Steinsortierer

allgemein
- Ansteuerung

Programmieren - VB u. VBA
- LabVIEW
- K8055 & NXT