FAQ


 
Oft gestellte Fragen - hier die Antworten
FAQ steht für "frequently asked questions"

  Zurück zur Übersicht



VModule + USB-VModule Mini
 

Wir möchten das USB-Counter-2 /L24 einsetzen. Arbeitet der Zwischenspeicher unabhängig vom Zähler?

Ja. Das USB Zähler-Modul USB-COUNTER-2 (mit Option /L24) besitzt intern ein Zwischen-Latch Register für 24 Bit, welcher beim ersten Lese-Bit (Stream) gespeichert wird. Damit kann der Anwender den Inhalt in Ruhe auslesen, ohne das Bits vom eingehenden Signal den Zwischenspeicher überschreiben (Augenblickswert). Die während des Lesens eingehenden Pulse werden in einem vorangestellten Zähl-Register weiter (im Hintergrund) aufgenommen, so das kein Impuls verloren geht und beim nächsten Auslesen der aktuelle Zwischenstand wieder übertragen werden kann. Der Latch erfolgt mit dem Lesen des ersten Bits automatisch (State-Machine im CPLD) und ist takt-unabhängig.
 
Wie kann man eine eigene Seriennummer in das VModul programmieren?

Mit dem FTDI-Tool: FTDI_MPROG.ZIP

Ein Universal-Template ist im ZIP-File enthalten. Bei neueren Windows-Treibern (ab Windows XP) ist die ursprünglich programmierte Gerätenummer offensichtlich nicht mehr ausreichend, um mehrere USB-Einheiten am Bus zu unterscheiden. Mit dem Tool lässt sich diese Nummer nachträglich in das EEPROM vom VModul programmieren. Im mitgelieferten Screen-shot sehen Sie die notwendigen Einträge, um den FT8U232AM zu beschreiben. Bitte verwenden Sie ausschließlich dieses Tool, da andere Utility-Programme des Herstellers den Baustein nicht richtig unterstützen. Das Bulletin (Application Note) zu dieser Maßnahme finden Sie hier: AN_000073.pdf

Wo finde ich eine genaue Beschreibung, wie man USB-Treiber zu den Modulen installiert?

Hier: http://www.ftdichip.com/Documents/InstallGuides.htm
und hier: http://www.pci-card.com/usbinstall.html

Wo finde ich die neusten USB-Treiber vom Chip-Hersteller zu den Modulen?

Hier: http://www.ftdichip.com/Drivers/VCP.htm

Können die USB-Module auch über eine USB-over-IP Box betrieben werden?

Nein. Im Schaltungsinnern jedes VModul-Controllers wird ein Serializer-Deserializer verwendet. Dies ist eine der zentralen Grundschaltungen mit serieller Datenkommunikation, die bit-weise Taktgesteuert arbeiten. Dabei findet eine synchrone Umcodierung zu einem Parallel-Register statt, welche mit einem Clock-Signal fest gekoppelt ist. Da die softwareseitige Ansteuerung hierbei sehr hardwarenah programmiert werden muss, ist keine zusätzliche Verzögerung der Signale durch weitere Konverter wie Repeater, USB-Switch, Router, Bridges oder Netz-Adapter wie USB-over-IP zulässig, die insbesonders mit zusätzlichen Treibern im System eingebunden werden müssen, oder Datenpakete aufgrund ihrer Topologie umleiten bzw. umkonvertieren. Die Programmierung der Bit-Schnittstelle (serielle handshake-Leitungen) erfolgt mittels Windows-API Befehle in einem engen Zeitraster direkt über eine virtuelle COM-Schnittstelle. Längere Signalverzögerungen durch USB-over-IP Boxen können hierbei zu unzulässigen Daten-Jitter führen. Die Folge sind Betriebsstörungen im Datenaufbau mit Schalt- oder Messfehlern, bis hin zu "aufgehangenen" USB-Schnittstellen ohne weitere Zugriffsmöglichkeit.

Dürfen USB-Kabel-Hubs verwendet werden?

Nein. Da diese speziellen Hubs insgesamt nur 500mA übertragen (bzw. belastet werden dürfen), ist der Anschluss mit der Belegung von nur einem VModul mit 400mA Stromaufnahme bereits erschöpft. Bei einem vollbelegten 4-fach USB Kabel-Hub stehen nur jeweils 125mA pro Anschluss zur Verfügung.

Können aufgrund zu langer USB-Kabel oder Filteradapter Messergebnisse verfälscht werden?

Ja. Die max. Kabellänge beträgt lt. USB-Spezifikation nur 5 Meter. Wenn zusätzlich EMV-Filteradapter oder Hubs eingeschleift werden, verringert sich die Kabellänge entsprechend, da diese Komponenten kapazitiv auf die Signalleitungen einwirken bzw. eine kleine Signalverzögerung bewirken. Da die Kabelkapazität im Normalfall bei ca. 150pF/m liegt, wirkt sich die Dämpfung eines Filters mit 300pF entsprechend wie ein Kabel von 2 Meter Länge aus. Bei der Planung bzw. Verkabelung müssen diese wichtigen Faktoren berücksichtigt werden, da es sonst zu Datenverlust oder einem "hang-up" der USB-Schnittstelle kommen kann.

Darf man USB2.0 und USB1.1 Komponenten an einem Hub mischen?

Das sollte man möglichst vermeiden. Wenn zusätzlich ein USB-Filteradapter verwendet wird, können ausschließlich nur noch USB1.1 Komponenten an diesem Port betrieben werden. Die schnellere Datenübertragung der USB2.0-Komponente (bsp. USB-Stick) kann zudem den Datentransfer von USB1.1-Komponenten kurzfristig blockieren und zu einem "hang-up" der USB-Schnittstelle, oder aber zu erheblichen Messfehlern führen, da die Kommunikation mit einem VModul nicht mehr synchron verfäuft.

Können Up-Dates für Betriebssysteme die USB-Schnittstelle beeinflussen?

Ja. Siehe hier: http://www.testticker.de/news/2008/04/18/20080418016.aspx

Kann die USB-Schnittstelle unter Windows hängen bleiben oder abstürzen ?

Ja. Bitte lesen Sie hierzu folgende Links:
http://www.usbman.com/Guides/KnownIssues_Win2K.htm

Ein USB-Gerät funktioniert eventuell nicht mehr einwandfrei, nachdem Windows Vista
aus dem Energiesparmodus oder Ruhezustand fortgesetzt wurde...

Bitte lesen Sie hier: http://support.microsoft.com/kb/928631

Kumulatives Update-Rollup für USB-Kernkomponenten in Windows Vista...

Bitte lesen Sie hier: http://support.microsoft.com/kb/941600

Sie erhalten eine Fehlermeldung, wenn Sie versuchen, ein USB-Gerät auf einem Windows Vista-Computer
zu installieren, welches von Windows XP aktualisiert wurde

Bitte lesen Sie hier: http://support.microsoft.com/kb/940267

Welche Windows-Version empfehlen Sie zu den Modulen ?

Windows NT4 unterstützt kein USB und Windows 2000/XP beinhalten leider immer noch ungelöste Bugs (besonders in den Erstversionen und den neueren Service-Packs). Diese Betriebssysteme sind meiner Meinung nach noch nicht ausgreift, um einen einigermaßen funktionierenden Betrieb mit Steuerungselektronik zu gewährleisten. Meine Empfehlung ist nach wie vor Windows 98SE oder Windows 7, denn hierbei sind die USB-Probleme noch am geringsten.

Wie justiere ich ein VModul-A/D nachträglich ?

