B. Kainka

Handbuch der PC-Mess- und Steuertechnik

Schnittstellen, Interfaces und Software für die Praxis

FAQ


Vorwort

Der Einsatz von PCs in der Mess- Steuer und Regelungstechnik hat bereits eine lange Tradition. Standen ursprünglich einfache Lösungen mit den vorhandenen Schnittstellen und die Programmierung unter DOS im Mittelpunkt, so hat sich inzwischen der Schwerpunkt zu komplexeren Interfaces, zum Einsatz von Mikrocontrollern und zur Programmierung unter Windows verschoben.

Dieses Buch versucht einen umfassenden Überblick über die Möglichkeiten im Hobbybereich zu geben. Dabei werden zunächst Eigenbaulösungen vorgestellt, um mit geringstem Aufwand eigene Geräte aufzubauen. Der Leser kann hier eine Vielzahl praktikabler Detaillösungen finden, die sich für eigene Zwecke verändern und erweitern lassen. Außer konventionellen Lösungen mit digitalen Schaltkreisen werden auch Mikrocontrolleranwendungen vorgestellt, die eine erste Einarbeitung in diesen Bereich ermöglichen.

Ein Schwerpunkt des Buchs liegt auf der zeitgemäßen Programmierung unter Windows 95/98 und höher. Hier wird im Schwerpunkt mit Visual Basic und mit Delphi gearbeitet. Der Leser erhält einen Einblick in die Verwendung der Windows-API und den Aufbau einer eigenen DLL für den Zugriff auf die serielle Schnittstelle. Außer der seriellen Schnittstelle wird auch der USB verwendet. Im Bereich der Interface-Techniken werden parallele Bus-Systeme und der I²C-Bus vorgestellt.

Ich wünsche allen Lesern viel Erfolg bei der Arbeit mit diesem Buch.

Burkhard Kainka

Inhalt

Handbuch der PC-Mess- und Steuertechnik

1 Einleitung 9

2 Die RS232-Schnittstelle 11
2.1 Die serielle Schnittstelle des PCs 13
2.2 Die ersten Versuche an der seriellen Schnittstelle 15
2.3 Beispiele für Textübertragung 16
2.4 Messen und Steuern über binäre Daten 18
2.5 Direkte Steuerung der Handshakeleitungen 20
2.6 Schnittstellenkabel 22
2.7 Leitungstreiber- und Empfänger 24
2.8 Potentialtrennung 28

3 Programmierung der seriellen Schnittstelle 30
3.1 Der UART 8250 30
3.2 RS232-Programmierung mit Basic unter DOS 39
3.3 Verwendung der RS232 in Turbo Pascal 43
3.4 Windows-API-Programmierung 47
3.5 Die RSCOM-DLL in Delphi 73
3.6 Verwendung der DLL in Delphi 76
3.7 DLL-Aufrufe in Visual Basic 81

4 Serielle Sender und Empfänger 85
4.1 Ein RS232-Testgenerator 85
4.2 Ein serieller Empfänger 89
4.3 Ein serieller Sender 93
4.4 Der UART HD6402 95
4.5 Ein Mikrocontroller-UART 103
4.6 Ansteuerung von Schrittmotoren 105
4.7 Digital-Analog-Wandler 108
4.8 Analog-Digital-Wandlung 111

5 Ein paralleler Interface-Bus 114
5.1 Der Bus-Controller 115
5.2 Der Portbaustein 8255 117
5.3 8 Bit-Ein-/Ausgabebausteine 121
5.4 Der programmierbare Zähler 8253 124
5.5 Ansteuerung einer Phasen-Regelschaltung 131

6 Serielle PC-Interfaces 136
6.1 Digitalmultimeter mit serieller Schnittstelle 136
6.2 Das Relais-Interface 141
6.3 Das CompuLAB 149
6.4 Das SIOS-Interface 152
6.5 Der Umwelt-Spion 167

7 Serielle AD-Wandler 178
7.1 Ein 8-Bit-AD-Wandler mit dem TLC549 178
7.2 Bipolare Messungen mit dem TLC1543 181
7.3 Acht Eingangskanäle mit dem MAX186 185

8 Messdatenerfassung mit ICONNECT 193
8.1 Eigenschaften der Software-Toolbox 193
8.2 Die ersten Schritte mit ICONNECT 195
8.3 Ansteuerung eines VxD-Treibers in C++ 203
8.4 Treiberansteuerung in Delphi 212

9 Einsatz von Mikrocontrollern 222
9.1 Die 8051-Familie 222
9.2 Das Entwicklungssystem ES52-Flash 227
9.3 Die serielle Schnittstelle des 8051 238
9.4 Ein UART-Controller 242
9.5 Parallele Bus-Zugriffe 244
9.6 Externer Zugriff auf Spezialfunktionsregister 248
9.7 Servo-Steuerung 253

10 MCS BASIC-52 257
10.1 Hardware und Befehlssatz 257
10.2 Ansteuerung einer LCD-Anzeige 261
10.3 Verwendung des AD-Wandlers MAX186 269
10.4 BASIC-Befehlserweiterungen 273
10.5 Messwerterfassung mit Druckerausgabe 275

