beatzler
Goto Top

Relaiskarte an LPT per Batch steuern

Hey,

kennt ihr ne Möglichkeit bzw. die entsprechenden Befehle und Bit´s die gesetzt werden müssen um bestimmte Schalzustände am parallelport zu generieren?

Das ganze soll zur Ansteuerung einer Relaiskarte mit 8 Relais dienen.

Ich habe nun schonmal ein wenig gesucht und folgenden Hinweis gefunden:

"Du müsstest ein einzelnes Zeichen auf LPT1 schreiben.

Am besten erstellst du mit einem Hexeditor oder dem DOS-Programm
EDIT (Ctrl-P drücken, dann Alt festhalten und Zahl eingeben) eine
Datei mit dem Byte-Wert.

Mit dem Befehl "copy meinedatei lpt1" kannst du die Daten dann auf
dem Parallelport ausgeben."

Ist dies so realisierbar ?

Kennt jemand die parameter (bits) welche gesetzt werden müssen?

Würde das ganze gerne per Batch machen da ich diese am besten weiterverarbeiten kann und das ganze später ggf. noch auf bestimmte Zeitzyklen erweitert werden soll...


Wäre für jeden Ratschlag sehr dankbar !

Vielen Dank

Mfg Beatzler

Content-Key: 109075

Url: https://administrator.de/contentid/109075

Printed on: April 20, 2024 at 01:04 o'clock

Member: problemsolver
problemsolver Feb 16, 2009 at 07:04:01 (UTC)
Goto Top
Hallo Beatzler,

du hast Glück... genau vor so einem ähnlichem Problem stand ich auch! Grob gesagt gibt es zwei Möglichkeiten, die ich gefunden habe:

1.) Ich musste lediglich über den LPT-Port ein Signal einlesen, das von der Relaiskarte kommt, um einen Ausdruck eines Etiketts zu starten. Umgekehrt geht es natürlich auch, allerdings ist das komplizierter und muss z.B. mit VB programmiert werden. Leider finde ich den Link nicht mehr face-sad Schick mir mal ne PN, falls Du "näheres" wissen willst. ;)

2.) Du erledigst es über Programmierung, wo Du nicht drum herum kommen wirst, bei deinem Problem. Hierfür benötigst Du die inpout32.dll (als Beispiel) Es gibt genügend Beispiele und Quellcode hierzu.
Hier liegt die inpout32.dll
Beispiel mit VB (etwas tiefer auf der Seite, ansonsten google Suche nach inpout32.dll)

Wenn Du "Debugging" auf den Ports machen möchtest, so sei dir die Sysinternalssuite mal ans Herz gelegt face-smile

Ich wünsche Dir viel Erfolg!

Gruß

Markus
Member: Beatzler
Beatzler Feb 16, 2009 at 08:29:39 (UTC)
Goto Top
Hallo Markus,

vielen Dank zunächst für deine Hilfe face-smile hat mir schon sehr geholfen!

Da ich gestern noch feststellen musste ob das ganze ggf. nun nicht doch über RS232 angesteuert werden soll ( Dann natürlch über mehrere Schnittstellen...) und ich mir schon fast gedacht habe das man dazu in die "tiefgründige" Schnittstellenprogrammierung einsteigen muss ich mich damit wohl mal ein wenig beschäftigen face-smile

Ich werde mich mit dem Thema mal ein wenig befassen und mich dann nochmals hier melden face-smile

Hätte evtl. gehofft das es ggf. nen einfachen Befehl zum Bit Setzen so ala OUT 378 1,25 zum setzen von Pins 1 und 25 gibt ....

Vielen Dank erstmal !

Mfg Beatzler
Member: Eddie1980
Eddie1980 Feb 17, 2009 at 22:30:55 (UTC)
Goto Top
Hallo Beatzler

Es wäre noch interessant auf welchem Betriebssystem du dies relisieren möchtest.
Leider lässt Windows XP (also alles ab Windows NT) keinen direkten Zugriff auf den
Parallel-Port mehr zu ohne speziellen Treiber.
Nimmst du allerdings ein DOS, Windows 95/98 oder ein Linux so ist
alles einiges einfacher und du brauchst keine speziellen dll s etc.

Zitat von @Beatzler:
Hätte evtl. gehofft das es ggf. nen einfachen Befehl zum Bit
Setzen so ala OUT 378 1,25 zum setzen von Pins 1 und 25 gibt ....
Im Programmcode wäre es dann wirklich so einfach.

Hast du ein wenig Programmiererfahrungen?

Grüsse Ed
Member: Beatzler
Beatzler Feb 18, 2009 at 08:11:08 (UTC)
Goto Top
Hallo Eddie,


vielen Dank für deine Antwort. Das das ab XP nicht mehr direkt unterstützt wird würde dann auch erklären warum es mit Q-Basic nicht so klappt wie in alten Threads beschrieben oder erklärt ....

Leider richtige Programmiererfahrung ( noch ) nicht.... kann ein wenig Batch und Q-Basic schreiben aber nur Grundlagen ...

Hatte mich in meinen alten Q-Basic Foren nochmal informiert und da wurde es auch so relativ einfach beschrieben jedoch passierte dann nie was auf der Karte ....

Mein "Server" läuft jedoch mit XP und den jetzt nur wegen der Relais Ansteuerung umzusetzen würd ich ungern machen ....

Mhh echt ein wenig kniffelig ...


