welche programmiersprache/readimmediate mit vb6 geht nicht

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

Moderator: Guido Körber

Robert Marquardt
Posts: 543
Joined: Mon Dec 01, 2003 6:09 pm

Post by Robert Marquardt »

Unter 8 ms zu gehen lohnt nicht. Der IOWarrior sagt 10 ms und Windows macht 8 ms daraus.
Zusaetzlich werden die Reports im Treiber gepuffert, daher verliert man nur selten Reports.
formatc1702
Posts: 55
Joined: Thu Apr 15, 2004 11:23 pm
Contact:

Post by formatc1702 »

hey!

ich hab den code noch nich ausprobiert, mach ich vielleicht am abend, aber deiner beschreibung nach ist das ja recht ordentlich!!
es ist gar nicht so schlimm mit dem modul, da kann ich ja vielleicht noch andere apis und sachen reinbauen die später noich kommen
also erstmal thx a lot :o
mal schauen obs jetzt endlich so geht wie ichs mir seit langem (1.4 jahre vielleicht) wünsche
formatc1702
Posts: 55
Joined: Thu Apr 15, 2004 11:23 pm
Contact:

Post by formatc1702 »

hey!

ich hab deinen code ausprobiert, aber das ding stürtzt sofort nach dem start ab. ich habe noch ein wenig an meiner implementation gearbeitet und es geht jetzt alles wie gewollt 8)
ich muss jetzt noch die lcd und iic funktion einbauen, und meine gesamte oberfläche designen, aber die kommunikation klappt! source-code und exe poste ich wohl demnächst
trotzdem vielen dank für eure hilfe! langsam blicke ich wieder durch :D
FlitzPin
Posts: 24
Joined: Sun Apr 18, 2004 3:47 pm

Post by FlitzPin »

Hi.

Ich vermute mal das die gesamte Entwicklungsumgebung abstürzt.?

Wird vermutlich an dieser Zeile liegen:

Code: Select all

Form1.clsIOWRI.CheckData (lng_buffer)
Wenn die Form nicht Form1 heisst kommt es zu einem Absturz.

Auch das Klassenmodul muss den angegebenen Namen haben.

Wegen der Timer Geschichte hab ich mich nochmal schlau gemacht. Mit dem Win32-Timer (also auch vbTimer, SetTimer-Api, etc.) liegt die minimale Auflösung bei ca. 40 ms (auf NT- basierenden Windosen).
Wenn man es schneller haben möchte muss man sich selber einen Timer schreiben (Google: HiRes Timer). 40 ms sollten für einen Taster trotzdem reichen


@CodeMercs: Kann man nicht im Forum die Möglichkeit implementieren kleine Dateien hochzuladen (Code zu posten reicht ja anscheinent nicht immer) und Bilder (für Schaltpläne) ins Posting zu setzen? Würde das Forum in jedem Fall aufwerten. ;)
formatc1702
Posts: 55
Joined: Thu Apr 15, 2004 11:23 pm
Contact:

Post by formatc1702 »

hey!
:D geiiil :D
ich hab deinen code bei mir verbessert (die namen der form usw.) und es läuft 8)
bei meiner version ist die ide fast immer auf die eine (einfrieren) oder die andere (einfach verschwinden) weise abgestürzt
ich hab das mit den klassen noch nicht so durchschaut deswegen war mir nicht klar was da alles schiefgehen kann aber gut, dass man experten in diesem forum findet :wink:
fertiger code mit ein paar schönen extras ist im kommen
fwh
Posts: 23
Joined: Thu Jul 28, 2005 7:27 pm

Post by fwh »

Hallo,

ich stell mich kurz vor da erstes Posting in diesem Board.
Heiße nicht fwh sondern Detlev und besitze seit 3 Tagen das IOW40 Starterkit. Die Hardwareseite klappt schon ganz gut, jetzt beschäftige ich mich mit der softwaremäßigen Ansteuerung unter VB5 (!).
Auch hier erste Erfolge und erwartungsgemäßes Scheitern bei der Abfrage der Pins (von Port 3, der mich zunächst interessiert).

