Den IO Warrior 40 mit 8 Digitalen Eingängen via .NET

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

Moderator: Guido Körber

DonElTomato
Posts: 9
Joined: Thu Apr 06, 2006 10:31 am

Den IO Warrior 40 mit 8 Digitalen Eingängen via .NET

Post by DonElTomato »

Hallo,

ich habe mich leider noch nicht viel mit dem IO-Warrior befasen können, hoffe aber mir kann hier jemand helfen.

Und zwar habe ich einen IO-Warrior 40 mit 8 Didigalten Eingängen, 8 Ausgängen, USB-Anschluss.

Diesen möchte ich jetzt mit .NET (c#) ansprechen, habe aber keine große Ahnung davon. Es scheitert schon bei dem Versuch die Eingänge abzufragen, weil dazu der "schieber" erst richtig getimed werden muss.

Kann mir da jemand helfen?
Oder gibt es bereits jemanden der sich damit beschäftigt hat, und eine .NET DLL oder Klasse hat?

MFG

Don
wayoda
Posts: 362
Joined: Fri Dec 19, 2003 12:00 pm
Location: Wuppertal/Germany

Post by wayoda »

c#- anbindung unter
http://www.schnedl.at/iowarrior/

Dieser Link steht auch auf der Codemercs-Homepage im Bereich "Iowarrior" -> "Iowarrior-Links"

Eberhard
DonElTomato
Posts: 9
Joined: Thu Apr 06, 2006 10:31 am

Post by DonElTomato »

Dieses beispiel kenne ich.

Allerdings hat der IO-warrior den ich habe kein LCD-Display und 8 anstatt 4 Eingänge. Und in der exakten abfrage von 8 Eingängen liegt mein Problem...
wayoda
Posts: 362
Joined: Fri Dec 19, 2003 12:00 pm
Location: Wuppertal/Germany

Post by wayoda »

Ich habe mich noch nicht mit der C# Anbindung befasst, aber der interessante Teil sollte die Datei IOWLib.cs sein, der die IowKit-Lib von Codemercs in den C#-Code einbindet. Den Rest muss man dann selber programmieren ;-).

Eberhard
Guido Körber
Site Admin
Posts: 2876
Joined: Tue Nov 25, 2003 10:25 pm
Location: Germany/Berlin
Contact:

Post by Guido Körber »

Was bitte soll den der entscheidende Unterschied dabei sein wie man die einzelnen Portpins benutzt? Die IO-Warrior übertragen in Eingangs- und Ausgangsrichtung immer alle Portpins auf einmal. Man muss dann halt nur selber entscheiden was man damit tut.
DonElTomato
Posts: 9
Joined: Thu Apr 06, 2006 10:31 am

Post by DonElTomato »

Tut mir leid. habe keine ahnung was du meinst. Port pins?
Guido Körber
Site Admin
Posts: 2876
Joined: Tue Nov 25, 2003 10:25 pm
Location: Germany/Berlin
Contact:

Post by Guido Körber »

Reden wir hier vom IO-Warrior?
DonElTomato
Posts: 9
Joined: Thu Apr 06, 2006 10:31 am

Post by DonElTomato »

Sorry aber ich habe nicht wirklich die ahnung davon. Mit dem IOwarrior mit 4 eingängen bekomm ich ein ByteArray zurück das eine länge von 5 hat. also 5 spalten in dem array.
Darin habe ich dann in der spalte 3 den byte-code für die 4 eingänge. also 255 - 1 (Eingang 1) - 2 (Eingang 2) - 4 (Eingang 3) - 8 (Eingang 4).

Wenn ich jetzt den IO-warrior anschließe mit 8 Eingängen funktioniert das Prinzip nicht mehr. Ehrlich gesagt tut sich da quasi überhaupt nichts...

Was ist da jetzt mein Problem?
Guido Körber
Site Admin
Posts: 2876
Joined: Tue Nov 25, 2003 10:25 pm
Location: Germany/Berlin
Contact:

Post by Guido Körber »

Was für ein IO-Warrior mit 4 oder 8 Eingängen? Wir haben den IOW24, der hat 16 I/Os und den IOW40, der hat 32 I/Os.

Und was für Spalten? Reden wir von Excel oder von C/C++?
DonElTomato
Posts: 9
Joined: Thu Apr 06, 2006 10:31 am

Post by DonElTomato »

Ich verwende den IOWarrior 40.

Wir haben in der Schule 2 Geräte. Eines mit LCD und 4 Ein- und ausgängen.
Ein anderes hat kein LCD und 8 ein- und ausgänge sowie ein Analog-Wandler.

Wie ich diese 4 Eingänge abfragen kann ist mir klar, aber bei dem IOWariror 40 mit 8 eingängen harpert es.

meine Frage ist jetzt WARUM?

Oder besser gesagt woe genau arbeitet das gerät. Vielleicht kann ich daraus rückschlüsse ziehen. Denn unsere Dokumentation ist etwas unzureichend.

Programmiersprache ist c# und mit Spalten sind die Ebenen eines Arrays gemeint.

byte[] Hans = new byte[5] < Dieses Array hat 5 Spalten
Robert Marquardt
Posts: 543
Joined: Mon Dec 01, 2003 6:09 pm

Post by Robert Marquardt »

Bitte mal dem Lehrer sagen das er nicht seine eigene Terminologie einfuehren soll. Ein Array hat Elemente.
Unsere Dokumentation ist durchaus ausreichend, aber erstens in englisch und zweitens fuer den erfahrenen User gedacht.
Das Problem ist das sie natuerlich den IO-Warrior ohne weitere angeschlossene Peripherie beschreibt. Wir wissen ja nicht was alles angeschlossen wird.

Der IO-Warrior 40 hat 32 IO-Pins. Wir koennen von hier aus natuerlich nicht sagen welche bei Ihnen verwendet werden.
Guido Körber
Site Admin
Posts: 2876
Joined: Tue Nov 25, 2003 10:25 pm
Location: Germany/Berlin
Contact:

Post by Guido Körber »

Also dem IO-Warrior ist es völlig egal was man mit den Pins macht, der hat da keine Vorurteile. Es werden immer die Daten für alle 32 Pins gleichzeitig übertragen.

Was da jetzt an Hardware dranhängt kann ich natürlich nicht wissen. Auf jeden Fall ist die Vorgehensweise prinzipiell immer die gleiche, egal wie viele und welche der Pins man abfragt. Im Zweifelsfalle sollte man aber wissen welcher Pin den nun was tut, sonst fragt man möglicherweise den falschen ab.
DonElTomato
Posts: 9
Joined: Thu Apr 06, 2006 10:31 am

Post by DonElTomato »

Ahso, also habe ich 32 IOs von denen dann quasi 8 Ausgänge und 8 Eingänge sind. Und die restlichen 16 werden einfach nicht verwendet...

Stimmt erfahren bin ich mit diesen dingern ehrlich noch nicht, und in englisch erst recht net.

Naja ist diese Theorie richtig? Falls ja, kann ich also in einem Rutsch mit dem Read-Befehl alles auslesen, muss es dann nur richtig auswerten... ?
Guido Körber
Site Admin
Posts: 2876
Joined: Tue Nov 25, 2003 10:25 pm
Location: Germany/Berlin
Contact:

Post by Guido Körber »

Richtig, immer alle 32 Pins auf einmal.

Und es gibt keine Unterscheidung zwischen Eingang und Ausgang, alle Pins sind immer Eingänge, wird eine Null auf einen Pin geschrieben dann aktiviert der seinen Open Drain Treiber.

Was das Englisch betrifft: Dringend dran arbeiten, oder Fachbereich wechseln. Ohne Englisch geht in keinem technischen Beruf mehr was.
DonElTomato
Posts: 9
Joined: Thu Apr 06, 2006 10:31 am

Post by DonElTomato »

Ahso, jetzt geht mir so langsam ein Licht auf:

Also: Der IO Warrior 40 hat 32 IOs.

Davon können x-beliebige eingänge und x-beliebige ausgänge sein. Das heißt wenn ein pin auf 1 steht ist quasi ein ausgang aktiviert und wenn ein pin auf 0 steht ist quasi ein Eingang deaktiviert. oder aktiviert. je nach dem. Es liegt quasi an mir für was ich welchen Pin definiere...
Post Reply