Wie Anfangen mit IOW - doch komplizierter als gedacht ?!

Dies ist das deutsche Forum für alle Themen um den IO-Warrior. Beiträge bitte nur in Deutsch.

Moderator: Guido Körber

Post Reply
MichaE
Posts: 11
Joined: Wed Jun 09, 2010 4:46 pm

Wie Anfangen mit IOW - doch komplizierter als gedacht ?!

Post by MichaE »

Hallo erstmal


ich bin mehr zufällig auf den IOW gestossen und fand das ganze Thema recht spannend und interessant, also hab ich mir mal ein Starterkit geholt.
Eigentlich dachte ich auch, dass es sehr schnell geht dass ich eine kleine Oberfläche mit Knöpfen habe und jeder Knopf einen Ausgang des IOW (eine LED) steuert.
Also über das MSDNAA Programm VisualStudio geholt und eine Lern DVD für Visual C++ gekauft.
Mit der hab ich nun auch angefangen, kleinere Programme mit Buttons und Textfeldern laufen auch schon. (CLR und Windows Forms Anwendungen)
Dann kam mein Starterkit und ich wollte natürlich gleich wenigstens ein ganz einfaches Programm machen, mit dem meinetwegen mit einem Button die LED des Kits zum Leuchten gebracht werden kann.
Mit dem SimpleIO und dem Testprogramm von friend-of-rq leuchtet die LED (natürlich) auch.
Also habe ich angefangen und versucht zu verstehen, was ich denn machen muss.
Das Problem am SimpleIO ist aber schon, dass ich nicht wirklich verstehe, was Teil der Steuerung ist, und was z.B. nur für die GUI verantwortlich ist.
Sprich, ich kann mir aus SimpleIO nicht die Informationen rausziehen, um ein eigenes kleines Programm zu schreiben.
Nun bin ich am Überlegen, ob das mit dem Visual C++ überhaupt eine gute Idee war, oder ob ich das ganze lieber gleich anders angehen soll.
Wie viel Aufwand würdet Ihr denn sagen ist es, ein so einfaches Programm zu schreiben?
Das Grundgerüst ist ja sehr einfach, wird ja auch fast alles von Visual Studio vorgegeben, den Button kann man "malen"
Es fehlt nur am einbinden der lib (unde der header) und dann muss man doch eigentlich nur noch ein paar zeilen code schreiben.
Vermutlich sind es ganz einfache Fehler, die ich als Anfänger eben mache, aber momentan komme ich trotz viel Lesen und Ausprobieren einfach nicht weiter.

Wäre also nett, wenn mir einer einen Tipp geben könnte, ob ich es weiter damit versuchen soll, weil es praktisch mit jeder IDE ähnlich kompliziert ist, oder ob z.B. BASIC viel einfacher zu bewerkstelligen wäre.

Wenn jemand ein ganz einfaches Tutorial hätte, wie man anfängt (mit Visual C++) wäre ich natürlich auch sehr dankbar!


Also, danke schonmal für jede Hilfe ;)
D-Lite
Posts: 22
Joined: Thu Mar 25, 2004 12:54 am
Location: Saarbrücken

Re: Wie Anfangen mit IOW - doch komplizierter als gedacht ?!

Post by D-Lite »

MichaE wrote: Wäre also nett, wenn mir einer einen Tipp geben könnte, ob ich es weiter damit versuchen soll, weil es praktisch mit jeder IDE ähnlich kompliziert ist, oder ob z.B. BASIC viel einfacher zu bewerkstelligen wäre.
Die benutzte API ist eh die gleiche, also ist die Programmiersprache fast egal, zumindest was die Ansteuerung des IO-Warriors anbetrifft. Nimm einfach die Programmiersprache, mit der Du am besten klar kommst bzw. vielleicht schon einige Erfahrungen gemacht hast. Wenn Du jetzt schon einige Zeit in VisualC++ investiert hast und auch Deine GUI schon ganz gut damit funktioniert, dann bleib doch einfach dabei. Die Ansteuerung des IOW ist dann nur noch eine kleine Hürde. Ich würde erstmal das Datenblatt des IOW nochmal genau angucken (falls nicht schon geschehen) und dann die Dokumentation der iowkit.dll lesen. Da steht eigentlich alles drin, was man braucht. Anhand dieser Doku dann evtl. nochmal die Beispielprogramme anschauen und dann sollte schnell klar werden, wie der Hase läuft. Klar, das ist alles etwas Arbeit, aber ich hab bisher immer die Erfahrung gemacht, das Doku lesen durch nix zu ersetzen ist ;-)

Viel Erfolg!

Werner
User avatar
Christoph Jung
Posts: 670
Joined: Sun Oct 08, 2006 3:43 pm
Location: Germany / Berlin
Contact:

Re: Wie Anfangen mit IOW - doch komplizierter als gedacht ?!

Post by Christoph Jung »

Wir beutzen für unsere Beispiele Visual Studio mit der MFC, das macht das Dialogerstellen einfach und schnell.
Um die Funktionen der DLL zu nutzen muss man folgendes machen:

1. Die iowkit.dll muss entweder im System32-Ordner von Windows liegen oder im Verzeichnes des Projektes/Programms
2. Im Projekt muss die iowkit.h eingebunden werden. Sonst können die DLL-Aufrufe nicht gefunden werden.
3. Unter Projekteinstellungen->Linker->Eingabe->Zusätzliche Abhängigkeiten muss die iowkit.lib eingetragen werden.

2. und 3. Gilt bei Visual Studio für die Debug und Releas Version des Projektes.

Wenn Alles klappt dann sollten die DLL-Funktionen zur verfügung stehen. Am einfachsten ist es sich einen Button auf den Dialog zu Packen und dort einfach die Nummer der angeschlossenen IO-Warrior auszugeben. Der Rest ergibt sich aus den Beispielen zum SimpleIO.
Einfach try & error versuchen und schaun was alles rauskommt. In dem PDF zur DLL sind die einzelnen Funktionen aufgelistet und beschrieben.

Der Aufwand ist wenn man erstmal weiß welche Funktion was macht einfach. Ich würde mit einem einach auslesen der Seriennummer und der angschlossen Geräte anfangen. Findet sich alles im SimpleIO Beispiel. Dann weiter zum lesen und schreiben der IO-Pins/Ports.

Wichtig ist es, beim beenden des Programms IowKitCloseDevice() aufzurufen, da sonst das Programm nicht richtig entladen wird und als Prozess weiterläuft. In dem Fall wird bei einem erneuten starten des Programms kein IO-Warrior gefunden, weil er nicht belegt ist. Am besten einen Button machen, der diese Funktion aufruft und das Programm mit OnOK() beendet.

Was andere Programmiersprachen angeht gibts einige, die aber alle mehr oder weniger gleich komples sind, wenn man wenig Ahnung hat.
Delphi, QT und C sind die am meisten benutzen hier im Forum und somit ist auch immer jemand da, der evtl. Helfen kann. C/C++ ist auf auf jedenfall nicht verkehrt und dort haben wir für alles Beispiele.
Abteilung: Softwareentwicklung
Folge uns auf Twitter
Follow us on twitter
Post Reply