Die Justage erfolgt normalerweise bei uns hausintern. Wenn Sie dennoch ein Modul selbst justieren möchten, sind folgende Schritte einzuhalten: 1. Grundeinstellung herstellen, 2. Nullpunkt-Justage (OFFSET), 3. Justage der Verstärkung (GAIN) und 4. überprüfen der Linearität über den gesamten Messbereich. Je nach Analogschaltung werden zur Justage 2 oder 4 Einstellregler (Potis) verwendet. Je 1x OFFSET und GAIN für den Vorverstärker und je 1x OFFSET und GAIN für den A/D-Wandler-Teil. Manche Spar-Schaltungen besitzen hierfür nur 2 Potis, da statische Grundfehler im A/D-Teil auch über die Einstellung des Vorverstärkers mit ausgeglichen werden können. Ist eine Schaltung nur für einen unipolaren Messbereich (bsp. 0...10 Volt) vorgesehen, reicht sogar nur ein Poti für den GAIN aus, da der "Nullpunkt" bereits schaltungstechnisch auf der analogen Groundplane (AGND) intern festgelegt wurde.

Annahme: Standard-Version mit 12- oder 16-bit ADC, VModul-A/D@RS232, VModul-A/D@USB oder VModul-A/D-mini-, Grundversion in single ended mode (voreingestellt zur Spannungsmessung -10...bis...+10 Volt).

1) Modul in Werkseinstellung bringen (Jumper für +/-10 Volt Messbereich setzen) und anschließend Daten-Kabel mit dem PC verbinden sowie Netzteil einschalten (grüne PWR-LED = an). Anschließend die Profilab-Expert Messerfassung auf dem PC starten. Kontrolle der Kommunikation mit LNK- (rot blinkend) und STS-LED (gelbe status-LED immer an) optisch prüfen, und ob Messwerte störungsfrei gelesen werden können (ohne große Spannungssprünge bei massefreien und offenen AD-Eingängen). Die Datenrate der Profilab-Expert-Anwendung entspricht ca. 300ms je Messkanal.

2) Zuerst den Nullpunkt abgleichen, indem man den Eingang A0 mit GND an der grünen Steckerleiste mit einer kurzen Drahtbrücke (etwa 1cm) kurzschließt und mit den Potis OF1 und OF2 wechselseitig den Messwert auf nahezu Null in Deckung bringt. Abweichung bei 12bit: +/- 1LSB (bzw. ±5mV), bei 16bit: +/- 3LSB (bzw. ±1mV).

3) Einen 1uF/50V bipolar Kondensator direkt am Messeingang (mögl. kurz an grüne Anschlussklemme A0 gegen GND) des Moduls parallel zum Spannungseingang (Kanal 0) anbringen. Anschließend eine genaue Referenzspannungsquelle (bsp. KEITHLEY 230) auf +9,950 Volt einstellen und anlegen, und mit den Potis GN2 und GADC wechselseitig, wiederum möglichst genau, auf den vorgegebenen Spannungswert einstellen. Diesen Vorgang mit angelegten -9,950 Volt wiederholen und ggf. Nullpunkt (OFFSET) und Verstärkung (GAIN) nochmals leicht an den Potis wechselseitig nachjustieren. Diesen Vorgang nach 15min. Betriebsdauer wiederholen. Bei der 16bit-Version (insbesonders bei PB) gilt dieser Vorgang nochmals nach 30min. zu wiederholen. Alle Justagen sind bei 21-23 Grad Celsius Raumtemperatur durchzuführen.

4) Endtest: Messwerte von -10 bis +10 Volt in 1-Volt-Schritten nacheinander anlegen und mit den Messwerten der Anzeige (Profilab-Programm) verifizieren. Damit soll lediglich die Linearität über den gesamten Messbereich grob überprüft werden.

Nachtrag: Die Linearität definiert sich u.a. aus der Abweichung von der besten Geraden eines Messbereichs, die durch den Nullpunkt verläuft. Der größte Linearitätsfehler ist die maximale Abweichung dieser Geraden, die als Prozentsatz des Gesamthubs oder in LSB (lowest significant bit) definiert wird. Zu diesem Fehler gehört auch jede Abweichung aufgrund der Unsymmetrie oberhalb und unterhalb des Nullpunkts. Analoge Schaltungen sollten für beste Resultate auf diese Empfindlichkeit optimal voreingestellt werden, da sich alle Messwerte und Einstellungen hierauf beziehen.

Ein USB-Modul soll in einer KFZ-Anwendung zum Einsatz kommen. Es ist während der Fahrt mit erheblichen Erschütterungen zu rechnen. Kennen Sie eine Möglichkeit, das USB-Kabel so zu fixieren, dass dieses eine sichere Verbindung zwischen Modul und Rechner gewährleistet?

Da das Modul für diese kommerzielle Anwendung, sowie aus Gründen der elektromagnetischen Verträglichkeit, in einen geschirmten Schaltschrank bzw. ein HF-dichtes Metallgehäuse eingebaut werden muss, könnte eine mechanische Zugentlastung direkt auf der Montageplatte, unterhalb des Moduls erfolgen. Entsprechende Kabelzugentlastungen (mit Grounding-Clampe) bietet beispielsweise die Fa. Farnell unter der Nummer: 353-8266 an. Zur externen Kabeldurchführung empfehle ich den Einsatz des USB-Filter-Adapters. Eine Gewährleistung zur sicheren Kabelverbindung kann trotz dieser Maßnahme jedoch nicht abgegeben werden, da die mechanischen Eigenschaften von USB nicht für eine dauerhafte Verbindung vorgesehen ist (Hot-pluggable bzw. Hot-swapping devices). Ich bitte um Verständnis. Techn. Info, siehe unter: http://www.usb.org/developers/devclass_docs/cabcon10.pdf.

Kleiner Tip: Notfalls kann man den USB-Stecker mit der Buchse auch fest verlöten, wenn man sicher ist, das diese Verbindung nie wieder gelöst werden soll und auf eine Gewährleistung verzichtet werden kann.

Können wir die Module wie eine richtige SPS einsetzen ?

Nein. Als eine Art "Ersatz" zu teuren SPS-Steuerungen, die oftmals das 10-fache oder mehr kosten, sind unsere Module nicht mit dieser Technologie vergleichbar. Insbesonders bei eigensicherer Automatisierungstechnik, die unter keinen Umständen ausfallen darf und/oder über eine sichere Fehlerfallbehandlung verfügt, sollten Sie auf Nummer Sicher gehen, und entsprechende Steuerungen beispielsweise von Siemens®, (Klöckner-)Moeller®, ABB® oder Allen-Badley® einsetzen.

Wir möchten mehrere USB-Module gleichzeitig an einem PC betreiben. Ist dies möglich? Wenn ja, wie werden dann die jeweiligen Module vom Treiber her unterschieden?

Ein FTDI-USB-Treiber gilt gleichzeitig für alle USB-Module. Alle USB-Module werden über durchnummerierte, virtuelle COM-Schnittstellen per Windows-API über die Handshake-Leitungen bit-weise angesprochen. Je COM-Port kann über den USB-Treiber ein weiteres Modul automatisch enumeriert und anschließend betrieben werden, wenn es im Gerätemanager eingetragen ist. Die Beispiel-Software ist jedoch immer nur für ein Modul exemplarisch und muss den Gegebenheiten vor Ort entsprechend erweitert bzw. angepasst werden. Ein gleichzeitiger Betrieb mehrerer Module ist möglich, jedoch nur aus einer Anwendung heraus. Mehrere Anwendungen können hingegen nicht auf ein Modul zugreifen.

Wie sollte der COM-Port der seriellen Schnittstelle zu den Modulen eingestellt sein ?

- Bits per second: 115200
- Data bits: 8
- Parity: None
- Stop bits: 1
- Flow control: Hardware

Kann man den USB-Port der VModule auch direkt auf Hardware-Ebene ansteuern bzw. programmieren?

