Forum: PC Hard- und Software Suche eine Art Logicanalyzer für den Lpt


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Hans L. (holzwurm56)


Lesenswert?

Hallo,
ich steuere meine Maschine über den Lpt-Port und habe ein Problem mit
dem Spindelindex. Das Eingangssignal am Lpt sieht auf dem Oszilloskop
aus als wenn es in Ordnung wäre, aber ich glaube der PC erfasst nicht
jedes Signal. Kennt jemand ein Programm mit dem ich ein Eingangsignal
an einen Pin vom Lpt so ähnlich wie bei einem Logicanalyzer darstellen
kann. Dann könnte ich sehen ob alle Signale bei verschiedenen
Drehzahlen erfasst werden.
MfG
Hans

von Stefan F. (Gast)


Lesenswert?

Unter DOS bis Windows 98 wäre es einfach gewesen.

von Thomas (kosmos)


Lesenswert?

da du ja einen Logic Analyzer dazwischen klemmen willst kann das ja auch 
ein Gerät sein welches mit einem aktuellen Rechner und USB verbunden 
ist.

Vielleicht läuft aber auf deinem Rechner zu viel anderes Zeug mit was 
ihn ausbrennst Virenscanner,.... so das die Abtastrate am LPT Port 
sinkt, so ein Rechner mit LPT Port dürfte ja nicht ganz so viel Power 
haben.

Schau mal im Bios nach, vielleicht hast du unnötigerweise einen 
langsameren LPT-Mode ausgewählt. Oder du änderst gezielt die Priorität 
einzelner Programme damit die die CPU nicht so stark auslasten.

