LabVIEW8.6 deutsch Studentenversion:
- Beispiel 1
- 1000ms an
- mit Leistung 100
- 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
Motor an Port B vom nxt:
Programm Download
- 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
- 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:
- NXT 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
-
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