Leider nein. Alle Daten zu/von den USB-Geräten müssen grundsätzlich über Treiber angesteuert werden. Direkte Hardware-Zugriffe über Portadressen, wie sie für andere Schnittstellen unter DOS oder Windows 3.x/9x verbreitet waren, sind aus betriebssystemtechnischen Gründen nicht möglich. Das Betriebssystem ist maßgeblich an der Steuerung von USB-Befehlen beteiligt. Zur Steuerung der USB-Geräte nutzen wir ausschließlich RxD, TxD und Handshakeleitungen der virtuellen COM-Schnittstelle über spezifische API-Befehle.

Ich habe zeitweise eine kleine Störung am VModul, sodass Eingänge und/oder Ausgänge kurz abweichen. Manchmal muss ich aber den PC komplett neu starten, da keine Kommunikation mit dem USB-Interface mehr möglich war. Kann das an der Verkabelung liegen?

Die Störsicherheit einer Anlage kann durch einen EMV-gerechten, geschirmten Schaltschrankaufbau, die richtige Leitungsverlegung, gute Masseverbindungen und eine solide Schirmung von Leitungen stark verbessert werden. Oft sind elektromagnetische Felder und/oder schnelle Transienten auf den Zuleitungen bzw. auf der Spannungsversorgung dafür verantwortlich, dass Steuerungskomponenten ausfallen bzw. gestört werden. Damit Störungen auf dem USB-Kabel nicht in den Schaltschrank eindringen, bieten wir bereits einen USB-Filter-Adapter an, den Sie separat erwerben können. Rückwirkende Störungen, hervorgerufen durch Schaltspitzen umliegender Komponenten (bsp. Schütz-Relais), können ebenfalls über die zu schaltenden E/As, Einfluss auf den Controller nehmen. Verwenden Sie im Schaltschrank daher immer Schirmbleche zur räumlichen Trennung zwischen Leistungselektronik und Steuerelektronik um eine mögl. hohe Entkopplung der Störfelder zu erreichen. Grundsätzlich sind in einem Schaltschrank alle Relais bzw. spulengetriebenen Bauteile mit entsprechenden Freilaufdioden und RC-Gliedern zu entstören.

Diese Antwort gilt nicht für Mini-Module:
Falls Sie ein eigenes Schaltnetzteil verwenden, können möglicherweise Schaltspitzen auf den USB-Controller einwirken und die Kommunikation behindern oder gar unterbrechen. Verwenden Sie in diesem Fall eine stromkompensierende Drossel (2x 4,7mH 1 Ampere mit je 22nF am E/A) zwischen Netzteil und Modul, um Störungen dieser Art zu unterbinden. Zudem wurden alle TTL-Ein.- und Ausgänge an dem Logik-IC (ispLSI1032E) durch interne Schaltungsänderungen gegen schnelle Transienten bedämpft. Falls Sie ein UpDate wünschen, können Sie uns gerne Ihr VModul-I/O@USB auf eigene Kosten einsenden, damit wir den Dateninhalt des Chips (ähnlich wie bei einem BIOS-UpDate) austauschen können. Die Änderung selbst ist kostenlos und kann bei uns innerhalb von ein paar Tagen vollzogen werden. Bei neueren Modulen ist das UpDate bereits enthalten. Stand 03.09.2003

Unter Windows-98/ME/2000 lief alles noch einwandfrei, unter Windows XP kann ich nicht einmal mehr den USB-Treiber zum VModul installieren. Was ist falsch?

Nicht umsonst heißt es in den Gazetten: "Never change a running system". Aber Spass beiseite. Möglicherweise handelt es sich noch um einen alten XP-Bug (USB-PnP wurde bei der ersten XP-Generation garnicht unterstützt) oder einen neuen Virus, der sein Unwesen hauptsächlich mit USB-Geräten bzw. deren Installationen treibt. Möglicherweise verhindern aber auch diverse XP-Sicherheitseinstellungen die Installation des Treibers oder es ist bereits ein Treiber installiert, der jedoch fehlerhaft arbeitet. Bitte überprüfen Sie dabei gleich noch die Einstellungen zum Power-Management, und ob in Ihrem Rechner-BIOS das USB-Flag auch wirklich auf "enable" steht.

Wir müssen unser Steuerprogramm in Testpoint® (c) by Keithley für die USB-Schnittstelle bzw. Com-Schnittstelle programmieren und kommen nicht mehr weiter. Gibt es ein Beispiel, wie man Ihre Geräte-DLL in Testpoint nutzen kann?

Nein. Leider kenne ich diese Software nicht und kann Ihnen dazu auch keine wertvolle Hilfe anbieten bzw. Tips geben, wie eine DLL in Testpoint einzubinden ist; (ausser eine URL zur Support-Seite, wo etliche Beispiele enthalten sind, die Sie sicher schon kennen). Die Beispiele, auf die sich meine DLLs beziehen, wurden nur mit LabVIEW 5.01 getestet. Weitere Beispiele stehen als offener Source-Code für Delphi-5 zur Verfügung, woraus sich die API-Ansteuerung der Hardware über die virtuelle COM-Schnittstelle erklärt. Damit die Programmierung unter Verwendung einer DLL ersichtlich wird, steht jeweils ein offener Delphi-5-Code zur Verfügung, wo Funktionen und Prozeduren zum jeweiligen Modul genutzt werden. Diese Beispiele dienen gleichzeitig zur Dokumentation der Schnittstelle bzw. Hardwareansteuerung. Andere Beschreibungen gibt es leider nicht. 

Das VModul-I/O-mini zeigt mir zeitweise falsche Daten der Optokoppler-Eingänge an. Woran kann das liegen?

Eventuell ist der USB-Treiber veraltet oder zu neu. Beides kann dazu führen, dass das Schnittstellen-Timing nicht mehr mit unseren Programmierbeispielen übereinstimmt. Bitte deinstallieren Sie den falschen Treiber mit dem beiliegenden FTDIUNIN.EXE und verwenden Sie anschließend den USB-FTDI-Treiber, den wir auf der Diskette mitliefern. Andere Treiber-Versionen sind nicht für unsere Module freigegeben. Falls es am Treiber nicht liegt, sollten Sie sicherstellen, dass Ihr Rechner-USB-Port die Verwendung von 500mA-Geräten zulässt, und dieser im Gerätemanager nicht limitiert wurde bzw. im Stromspar-Mode verweilt.

Mir ist aufgefallen, daß beim ziehen des USB-Steckers (wie z.B. auch beim Wackelkontakt) das Programm ohne Fehlermeldung einfach weiterarbeitet, natürlich mit falschen Werten. Eine sichere Steuerungsüberwachung ist daher eigentlich nicht möglich. Wie kann ich sicherstellen, dass die Kommunikation korrekt stattfindet bzw. eine Fehlermeldung erzeugen?

USB ist von Haus aus nur für Hot-pluggable devices ausgelegt: D.h. es kann während der Laufzeit ein Gerät entfernt oder angebracht werden, ohne den Rechner neu zu starten, die Anwendung zu unterbrechen, einen Treiber zu installieren oder eine Fehlermeldung zu erzeugen. Eine sichere Steuerungsüberwachung ist daher bei allen USB-Modulen nicht möglich. Eine Fehlerabfrage könnte aber sein, dass Sie vor und nach jedem I/O-Befehl die virtuelle COM-Port-Schnittstelle auf "Vorhandensein" überprüfen. Sollte die Schnittstelle ausfallen, da beispielsweise das Gerät entfernt wurde, kann somit zumindest dem Benutzer eine Message mitgeteilt werden.

Wie verhalten sich die Ausgänge beim Ein-/Ausschalten oder Booten bzw. haben die Ausgänge eine eindeutige Ruhestellung?