Ich würde vorschlagen du nimmst DigiTrace (Hatte das mit einem 
selbsgebauten Adapter benutzt glaub erst mit Widerständen und später mit 
einen Bustreiber Baustein 74HCT24...irgendwas
https://jwasys.home.xs4all.nl/old/diy2.html

Und speist mit einem Frequenzgenerator ein immer schnelleres Signal ein 
irgendwann findest du Aussetzter wenn das Muster nicht mehr gleichmäßig 
abwechselnd ist.

Hatte da noch irgendeinen Treiber für den LPT-Portzugriff (Win98 glaub 
das ging sogar noch bei XP) am laufen, vielleicht findest du den auf der 
oben verlinkten Seite.

Edit: hier noch was zu LPT Logic Analyzer 
https://www.mikrocontroller.net/articles/Logic_Analyzer#Parallelport_LA

: Bearbeitet durch User
von Harald K. (kirnbichler)


Lesenswert?

Da der Frickelport über keinerlei "Intelligenz" verfügt, wenn er als 
Ersatz für einen I/O-Port genutzt wird, muss die Anwendung, die ihn 
nutzt, pollen, d.h. mit ausreichend hoher Geschwindigkeit immer und 
immer wieder alle Eingänge einlesen, um Änderungen erkennen zu können.

Tut sie das zu langsam, kann es vorkommen, daß kurzzeitige Änderungen 
nicht erkannt werden.

Wenn man nun mit einem Logikanalysator herummisst, misst man zwar das, 
was von außen an dem Port ankommt, aber nicht, was die Anwendung durch 
ihr Pollen am Port einliest.

(Es sei denn, das ist ein wirklich steinuralter PC, bei dem der 
Frickelport noch "diskret" aus einzelnen Logikgattern auf einer 
ISA-Steckkarte aufgebaut ist, dann kann man den Logikanalysator 
natürlich auch an diesen Logikbausteinen anschließen -- da aber 
derartige ISA-Karten vor etwa vierzig Jahren verwendet wurde, ist es 
eher unwahrscheinlich, heute so einem Ding zu begegnen).

Also bleibt wenig mehr, als den PC von unnötiger Belastung zu befreien. 
Virenscanner deaktivieren, Hintergrundprozesse deaktivieren, nicht 
gleichzeitig anderen Krempel auf dem PC laufen lassen.

Das ist halt der Nachteil des Frickelports, mehr als "Bit-Banging" geht 
damit nicht.

von Christoph Z. (christophz)


Lesenswert?

Falls du LinuxCNC verwendest könntest du mal die Tipps von hier 
probieren:
https://forum.linuxcnc.org/38-general-linuxcnc-questions/27574-data-logging-with-linuxcnc#44439

Es scheint da ein halscope bzw. halsampler zu geben, damit kann man 
solche Probleme analysieren.

Du könntest natürlich auch LinuxCNC installieren oder von einer LiveCD 
aus starten um halscope zu nutzen. Wenn es in LinuxCNC geht, weisst du 
halt leider immer noch nicht, ob es in deiner üblichen CNC Software 
geht.

von Jim M. (turboj)


Lesenswert?

Hans L. schrieb:
> ich steuere meine Maschine über den Lpt-Port und habe ein Problem

LPT Port Hardware wird mittlererweile selten. Beim erwarteten Ausfall 
der alten PC Hardware steht die Maschine dumm da.

Da ist dringend ein Redesign fällig, externe Kommunikation macht man 
heutzutage über einen µC und USB.

Man könnte auch bestimmte FTDI USB2UART Chips benutzen, die haben 
spezielle Modi. Aber nicht alle unterstützen MPSSE - ein Blick ins 
Datenblatt hilft.

von Stephan S. (uxdx)


Lesenswert?

welches OS benutzt Du denn ???

von Harald K. (kirnbichler)


Lesenswert?

Jim M. schrieb:
> Man könnte auch bestimmte FTDI USB2UART Chips benutzen, die haben
> spezielle Modi.

Der gute alte FT245 ist direkt für den Parallelbetrieb gedacht, ganz 
ohne MPSSE.

von Michael (Firma: HW Entwicklung) (mkn)


Lesenswert?

Jim M. schrieb:
> LPT Port Hardware wird mittlererweile selten.
Nö.
Die erfreuen sich robuster Gesundheit als PCIe Karten.

> Man könnte auch bestimmte FTDI USB2UART Chips benutzen
Gewinnt man nix.
Flaschenhals ist immer das OS und das ist auf Usability getrimmt und 
nicht auf RT für Maschinensteuerung.

Natürlich gibt es die üblichen Verdächtigen wie Linux CNC auf 
handverlesener Hardware, aber wenn es wirklich schnell sein soll, dann 
braucht auch Linux CNC spezial-HW für ein kleines Vermögen.
Dabei schafft ein Arduino bereits das Ansteuertiming, weil er kein 
überfrachtetes OS mitschleppen muss, das sich immer an den ungünstigsten 
Momenten ein Stück vom CPU Kuchen nimmt.

Wenn der TO mal Ross und Reiter nennen würde, könnte man sicherlich was 
empfehlen.

von Harald K. (kirnbichler)


Lesenswert?

Michael schrieb:
> Gewinnt man nix.

Doch, denn die können mehr, als nur gepollt werden zu können.

Wenn man vernünftige Schnittstellen nutzt, kann man auch mit einem 
normalen Betriebssystem erheblich mehr erreichen als ausgerechnet mit 
dem Frickelport.

von Michael (Firma: HW Entwicklung) (mkn)


Lesenswert?

Harald K. schrieb:
> Wenn man vernünftige Schnittstellen nutzt, kann man auch mit einem
> normalen Betriebssystem erheblich mehr erreichen als ausgerechnet mit
> dem Frickelport.

Und damit immer noch erheblich weniger als mit der kleinsten MCU.
All das wird dem TO sicherlich nicht helfen, da er höchstwahrscheinlich 
die SW nicht selber schreibt und ihm die theoretischen Segnungen der 
USBtoPAR Wandler verschlossen bleiben.

von Hans L. (holzwurm56)


Lesenswert?

Hallo,
ich benutze Mach3 und Windows 7 Home premium. Ich bin schon lange auf 
der Suche nach einer Alternative, aber ich habe auf der Drehmaschine 
auch
2 elektronische Handräder installiert, damit ich auch 
quasi-konventionell
drehen kann. Da gibt es praktisch nichts vergleichbares.
MfG
Hans

von Sebastian S. (amateur)


Lesenswert?

Ich würde empfehlen den Rechner ordentlich aufzuräumen und alles zu 
löschen, was bei 100 nicht auf den Bäumen ist.
Ich gehe mal davon aus, dass der Rechner für sonst nichts zu gebrauchen 
ist, bzw. nicht weiter genutzt wird.
Notfalls das System (vorher Image erstellen) sichern und neu 
aufsetzen/installieren. Angeblich ging es ja mal.
Ob sich aus dem Gezappel, was Du direkt am Port sehen kannst, irgendwas 
ersehen lässt, wage ich zu bezweifeln.

von Michael (Firma: HW Entwicklung) (mkn)


Lesenswert?

Hans L. schrieb:
> Das Eingangssignal am Lpt sieht auf dem Oszilloskop
> aus als wenn es in Ordnung wäre, aber ich glaube der PC erfasst nicht
> jedes Signal.
Möglich.
Win ist kein RT OS.

Bei welcher Impulslänge und Frequenz?
Tritt der Fehler auch bei niedrigen Drehzahlen auf oder erst ab Drehzahl 
X?

https://www.precifast.de/pc-fuer-mach-3-vorbereiten/
Hast Du beachtet?

von Michael (Firma: HW Entwicklung) (mkn)


Lesenswert?

Mach3 soll mit Win7 diverse Probleme haben.
Dübel Dir mal XP drauf und schau ob die Probleme damit verschwinden.

von Hans L. (holzwurm56)


Lesenswert?

Auf dem Rechner ist nur Mach3, der hat noch nichtmal einen 
Internetanschluß.
Ich habe ev. noch eien XP-Rechner. Ich werde es mal mit dem probieren.
Der Fehler tritt bei allen Drehzahlen auf.

von Michael (Firma: HW Entwicklung) (mkn)


Lesenswert?

Hans L. schrieb:
> Der Fehler tritt bei allen Drehzahlen auf.
Okay.

Michael schrieb:
> Impulslänge und Frequenz?
Wenn der Impuls oder die Pause kürzer ist als zwei Abfragen am LPT 
dauern, bekommt der PC das nicht mit.

Vergleiche mal mit der kürzesten Pulslänge die mach3 erzeugen kann.

: Bearbeitet durch User
von Franz W. (fwsm)


Lesenswert?

Von sysinternals ( jetzt bei Microsoft ) gibt es den Portmon als Tool.

https://learn.microsoft.com/en-us/sysinternals/downloads/portmon

Zitat --------------------

Portmon is a utility that monitors and displays all serial and parallel 
port activity on a system. It has advanced filtering and search 
capabilities that make it a powerful tool for exploring the way Windows 
works, seeing how applications use ports, or tracking down problems in 
system or application configurations.

Zitat ende ----------------

von Frickel F. (frickelfritze)


Lesenswert?

Moin Hans,

ich kann mich auch nur noch dunkel erinnern, ist schon sehr lange her 
als ich mit Mach3 gearbeitet hatte.

Was mir so in den Kopf kommt...
- Was ist das für ein LPT-Port, PCI Karten hatten ihre Probleme.
- Falz es der on-board Lpt ist, im Bios mal schauen als was er 
eingestellt ist, Glaube PP war es bei mir, EPP und ECP ging wohl nicht, 
oder war es andersherum... mal probieren.
- In Mach3 selber konnte man den "Kernel Speed" einstellen, der gibt vor 
wie oft die Pins abgeklappert werden im Interrupt.
- XP ohne klim bim wurde schon genannt.

Dann hast du nichts geschrieben wie der Spindelindex aussieht, ist das 
er nur ein kurzer Puls, oder was in Richtung 50/50?

Gruß.

von Wilhelm S. (wilhelmdk4tj)


Lesenswert?

Hallo zusammen, hallo Hans.

Hans L. schrieb:
> Ich habe ev. noch eien XP-Rechner. Ich werde es mal mit dem probieren.

Hier einen Link, wo du IO-Sys zerren kannst.
https://www.strippenstrolch.de/7-0-2-treiber.html

Brauchst du u.U., um auf die Schnittstelle zugreifen zu können.
Es gibt auch noch 'Allow_IO', mit dem ich nicht zurechtgekommen bin.

73
Wilhelm

von Thomas H. (thomash2)


Lesenswert?

Jim M. schrieb:
> Hans L. schrieb:
>> ich steuere meine Maschine über den Lpt-Port und habe ein Problem
>
> LPT Port Hardware wird mittlererweile selten. Beim erwarteten Ausfall
> der alten PC Hardware steht die Maschine dumm da.
>
> Da ist dringend ein Redesign fällig, externe Kommunikation macht man
> heutzutage über einen µC und USB.
>
> Man könnte auch bestimmte FTDI USB2UART Chips benutzen, die haben
> spezielle Modi. Aber nicht alle unterstützen MPSSE - ein Blick ins
> Datenblatt hilft.

Beim LPT Port geht es vorrangig um die Latenz, die bekommst du mit USB 
nicht hin (dort gibt es zu viel Jitter).
Es gibt genug LPT Karten (PCI/PCI-Express) zum Nachrüsten - man sollte 
aber weit weg bleiben von USB.

von Thomas H. (thomash2)


Lesenswert?

>> Man könnte auch bestimmte FTDI USB2UART Chips benutzen
> Gewinnt man nix.
> Flaschenhals ist immer das OS und das ist auf Usability getrimmt und
> nicht auf RT für Maschinensteuerung.
>

Es geht wie erwähnt um die Latenz. Bei USB bekommt man nicht mal 1ms 
garantiert hin.
Wenn ein Puls zu kurz gehalten wird kann das gleich Offsets ergeben.

> Natürlich gibt es die üblichen Verdächtigen wie Linux CNC auf
> handverlesener Hardware, aber wenn es wirklich schnell sein soll, dann
> braucht auch Linux CNC spezial-HW für ein kleines Vermögen.
> Dabei schafft ein Arduino bereits das Ansteuertiming, weil er kein
> überfrachtetes OS mitschleppen muss, das sich immer an den ungünstigsten
> Momenten ein Stück vom CPU Kuchen nimmt.
>
> Wenn der TO mal Ross und Reiter nennen würde, könnte man sicherlich was
> empfehlen.

Es gibt genug Möglichkeiten bei LinuxCNC, und wenn 150 EUR schon ein 
kleines Vermögen darstellen .. na ich weiß nicht.

von Harald K. (kirnbichler)


Lesenswert?

Franz W. schrieb:
> Von sysinternals ( jetzt bei Microsoft ) gibt es den Portmon als Tool.

Der bringt nur Ergebnisse, wenn auf dem "offiziellen" Weg mit dem 
Frickelport kommuniziert wird. Man kann, mit Hilfe von Treibern à la 
"giveio.sys" oder "givelpt.sys" aber auch aus einem Usermode-Programm 
mit direkten I/O-Zugriffen auf den Frickelport zugreifen, und das geht 
komplett an Portmon & Co. vorbei, weil das kein Devicetreiber mehr und 
kein Betriebssystemaufruf mehr sieht.

Da Programme, die mit dem Frickelport hantieren, oft aus DOS- bzw. 
Windows9x-Zeiten stammen, unter denen diese Art von Programmierung 
üblich war, hat sich das Konzept auch nachher gehalten.

Rufus hat das ganze mal vor langer Zeit beschrieben:

Beitrag "Re: Vista und Billigprogrammierer?"

Und hier auch für einen Frickelport-EPROMer zusammen mit DOSbox:

Beitrag "[Anleitung] DOS-Parallelport-EPROMer unter Windows 8.1 (x64)"

Wenn also die CNC-Software deratige Tricks einsetzt, dann hilft Portmon 
nicht. Nur kann die Software dann den Frickelport erheblich schneller 
pollen als über den sonst nötigen Devicetreiberaufruf.

von Hans L. (holzwurm56)


Lesenswert?

Ich habe den Xp Rechner nicht mehr gefunden. Da habe Win7 gelöscht und 
installiere auf diesen Rechner Xp. Es sind ja wohl zigtausende von Mach3
Maschinen im Einsatz, irgendwie wird es auch bei mir irgendwann 
funktionieren. Ich hatte auch schonmal eine Maschine mit LinuxCNC und 
Mesakarten gebaut, war allerdings eine Servoanlage. Die Auswahl des 
Rechners ist auch bei LinuxCNC nicht unkritisch und Hilfe bekommt man 
auf Deutsch nicht allzuviel. Ich suche schon lange eine Alternative mit 
einem
externem Controller, aber da sind die Alternativen überschaubar und bei
LinuxCNC gibts praktisch nur Mesa. Wenn jemand eine Alternative zu Mach3
und dem Printerport kennt, bin ich für jeden Vorschlag dankbar.
Hans

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.