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
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 109075
Url: https://administrator.de/contentid/109075
Ausgedruckt am: 13.11.2024 um 11:11 Uhr
12 Kommentare
Neuester Kommentar
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 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
Ich wünsche Dir viel Erfolg!
Gruß
Markus
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 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
Ich wünsche Dir viel Erfolg!
Gruß
Markus
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.
Hast du ein wenig Programmiererfahrungen?
Grüsse Ed
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.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 ....
Hast du ein wenig Programmiererfahrungen?
Grüsse Ed
Hallo Beatzler
Sorry, dass ich nicht früher schreibe. Leider bin ich sehr im Stress zur Zeit.
Wusste gar nicht, dass es dies immer noch gibt
Aber mit Basic hab ich auch mal begonnen zu programmieren.
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.
Ja, das würde ich auch nicht machen.
Wobei unter Linux hättest du dies innerhalb von ein paar Minuten gelöst
Ich melde mich wieder.
Viele Grüsse
Ed
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.würde dann auch erklären warum es mit
Q-Basic nicht so klappt wie in alten Threads beschrieben oder
erklärt ....
Wusste gar nicht, dass es dies immer noch gibt
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 ...
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
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
Ich melde mich wieder.
Viele Grüsse
Ed
Schon wieder ich
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:
So jetzt muss ich aber mal ins Bett. *Gääähn*
Grüsse Ed
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;
}
//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
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
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
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
Gruß
Markus
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
Gruß
Markus
Klar. Geht. Musst aber selbst programmieren. Hoffe du kannst n bissle programmieren.
Siehe hier: http://www.google.de/#hl=de&q=visual+basic+parallel+port
Geht natürlich auch mit anderen Programmiersprachen...
Gruß & viel Erfolg
Markus
Siehe hier: http://www.google.de/#hl=de&q=visual+basic+parallel+port
Geht natürlich auch mit anderen Programmiersprachen...
Gruß & viel Erfolg
Markus
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
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
Herzlichen Dank fürdie Hilfe hier.....
Gruss Norbert
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
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
Herzlichen Dank fürdie Hilfe hier.....
Gruss Norbert