Beim Booten sind die Ausgänge der USB-mini-Module noch in Ruhelage (Power-Up-Reset). Werden die Ausgänge per Programm geschaltet, werden diese beim Abschalten des Rechners ebenfalls wieder auf Null gesetzt, solange das USB-mini-Modul direkt am Rechner-USB-Port betrieben wird. Wird das Modul über einen ext. USB-Hub permanent mit Spannung versorgt, können jedoch indifferente Zustände beim Ein/Ausschalten entstehen. Dies verhält sich je nach verwendetem Hub unterschiedlich. Ich empfehle daher den Einsatz von PCI-USB-Karten (nach USB1.1 Norm) mit mehreren USB-Schnittstellen, die je Port einen Ausgangsstrom von 500mA unterstützen.

Sind die VModule oder Mini-Module auch unter Linux lauffähig ?

Leider nein. Hierzu bieten wir weder einen Support, noch haben wir Treiber zur Verfügung.

Ich habe Windows-XP installiert. Ab und zu bricht bei meinem Rechner die USB-Verbindung zusammen und das Modul lässt sich nicht mehr ansteuern, bis das Programm wieder neu gestartet wird. Ist das Modul defekt?

Nein, das Modul ist wahrscheinlich in Ordnung. Windows-XP kann die USB-Schnittstelle nach belieben bzw. aus stromspartechnischen Gründen einfach abschalten, ohne das es der Benutzer gleich bemerkt. Sie können die Abschaltung im Windows-XP Gerätemanager deaktivieren, wenn Sie unter "USB-Root-Hub" im Ordner "Energieverwaltung" das Flag einfach abstellen. Weiterhin macht es durchaus Sinn, wenn Sie die Grundeinstellungen der Energieeigenschaften (Eigenschaften von Energieoptionen) zu Ihrem Computer so einstellen, dass ein Dauerbetrieb erfolgen soll. Siehe: Energieschemas > Dauerbetrieb.

Ich habe unter Windows-98 diverse USB-Timing-Probleme. Gibt es einen Patch hierzu ?

Ja, den gibt es. Dieser Patch gilt jedoch nur für die zweite Ausgabe von Win98 und behebt ein Problem mit dem USB-Bus, welches bei Rechnern mit AMD-CPU oder VIA-USB-Controller auftreten kann. Der Patch behebt einen Timingfehler, durch welchen einige USB-Geräte nicht richtig angemeldet werden konnten. 

Ich habe unter Windows Me, 2000 bzw. XP diverse USB- und Timing-Probleme. Gibt es einen Patch hierzu?

Auf neuen, insbesonders schnellen PCs ist die USB-Schnittstelle unter Windows-Me etwas empfindlicher gegenüber der Windows-98 Version, was das Timing angeht. Dies macht sich darin bemerkbar, dass die Optokoppler-Eingänge des VModuls teilweise unter Profilab-Expert falsch zurückgelesen werden, da Profilab ursprünglich sehr hart an der Hardwaregrenze der VModule programmiert wurde. Lange bzw. minderwertige USB-Verbindungskabel und eine erhöhte Betriebstemperatur des VModuls können das Problem zudem verschärfen. Ein Hersteller-Update soll dieses Verhalten aber bald berücksichtigen und das Problem mittels eines größeren Delays in der Leseroutine beheben. Leider habe ich noch keinen brauchbaren Patch gefunden, der direkt das Problem auf der Windows-Verursacherseite bzw. im USB-Schnittstellentreiber des Betriebssystems behebt. Wer mehr weiß, der möge sich bitte melden. Falls Sie ein ähnliches Verhalten unter Windows-XP feststellen, kann es sein, dass ein Update zur USB-Schnittstelle durchgeführt werden muss, da Windows XP anfangs kein USB unterstützte und später auch Probleme mit USB 2.0 hatte. Der Patch ist nach der Installation der Chipsatz-Treiber von Ihrem Mainboard zu installieren. Erst danach sollten die entsprechenden USB-Treiber der jeweiligen Geräte installiert werden. 

Falls unter Windows-2000 die USB-Schnittstelle "hängen" bleibt oder sich komplett verabschiedet, kann es sein, dass auch hier ein Update durchgeführt werden muss, da beispielsweise das ursprüngliche Windows-2000, VIA-Chipsätze mit den Bausteinen VT83C572 und VT82C586 nicht unterstützt. Bei anderen, nicht näher spezifizierten VIA-Chipsätzen kann es ebenfalls zu Windows-Fehlermeldungen kommen. Manche Mainboard-Hersteller bieten hierzu bereits einen separaten USB-Treiber zu ihren Produkten an. 

Wo finde ich Informationen bzw. Microsoft-Hotfixes zu USB-Problemen:

Falls Windows XP Probleme bei der isochronen Datenübertragung verursacht, finden weitere Informationen unter:
http://support.microsoft.com/default.aspx?scid=kb;de;307271

Falls Windows XP Probleme bei der Erkennung von USB-Geräten verursacht, finden Sie weitere Informationen unter:
http://support.microsoft.com/default.aspx?scid=kb;de;314634

Falls Windows XP nicht mehr ordnungsgemäß herunterfährt, finden Sie weitere Informationen unter:
http://support.microsoft.com/default.aspx?scid=kb;de;315664

Falls Windows XP nicht mit USB 2.0 Geräten kommunizieren will, finden Sie weitere Informationen unter:
http://support.microsoft.com/default.aspx?scid=kb;en-us;312370

Ich kann den USB-Treiber nicht installieren, bzw. das USB-Device funktioniert nicht. Was ist falsch ?

Beachten Sie bitte, dass der USB-Treiber nur unter Windows-Systemen mit USB-Unterstützung funktioniert. Beispielsweise werden Windows-3.x, Windows-95 oder Windows-NT4 nicht unterstützt. Bevor Sie unsere USB-FTDI-Treiber zum Produkt installieren, müssen die USB-Treiber von Ihrem Rechner bzw. Mainboard richtig vorinstalliert sein. Achten Sie darauf, dass die BIOS-Option: "USB Enable" auf "YES" bzw. auf "ON" steht.

Ich habe ein USB-Update mit dem FTDI-Treiber durchgeführt und habe nun ein seltsames Steuerungsverhalten an den USB-Modulen bemerkt. Was ist falsch?

Wahrscheinlich haben Sie den neuen Treiber einfach über den alten, bereits installierten Treiber, nur drüberinstalliert. Bevor man einen neuen USB-Treiber installiert, muss laut Hersteller der vorherige Treiber mit dem beigefügten "FTDIUNIN.EXE" komplett aus der Registry entfernt werden. Danach müssen alle USB-Komponenten, die den FTDI-Treiber benötigen, wieder neu an das System angemeldet werden. Bei der ersten Grundinstallation werden zwei FTDI-Treiber installiert: Der eine Treiber stellt den virtuellen COM-Port zur Verfügung, der im Gerätemanager bei den Anschlüssen als Neuzugang zu finden ist. Der andere sorgt dafür, dass die USB-Seite der FT232AM als USB-Gerät im Unterordner " Universeller serielle Bus Controller" erscheint. Ihre Hardware-Voraussetzungen (z.Beispiel: USB = Enable im BIOS) müssen natürlich auch erfüllt sein, damit USB-Geräte richtig erkannt werden und einwandfrei funktionieren. Ein einfaches Entfernen bzw. Deaktivieren aus dem Gerätemanager oder das manuelle Löschen der alten Treiber-Dateien reicht nicht aus, um den Treiber vollständig zu entfernen. Weitere Informationen und Updates können Sie beim Hersteller direkt herunterladen: http://www.ftdichip.com

