Allgemeines
VB.NET ist eine Sprache der .NET Framework Sprachfamilie und kommt mit einer
eigenen umfangreichen Klassenbibliothek und dem .NET Framework Laufzeitsystem.
Entwicklungsumgebung ist Visual Studio.NET. VB.NET hat von Visual Basic viele
syntaktische Elemente und in manchen Punkten dessen Einfachheit geerbt, ist aber
eine neue, eigenständige Sprache.
Die VB.NET Ecke soll aufzeigen wo innerhalb der Site VB.NET-spezifische Themen zu
finden sind, aber auch die Programmierung der fischertechnik Interfaces mit
VB.NET beschreiben.
Für die besonderen Belange von VB2005 gibt es eine Extra-Seite.
Hier wird auch die neue FishFace2005.DLL angeboten. Sie basiert auf .NET 2.0 und
kann deswegen erst ab VB2005 genutzt werden. Die Funktionen sind gleich.
Hinzugekommen ist aber die Unterstützung eines Funk-Betriebes zwischen
PC-Programm über das ROBO RF Datalink und ROBO Interfaces mit Funk-Platine.
Literatur :
- Microsoft : Visual Basic 2005 Express Edition. ISBN 3-86063-567-0.
Kurzer Überblick der Möglichkeiten von Visual Basic 2005.
CD mit der Visual Basic 2005 Express Edition ( 19,90 € ).
- Peter Bloch : Einstieg in Visual Basic 2005. ISBN 3-89842-641-6
Für Programmieranfänger.
Mit CD Visual Basic 2005 Express Edition. (24,90 €)
Andreas Kühnel : VB.NET, Galileo, ISBN
3-89842-129-5 (deutsch) als fundierte Einführung.
Auch als spezielle VB2005 Version verfügbar
Nitty Gritty Visual Basic.NET, Addison-Wesley (deutsch). Handfeste und preiswerte
Einführung/Übersicht für Programmierer mit Erfahrung, ISBN
3-8273-1857-2.
O'Reilly : Programming Visual Basic.NET, ISBN 0-596-00093-6, als Übersicht.
O'Reilly : VB.NET in a Nutshell, 0-596-00308-0, als Referenz neben der recht
ansprechenden Hilfe des Visual Studio.NET.
Und dann gibt es jetzt auch von den
altbekannten VB-Autoren eine VB.NET Version :
Michael Kofler : Visual Basic.NET - Grundlagen, Programmiertechniken,
Windowsanwendungen - Addison-Wesley ISBN 3-8273-1982-X
Eine aktuelle VB2005 Version ist ebenfalls verfügbar ISBN 3.8273-2338-X
Doberenz / Kowalski : Grundlagen und Profiwissen - Visual Basic.NET, Hanser ISBN
3-446-22024-0
Auch in einer Neuausgabe für VB2005 erhältlich, diese ist aber nur noch
"Profi", eine Grundlagen-Ausgabe ist in Arbeit.
In den beiden letztgenannten Büchern wird auf ausführlich auf die
Programmierung mit Windows.Forms eingegangen.
Programmierung
Es wird unterschieden zwischen :
- Interfaces der ROBO Series und dem Intelligent Interface :
FishFace40 (vbnetFish40Setup.EXE
einschl. Handbuch),
Handbuch separat : FishFa40VB.NET.PDF
- Die VB.NET Beispiel-Programme nutzen die mit C#Final (V1.0) erstellte
FishFace40.DLL. Dafür ist ein .NET Framework 1.0 erforderlich.
- Auf der VB2005-Seite wird für die ROBO's ...
zusätzlich eine .NET 2.0 Version von FishFace angeboten.
- Intelligent Interface und Universal Interface(an LPT) :
FishFa30 (umFish30.ZIP und vb7model.zip
mit Handbuch und Assembly).
Handbuch separat : FishFa30VB.NET.PDF.
Basis für die Programmierung ist die in VC++ 6.0 erstellte DLL umFish30.DLL
bzw. umFish40.DLL. In umFish40.DLL ist noch die FtLib von fischertechnik
integriert. Die erforderlichen USB-Treiber und Firmware Updates der ROBO
Interfaces sind von www.fischertechnik.de
(Software) zu beziehen. Die USB-Treiber Installation erfolgt automatisch, das
Firmware Download über ROBO Pro.
Der Funktionsumfang von FishFa30.DLL weitgehend aufwärtskompatibel zu
FishFace40.DLL. Änderungen gibt es beim Konstruktor und der Methode
OpenInterface. Die enum Nr ist in die enums Inp und Out gesplittet worden. Bei
FishFace40.DLL (und umFish40.DLL) sind Methoden für den IR-Sender (GetIRKeys
...) und die Analog-Eingänge A1 / A2 / AV (GetVoltage) hinzugekommen.
Vornehmlich die enums wurden den gestiegenen Ausbaumöglichkeiten der Hardware
angepaßt. Der Betrieb eines ROBO Interfaces über den RF Datalink ist
transpararent - d.h. das Programm tut's aber merkt's nicht. Die FishFace2005.DLL
bietet auch noch einene Funk-Betrieb zwischen PC-Programm und ROBO Interface(s).
- Programmierung auf Basis der native Schnittstelle von umFish30.DLL
(cs-Variante) bzw. umFish40.DLL. Die erforderlichen Deklarationen sind in der Source
FishFa30.CS / FishFace40.CS (ganz am Anfang) zu finden, sie können 1:1 in eigene Klassen
übernommen werden. Die Programmierung auf Grundlage der native
Schnittstelle ist sinnvoll, wenn die Absicht besteht, eigene
Zugriffssoftware zu entwickeln.
- Die Klasse FishFace als Bestandteil der Assembly FishFa30.DLL /
FishFace40.DLL kapselt die Funktionen von umFish30/40.DLL in einer C#gerechten
Weise und bietet mit den Wait-Funktionen eine Abrundung insbesondere für
die (asynchronen) SetMotor(s) Methoden.
Für die Mehrzahl der Methoden gibt es eine Reihe von Überladungen, die
eine Übergabe der parameter sowohl als int-Wert (-> eigene Konstanten,
tabellarische Werte) wie auch enums erlauben. Meist werden so auch default
Parameter realisiert.
- Klasse FishRobot zu Programmierung von Robots a la "Industry
Robots" : Motor mit zugeordnetem Impulsrad/-taster und einem Endtaster.
- Klasse FishStep mit Methoden zur Programmierung einzelner Schrittmotoren
und von Schrittmotorpaaren im XY-Verbund (Plotter).
InterfacePanel / Installation
![](images/intpanel40.jpg) |
Das Interface Panel ist ein separates Tool zur Anzeige und Steuerung
eines Interfaces. Es kann besonders zum Test des Modellaufbaus und zum
"GeradeRücken" eines Modells eingesetzt werden. Das Interface Panel
sollte als erstes Programm zur Kontrolle der korrekten Installation von
Interface und Software eingesetzt werden. Es ist in zwei Versionen verfügbar :
umFishDP30.EXE für das Intelligent / Universal Interface (umFish30.ZIP)
und als umFishDP40.EXE für die Interface der ROBO Serie und das
Intelligent Interface (vbnetFish40Setup.EXE).
|
Handbuch
Zusätzlich ist neben einigen Modellprogrammen ein spezielles VB.NET
Handbuch : "ftComputing : FishFa30 für VB.NET" in vb7model.ZIP
bzw. enthalten
und für FishFace40 gibt es : "ftComputing : FishFa40 für VB.NET" (FishFa40VB.NET.PDF)
Beispiele
Schrittweise Einführung
in die Erstellung eines Betriebsprogrammes für ein Riesenrad.
Die Sources der Programme sind in VB7Model.ZIP
bzw. vbnetFish40Setup.EXE enthalten.
Modelle
Die hier angeführten Modelle sind z.Zt. noch alle mit FishFa30.DLL für das
Intelligent bzw. das Universal Interface erstellt. Eine Umstellung auf
FishFace40.DLL macht aber weiter keine Probleme s.o. (wurde bei der Umstellung
der Handbuch-Beispiele ausgiebig probiert).
AmpelThread
: Betrieb einer Fußgängerampel an einem Intelligent Interface mit mit
Extensionmodul. Die Auto- sowie die Fußgängerampel laufen in eigenen Threads.
Stanze : Betrieb des
Modells Stanzmaschine mit Transportband 51 663
RobStanze :Beschicken der
Stanze 51 663 durch einen Industry Robot (Knickarm- oder SäulenRobot). Die
Programmteile für den Betrieb von Stanze bzw. Robot laufen in eigenen Threads.
Der Turm von Hanoi
Programm
auf Basis der Klasse HanoiRob. In HanoiRob.ZIP
enthalten. Siehe auch die Seite Turm von Hanoi.
Taktstraße 51 664
Eine MultiThreading Lösung
auf Seite TaktStrasse
Details / Hinweise
Stand : 18.08.2010 |