K8055 mit Lego mindstorms NXT und LabVIEW:
Kommunikation zwischen NXT und K8055:
- Über globale Variable
-
Globale Variable:
- Globale Variable erstellen:
- im Blockdiagramm aus Funktionenpalette (Ansicht --> Funktionenpalette) globale Variable
(Funktionenpalette: Programmierung --> Strukturen --> Globale Variable) einfügen
- doppelklick mit linker Maustaste auf globale Variable --> Frontpanel von Globale Variable wird geöffnet;
es gibt kein Blockdiagramm
- im Frontpanel Bedien- oder Anzeigeelement aus Elementepalette (Ansicht --> Elementepalette) einfügen
- eingefügtes Element umbenennen
- Globale Variable speichern: Datei --> Speichern unter…
z.B. Globale Variable 1.vi
- linke Maustaste auf Globale Variable im Blockdiagramm und Name der Variable wählen
- in globale Variable kann geschrieben oder gelesen werden
In Variable schreiben: rechte Maustaste auf Globale Variable im Blockdiagramm --> "In 'schreiben' ändern"
Variable lesen: rechte Maustaste auf Globale Variable im Blockdiagramm --> "In 'lesen' ändern"
- bereits erstellte Globale Variable in ein anderes VI einfügen:
- Funktionenpalette --> VI auswählen…
z.B.: Globale Variable 1.vi - Weitere Globale Variable z.B. in „Globale Variable 1.vi“ hinzufügen:
- „Globale Variable 1.vi“ öffnen
- Bedien- oder Anzeigeelemente hinzufügen
Mit globalen Variablen können Daten zwischen verschiedenen parallel laufenden VI’s ausgetauscht werden. Alle parallel laufenden VI’s können eine globale Variable lesen oder in eine globale Variable schreiben.
Beispielprogramm 1:
- Wird der Taster Digital Input1 vom K8055 betätigt wird auf dem NXT Display hallo angezeigt
- Wird der Taster Digital Input1 vom K8055 nicht betätigt wird hallo gelöscht
- Wird im Frontpanel vom K8055 Programm der Stopp Button betätigt, werden beide Programme beendet
- Blockdiagramm und Frontpanel für K8055
- Flache Sequenzstruktur links:
Verbindung zu K8055 mit CardAddress 2 wird hergestellt - Flache Sequenzstruktur Mitte:
Wert von Digital Input 1 (Taster betätigt/ nicht betätigt) wird so lange in die Globale Variable Taster 1 K8055 geschrieben, bis der Stopp Button im Frontpanel betätigt wird.
In Globale Variable Stopp wird der Wert vom Stopp Button (betätigt/ nicht betätigt) geschrieben - Flache Sequenzstruktur rechts:
Verbindung zu K8055 wird beendet - Parameter
- K8055D.dll:OpenDevice
Parameter: CardAddress
Name: CardAddress
Typ: Numerisches Element
Datentyp: Vorzeichenbehafteter 32-Bit-Integer
Übergeben: Wert - K8055D.dll:ReadDigitalChannel
Parameter: readDigInput
Name: readDigInput
Typ: Numerisches Element
Datentyp: Vorzeichenbehafteter 32-Bit-Integer
Übergeben: Wert
Parameter: Rückgabetyp
Name: Rückgabetyp
Typ: Numerisches Element
Datentyp: Vorzeichenbehafteter 32-Bit-Integer - K8055D.dll:CloseDevice
Parameter: Rückgabetyp
Name: Rückgabetyp
Typ: Void - Blockdiagramm für NXT
- Wert der Globalen Variablen Taster 1 K8055 = "TRUE" (Digital Input 1 wird betätigt):
"TRUE" von der Case- Struktur wird ausgeführt --> "hallo" wird auf dem NXT- Display angezeigt - Wert der Globalen Variablen Taster 1 K8055 "FALSE" (Digital Input 1 wird nicht betätigt):
"FALSE" von der Case- Struktur ausgeführt --> NXT- Display wird gelöscht - Wurde der Stopp Button im Frontpanel vom K8055 Programm betätigt ist der Wert der Globalen Variable Stopp "TRUE"; Programm wird beendet
- Frontpanel Globale Variable 1.vi
- hier befinden sich die Globalen Variablen "Taster 1 K8055" und "Stopp"
- alle VI's speichern
- K8055 und NXT an den Computer anschließen
- VI für K8055 und VI für NXT starten
viAbschnitt kann in LabVIEW 2009 als funktionsfähiges VI eingefügt werden |
viAbschnitt kann in LabVIEW 2009 als funktionsfähiges VI eingefügt werden |