Ich habe ein VModul-I/O an meinem Rechner im Schaltschrank angeschlossen, womit u.a. Schütz-Relais gesteuert werden. Beim betätigen der Schütze oder ausschalten des Rechners, macht das Modul einen Reset oder setzt willkürlich die Relais-Ausgänge auf High. Woran kann das liegen?

Allgemein: Ob USB-Modul, RS232-Modul, oder Mini-Modul: Störungen können bei allen elektronischen Komponenten, ganz gleich ob von uns oder Drittanbietern, zu Ausfällen oder Statusänderungen führen. Anwender und Errichter, insbesonders in der Schalt- und Anlagentechnik, müssen dafür Sorge tragen, dass Störgrößen möglichst gering oder besser garnicht auf Steuergeräte einwirken können, um einen funktionsgerechten Betrieb sicherzustellen. Leiterschleifen wirken wie Antennen, insbesonders wenn Sie räumlich ausgedehnt im Schaltschrank verteilt werden. In Industrieumgebungen stellen insbedonders Funkenstrecken in vielen Fällen die häufigsten, härtesten und breitbandigsten Störquellen dar. Sie entstehen vor allem bei Schalthandlungen (bsp. Relais, Schalter) und bei Elektromotoren (Kollektor), aber auch bei elektrostatischen und atmosphärischen Entladungen sowie Schweissgeräten. Die dadurch verursachten Störungen sind äusserst breitbandig (bis weit über 1 GHz hinaus) und können sowohl leitungsgebunden als auch feldgebunden auftreten. In unmittelbarer Umgebung einer grossen Funkenstrecke findet man dann Feldstärken von bis zu mehreren 100V/m vor. Aber Störung ist nicht gleich Störung: Die Kenntnis über Art der Kopplung ist wesendlich entscheidend für die Wahl der richtigen Entstörmaßnahme. Die am meisten eingesetzten Maßnahmen sind Schirmung, Filterung und Begrenzung, denn die Funktion von Geräten und Baugruppen kann erheblich durch elektrische, magnetische oder elektromagnetische Felder oder Transienten gestört werden. Hochfrequente, elektromagnetische Störungen, treten beispielsweise durch das Schalten von niederfrequenten Spannungen (bsp. Schütz-Relais), in Schaltnetzteilen oder bei Thyristorsteuerungen bzw. Triacs (bsp. Frequenzumrichter) und in der Funktechnik (bsp. Handy) auf.

Im Schaltschrank: Eine Grundregel besagt, dass eine parallele Leitungsführung von "sauberen" und störbehafteten Leitungen unbedingt vermieden werden soll. Eine Kreuzung der Leitungen sollte, wenn es sich nicht anders vermeiden lässt, nur im 90 Grad Winkel erfolgen. Auch die Verschaltung von 24 Volt Netzteilen bzw. Spannungsversorgungskreisen sollte dabei strikt getrennt vorgenommen werden, damit Spannungsschwankungen oder gar Spannungseinbrüche im Lastkreis nicht auf die Steuerelektronik rückwirken können. Verlegen Sie Motorkabel sowie alle analogen und digitalen Steuer- und Regelungsleitungen in separaten, abgeschirmten Leitungen weit auseinander (> 25 cm), um gegeseitige Beeinflussung zu vermeiden. Verwenden Sie ausreichend grossen Kupferquerschnitt und beachten Sie Potentialdifferenzen und Erdung innerhalb und ausserhalb des Schaltschranks. Verwenden Sie wenn möglich nur Kupfergeflecht-Kabel (CY) mit einer Bedeckung von 85%. Die einschlägigen DIN und VDE-Vorschriften (bsp. VDE 0100 und 0110) enthalten hierzu entsprechende Regelungen und Maßnahmen zur korrekten Verschaltung sowie Mindestabstände und Isolationsvorschriften. Diese sollte ohnehin jeder Errichter im Schlaf kennen.

Zur Ent-Störtechnik: Schütz-Relais haben grundsätzlich eine sehr hohe EMK und unter Sekundär-Last bilden sie oft einen vom Strom abhängigen Abrissfunken an den Kontakten, der sich auf die Kontaktspule auswirkt und Rückwirkung auf Steuerleitungen ausübt. Falls Sie keine Gegenmaßnahmen ergreifen, womit die EMK und Funkenbildung unterbunden wird, kann diese Störung bis zum Modul-Interface vordringen und beispielsweise einen Reset auslösen. Die in der EMV geforderte Störsicherheit von 10 V/m reicht nicht immer aus, um alle eingestrahlten bzw. eingeströmten Störgrößen völlig abzuwenden. Insbesonders bei nachgeschalteten Ventilen, Pumpen, Motoren u.a. Verbrauchern, die einen hohen Einschaltstrom benötigen, werden zum Teil hochenergetische, elektromagnetische Pulsfelder erzeugt, die je nach Drahtverhau, sich unmittelbar auf die Steuerelektronik und deren Schnittstellen auswirken können. Auch bei kapazitiven Verbrauchern können hohe Einschaltströme auftreten.

Tipps: Zur Lichtbogenunterdrückung (Abrissfunke am Schaltkontakt) eignet sich ein für Netzspannung geeignetes RC-Glied, dass unmittelbar über den Schütz-Kontakt geschaltet wird. Um die Gegen-EMK-Spannung der Spule zu begrenzen, wird eine bipolare Freilaufdiode, so kurz als möglich, über die Spulenanschlüsse am Schütz geschaltet. Zusätzlich können auch hier RC-Glieder einen wirksamen Entstörschutz gegen Störspitzen bieten. Zur Störbeseitigung von Schaltspitzen kann auch ein fertiges Tranzorb Dioden-Modul dienen, dass in den Steuerkreis einfach eingeschleift wird. Diese TRABTECH-Module der Firma Phoenix-Contact werden beispielsweise für die Tragschienenmonatge in Schaltschränken angeboten. 

Eine Twistet-Pair-Verdrahtung zwischen Steuergerät und Schütz ist einer normalen, unabgeschirmten Verdrahtung immer vorzuziehen. Achten Sie darauf, dass Sie keine Doppelbelegung der Steuerleitungen vornehmen, da sonst Verschiebeströme zusätzlich als Störquelle in Frage kommen. Doppelbelegungen von Steuerleitungen können wie Dipole wirken und hochfrequente Störfelder absorbieren. Masseschleifen gelten ebenfalls zu vermeiden. Weiterhin sollte der Erd-Anschluss der 3-poligen Versorgungsspannungsklemme (links unten) mit an die Schutzleiter-Erde oder an die Metallfläche der Schaltschrankrückwand angeschlossen werden. Dies gilt jedoch nur dann, wenn das Erdpotential völlig frei von Störungen ist. Ist, wie so oft, die Erde bzw. Massefläche des Schaltschranks ebenfalls gestört, sollte die Erdeklemme des VModuls nicht angeschlossen werden, oder besser, mit einer kurzen Drahtbrücke zum Minus-Pol verschaltet werden. Zur Spannungsversorgung des Moduls sollte immer unser 24-Volt Steckernetzteil verwendet werden, um Störtransienten aus der Netzspannung zu reduzieren und einen funktionsgerechten Betrieb sicherzustellen. Unser Steckernetzteil ist EMV-geprüft, bietet einen DC-Störschutz für schnelle Transienten und ist zudem Überlast- und Kurzschlussfest. Umfangreiches Installationszubehör wie Netzfilter, Varistor- und Tranzorbmodule sowie wertvolle Hinweise zur EMV-gerechten Verkabelung in Schaltschränken finden Sie beispielsweise unter www.phoenixcontact.com. Zur störfesten Verkabelung professioneller Steuerungen und Industrieanlagen empfehlen wir den Einbau in ein geschirmtes Kompakt-Schaltschrankgehäuse der Firma Rittal (Bestellnummer AE 1060700). 