Mfg Beatzler
Member: Eddie1980
Eddie1980 Feb 21, 2009 at 01:40:34 (UTC)
Goto Top
Hallo Beatzler

Sorry, dass ich nicht früher schreibe. Leider bin ich sehr im Stress zur Zeit.

Zitat von @Beatzler:
würde dann auch erklären warum es mit
Q-Basic nicht so klappt wie in alten Threads beschrieben oder
erklärt ....
Ja, Q-Basic ist da nicht unbedingt die richtige Wahl.
Wusste gar nicht, dass es dies immer noch gibt face-smile
Aber mit Basic hab ich auch mal begonnen zu programmieren.

Zitat von @Beatzler:
Leider richtige Programmiererfahrung ( noch ) nicht.... kann ein
wenig Batch und Q-Basic schreiben aber nur Grundlagen ...

Ich denke das bringen wir schon hin, wenn du mit diesem Projekt keine Eile hast,
kann ich dir dabei helfen. Ich werde morgen oder am Sonntag mal schauen mit welchem
Treiber ich dies damals gelöst hatte. Ist eben schon ein weilchen her und ich habe alles
auf einer alten Harddisk, welche ich zuerst in Betrieb nehmen muss.

Zitat von @Beatzler:
Mein "Server" läuft jedoch mit XP und den jetzt nur
wegen der Relais Ansteuerung umzusetzen würd ich ungern machen

Ja, das würde ich auch nicht machen.
Wobei unter Linux hättest du dies innerhalb von ein paar Minuten gelöst face-smile

Ich melde mich wieder.
Viele Grüsse
Ed
Member: Eddie1980
Eddie1980 Feb 21, 2009 at 02:12:55 (UTC)
Goto Top
Schon wieder ich face-smile

Habe jetzt schnell nachgeschaut.

Hatte es damals mit ntport Treiber gelöst

http://www.zealsoftstudio.com/ntport/

Glaube er war jedoch nicht ganz gratis.
Aber es gibt eine Demoversion bei der man einfach immer auf
Ok klicken muss.

Damit du dir mal ein Bild machen kannst,
ein Beispielprogramm in der Programmiersprache C,
könnte z.B. so aussehen:

C-Programm:
//25.10.2003
#include<stdio.h>
#include<stdlib>
#include <conio.h>

#include "ntport.h"
#define outp Outp
#define inp Inp

int main()
{
outp( 0x378, 0x01 );

getch();
return 0;
}

So jetzt muss ich aber mal ins Bett. *Gääähn*

Grüsse Ed
Member: Beatzler
Beatzler Feb 21, 2009 at 12:58:09 (UTC)
Goto Top
Hey,

vielen vielen Dank erstmal für deine ausführlichen und hilfreichen Antworten Eddi !!!

Ich werde mir das ganze mal ein wenig ansehen und ggf. mit dem besagten N-Port und C mal probieren.... ein paar C Grundlagen sind auch noch irgendwo ganz tief vorhanden :D

Zeitkritisch ist das ganze Projekt eher nicht ist für mich privat für nen paar Ansteuerungen...

Werde damit erstmal bisse experimentieren ! Vielen Dank nochmals !


Mfg Beatzler
Member: Hausen
Hausen Oct 22, 2009 at 18:25:24 (UTC)
Goto Top
Hallo Markus,

du hast damals folgendes geschrieben.:

"1.) Ich musste lediglich über den LPT-Port ein Signal einlesen, das von der Relaiskarte kommt,"

Wie hast Du das realisiert. Habe auch eine Relaiskarte und möchte dort per Batch die Eingänge
abfragen. Leider finde ich dazu nicht all zu viel.

Könntest Du mir da weiterhelfen???

Danke und Gruss

Norbert
Member: problemsolver
problemsolver Oct 22, 2009 at 20:05:52 (UTC)
Goto Top
Hallo Hausen,

schau mal hier: http://www.dg6rb.de/
Geh unter Software und lad dir lptkey herunter.
Die Bedienung ist einfach. Einfach das Signal des Relais auf Port 15 des LPT Ports geben oder löschen und das Programm führt die 15.bat aus face-smile

Gruß

Markus
Member: Hausen
Hausen Oct 27, 2009 at 15:14:03 (UTC)
Goto Top
Hallo Markus,

danke für Deine Antwort und dem Link. Habe mir das Programm mal angeschaut.
Weisst Du zufällig ob es auch möglich ist, alle vier Eingänge des LPT-Ports zu überwachen?

Gruss Norbert
Member: problemsolver
problemsolver Oct 27, 2009 at 19:00:52 (UTC)
Goto Top
Klar. Geht. Musst aber selbst programmieren. Hoffe du kannst n bissle programmieren. face-smile

Siehe hier: http://www.google.de/#hl=de&q=visual+basic+parallel+port


Geht natürlich auch mit anderen Programmiersprachen...

Gruß & viel Erfolg

Markus
Member: Hausen
Hausen Oct 31, 2009 at 09:22:42 (UTC)
Goto Top
Hallo Markus,

ja programmieren kann ich und ich hatte da auch schon was zu beim goggle gefunden.
Wollte aber das Rad nicht wieder neu erfinden und war deshalb etwas faul face-smile

Habe mich aber mal mit dem Prorammierer von dem Programm das Du mir genannt
hast und er ist super hilfsbereit und hat mir sein Tool umgeschrieben bzw. hat er mir
ein neues Programm geschrieben face-smile

Herzlichen Dank fürdie Hilfe hier.....

Gruss Norbert