|
Autor |
Steuerprogramm für meine Selbstbau-Relais-Karte Suche nach: relais (22447) |
|
|
|
|
BID = 356865
LeoLöwe reloaded Schreibmaschine
Beiträge: 1407 Wohnort: Meine
|
|
Viele Leute bauen sich ja für den LTP-Port des PCs tolle Relais-Boards, LED-Karten und vieles mehr.
Was aber, wenn der Bastel-PC die Latschen hochklappt und man mal schnell seine 8-LED super-Matrix den Kumpels zeigen will, das olle DOS-Programm aber unter Windows XP, 2000 etc. seinen Dienst versagt?
Erstmal kommt dann der panische Blick ins Forum. Wer sich Mühe macht, postet sein Problem in einem Programmier-Forum, wird dort aber nur entnervt zum Suchen geschickt.
Google spuckt endlose DLLs etc. aus, die wollen aber auch eingebaut werden. Und vor allem Verstanden, ansonsten tut sich nix.
Was will der Kerl eigentlich????
Ich hab mir die Mühe gemacht, die DLLs zu durchforsten und mit Delphi ein schönes GUI drumzubasteln.
Was kann das Programm?
Das Programm, welches ich geschrieben habe, kann zum einen eine Relais-Karte am LTP-Port ansprechen.
Zum anderen kann es aber auch, wofür man sonst immer teure Software wie LeC braucht, die Relaus-Karten für den COM-Anschluss der Fa. Conrad ansprechen.
Nanu! Wie das?
Ganz einfach: Man lese die Anleitung der Karte und bastele sich eine kleine Unit.
Hier die zwei Wichtigsten Kommandos:
(Ein Frame besteht immer aus vier Bytes, das lezte ist eine Prüfsumme)
Setup: 1 Kartenadresse x Prüfsumme
Relais: 3 Kartenadresse Daten Prüfsumme
Die Prüfsumme ist eine XOR-Verknüpfung aus den ersten drei Bytes.
Beim Setup gibt man der ersten Karte eine Adresse, wenn mehrere Karten kaskadiert sind, bekommt die folgende Karte immer die Adresse der Vorgängerkarte + 1
Die Karte antwortet je nach Befehl mit einem weiteren Frame.
Soweit zur Theorie, die Umsetzung war eigentlich relativ einfach.
Hört sich toll an, woher bekomm ich das?
Hier, in diesem Forum!
Für alle, die eine Programmiersprache können:
In dem Zip-Archiv sind die Quelldateien und die Dlls. In den Units zu den DLLs sind alle Funktionen aufgelistet, eigentlich sollte es leicht möglich sein, die Funktionen zu portieren.
Für alle anderen gibt es ein fertig kompiliertes Programm, was unter Windows XP, 2000, 98 und 95 (getestet) läuft.
Hier ist ein Screenshot, man kann jedes Relais einzeln auf 0 oder 1 setzen
Wichtig: Ladet bitte auch die Datei Relaiskarten-Tester.rar mit runter und entpackt die DLLs in das selbe Verzeichnis wie die Project 1.exe.
Ansonsten funktioniert das Programm nicht!
_________________
We now return you to your regularly scheduled nonsense.
[ Diese Nachricht wurde geändert von: LeoLöwe reloaded am 5 Aug 2006 21:41 ]
[ Diese Nachricht wurde geändert von: LeoLöwe reloaded am 5 Aug 2006 21:43 ] |
|
BID = 356870
DonComi Inventar
Beiträge: 8605 Wohnort: Amerika
|
|
Hallo Leo,
Ich finde das prima, dass, wenn man nützliche Programme schreibt, diese auch für andere interessierte veröffentlicht.
_________________
|
|
BID = 356871
LeoLöwe reloaded Schreibmaschine
Beiträge: 1407 Wohnort: Meine
|
Hier nochmal ein Selbst entpackendes Archiv mit den beiden DLLs.
Unter C:Relaiskarten-Tester findet sich dann alles was man braucht.
@DonComi:
Ich arbeite ja nicht bei M$!
Ich wollte das Programm eigentlich schon viel eher uploden, hab aber über nen Monat gebraucht um das Ding zu debuggen.
Hoffentlich läuft das Tool sauber.
Fehler können ja hier gepostet werden, ich kümmer mich dann drum
[OT]
Welcher Flegel hat bei der Umfrage eigentlich "Schrott" angeklickt?
[/OT]
_________________
We now return you to your regularly scheduled nonsense.
[ Diese Nachricht wurde geändert von: LeoLöwe reloaded am 5 Aug 2006 22:02 ]
|
BID = 356968
Der Stefan Neu hier
Beiträge: 28 Wohnort: -
|
Kann mir bitte mal wer die .exe so schicken irgendwie funtzt des nämlich nicht, des mit dem .txt wegmachen.
E-Mail: kbs950 (äht) gmx.net (automatisch editiert wegen spamgefahr)
Gruss: Stefan
|
BID = 357055
LeoLöwe reloaded Schreibmaschine
Beiträge: 1407 Wohnort: Meine
|
Naja das ist wohl ein Windows-Bug
Geh mal in den Arbeitsplatz. Dann klicke unter "Extras" auf "Ordneroptionen".
Dann wähle die Registerkarte "Ansicht" und entferne den Haken bei "Erweiterungen bei bekannten Dateitypen ausblenden".
Dann alles bestätigen.
Schon siehst du die Endung .txt und kannst sie entfernen.
_________________
We now return you to your regularly scheduled nonsense.
|
BID = 357071
Primus von Quack Unser Primus :) nehmt ihn nicht so ernst
Beiträge: 7389
|
[anmerkung]
...es muss heissen REL ein und nicht REL an
[/anmerkung]
_________________
...geguckt wird mit den Augen, nicht mit den Fingern!
|
BID = 357102
LeoLöwe reloaded Schreibmaschine
Beiträge: 1407 Wohnort: Meine
|
Dann schnapp dir den Quellcode und schreibs um
Sind denn sonst noch (ernstgemeintere) Verbesserungen nötig?
_________________
We now return you to your regularly scheduled nonsense.
|
BID = 357107
Primus von Quack Unser Primus :) nehmt ihn nicht so ernst
Beiträge: 7389
|
...das ist ernst gemeint
_________________
...geguckt wird mit den Augen, nicht mit den Fingern!
|
BID = 357109
SIGINT Stammposter
Beiträge: 381 Wohnort: Mönchengladbach
|
@Primus: Bist du da sicher!?!?
Es heisst doch ein Relais zieht "an" und nicht "ein", oder? Allerdings faellt ein Relais ja auch "ab" und nicht "aus" Kleiner Scherz am Rande.
@Leo: Ich hab mir das Prog nicht genauer angeschaut.. aber jedes Bemuehen ist schon was Wert. Also auch ein Lob von meiner Seite. Ich haette noch eine Idee zum Thema Hardware:
Man koennte doch verschiedene Interfaces ueber ein PLUGIN-System, wie bei Winamp, unterstuezen. Man haette dann eine "Wrapper-DLL" die ueber Plugins verschiedene IO-Interfaces unterstuezt. Ist aber wahrscheinlich etwas Programmieraufwand.
Gruss,
SIGINT
|
BID = 357120
LeoLöwe reloaded Schreibmaschine
Beiträge: 1407 Wohnort: Meine
|
Die Idee ist sehr gut und ich könnte das auch, wenn ich mir heute abend (mal wieder) mein Delphi-Buch reinpfeife sowas realisieren.
Wobei das Problem ist, das ich den Quellcode für die DLLs nicht habe...
Deswegen wäre die Frage, ob sich der Aufwand lohnt.
Aber: Wenn sich hier im Forum einige fähige Programmierer finden, die mit der Windows-API etc. klarkommen, könnte man ja selbst eine solche DLL schreiben, ich bräuchte da auch noch einen kleinen Port-Zugriff auf eine Hardware, die keinen Treiber hat (Wandlerkarte von anno uralt)
Das Laden der DLLs an sich ist mit Delphi ja keine Kunst, man könnte ja einfach eine .ini Datei und die DLLs je "Package" zusammenstellen und diese dann auslesen.
Das Problem sind halt die DLLs, ich habe von keiner den Quellcode! Meine "Arbeit" bestand darin, die GUI zu basteln und rauszufinden, wie man a. einzelne Pins am Port setzt ohne andere zu stören und b. wie man diese Conrad-Karte anspricht.
Also wie gesagt: Wer den Quellcode einer solchen DLL hat oder mir sagen könnte, wo ich ansetzen bzw. suchen müsste um selbst sowas zu schreiben, immer her damit!
(Google-Link mit Schnipseln reicht, den Rest bekomme ich schon irgendwie hin. Aber ohne Ansatz...)
_________________
We now return you to your regularly scheduled nonsense.
|
BID = 357123
DonComi Inventar
Beiträge: 8605 Wohnort: Amerika
|
Von welcher DLL sprichts du denn?
Was willst du mit dem Quellcode, der kann dir doch egal sein.
Die DLLs basieren ja darauf, dass man ihre Funktionen benutzten kann, die "exportiert" werden.
Du usst lediglich wissen, wie diese Funktionen / Prozeduren heißen und welches Parameter samt Parameterdatentypen sie erwarten bzw. zurückgeben.
Es wird also alles wichtige einer DLL dokumentiert sein, wenn sie anderweitig benutzt werden soll. Ansonsten helfen Dependency Walker.
_________________
|
BID = 357135
Der Stefan Neu hier
Beiträge: 28 Wohnort: -
|
@LeoLöwe reloaded: Danke!
|
BID = 357139
LeoLöwe reloaded Schreibmaschine
Beiträge: 1407 Wohnort: Meine
|
Ich hätte halt gerne den Quellcode, da ich gerne verstehen würde was das ding da macht und ausserdem würde ich wie gesagt gern ein Programm für meinen Wandler schreiben.
_________________
We now return you to your regularly scheduled nonsense.
|
BID = 357140
LeoLöwe reloaded Schreibmaschine
Beiträge: 1407 Wohnort: Meine
|
Sorry Doppelpost
[ Diese Nachricht wurde geändert von: LeoLöwe reloaded am 6 Aug 2006 21:55 ]
|
BID = 357144
Primus von Quack Unser Primus :) nehmt ihn nicht so ernst
Beiträge: 7389
|
Zitat :
SIGINT hat am 6 Aug 2006 20:21 geschrieben :
|
@Primus: Bist du da sicher!?!?
Es heisst doch ein Relais zieht "an" und nicht "ein", oder? Allerdings faellt ein Relais ja auch "ab" und nicht "aus" Kleiner Scherz am Rande.
|
...der Anker des Relais wird angezogen und fällt ab, aber der Kontakt schaltet ein und aus
_________________
...geguckt wird mit den Augen, nicht mit den Fingern!
|