Bibliotheken und Bausteine

1 Allgemein

Ein Projekt wird aus Funktions- und Strukturbausteinen aufgebaut. Während Strukturbausteine meist im Projekt definiert werden, sind die Funktionsbausteine grundsätzlich in Bibliotheken abgelegt. In das Projekt werden nur Aufrufe eingefügt und zusammen mit den eingegebenen Parametern abgespeichert.

Zur Erweiterung der Funktionalität können Bibliotheken geladen, ungenutzte entfernt und ältere Versionen durch neuere ersetzt werden. Das Untermenü Projekt enthält die entsprechenden Befehle.

Aus Sicht der Bibliotheken besteht ein Projekt aus den Komponenten, wie in der Abbildung dargestellt.

Bibliotheken

2 Funktionsbausteinbibliotheken

Alle Bausteine, die keine Strukturbausteine sind und nicht aus der Bibliothek Standard stammen, sind in Funktionsbausteinbibliotheken abgelegt. Zu ihnen gehören Bausteine mit Zielfunktionen, Parameter- und Visualisierungsbausteine.

Funktionsbausteinbibliotheken werden mit einem externen Werkzeug, der iCon-MFB, erstellt. Die Programmierung erfolgt textuell in einer hybriden Sprache. Zielfunktionen werden in C geschrieben. Die Darstellung und das Verhalten der Bausteine im Programmiersystem werden in einer PASCAL-ähnlichen Sprache implementiert. Während der C-Teil zum Zielsystem gelinkt oder als DLL der Simulation bereitgestellt wird, entsteht aus dem anderen Teil die Funktionsbausteinbibliothek.

Zu jeder Funktionsbausteinbibliothek existiert eine Hilfedatei, in der die Bausteine beschrieben werden. Die Hilfen werden im Programmiersystem über die Kontextmenüs für Bausteine oder die Tasten Strg+F1 aufgerufen.

3 Zugeladene Projekte

Erstellte Projekte können als Strukturbausteinbibliothek dienen. Wie Funktionsbausteinbibliotheken können auch Projekte geladen, entfernt und ersetzt werden. Beim Zuladen von Projekten werden auch die verwendeten Bibliotheken (falls nicht bereits geladen) geöffnet und entsprechende Verweise im Projekt abgelegt.

Zugeladene Projekte werden zusammen mit den Funktionsbausteinbibliotheken im Bibliotheksbaum aufgelistet. Unter dem Namen des Projekts werden die enthaltenen Makro- und Programmbausteine angezeigt.

Die Arbeit mit diesen Bausteinen erfolgt weitestgehend wie mit den Funktionsbausteinen. Beim Bearbeiten können nur Aufrufe eingefügt und mit anderen Bausteinen verbunden werden. Eine Bearbeitung der Strukturbausteine ist nicht möglich. Zur Initialisierung der Instanzparameter werden die im Projekt gespeicherten Vorgabewerte verwendet. Im Inbetriebnahmemodus können die Parameter geändert werden.

Eine andere Möglichkeit, existierende Algorithmen wiederzuverwenden, bietet das Ex- und Importieren von Strukturbausteinen. Dabei werden die hierarchischen Strukturen direkt in das Projekt eingefügt und können danach uneingeschränkt und ohne Abhängigkeit zu anderen Projekten bearbeitet werden.

4 Systembibliotheken

Systembibliotheken enthalten keine Bausteine, sondern nur Funktionen, beispielsweise zum Zeichnen der Bausteine, zur Abfrage von Systemzuständen und zum Ausführen von Aktionen. Sie werden von den Funktionsbausteinbibliotheken verwendet und sind bei der Arbeit mit dem Projekt weitestgehend unsichtbar.

Mit dem Schalter REMOVE SYSLIB=ON in der Rubrik [SYSTEM] der Hauptkonfigurationsdatei (ICON.INI) können sie beim Entfernen von Bibliotheken sichtbar gemacht werden. Ungenutzte Systembibliotheken können so aus dem Projekt gelöscht werden.

5 Bibliothek Standard