11 USB-Interfaces 288
11.1 USB-Grundlagen 278
11.2 Ein USB-Portbaustein 286
11.3 Das CompuLAB-USB 295
11.4 EZ-USB Download in Visual Basic 299

12 Der I²C-Bus 303
12.1 Das Bus-Protokoll 303
12.2 Direktsteuerung über die RS232 305
12.3 Der Portexpander PCF8574 306
12.4 Der AD-DA-Wandler PCF8591 310
12.5 I²C-Software für den 8051 313

Anhang 319

1 Einleitung

Das Ziel dieses Buches ist es zu zeigen, wie man mit möglichst geringem Aufwand den eigenen PC für die Mess- Steuer und Regelungstechnik eingesetzten kann. Dazu werden Anschlüsse oder Zusatzgeräte benötigt, die sich teilweise leicht selbst aufbauen lassen. Es mangelt in der Fachliteratur nicht an Vorschlägen für Interfaces an praktisch allen verfügbaren Schnittstellen des PCs von der seriellen Schnittstelle über den parallelen Druckeranschluss und den Joystickanschluss bis hin zum PCI-Bus für professionelle Lösungen.

In diesem Buch liegt ein Schwerpunkt auf der RS232-Schnittstelle. Sie bietet den Vorteil sehr einfacher Schaltungstechnik und guter Sicherheit gegen versehentliche Zerstörung. Geräte an der RS232 dürfen im laufenden Betrieb vom PC getrennt oder neu verbunden werden. Alle Ausgänge sind unempfindlich gegen Kurzschlüsse, alle Eingänge sind relativ sicher gegen Überspannungen.

Die RS232-Schnittstelle ist die am meisten verwendete Schnittstelle im Bereich der MSR-Technik. Sie wird von fast allen Mikrocontrollern unterstützt und hat sich als universelle Schnittstelle für die unterschiedlichsten Anwendungen etabliert. Obwohl ursprünglich nur für die Datenfernübertragung entwickelt, hat sie inzwischen unzählige andere Bereiche erobert.

Die Anwendung der seriellen Schnittstelle hat bereits eine lange Tradition von weit über zehn Jahren. Dieses Buch greift einige Schaltungen wieder auf, die bereits in meinem Buch "Messen, Steuern, Regeln über die RS232-Schnittstelle" vorgestellt wurden, als das herrschende Betriebssystem noch DOS hieß. Die Programmierung erfolgte meist in Basic oder Turbo Pascal. Die Verwendung der RS232 hat sich langfristig bewährt, denn sie ist auch unter Windows eine Universalschnittstelle geblieben. Hier wird nun die Programmierung unter Windows 95/98/2000 vorgestellt. Die Windows-API-Schnittstelle liefert alle Werkzeuge zum Zugriff auf die RS232. Mit den richtigen Aufrufen lassen sich relativ einfach Programme unter Windows entwickeln. Hier kommen die Programmiersprachen Visual Basic und Delphi zum Einsatz.

Moderne Messtechnik ist ohne Mikrocontroller nicht mehr denkbar. Während es für sehr kleine Aufgaben nach wie vor rein elektronische Lösungen gibt, ist es von einer gewissen Komplexität der Anwendung an wirtschaftlicher, Mikrocontroller einzusetzen. Der besondere Vorteil liegt in der Flexibilität. Neue Ideen lassen sich schneller umsetzen. Notwendige Änderungen lassen sich oft allein durch kleine Programmanpassungen erreichen. Diese Vorteile haben dazu geführt, dass auch in diesem Buch der Anteil der Mikrocontrollertechnik gestiegen ist.

USB (Universal Serial Bus) ist eine neue und aktuelle PC-Schnittstelle. Sie ist wesentlich schneller und erlaubt den Anschluss vieler Geräte in einem Bus-System. Auch der USB wird in diesem Buch verwendet, da er auch im Hobbybereich einige besondere Vorteile bringt.

Manche Stimmen behaupten, der USB könnte langfristig alle anderen Schnittstellen ablösen. PCs ohne die RS232 wären ein Problem für die unzähligen Messgeräte und Interfaces mit serieller Schnittstelle. Es gibt allerdings schon heute Schnittstellenwandler, mit denen sich eine RS232 über den USB bereitstellen lässt. Langfristig wird es wohl so bleiben, dass sehr kleine Aufgaben mit geringem Datenaufkommen über die RS232 gelöst werden. Der USB eröffnet dagegen auch in der Messtechnik neue Möglichkeiten, wenn es um schnellen Datenaustausch geht.

In diesem Buch werden viele übliche Verfahren der Mess- und Steuerungstechnik an sehr einfachen Beispielen vorgestellt. Die Schaltungen sind nicht in erster Linie als Nachbauanleitungen zu verstehen, sondern sie dienen als Praxisbeispiele und zur Einarbeitung in die vorgestellten Themen. Elektronik-Grundkenntnisse werden dabei vorausgesetzt. Der Leser kann einfache Geräte selbst aufbauen oder einfach Denkanstöße für eigene Entwicklungen gewinnen.