Ausgabe 23, März1998
Der Titel dieses Aufsatz wird manchen erstaunen. Die PC-gestützte Meß- und Regelungstechnik war bisher immer auf Spezialprogramme angewiesen. Und nun soll man dazu allgemeine Office-Software einsetzen? Mancher ist da verwundert. Aber es geht wirklich und bringt viele Vorteile. Der Schlüssel liegt in der Makro-Programmierung.
In Winword findet sich etwas versteckt unter dem Menü Extras/Makros ein sehr leistungsfähiges Programmierwerkzeug. Viele Word-Benutzer wußten bisher gar nicht, daß sie hier in Word-Basic fast genau wie in Visual Basic programmieren können.
Ein erstes Makro
Wer sich davon überzeugen will, kann das dargestellte Programm in ein neues Makro eingeben. Unter Extras/Makros muß ein neuer Name eingegeben werden. Mit Bearbeiten gelangt man dann in den Programmiermodus und findet dort bereits den äußeren Programmrahmen mit Sub MAIN und End Sub.
Sub MAIN For n = 1 To 10 Print n For t = 1 To 1000 : Next t Next n End Sub
Viele Aufgaben, die man mit Visual Basic nur mit Mühe schaffen kann, lösen sich mit den Mitteln von Word recht einfach. Für schnelle Versuche ist der Print-Befehl hilfreich. Die Ausgaben erscheinen in der unteren Statusleiste von Word. Vergleichbare Programme anderer Hersteller bieten ebenfalls diese Möglichkeiten. So wurden z.B. StarOffice und Lotus SmartSuite mit Erfolg erprobt.
In gleicher Weise bietet Excel die Makro-Programmierung mit VBA (Visual Basic for Applications). Hier lassen sich wirklich mächtige Werkzeuge einsetzen, die mit wenig Aufwand Programme mit professionellen Eigenschaften ermöglichen. Tabellen, Grafiken und Bedienelemente lassen sich problemlos mit eigenen Programmen nutzen.
Die Makro-Programmierung wurde in die Office-Software in erster Linie integriert, um die normale Büroarbeit damit zu erleichtern. Es gibt also reichlich Befehle, die sich direkt auf die Softwareumgebung beziehen. Dagegen fehlt zunächst ein Zugang zu den Schnittstellen des PC. Dafür aber können beliebige DLLs eingebunden und genutzt werden.
DLL
Speziell für den Umgang mit der seriellen Schnittstelle wurde von der Firma Modul-Bus DLLs entwickelt, die die Ansteuerung der Interfaces ermöglichen. In diesem Beitrag wird eine neue DLL vorgestellt und deren Einbindung in Standapplikationen demonstriert.
Excel
Excel ist ein mächtiges Werkzeug, das sich in Verbindung mit einer DLL sowohl zur Meßdatenerfassung und Auswertung als auch zur Steuerung technischer Prozesse eignet.
Makros für SERAI
Die in der letzen Ausgabe von CompaS vorgestellten AD-Wandler SERAI-1/8 und SERAI-8/12 verfügen über ein serielles, getaktetes Interface mit direkter Verbindung zu Handshake-Leitungen der seriellen Schnittstelle. Die RSAPI.DLL ermöglicht den direkten Zugang zu diesen Leitungen und erlaubt damit auch diese sehr hardwarenahe Programmierung. Das Listing zeigt ein Beispiel mit Word-Basic.
Das Makro schreibt Meßwerte in die Statuszeile. Ebenso können auch Meßwerttabellen angelegt oder Meßergebnisse in den laufenden Text eingefügt werden.
Declare Sub OPENCOM Lib "RSAPI.DLL"(Parameter As String) Declare Sub CLOSECOM Lib "RSAPI.DLL"() Declare Sub DTR Lib "RSAPI.DLL"(Pegel As Integer) Declare Sub RTS Lib "RSAPI.DLL"(Pegel As Integer) Declare Sub TXD Lib "RSAPI.DLL"(Pegel As Integer) Declare Function CTS Lib "RSAPI.DLL"() As Integer Declare Sub DELAY Lib "RSAPI.DLL"(Zeit As Integer) Sub MAIN OpenCOM "COM2,300,n,8,1" TxD 1 'Spannungsversorgung ein Delay 30 DTR 0 'Clock RTS 0 '/CS Delay 10 For N = 1 To 1000 Print Str$(Messen / 50) + " V" 'Einfügen Str$(Messen / 50) + " V" 'Einfügen Absatz Delay 100 Next n End Sub Function Messen RTS 1 'Messung starten Bit = 128 Delay 1 RTS 0 'Auslesen starten Wert = 0 For n = 1 To 8 If CTS = 1 Then Wert = Wert + Bit DTR 1 DTR 0 Bit = Bit / 2 Next n Messen = Wert End Function
Buchbesprechung:
H.J.Berndt/ B.Kainka: Messen, Steuern und Regeln mit Word und Excel, Franzis-Verlag 1. Auflage 1997
Die Autoren beschreiben hier einen neuen Zugang zur computergesteuerten Meß- und Regelungstechnik. Statt großer Spezialprogramme kommen kleine Basic-Makros zum Einsatz. Den Zugang zur Hardware vermittelt die dem Buch beiliegende Windows-DLL RSAPI.DLL für Windows 3.1 und Windows 95.
Nach einer ausführlichen Einführung in die Makro-Programmierung werden nacheinander verschiedene Interface-Systeme und ihre Anwendung vorgestellt. Ein einführendes Beispiel beschreibt die Ansteuerung eines Modems als Wählhilfe. Außer Digitalmultimetern und den Interfaces CompuLAB und SIOS werden auch frei programmierbare Mikrocontroller-Systeme wie das ES51 von Modul-Bus oder das C-Control von der Fa. Conrad eingesetzt.
Neben fertigen Systemen werden auch Eigenbau-Projekte vorgeschlagen. Besonders einfache Zugänge ergeben sich z.B. über die direkte Ansteuerung von Schnittstellenleitungen. Hier werden außer LEDs und Schaltern auch verschiedene AD-Wandler angesprochen. Die direkte Ansteuerung des I2C-Bus rundet die Anwendungen ab.
Das Buch enthält eine umfangreiche CD mit allen Beispielmakros, der RSAPI.DLL und zahlreichen Informationen und Zusatzprogrammen zu den verwendeten Geräten. Zahlreiche Screencam-Filme mit gesprochenem Kommentar führen in die Thematik ein und erleichtern den ersten Einstieg.