Sie befinden sich hier: Lego® - nxt - LabView - Programmierbeispiele - Beispiel 1

LabVIEW8.6 deutsch Studentenversion:


  • Beispiel 1

  • Motor an Port B vom nxt:
    • 1000ms an
    • mit Leistung 100
    Nach 1000ms:
    • Motor an Port B aus
    • Beispielprogramm wird auf dem Display an Position x=0 y=50 angezeigt bis Taster an Port 1 betätigt wird

    Programm Download










  • LabView starten
  • Neu: leeres VI

















  • Blockdiagrammfenster (ggf. Fenster --> Blockdiagramm anzeigen)
    Blockdiagramm und Frontpanel:














  • Funktionenpalette (ggf. Ansicht --> Funktionenpalette)
  • Funktionenpalette ganz öffnen


















  • aus Funktionenpalette in Blockdiagramm einfügen
    • Zusatzpakete --> NXTToolkit --> NXT Library --> Output --> Motor Time
      "Motor Time" in Blockdiagramm einfügen
      Motor ist für eine bestimmte Zeit an

























  • Konstanten erstellen:
    • Motor Time: "Time(500ms)" (Zeit in ms; legt fest wie lang der Motor an ist):
      rechte Maustaste --> Erstellen --> Konstante
      1000 eingeben und Enter










    • Motor Time: "Power(75)" (Leistung 0-100 möglich):
      rechte Maustaste --> Erstellen --> Konstante
      100 eingeben und Enter
    • Motor Time: "Output(Port A)" (legt fest an welchen Ausgangsport der Motor angeschlossen ist):
      rechte Maustaste --> Erstellen --> Konstante
      Port B






  • aus Funktionenpalette in Blockdiagramm einfügen
    • Zusatzpakete --> NXTToolkit --> Structures --> While- Schleife
      While- Schleife in Blockdiagramm einfügen















    While- Schleife
    Programmteil in der Schleife wird solange wiederholt bis Schleifenbedingung einen bestimmten Wert erhält. Bevor die Schleife wieder ausgeführt wird, wird überprüft ob die Schleifenbedingung erfüllt ist oder nicht erfüllt ist.
    Die Schleife wird wenigstens ein mal ausgeführt, da die Schleifenbedingung erst am Ende überprüft wird. Welcher boolische Wert (true/ false) die Schleife beendet richtet sich nach der Einstellung der Schleife.
    Schleifenbedingung --> rechte Maustaste --> auswählen zwischen "Stop wenn TRUE" und "Bei TRUE fortfahren"






    "Stop wenn TRUE": bei true --> Schleife wird beendet
    "Bei TRUE fortfahren": bei false --> Schleife wird beendet
    Schleifeniteration:
    Gibt aktuellen Schleifendurchlauf aus. Fängt bei 0 an zu zählen und wird bei jedem Schleifendurchlauf um 1 erhöht.
  • Verbindung erstellen (Motor Time mit While- Schleife)
    • Motor Time: "Sequence Flow out":
      linke Maustaste --> Mauszeiger auf Rahmen While- Schleife --> linke Maustaste
      Motor an Port B ist mit Leistung 100 für 1000ms = 1sec (1ms=10-3sec) an
      Nach 1000ms --> Motor an Port B aus und While- Schleife wird ausgeführt











    Verbindungen
  • Verbindung erstellen:
  • Verbindungswerkzeug: Ansicht --> Werkzeugpallette --> verbinden






  • Unterbrochene Verbindungen löschen: z.B.
    - Verbindung markieren --> "Entf" löscht markierte Verbindung
    - "Strg" + "B" löscht alle unterbrochenen Verbindungen im Diagramm
  • Farbe von Verbindungen hängen vom Datentyp ab. z.B.:
    • pink --> String
    • grün --> Boolean
    • blau --> Integer
    • orange --> Fließkommazahl
    • -------<x>------ unterbrochene Verbindung
      (unterbrochene Verbindungen löschen: z.B. strg+b)

  • "Sequence Flow in" "Sequence Flow Out"
    Durch die Verbindung wird eine Reihenfolge festgelegt, damit nicht alle Blöcke parallel ausgeführt werden.
    z.B.: Motor(Port A) soll vor Motor(Port B) ausgeführt werden:
  •   richtig falsch
     


  • aus Funktionenpalette in Blockdiagramm einfügen
    • Zusatzpakete --> NXTToolkit --> NXT Library --> Display --> Display Text
      "Display Text" in Blockdiagramm einfügen
      schreibt einen Text (Zeichenkette; String) auf das nxt Display






























  • Konstanten erstellen
    • Display Text: "Text" (Text der angezeigt werden soll):
      rechte Maustaste --> Erstellen --> Konstante
      Beispielprogramm eingeben und Enter
    • Display Text: "Location(0,0)"
      (legt Position fest, an der "Beispielprogramm" angezeigt werden soll;
      möglich: x von 0-99 y von 0-63; Position(0,0) = links unten auf Display)
      :
      rechte Maustaste --> Erstellen --> Konstante
      unten 50 eingeben und Enter










  • aus Funktionenpalette in Blockdiagramm einfügen
    • Zusatzpakete --> NXTToolkit --> NXT Library --> Input --> Touch Sensor
      "Touch Sensor" in Blockdiagramm einfügen
      Taster gibt je nach Schaltzustand True oder False aus.















  • Konstanten erstellen
    • Touch Sensor: "Input(Port 1)" (legt fest an welchen Eingangsport der Touch Sensor angeschlossen ist):
      rechte Maustaste --> Erstellen --> Konstante
      (wäre nicht nötig. Standardwert = Port 1)
    Standartwerte sind von den Blöcken vorgegeben. D.h. wenn z.B. ein Motor eine Leistung von 75 haben soll, muss man keine Konstante erzeugen um den Wert anzugeben. Soll die Leistung aber einen Wert zwischen 0 und 100 haben, aber nicht 75, muss man eine Konstante an "Power(75)" erzeugen (rechte Maustaste --> Erstellen --> Konstante) und eine Zahl angeben.
  • Verbindung erstellen (Touch Sensor mit Schleifenbedingung)
    • Touch Sensor: "Yes/No":
      linke Maustaste --> Mauszeiger auf Schleifenbedingung --> linke Maustaste
      wird Touch Sensor betätigt --> "Yes/No"=TRUE --> While- Schleife wird beendet










  • Speichern:
    Datei --> Speichern unter --> Unbenannt 1 --> Ok

  • Programm auf nxt:
    • nxt starten
    • Werkzeuge --> NXT Module --> NXT Terminal…
















      • --> Fenster "NXT: < No Target >"
        • Find NXT…
          bei Verbindung mit USB normalerweise nicht notwendig
        • Scan















        • Connect






        • Close
      • Compile, Download, and Run






    NXT Terminal...    Programm auf nxt

    • Status:
      • Not Connected = nxt nicht verbunden
      • Idle = nxt verbunden










    • Find NXT:
      • nxt suchen/ verbinden/ trennen
      • Ladezustand der Batterie









    • PC VI Files:
      • 1. compile, download, and run:
            - kompilieren, herunterladen und Programm ausführen
        2. compile and download:
            - kompilieren und herunterladen
            - Programm muss über nxt gestartet werden
        3. debug :
            - kompilieren, herunterladen und Programm ausführen
            - nxt bleibt mit dem Computer verbunden
            - Programm läuft langsamer
        4. ausgewähltes Programm wird heruntergeladen










    • NXT Files:
      • 1. alle gespeicherten Dateien auf dem nxt:
            u.a.:
              - .rxe = geschriebene und heruntergeladene Programme (LabView)
              - .rbt = geschriebene und heruntergeladene Programme (nxt-g)
              - .rtm = Beispiele (können gelöscht werden)
              - .rso = Tondateien (können gelöscht werden)
              - .ric = Grafiken (eigene erstellen nxtRICeditV2)
              - NVConfig.sys = nicht löschen
        2. Dateien von PC auf nxt
        3. Dateien von nxt auf PC
        4. Dateien auf nxt löschen














Lego nxt mit

  LabView 8.6

Installation
- nxt toolkit

Programmier-
beispiele
  - allgemein
  - Sensoren
  - Boolean
  - speichern
  - Eigenbau-     Hardware