257. Zeichen per RS232 als synchronzeichen
257. Zeichen per RS232 als synchronzeichen
Hat jemand eine Idee wie man an bei Profilab das Breaksignal am Eingang der RS232 erkennen kann und wie man ein solches erzeugen kann damit man sich den Unfug mit dem Einrahmen der Nutzdaten durch vorzugebende Zeichen schenken kann?
Zur Erklärung. Die RS232-Schnittstelle jedes PCs kennt ein 257stes Zeichen das als Synchronzeichen in einem beliebigen Datenstrom genutzt werden kann. Letztlich besteht ein BREAK aus einem Startbit (+12V) , den 8 Datenbits die die Zahl Null darstellen (alle Bits auf +12V) und ein ebenfalls bis zum Ende auf +12V gehaltenes (also invertiertes) Stoppbit. Vielleicht kennen manche das auch unter dem Begriff Long-Space-Disconnect um ein Modem per Sendedatenleitung zum Off-Hook zu bewegen. Leider fehlt diese elementare Funktion der RS232 völlig im Profilab.
mfg ötiföti
Zur Erklärung. Die RS232-Schnittstelle jedes PCs kennt ein 257stes Zeichen das als Synchronzeichen in einem beliebigen Datenstrom genutzt werden kann. Letztlich besteht ein BREAK aus einem Startbit (+12V) , den 8 Datenbits die die Zahl Null darstellen (alle Bits auf +12V) und ein ebenfalls bis zum Ende auf +12V gehaltenes (also invertiertes) Stoppbit. Vielleicht kennen manche das auch unter dem Begriff Long-Space-Disconnect um ein Modem per Sendedatenleitung zum Off-Hook zu bewegen. Leider fehlt diese elementare Funktion der RS232 völlig im Profilab.
mfg ötiföti
Re: 257. Zeichen per RS232 als synchronzeichen
Nein, leider keine Chance das zu machen, soweit mir das bekannt ist.
ABACOM support
Re: 257. Zeichen per RS232 als synchronzeichen
Sorry nicht machbar? Ob ein Break erkannt wurde steht aber im LSR (Line Status Register). Wenn COM1 als Basisadresse 3F8 hat steht unter Adresse 3FD das LSR. Das sind Standardfunktionen der COM-Schnittstelle.
Re: 257. Zeichen per RS232 als synchronzeichen
Portzugriffe sind schon lange nicht mehr das Mittel der Wahl. Heutzutage muß alles über Treiber gemacht werden. Welcher Rechner hat noch einen UART-Chip an dieser Basisadresse?
ABACOM support
Re: 257. Zeichen per RS232 als synchronzeichen
Klar, deshalb gibt es ja auch im Profilab unter Hardware auch die Funktion Portzugriffe. Dort gibt es auch den Zugriff auf den LPT-Port und der ist heute ebenfalls aus den Laptops verschwunden. Nur ist die Hardwareausrüstung für Spielerechner eben nicht der Maßstab aller Steuermöglichkeiten. Deshalb gibt es ja auch Einsteckkarten bei Laptops oder eben die üblichen Einsteckkarten für Standard-PCs. Im Übrigen ist die serielle Schnitte besonders in professionellen Anlagen der Industrie immer noch sehr verbreitet. Gerade deshalb wäre es
eine gute Idee darüber mal nachzudenken ob es nicht doch sinnvoll wäre die Serielle korrekt zu unterstützen.
eine gute Idee darüber mal nachzudenken ob es nicht doch sinnvoll wäre die Serielle korrekt zu unterstützen.
Re: 257. Zeichen per RS232 als synchronzeichen
Seriell, ja sicher über Treiber und Protokoll, aber doch bitte nicht mehr per Portzugriff! LPT ist ebenso tot. Nur noch für Abwärtskompatibilität alter Projekte vorhanden.
ABACOM support
Re: 257. Zeichen per RS232 als synchronzeichen
Der Hinweis auf Portzugriffe ist nichts anderes als eine Nebelkerze. Gerade die Abfrage über Portzugriffe wird eben nicht erwartet um ein Break zu erkennen bzw zu erzeugen. Ein Break bzw long space disconnect wie es bei Modems heist ist eine grundlegende Funktion der Seriellen und genau diese Funktion fehlt. Im übrigen ist das Nutzen des Break zum erkennen einer Start oder Stopfunktion von seriellen Daten der Version von ProfilabExpert weit überlegen weil unverwechselbar. Das Einrahmen bei Profilab mit hoffentlich im Datenstom nicht vorkommenden Zeichenfolgen des eigentlichen Datenstroms ist gegen die Brakerkennung nur eine Krücke.
Re: 257. Zeichen per RS232 als synchronzeichen
Nur zur Erinnerung:
PL(-E) ist ein Windows Program (Win32S, um genau zu sein).
Direkter Port Zugriff ist Geschichte, wie DOS und Windows 9x/Millenium Versionen (hier funktioniert direkter RS232-C noch).
In Windows NT (... NT 3.51, NT 4, 2000/Y2K(NT 5.0), XP(NT 5.1), VISTA(NT 6.0), 7(NT 6.1), 8(NT 6.2), 8.1(NT 6.3) und 10(NT 10)) wird nur noch über Treiber, auf die jeweilige HW zugegriffen (nicht nur RS232-C).
Mit anderen Worten: es ist eine Betriebs-System Restriktion (welche nur indirekt, etwas mit PL-E zu tun hat).
PL(-E) ist ein Windows Program (Win32S, um genau zu sein).
Direkter Port Zugriff ist Geschichte, wie DOS und Windows 9x/Millenium Versionen (hier funktioniert direkter RS232-C noch).
In Windows NT (... NT 3.51, NT 4, 2000/Y2K(NT 5.0), XP(NT 5.1), VISTA(NT 6.0), 7(NT 6.1), 8(NT 6.2), 8.1(NT 6.3) und 10(NT 10)) wird nur noch über Treiber, auf die jeweilige HW zugegriffen (nicht nur RS232-C).
Mit anderen Worten: es ist eine Betriebs-System Restriktion (welche nur indirekt, etwas mit PL-E zu tun hat).
++++++
Gruss/regards IKT
Gruss/regards IKT
Re: 257. Zeichen per RS232 als synchronzeichen
Die Darstellung ist ja geradezu lächerlich. ProfilabExpert benutzt doch die Direktzugriffe ohnehin. Um ein präzises Break zu senden braucht man nur die Tx-Leitung auf +12 schalten. Die Funktion hierfür ist doch als Portzugriff im Profilab vorhanden. Um nun aber ein präzises Break zu senden muß dieses +Signal eben nur über genau 10 Bits angelegt werden. Würde man null senden stünde an der Tx-leitung das +Signal nur für 9 Bit (der eingestellten Bitrate) an weil das Stopbit immer -12V an der Schnittstelle ist.
Die Erkennung eines Break ist dann gegeben wenn eine null empfangen wurde und zusätzlich das Stopbit statt wie erwartet auf -12V auf +12V liegt. Hierzu ist zusätzlich die Abfrage des Linestatusregisters nötig. Und das soll nun so schwierig zu programmieren sein?
Im Übrigen, hier noch ein Link der Ihre Aussage bezüglich der Unmöglichkeit von Portzugriffen komplett widerlegt.
https://www.heise.de/ct/ausgabe/2015-24 ... 52706.html
viel Spaß bei'm Lesen.
Die Erkennung eines Break ist dann gegeben wenn eine null empfangen wurde und zusätzlich das Stopbit statt wie erwartet auf -12V auf +12V liegt. Hierzu ist zusätzlich die Abfrage des Linestatusregisters nötig. Und das soll nun so schwierig zu programmieren sein?
Im Übrigen, hier noch ein Link der Ihre Aussage bezüglich der Unmöglichkeit von Portzugriffen komplett widerlegt.
https://www.heise.de/ct/ausgabe/2015-24 ... 52706.html
viel Spaß bei'm Lesen.
Re: 257. Zeichen per RS232 als synchronzeichen
Na dann, viel Spass beim Programmieren, wenn es doch sooo... einfach ist!ötiföti hat geschrieben:Hierzu ist zusätzlich die Abfrage des Linestatusregisters nötig.
Und das soll nun so schwierig zu programmieren sein?
++++++
Gruss/regards IKT
Gruss/regards IKT