Ich hab' das SDK Beispielprogramm dahingehend angepaßt, dass ich jede LED gezielt ein- und ausschalten kann. Nun habe ich das lange Beispiel von FlitzPin dort integriert. Alle Achtung, raffiniert gemacht. Ich kriege nur leider keine Events beim Ein- und Ausschalten der LED's. Der Timer läuft, die Class ist eingebunden und deklariert. Ich mußte nur die IOWHandle-Zuweisung ändern, da im SDK-Beispiel das Device ja schon durch das iowHandles-Feld geöffnet wurde (also geändert in IOWHandle = iowHandles(0) ).
Schon bei seinem ersten kleinen Beispiel einige Postings zuvor kriege ich nur 3: FF FFFFFF01 und daran ändert sich auch nix.

Nun drängt sich natürlich die Frage auf, ob VB5 hier Defizite hat. Um VB6 Programme zum Laufen zu kriegen muß ich in der .vbp mit einem Editor den Schlüssel Retained=0 entfernen. Das kenne ich schon und scheint nix weiter auszumachen. Zusätzlich muß ich bei diesen Beispielen noch den Schlüssel DebugStartupOption=0 entfernen, den VB5 auch nicht kennt.

Hat vielleicht jemand eine Idee, ob ich mich mit VB5 tatsächlich totsuchen kann da nicht kompatibel?
Die Abfrage der Pins wäre immo zwar nicht lebensnotwendig, aber hilfreich.

Freue mich über einen Tipp!

Gruß
Detlev
FlitzPin
Posts: 24
Joined: Sun Apr 18, 2004 3:47 pm

Post by FlitzPin »

Hi.

Steht im FormLoad() noch die Zeile

Code: Select all

 clsIOWRI.IgnorePort(3) = True
?
Wenn ja wird es wahrscheinlich daran liegen. Mit der IgnorePort Eigenschaft kann man festlegen, das auf bestimmten Ports bei einer Änderung kein Ereignis ausgelöst wird.
Das erste Beispiel vom Mar 24, 2005 12:02 pm (!!) sollte aber schon die richtigen Werte ausgeben.

Mittlerweile würde die Klasse aber auch leicht anders aussehen, da es ja nun eine IOW-API (beta?) gibt in der IowKitReadImmediate erwartungsgemäss funzt. Mein IOW liegt z.Zt in irgendeinem Karton, deshalb hab ich sie noch nicht ausprobiert.

Zu VB5 kann ich leider nicht allzuviel sagen, zumindest weiss ich nicht ob die von mir geschriebene Klasse so läuft, den IOW wirst Du aber problemlos über die API ansteuern können.
fwh
Posts: 23
Joined: Thu Jul 28, 2005 7:27 pm

Post by fwh »

Erstmal danke für die Antwort!
Die IgnorePort Anweisung hatte ich schon erkannt, die war's leider nicht.
Ich werd' mich noch mal eingehend mit dem Urskript beschäftigen und mir auch die API ansehen. Wenn ich noch was herausfinde, werd' ich's hier posten.

Gruß
Detlev
fwh
Posts: 23
Joined: Thu Jul 28, 2005 7:27 pm

Post by fwh »

Problem erkannt....

Die auf dem Starterkit IOW40 installierten LED's sind zum Lesen offenbar ungeeignet. Mit extern versorgten LED's geht's. Die neue API scheint ihr Übriges dazu beigetragen zu haben.
Schade nur, dass vor dem ersten Schreiben keine Message in der Pipe steckt. Ich habe noch keine Möglichkeit gefunden, den Pin-Status nach dem Starten der Software abzufragen.

Gruß und vielen Dank!

Detlev
Mike D
Posts: 91
Joined: Wed Jun 02, 2004 4:07 pm
Location: Elbe- Weser-Dreieck
Contact:

Post by Mike D »

ist das mit den LEDs nicht vor ein paar Tagen erklärt worden?

Ja, hier: http://www.codemercs.com/phpBB2/viewtopic.php?t=177
Post Reply