Datenaustausch mit Datenbanken Datenbanken Einführung Mit dem optionalen Erweiterungspaket "Datenbank" können Sie einen Datenaustausch mit einer beliebigen Datenbank vornehmen. Der Datenaustausch wird mittels ODBC-Dateien abgewickelt. Jede Datei darf mehrere Tabellen beinhalten. Der Datenfluss kann sowohl von INDAS zur Datenbank als auch umgekehrt erfolgen. Somit stehen die Messdaten der Geräte auch weiteren Anwendern zur Verfügung bzw. Sie können anderweitig ermittelte Werte (z. B. Labordaten) den Geräten zuordnen. Weiterhin können Sie eine virtuelle Datenbank mit errechneten Werten füllen und diese mit dem Datenbanksystem austauschen. Auch hier kann der Datenaustausch in beide Richtungen erfolgen. Getestet wurde die Kopplung bisher mit einer ORACLE-Datenbank der Version 7.3. Konfiguration des Datenaustauschs Symbol: Ordner Projekteigenschaften Symbol: Grundeinstellungen konfigurieren Zum Einloggen von INDAS in die Datenbank werden einige Parameter benötigt. Sie finden die Konfiguration der Kopplungsparameter im Konfigurationsmodus im Menü BEARBEITEN (bzw. im Ordner Projekteigenschaften) bei den Grundeinstellungen auf der Seite Datenbank. In der Maske befinden sich auf der linken Seite die Parameter für die Geräte, die ihre Daten an die Datenbank weitergeben sollen, und auf der rechten Seite die Parameter für das virtuelle Gerät Datenbank. Indas Handbuch Kap. 16 Datenaustausch mit Datenbanken Datenaustausch mit Datenbanken 16-1
Beispiel: Grundeinstellungen, Seite Datenbank Folgende Eingaben sind für beide Geräte zu machen: Datenbankname Name der Datenbank, er kann frei vergeben werden. Username ALIAS Name der Benutzers Der Alias der Datenbank erscheint hier, so wie er bei der Einrichtung des ODBC-Treibers definiert wurde. Passwort Das Passwort wird von der Datenbank (ORACLE) vergeben und verschlüsselt abgespeichert. Pfad und Dateiname Hier werden der Pfad und der Dateiname der ASCII-Transferdateien eingetragen, die zur Kommunikation von INDAS mit dem Transferprogramm verwendet werden sollen. Der folgende Eintrag wird nur einmal bei den Geräten definiert: Kommunikation Es sollte aus Performance-Gründen die externe Kommunikation gewählt werden. Dabei wird beim Start des Betriebsmodus ein Programm gestartet, das die Daten an die Datenbank übertägt. (s.u. Transferprogramm INDAS Datenbank) 16-2 Datenaustausch mit Datenbanken Indas Handbuch Kap. 16 Datenaustausch mit Datenbanken
Transferprogramm INDAS <-> Datenbank Beim Start des Betriebsmodus wird auch das Transferprogramm gestartet, wobei ein Programm die Kommunikation der Geräte mit der Datenbank abwickelt und ein weiteres die Kommunikation des virtuellen Gerätes Datenbank mit der Datenbank. Bei Beendigung des Betriebsmodus wird auch das Transferprogramm wieder beendet. In einem Fenster kann der Aufbau der Datenbanken verfolgt werden. Die Parameter der Datenbankankopplung werden angezeigt als auch die zuletzt gelesene oder beschriebene Tabelle mit Zeitstempel. Beispiel: Fenster des Transferprogramms Nachdem alle Datenbankverbindungen geöffnet wurden, wird das Fenster in die Task-Area eingetragen und geschlossen. Mit Doppelclick auf das Symbol in der Task-Area wird das Fenster wieder angezeigt. Das Fenster kann nicht geschlossen werden. Beim Versuch, es zu schließen, wird ein Hinweis angezeigt und anschließend wird das Fenster wieder versteckt. Es gibt jedoch einen Trick, um das Fenster trotzdem zu schließen. Machen Sie einen Doppelclick auf die LED und schließen das Fenster ein weiteres Mal. Die Statuszeile gibt aktuelle Aktionen sowie Fehlermeldungen aus. Lifecheck Virtuelles Gerät Datenbank Das Programm wird von INDAS alle 5 Sekunden getriggert, um festzustellen, ob INDAS läuft. Bleibt die Triggerung aus wird das Programm automatisch beendet. In dem Fenster zeigt die blinkende Lampe und ein Zähler die Triggerung an. Unter virtueller Datenbank versteht man eine Datenbank, die mit verrechneten Werten gefüllt wird. Diese Daten können dann mit einer Datenbank (z.b. O- RACLE) ausgetauscht werden. Das Belegen der Werte mit Daten erfolgt in den Ereignis-Verrechnungsgleichungen (s. Kap. Ereignisse). Man verwendet dazu den Befehl SETANALOG (s. Kap. Verarbeitung von Messwerten/Verrechnungsgleichungen). Bitte beachten Sie, dass alle Spalten der Tabellen mit Werten gefüllt werden müssen, d.h. es muss für jede definierte Kanalnummer des virtuellen Gerätes Datenbank ein solcher Befehl gegeben werden. Indas Handbuch Kap. 16 Datenaustausch mit Datenbanken Datenaustausch mit Datenbanken 16-3
Beispiel: #30010 = SETANALOG( (#10+#11+#12)/3); Dem Kanal 10 der virtuellen Datenbank mit der Systemnummer 3 wird der Mittelwert der Kanäle 10, 11 und 12 eines anderen Systems zugeordnet. Die virtuelle Datenbank wird wie ein normales Gerät behandelt und daher auch in der Geräteliste als eigenständiges System eingetragen. Weiterhin muss eine Maske ausgefüllt werden, welche Tabellen der Datenbank mit wievielen Werten übertragen werden sollen (s.u.). Symbol: Geräteliste konfigurieren Symbol: virtuelles Gerät Datenbank konfigurieren Geräteliste Die Geräteliste finden Sie im Menü bzw. im Ordner GERÄTE. Für jedes der virtuellen Geräte Datenbank wird als Gerätetyp VIRTDB und als Com-Nummer die 9 eingetragen für Geräte ohne Com-Nummer. Alle anderen Parameter sind nicht relevant. Konfiguration INDAS-Kanäle virtuelle Datenbank Es muss festgelegt werden, welche Tabellen der Datenbank mit wievielen Werten übertragen werden sollen. Im Menü GERÄTE, Untermenü GERÄTE PA- RAMETRIEREN (bzw. im Ordner Konfiguration Geräte) gibt es eine Maske, um die INDAS-Kanäle für das virtuelle Gerät Datenbank zu konfigurieren. Beispiel: Konfiguration der INDAS-Kanäle virtuelles Gerät Datenbank Folgenden Eingaben sind zu machen: Systemnummer Die Systemnummer des Gerätes muss aus der Geräteliste entnommen werden. Zykluszeit Die Zykluszeit definiert den Zeitabschnitt, in der die Austauschtabellen zu der Datenbank beschrieben werden. Der Eintrag wird nicht ausgewertet bei der Datenrichtung Datenbank -> INDAS. 16-4 Datenaustausch mit Datenbanken Indas Handbuch Kap. 16 Datenaustausch mit Datenbanken
ALIAS ALIAS aus den Grundeinstellungen eintragen (s.o.). Der Eintrag wird z. Z. nicht ausgewertet. Anzahl Werte Start In/Out Der Wert gibt die Anzahl der zu schreibenden bzw. zu lesenden Kanäle aus der Datenbank an. Start gibt die Spalte in der Tabelle an, ab der geschrieben bzw. gelesen wird. Der Eintrag wird z. Z. nicht ausgewertet, sondern ist immer mit 1 vorbesetzt. Dieser Eintrag definiert die Datenflussrichtung I: Datenbank -> INDAS O: INDAS -> Datenbank Semaphore Hier wird die Kanalnummer eines Semaphoren-Kanals eingetragen. Ist der Eintrag ungleich 0, wird der Kanal ständig überwacht. Eine Ausgabe an die Datenbank erfolgt dann nicht mehr zyklisch, sondern nur noch auf Anforderung, d.h. bei Änderung des Inhaltes des Semaphoren- Kanals. INDAS-Kanäle Aktiv Dieses Feld ist nicht editierbar. Aus den vorgenannten Einträgen werden automatisch die INDAS-Kanalnummern gebildet. Auf diese Kanäle kann dann später bei einer Auswertung zugegriffen werden. Ist hier ein Ja eingetragen, wird die Zeile für die Kommunikation ausgewertet. Im anderen Falle wird die Zeile temporär von der Kommunikation ausgeschlossen, ohne aber die Kanalnummern zu beeinflussen. Ist bei den Grundeinstellungen auf der Seite Datenbank ein virtuelles Gerät Datenbank eingetragen, wird entsprechend den Angaben in dieser Maske beim Start des Betriebsmodus ein Transferprogramm gestartet, um den Datenaustausch abzuwickeln (s.o.). Indas Handbuch Kap. 16 Datenaustausch mit Datenbanken Datenaustausch mit Datenbanken 16-5
16-6 Datenaustausch mit Datenbanken Indas Handbuch Kap. 16 Datenaustausch mit Datenbanken