Die Bausteine der Bibliothek Standard sind im Programmiersystem realisiert. Deshalb sind sie immer verfügbar und können nicht entfernt werden. Die Bausteine sind in der Hilfe zur Bibliothek beschrieben.

6 Hinweise zur Arbeit mit Bibliotheken

Bibliotheken werden beim Laden im Verzeichnis des Projekts und in den eingestellten Bibliotheksverzeichnissen nach Dateinamen gesucht. Bibliotheksverzeichnisse werden in der Konfigurationsdatei des Projekts (*.IWS) oder in der Hauptkonfigurationsdatei (ICON.INI) definiert.

Ist eine Bibliothek mehrfach in den eingestellten Verzeichnissen enthalten, so wird die zuerst gefundene Datei geladen.

Kann beim Laden eines Projekts eine Bibliothek nicht gefunden werden oder ist sie beschädigt, so wird das Laden abgebrochen. Das Projekt kann nicht geöffnet werden, weil die komplette Funktionalität des Bausteins, wie Darstellung, Zielcodeerzeugung und Reaktion auf bestimmte Systemereignisse in der Bibliothek implementiert ist. Aus den gleichen Gründen können Versionskonflikte gravierende Auswirkungen haben. In geänderten Bibliotheken können die Daten anders interpretiert werden oder Bausteinfunktionen anders auf Systemereignisse reagieren. Deshalb sollten Bibliotheksversionen im Namen erkennbar sein und nur mit dem dafür vorgesehenen Befehl ausgetauscht werden.

Wie oben beschrieben bestehen Abhängigkeiten zwischen den Bibliotheken. Diese können mit dem Befehl Eigenschaften angezeigt werden. Beim Laden einer Bibliothek werden auch alle eingebundenen geöffnet. Wird eine Bibliothek von einer anderen verwendet, kann sie nicht gelöscht oder ersetzt werden. Zuerst muss die Abhängigkeit durch Löschen oder Ändern der anderen Bibliothek ausgeräumt werden.

Rekursive Abhängigkeiten zwischen Projekten, d.h. ein Projekt lädt ein anderes und umgekehrt, sind nicht erlaubt.

Die angezeigten Bezeichnungen und die realen Dateinamen der Bibliotheken stimmen nicht überein. Über Befehle in den Kontextmenüs für Bausteine und Bibliotheken im Bibliotheksbaum können die angezeigten Bezeichnungen geändert werden. Sie werden in Konfigurationsdateien gespeichert. Die Dialoge für die Bibliotheksoperationen zeigen neben den Bezeichnungen auch die realen Dateinamen an.

Die Dateinamen für Bibliotheken und zugeladene Projekte sollten acht Zeichen nicht überschreiten. Der im Projekt gespeicherte Dateiname hat die von MS-DOS bekannte Begrenzung 8+3. Besitzen Bibliotheken längere Dateinamen, werden mit Systemfunktionen Kurznamen gebildet, die bezogen auf mehrere Verzeichnisse mehrdeutig sein können.

Der Dateiname von Projekten und Bibliotheken darf über externe Programme (z.B. Windows-Explorer) nicht geändert werden. Zum Umbenennen von Projekten muss der Befehl Speichern unter aufgerufen werden. Das Verändern des Dateinamens einer Funktionsbausteinbibliothek erfordert iCon-MFB.

7 Neue Suchpfade für Bausteinbibliotheken konfigurieren

Im Projektpfad befindet sich eine <projektname>.IWS Datei. Die IWS-Datei ist eine Text-Datei und entspricht den Konventionen einer INI-Datei. In dieser Datei können wesentliche projektspezifische Konfigurationen vorgenommen werden.

Unter der Sektion [dir]→libraries werden die Pfade zu den Bausteinbibliotheken konfiguriert.

[dir]
libraries=..\LIBE;..\LIBE\STANDARD;..\LIBE\HMI CONTROLS;..\SYSTEM;..\BIN\ADDONE

Tragen Sie die Pfade nach Möglichkeit relativ zum BIN-Verzeichnis des Programmiersystems ein.