When the solution matters

Registrieren Einstieg Dokumentation Code Archiv Mail-Archiv Support Programme

Serieller Port

 

Inhaltsverzeichnis

Serielle Schnitstelle mit 4D nutzen

Da wir dazu immer wieder Anfragen erhalten sollten hier kurze die Möglichkeiten zusammengefasst werden um mit der seriellen Schnittstelle zu arbeiten.

Nötige Hardware

A) dürfte klar sein

B) meistens wird Keyspan verwendet. Mac Spezialist, das gibt hohe Wahrscheinlichkeit für Unterstützung zukünftiger MacOS Systeme. Keyspan HiSpeed USB Seriell Port Adapter (DB9) kostet ca. 40 Euro (inkl. 16% Mwst) Für ältere Geräte werden Updates benötigt, siehe Apple Site: http://www.apple.com/downloads/macosx/drivers/keyspanusbadapters.html Es gab (unbestätigte) Meldungen in den Staaten das ganz alte Geräte nicht mehr gehen würden.

Es gibt "non name" Adapter im Fachhandel - diese liegen zwischen 10-15 Euro. Ich war etwas neugierig und habe mal einen bestellt. Er wurde vom MacOS Profiler sofort erkannt aber es waren keine Treiber im System enthalten. Der Profiler hat es als "serial adapter" mit ftdi chip erkannt. Man hätte also unter http://www.ftdichip.com sich die Treiber laden können. (google hilft beim Suchen nach solchen Daten) Die beiliegende CD (für Windows) hatte sogar Mac Treiber (OS 8, 9 und X). Nach Installation wurde das Geräte auch von 4D erkannt. Unter "Netzwerke" war es als zusätzliches Gerät wie ein Modem aufgeführt und insofern auch von allen Programmen aus nutzbar, auch die PPP Einstellungen (etc) waren verfügbar.

C) Ethernet... Für Windows gibt es diverse Geräte die eine Ethernet<->Seriell Wandlung durchführen. Auf den Windows Rechner kommt dann ein Treiber der virtuelle Com-Ports anlegt, diese sollten dann von allen Programmen (auch 4D) verwendet werden können. Auf Mac ist mir ein solcher Treiber nicht bekannt, es wäre aber sicher kein Problem einen zu schreiben. Von 4D ist es auch ohne Treiber nutzbar, d.h. alle Geräte können verwendet werden, siehe weiter unten. Die c't hat dazu auch ein Projekt (A-Modul) das erweiterungsfähig ist (B-Modul). Das ist nicht nur ein simpler Umsetzer, es enthält sogar einen Web-Server (zur Konfiguration), der per Java Programme erweiterbar/steuerbar ist, man kann Programme in den Flash-Speicher abladen. Das erlaubt sogar Erweiterungen, wie "wenn Kontakt 1 auf high (Rauchmelder) schicke E-Mail an xxx@xxx.com". Faszinierendes Spielzeug :-) In der Ausgabe 26/04 (Dezember) war das C-Modul, das ist ein 2 x Seriell <-> WLAN Wandler. Erlaubt die Anbindung von seriellen Geräten die außerhalb der normalen Verkabelung stehen, wie weit entfernte Telefonanlage. Bausatz ca. 250 Euro. Die Möglichkeiten des Geräts gehen weit über den normalen Bedarf hinaus.

Günstiger (mit weniger Möglichkeiten, aber fertig zu kaufen): Seriell <-> Ethernet, kostet ca. 100 Euro. Ethernet WLAN Bridge (Access Point mit Bridge Funktion). Der macht ein transparentes Einbinden ins WLAN, ohne das Treiber auf das Ethernet-Gerät müssen. Hilft auch um alte Macs oder sonstige Geräte ohne WLAN Funktionen kabellos einbinden zu können. Kosten ca. 100 Euro.

Software für Rechner mit seriellen Ports oder seriellem USB Adapter

Die Schnittstellen sind mit Set Channel ansprechbar. Dazu nicht 0 und 1 sondern 101..199 (bzw. 201/301) verwenden, siehe: http://www.4d.com/docs/CMG/CMG00077.HTM

Ermittlung der richtigen Portnummer

4D 2003 und älter Für 4D 2003 benötigen Sie ein Plugin, wie STKX_GetIndPort Oder den Port mit probieren (101 bis 10x) herausfinden. Die Nummern sind gewöhnlich fest, sie ändern sich nur wenn neue Geräte dazukommen.

4D 2004 und neuer

Der neue Befehl SERIAL PORT MAPPING liefert ein Array mit verfügbaren Geräten und deren derzeitige Nummern. http://www.4d.com/docs/CMG/CMG00909.HTM

Die Geräteliste könnte z. B. so aussehen: /dev/tty.usbserial-FTBTV7D9 /dev/tty.modem

Modem ist das interne Modem. Usbserial ist ein angeschlossener USB-Seriell wandler, FTBTV7D9 ist die Seriennummer des Geräts. Dieses wird auch unter "Netzwerk" angezeigt. Dadurch sind bei mehreren angeschlossenen Adaptern diese identifizierbar.

Alle neueren Geräte/Treiber werden unterstützt. Keyspan hat eine gute Seite die die dahinterliegende Technik beschreibt: http://www.keyspan.com/support/macosx/usa/docs/html/homepage04.html


Software für Ethernet <-> Seriell Adapter

Wenn ein Treiber dabei ist, der einen virtuellen Port emuliert dann siehe A) und B), das stimmt dann auch hier. Ansonsten nicht die Befehle für serielle Kommunikation verwenden sondern 4D Internet Commands. Mit TCP_Open das Gerät öffnen und mit TCP_Send bzw. TCP_Reveive die Datenübertragung.

Das C-Modul der oben angesprochenen c't Projektes hat (default) z. B. Port 10001 für den ersten seriellen Port, 10002 für den zweiten.

Dieses Gerät kann auch so konfiguriert werden, das es selbständig eine Verbindung zu einer angegebenen (IP/Port) Gegenstelle aufnimmt und Daten sendet, falls derzeit keine Verbindung offen ist (wenn z. B. eine Telefonanlage die Daten an einen Drucker ausgibt oder ein Diagnosegerät eine Warnmeldung senden will).

So, ich hoffe das beantwortet die grundlegenden Fragen. Wenn bei Ihnen USB-Geräte nicht gehen, bitte zuerst mal den Treiber prüfen, liegt meistens daran. Das "Installation" Guide von FTDI beschreibt übrigens für ein 12 Euro Gerät (inkl. USB-Verlängerungskabel) verblüffend ausführlich mögliche Ursachen und wie man diese beheben kann. http://www.ftdichip.com/Documents/InstallGuides/Mac_OS-X_Installation_Guide. Pdf

 

Meine Anregung zu dieser Seite:

Bemerkungen, Vorschläge, Fehler
Name
eMail

 

International | Firmenprofil | Kontakt | Site Map | © 4D 1995 - 2007 | Schriftgröße ändern: [A] [A] [A] | Diese Seite drucken - * Externer Link