Fazit: Grundsätzlich kann man heute sagen, dass Schütz-Relais zwar immer noch sehr beliebt sind, jedoch ehr der Vergangenheit angehören. In der modernen Schaltanlagentechnik werden zunehmend optoentkoppelte S.S.R.-Halbleiterrelais mit Nullspannungssensortechnik (Zero-sense) verwendet. Diese sind langlebiger und durch ihre optische Isolation auch nicht mehr mit dem EMK-Problem behaftet. Zudem schalten diese Halbleiterrelais während des Nulldurchgangs und schonen somit nachfolgende Verbraucher. 

Falls die hier angeführten Hinweise alle nicht greifen sollten, ist unsere Modul-Serie für Ihre Applikation wahrscheinlich ehr ungeeignet, da offensichtlich ein zu hohes Störpotential Ihrer Anlage vorliegt oder zu starke Rückwirkungen stattfinden. Eine völlige Imunität gegen Störfelder gibt es nicht - und wird es auch nie geben. Zudem ist der Betrieb unserer Produkte nur zum Einsatz an rückwirkungsfreien Zusatzeinrichtungen erlaubt.

Wenn Sie noch weitere Fragen zu diesem Thema haben, empfehlen wir Ihnen einen staatlich geprüften Elektrotechnik-Fachbetrieb vor Ort mit Systemkompetenzen in der SPS-Programmierung und Schaltanlagenbau mit Automatisierungkomponenten zu konsultieren. Der TÜV-Rheinland und die Firma Phoenix-Contact bieten zu diesem umfassenden Thema entsprechende Seminare an.

Wo finde ich einen Musteraufbau zum VModul ?

Hier, als PDF-File: Hinweise zur Installation der VModule...

Wo finde ich weitere Tips zur Errichtung einer EMV-gerechten Anlagenverdrahtung ?

Die Firma Phoenix-Contact hat hierzu bereits einen EMV-Bericht veröffentlicht.

Wo finde ich einen Schaltplan-Vorschlag, wie ein Netzfilter aufgebaut sein muss ?

Hier: http://www.pci-card.com/netzfilter-ac.gif
ACHTUNG Netzspannung !!! Nachbau auf eigene Verantwortung. UVV Sicherheitsbestimmungen, Isolierung, TAB und VDE beachten.

Was ist EMK ?

Der Begriff EMK bedeutet "elektromotorische Kraft" und stammt aus dem Bereich der Wirbelstrombremse, wo eine physikalische Wirkung auf mechanische Gegenstände wirkt und durch Induktion von bewegten Magnetfeldern auf eine Metallfläche eine bremsende Wirkung erzielt.

Wieso können sich die Ausgänge am VModul-I/O@RS232 ändern, wenn der Schnittstellenstecker gezogen/gesteckt wird?

Spass muss sein, desshalb eine Gegenfrage: Ziehen Sie bei Ihrem Auto auch während der Fahrt die Zündkerzenstecker heraus?

Ich habe mehrere USB-Mini-Module an meinem PC angeschlossen. Seitdem stürzt der Computer häufiger ab. Was ist falsch?

Einer der Gründe könnte sein, dass das PC-Netzteil für diesen Zweck zu schwach dimensioniert ist. USB-Geräte belasten das PC-Netzteil auf der 5 Volt-Ebene. Ist das Netzteil zu schwach, werden eventuell Speicherbausteine nicht mehr ausreichend mit Strom versorgt, was zu einem unkontrollierten Absturz o.a. sonderbaren Effekten führen kann.

Ich habe ein RS232-gesteuertes VModul an meinem Notebook angeschlossen und bekomme keine richtige Verbindung bzw. die zurückgelesenen Werte sind falsch oder zum Teil garnicht vorhanden. Was ist falsch?

Unsere RS232-gesteueren VModule setzen eine richtige RS232-Schnittstelle voraus, die auch den nötigen Signalpegel von ±12 Volt liefern kann. Oftmals werden die COM-Schnittstellen von kleinen, mobilen Rechnern wie Notebooks, nur mit der internen Akkuspannung betrieben, die dann zwischen 4...6,5 Volt liegt. Mit dieser kleinen Signalspannung ist es jedoch nicht möglich, die auf dem Modul befindlichen Eingangsoptokoppler richtig durchzusteuern, sodass ein Datenverlust in der Kommunikation eintreten kann. Helfen, kann entweder ein Schnittstellenkonverter der den Signalpegel wieder auf Normpegel anhebt, oder unser isoliertes USB-RS232 Konvertermodul, dass einen richtigen RS232-Signalpegel von ±12 Volt erzeugt.

Wie schnell ist ein VModul unter Profilab-Expert ?

Unsere Module sind generell nicht auf hohe Geschwindigkeiten ausgelegt. Die Programmierung von VModulen oder USB-mini-Modulen wird auch unter Profilab-Expert mittels virtueller COM-Port Schnittstelle vollzogen. Im Hintergrund laufen die API-Prozesse über die serielle Handshake-Steuerung mittels USB-Treiber ab. So braucht auch hier jedes Bit ca. 10ms für die Übertragung (worst-case). Je nach USB-Mini-Modul oder VModul, können Mess.- bzw. Steuerzyklen von 50ms (bsp. USB-I/O-mini-) oder bis zu 3,5 Sekunden (bsp. VModul-A/D 16 Kanal) auftreten, wobei die Zeit von 3,5 Sekunden für alle 16 Kanäle gilt.

Warum ist die Datenübertragung bei den VModulen so langsam ?

Kurz gesagt: Aus Kompatibilitätsgründen, um mit möglichst vielen Rechneren, betriebssystemunabhänig (z.beispiel mit RS232 auf älteren VModulen) zu kommunizieren, und aus der Tatsache heraus, dass Handshake-bits über API-Befehle nicht schneller über den FTDI-USB-Treiber ablaufen. Die Windows-API gestattet zudem eine einfache Anbindung, ohne spezielles Fachwissen in der Treiberentwicklung. Jedes einzelne Bit wird seriell über eine virtuelle COM-Handshakeleitung übertragen, die der USB SYS-Treiber koordinieren muss. Dazu werden folgende Leitungen genutzt: CLOCK, DATA-IN, DATA-OUT und ENABLE READ/WRITE. Mit diesen vier Leitungen ist die Kommunikation in beide Richtungen möglich. Wird beispielsweise ein 16-bit Register im VModul programmiert, muss der Datenport zuerst das ENABLE-WRITE per RTS setzen und dann 16x mit TxD CLOCKen, wobei das DATA-OUT mit DTR das entsprechende Bit dem End-Register im Modul zuweist. Da für jede Bit-Operation etwa 10ms benötigt wird, bis die Anwendung über die Windows-API, dann über den USB-COM-Treiber, dann über den USB-Port, dann über die Leitung in das Modul zum USB-Chip gelangt, um dann dort wieder von Seriell nach Parallel gewandelt zu werden, dauert diese Übertragung folglich ~160ms. Module mit nur 2 oder 4 Bits (bsp. USB-OPTO-4) benötigen entsprechend nur 20 oder 40ms.

Wie funktioniert die Kommunikation der VModule bzw. USB-Module im Einzeln ?

Zur Datenübertragung mit den Modulen (ob RS232 oder USB spielt keine Rolle) werden nur vier Bits der seriellen bzw. virtuellen COM-Schnittstelle benötigt. Ein Datenprotokoll bzw. eine Befehls-Syntax exsistiert nicht, da die Kommunikation per Einzelbitverarbeitung direkt über Handshakeleitungen vollzogen wird. Daher ist die Baudrate für die Verbindung unerheblich, da keine seriellen Daten im eigentlichen Sinn abgesetzt werden. Empfangen werden Daten über CTS, gesendet über DTR, das READ/WRITE Flag wird über RTS gesetzt und das CLOCK-Bit über TxD erzeugt. Theoretisch lässt sich für RS232-gesteuerte VModule  jeder Computer mit einer seriellen Schnittstelle, betriebssystemunabhänig hierzu einsetzen. Für den technischen Ablauf müssen jedoch Mindestzeiten zur Impuserzeugung zwingend eingehalten werden, da ansonsten fehlerhafte Daten erzeugt bzw. gelesen werden können (bsp. Optokoppler-Verzögerungszeiten). Bitte beachten Sie hierzu die folgende Bit-Informationen:

1) Das RTS-bit schaltet die Richtung um, ob zum Modul geschrieben wird oder gelesen werden soll. RTS=high=senden, RTS=low=empfangen. Das RTS-bit muss vor jeder nachfolgenden Operation mindestens 1ms stabil anliegen. Die Funktionen werden wie folgt angewendet:

EscapeCommFunction(hcomm,SETRTS);             // auf Senden stellen
EscapeCommFunction(hcomm,CLRRTS);             // auf Empfang stellen

2) Das DTR-bit stellt das zu übertragende Daten-bit in Senderichtung dar. DTR muss vor dem clocken mit TxD mindestens 1ms stabil anliegen. Die Funktionen werden wie folgt verwendet:

EscapeCommFunction(hcomm,SETDTR);             // DTR auf HIGH setzen
EscapeCommFunction(hcomm,CLRDTR);            // DTR auf LOW setzen

3) Das TxD-bit clockt das Datenbit DTR zum Modul oder stellt den Clock zur Verfügung, um Datenbits per CTS zu empfangen. Das empfangene Bit ist im Rückgabewert von GetCommModemStatus(hcomm,com_status); enthalten und wird mit AND 16 verknüpft. Bevor ein neues Value der Funktion empfangen werden kann, müssen 2ms abgewartet werden, da vorher die Windows-API keinen neuen Wert übergibt. Das geclockte TxD-bit muss mindestens 7ms anstehen, bevor weitere Operationen folgen können.

Sonderfunktionen:
Wird DTR ohne Clock gesetzt und anschliessend wieder gelöscht, wird der interne Registerzeiger im betreffenden Modul auf den Anfang zurückgesetzt, sodass eine neue Übertragung stattfinden kann. Bei einer fehlerhaften, abgebrochenen oder schlechten Übertragung kann somit die Verbindung bzw. Datenaufnahme wieder synchronisiert werden. Beispiel:

EscapeCommFunction(hcomm,CLRDTR);
EscapeCommFunction(hcomm,SETDTR);
EscapeCommFunction(hcomm,CLRDTR);

Wird das Datum für eine Registerkette (bsp. 16 Relais) übertragen, muss zuletzt ein Latch-Impuls ausgeführt werden, damit der Registerinhalt parallel an den Ausgangsport des Chips gestellt wird. Die Funktion wird wie folgt angewendet:

EscapeCommFunction(hcomm,SETRTS);             // auf HIGH für Send Data
// ...
// jetzt die Bits für den Registerinhalt übertragen
// ...
EscapeCommFunction(hcomm,CLRRTS);             // Übergabe wenn low

Der folgende Aufruf erzeugt ein NULL-Zeichen auf TxD: WriteFile(hcomm, PChar('')^, 1, dwCharsWritten, nil); Gefolgt mit einem Delay von 7ms ist das TxD-Bit für mindestens 7ms auf high gesetzt und damit in der Lage das über DTR anliegende Bit an das Modul abzusetzen.

Die folgenden Programmzeilen erzeugen einen Modul-Reset und die Freigabesequenz für den Modulzugriff. Diese werden jedoch nicht in allen Modulen verwendet bzw. benötigt:

procedure vm_freeall(hcomm : Thandle);
var n : byte;
begin
EscapeCommFunction(hcomm,CLRBREAK);  // TXD = 0
EscapeCommFunction(hcomm,CLRDTR);       // DTR = 0
EscapeCommFunction(hcomm,CLRRTS);       // RTS = 0
sleep(5);
For n := 0 to 7 do
begin
EscapeCommFunction(hcomm,CLRDTR);       // DTR = 0
EscapeCommFunction(hcomm,SETRTS);       // RTS = 1
sleep(3);
EscapeCommFunction(hcomm,CLRDTR);       // DTR = 0
EscapeCommFunction(hcomm,CLRRTS);       // RTS = 0
end;
end;

Wieso gibt es keine Dokumentation zu den Bit-Sequenzen der VModul-Ansteuerung ?

Ursprünglich waren die Module ausschließlich für den Einsatz unter ProfiLab-Expert entwickelt worden. Da nach-und-nach Programmierer auch selber das Modul ansteuern wollten, wurden hierzu nach-und-nach Quelltexte geschrieben, die jedoch aus Zeitgründen nicht besonders strukturiert und dokumentiert sind. Da zu jedem Modul ein gut verständlicher Delphi-5-Code existiert, dient dieser quasi als "übergeordnete" Programmier-Referenz. Auf eine Dokumentation der Bit-Sequenzen (Ablaufdiadramm) wird auch weiterhin aus Zeitgründen verzichtet.

Ist das USB-PROTO Modul direkt einsetzbar als 16 Port I/O oder muss das Modul noch modifiziert werden? Handelt es sich bei den Ausgängen vom USB-PROTO Modul um open collector Ausgänge?

Die I/O-Leitungen sind reine TTL-Ein. und Ausgänge. Es stehen immer nur 16 Eingänge und 16 Ausgänge fest zur Verfügung, die in ihrer Datenrichtung nicht mehr umgepolt werden können. Die TTL-Eingänge sind Pull-Up, sodass eine Brücke nach GND das Bit auf logisch 0 zieht. Die Ausgänge sind nicht Tristate, d.h. entweder 0 oder 5 Volt Pegel (= kein open collector). Die tatsächlichen Ausgangsspannungen (CMOS) entnehmen Sie bitte den Datenblättern des ispLSI1032E.

Welcher Treiber wird zum USB-Modul mitgeliefert ?

Der USB-Treiber stellt einen virtuellen COM-Port im Windows-Gerätemanager zur Verfügung, mit dessen Hilfe von Handshakeleitungen die Kommunikation über die Windows-API stattfindet. Als Dokumentation & Beispiel ist ein Quellcode in Delphi-5 beigefügt.

Kann ich das USB-PROTO-Modul auch industriell verwenden ?

Nein, lieber nicht. Das Prototypen-Modul ist, wie es der Name schon vermuten lässt, nur zum experimentieren da. Für den Einsatz in industieller Umgebung sind TTL-Signale nicht empfehlenswert und zudem sehr störanfällig. Zur Anwendung kleinerer Automatisierungen würde ich Ihnen den Einsatz von Optokoppler-Modulen oder galv. getrennten PCI-Karten mit Relais-Ausgang empfehlen.

Wie wird die A/D-Wandlung im VModul-A/D-mini- vollzogen ?

Die interne Statemachine des ispLSI tastet den A/D-Wandler kontinuierlich (asynchron) mit 1000 Hz ab. Die Messwerte werden jedoch nicht intern gemittelt. Das Datenwort steht immer aktuell in einem 16-bit Zwischenregister zur Verfügung, das beim Auslesen des Moduls gelatcht und in ein parallel-seriell-Datum umgewandelt wird. Ist der Auslesevorgang zum USB-Port abgeschlossen, werden wieder neue A/D-Werte in das Zwischenregister eingeschrieben (überladen), bis eine neue Messwertanfrage erfolgt.

Können Messungenauigkeiten am VModul-A/D durch falsche Programmierung enstehen?

Ja, eine "Ungenauigkeit" kann auch durch eine zu hohe Abtastrate an der Schnittstellenseite entstehen, wenn beispielsweise das TxD-Delay zu klein ist. Der USB-Kontroller benötigt (fragen Sie mich bitte nicht warum) etwa 7ms bei TxD, um neue Daten zu verarbeiten. Ist das Delay zu klein, werden möglicherweise Handshake-Bits verschluckt. Das gilt auch für alle übrigen USB-Module, die den FTDI232 Chip enthalten. Möglicherweise ist auch die Windows-API (bzw. die Kombination von beiden) hierfür verantwortlich, da zwischen den Betriebssystemen Win98/ME und 2000/XP leichte Differenzen in der Verarbeitungsgeschwindigkeit feststellbar sind. Eine 16-bit-Messung benötigt i.d.R. (Hardwareseitig) ca. 160-200ms.

Können am USB-Anschluss EMV-Probleme auftreten?

Ja. Je nach Störpotential (bsp. Frequenzumrichter, Maschinen, Pumpen, induktive Großverbraucher, Schweißfunken, Handy...) können immer EMV-Probleme an Schnittstellen entstehen, die man dann vor Ort bewältigen muss. Dies gilt für USB-Schnittstellen genauso wie für jede andere Schnittstelle. Ein CE-Zeichen steht nur für eine EMV-Mindestqualität, die das jeweilige Produkt bei einer Prüfung bestanden hat. Dies schließt jedoch nicht aus, das bei stärkeren EM-Feldern oder schnellen Transienten (leitungsgeführte EM-Störung) ein Produkt entsprechend reagiert oder ganz versagt.

Kann ich aus zwei verschiedenen Anwendungen heraus auf ein USB-Modul zugreifen?

Diese Betriebsart ist nicht vorgesehen. Der USB-Treiber unterstützt zeitgleich immer nur ein Gerät. Quasi "gleichzeitiges" zugreifen aus unterschiedlichen bzw. parallel laufenden Anwendungen heraus ist somit nicht möglich.

Müssen bei den USB-Modulen Wartezeiten während der Datenübertragung eingehalten werden?

Ja. Es ist in der Tat so, dass die Daten nur sehr langsam von den Modulen nacheinander abgerfragt werden dürfen, da es sich u.a. um virtuelle, serielle COM-Schnittstellen handelt, die hier nur bit-weise über die USB-Treiber betrieben werden. Auf der einen Seite vereinfacht diese Vorgehensweise den Zugriff auf externe Hardware (weniger Programmieraufwand), auf der anderen Seite müssen leider Wartezyklen für einen sicheren Datenverkehr eingehalten werden, die durch die Verwendung der USB-Ports im Zusammenhang mit Windows entstehen (gem. USB-spec. ms-Zeitscheiben) und ggf. durch die Rechnergeschwindigkeit (bzw. CPU-Auslastung) weiter begrenzt werden können.

Kann ich zwei (oder mehrere) USB-Module aus einer Anwendung heraus programmieren?

Ja. Jedoch muss ein "Vermischen" der Zugriffe unbedingt vermieden werden, damit keine Daten verloren gehen. Werden Zugriffe nicht richtig zuende geführt (bsp. thread wird unterbrochen) gilt das Ergebnis zu verwerfen, da es sich um unvollendete Datenfragmente handeln kann - oder anders gesagt: Die zeitliche Zuordnung der Takte bei der Übertragung (bit-Programmierung), sowie die darauf synchronisierte Abfrage des Lese-bit, muss in einem abgeschlossenen Prozess geschehen.

Schränkt der USB-Filteradapter die Übertragungslänge von USB ein?

Ja. Der USB-Filteradapter besitzt u.a. auf den Datenleitungen eine Signaldämpfung (kapazitive Last), die etwa einer Kabellänge von 2 Metern entspricht. Da die Kabellänge gem. USB-Spezifikation auf max. 5 Meter begrenzt ist, darf die max. Kabellänge (verbleibende Gesamtstrecke) nur noch 3 Meter betragen, wenn der Filter eingeschleift wird. Längere Kabelstrecken können zu Datenverlust, verfälschten Messergebnissen oder hang-up´s führen. Bitte beachten Sie, dass der USB-Filteradapter ausschließlich für USB1.1 entwickelt wurde. USB2.0 darf nur verwendet werden, wenn die Kommunikation im Low Speed Modus mit 1,5MBit/s übertragen wird. Dies gilt ebenso für USB-Hubs. In jedem Fall sollte man immer auf hochwertige USB-Kabel achten, die doppelt geschirmt sind und eine mögl. niedrige Kabelkapazität besitzen.
 

Und hier noch ein paar wichtige FAQs direkt vom Chip-Hersteller FTDI:

Can I have a USB to 16/32 bit interface?

We often get asked at FTDI if we can provide a simple 16 or 32 bit interface back to a PC over USB. The basic FT232R/FT245R devices only offer 8 bits wide data, and the 2 channels / 4 channels of the FT2232H/FT4232H cannot be synchronised together to create the larger data. The solution to this is to use an external component to gather the 16/32 bit data and shrink it down to 8 bit data. The Morph-IC-II module offers a  solution to this problem. The Morph-IC-II connection to the PC is via the FT2232H, providing high speed USB connectivity to the PC and this USB connection interfaces to an Altera Cyclone-II FPGA. The FPGA is programmed via the USB interface and the application code developed for the FPGA can provide a data bus as wide as required. You can even use your FPGA code to perform processing on the data before you send it back to the PC.

What does “cannot find specified file” mean?

Some users have reported an unusual installation issue on Windows where their system pops up a window claiming “cannot find specified file” and repeatedly goes into a hardware detecting loop.Fundamentally this is an issue with the PC’s registry. HERE is the solution:

Windows 2000/XP has a bug that it cannot properly detect new hardware by *.inf files, if the RunOnce registry key is missing from the following location: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion
This key is often used by installers to execute post-reboot programs, but sometimes they accidentally delete this key.

IMPORTANT: This article contains information about modifying the registry. Make sure that you understand how to backup and restore the registry, in case a problem occurs.

Go to Start » Run and enter "regedit."
Go to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion

With CurrentVersion Highlighted, go to the Edit menu and select New » Key
Name the key RunOnce, but do not edit anything else associated with the key.
The RunOnce key should now exist below the CurrentVersion key.
Once the key exists, Windows 2000/XP stops redetecting the Hardware.

Why does my application run slower over USB than when I used it from the RS232 serial port?

In general users will not see any difference when switching from a PC serial port to a USB Virtual Com Port (VCP). However there are significant differences in the configuration of a serial port and a USB port. A serial port is able to send data on a byte per byte basis whereas the USB is expecting to send data in packets. If the application is sending one byte at a time this is very inefficient for the USB as it is waiting for the buffer to fill up and complete a full packet otherwise it waits for a timeout to send a short packet. FTDI have allowed for these timeouts to be configurable such that the speed should be at least the equivalent of the legacy serial port if not better. To reduce the time to receive (chip to PC) smaller chunks of data the latency timer can be reduced to 2ms (default 16ms) and the InTransferSize can be reduced to 64 bytes (default 4096) by modifying the FTDIPORT.INF file which can be found in the driver folder. A similar mechanism exits for writing (PC to chip) data called buffered writes. Information on this can be found in AN_107 Advanced Driver Options.



KOLTER ELECTRONIC ist nicht für die Inhalte fremder Seiten verantwortlich.
Es gelten ausschließlich die AGB der Firma KOLTER ELECTRONIC.
Für die Richtigkeit der Angaben wird keine Gewähr übernommen.
Alle Preisangaben sind gewerblich. Das Zahlungsmittel ist EURO.
Alle Rechte vorbehalten.(c) copyright H.Kolter

[ Zur KOLTER ELECTRONIC® Hauptseite ]