Adapter

1 Allgemein

Konverter bzw. Zuweisung

Funktionsbaustein Konverter bzw. Zuweisung

Struktur erzeugen

Funktionsbaustein Struktur erzeugen

Struktur setzen

Funktionsbaustein Struktur setzen

Struktur zerlegen

Funktionsbaustein Struktur zerlegen

Pin

Funktionsbaustein Pin

Vektor erzeugen

Funktionsbaustein Vektor erzeugen

Vektor zerlegen

Funktionsbaustein Vektor zerlegen

2 Selbstdefinierte Datenstrukturen

Das Konzept selbstdefinierter Datenstrukturen ermöglicht es, Daten in unterschiedlicher Anzahl und Ausprägung zu bündeln und als eine Einheit zu betrachten. Auch komplex zusammenhängende Daten können somit leicht verständlich und übersichtlich dargestellt werden. Diese Datenstrukturen können dann als eigener Datentyp innerhalb eines Programmes weiter verwendet werden.

Im Folgenden wird ein Beispiel vorgestellt, in dem eine Datenstruktur namens LRECT angelegt wird, welche aus vier LONG-Werten besteht. Diese repräsentieren ein Rechteck, das über zwei Punkte aufgezogen wird.

Das Rechteck bildet somit eine logische Einheit aus den vier LONG-Werten, die immer komplett zur Verfügung zu stellen sind. Diese Daten gebündelt bereit zu stellen reduziert umständliches Handling und verringert die Wahrscheinlichkeit von Fehlern, z.B. durch Vergessen eines Wertes.

Damit das graphische Programmiersystem mit selbstdefinierten Datenstrukturen umgehen kann, müssen diese definiert, angelegt und bekannt gemacht werden. Eine Schritt-für-Schritt Anleitung mit diesem Beispiel finden Sie unter Anlegen einer selbstdefinierten Datenstruktur.

3 Anlegen einer selbstdefinierten Datenstruktur

Anhand eines Beispiels soll das Anlegen einer selbstdefinierten Datenstruktur dargestellt werden. Hierbei handelt es sich um die Struktur "LRECT“, welches die Koordinaten zur Darstellung eines Rechteckes in vier LONG-Werten aufnehmen soll. Bitte achten sie auf die korrekte Nummerierung, sowie Groß- und Kleinschreibung.

Arbeitsschritte:

1. Erstellen der Datei "PROJEKTNAME“.IADTINI

Als Vorlage zur Erstellung kann die Datei "iadvdatatypesbsp.ini“ genutzt werden, welche sich im Ordner "bin“ befindet. Diese muss lediglich in den Projektordner kopiert und anschließend umbenannt werden. Existiert die Zieldatei bereits im Projektordner, kann gleich zu Schritt 2 übergegangen werden.

2. Anpassen der Datei „PROJEKTNAME“.IADTINI

In dieser Datei finden Sie eine Liste aller definierter Datentypen unter dem Eintrag "List of defined data types“. Hier ist ein neuer Eintrag für die selbstdefinierte Datenstruktur vorzunehmen. Dem Programmiersystem werden hierdurch die Datentypen bekannt gemacht, für die Anschlüsse von den Bausteinen bereitzustellen sind. Als zugewiesene ID (A) ist die nachfolgende Zahl zu wählen. Danach folgt der Name der Datenstruktur (B). Die IDs, für die Eintragung als Daten-Datentyp (C) bzw. als Parameter-Datentyp (D), können frei zwischen 10000 und 32767 gewählt werden und dürfen nicht von anderen selbstdefinierten Datentypen belegt sein. Die IDs von 0 bis 9999 sind für programminterne Datentypen und –strukturen reserviert und sollten nicht genutzt werden.

Zusätzlich werden in dieser Datei weitere Eigenschaften der Datentypen definiert, z.B. der Zugriff auf die Parameterdialoge und die Darstellung der Verbindungslinie. Erweitern Sie die Liste am Ende der Datei um die beiden Einträge entsprechend der nachfolgenden Darstellung. Als erster Eintrag ist die ID in eckigen Klammern anzugeben. Danach sind die folgenden Attribute zu ergänzen.

NAME Interne Bezeichnung der Datenstruktur als Daten-Datentyp bzw. Parameter-Datentyp
LCOLOR        Darstellungsfarbe der Verbindungslinie im RGB-Format
LSTYLE Art der Liniendarstellung (SOLID, DASH, DOT, …)
LWIDTH Stärke der Linie in Pixel
TYPE legt für den Anschluss fest, ob dieser eine oder mehrere Verbindungen zulässt (MULTIPLE_INPUTS vs. SINGLE_INPUT)

Zusätzlich sind für den Parameter-Datentyp anzugeben:

INPPARADLL Name der Parameter-Dialog-DLL
INPPARAFUNC Name der Aufruffunktion für die Parameter-Dialog-DLL innerhalb des Programmiersystems für Strukturbausteine (MFB)

3. Erstellen der Datei "PROJEKTNAME“.STDMEMXML

Als Vorlage zur Erstellung kann die Datei "iStdInpPara.xml“ genutzt werden, welche sich im Ordner "bin“ befindet. Diese muss lediglich in den Projektordner kopiert und anschließend umbenannt werden. Existiert die Zieldatei bereits im Projektordner, kann gleich zu Schritt 4 übergegangen werden.

4. Anpassen der Datei "PROJEKTNAME“.STDMEMXML

Die STDMEMXML-Datei ist für die neue Datenstruktur um Einträge in den Bereichen "TypeList“ und "MemoryList“ zu erweitern.

In der Datentypliste ("TypeList") ist der neue Datentyp mit Namen und zusätzlich einem Kommentar und als Basis-Typ "Structured“ anzugeben. Innerhalb des Typ-Eintrages wird die Datenstruktur über deren Elemente (Items) definiert und benannt. Unser Beispiel setzt sich aus vier LONG-Elementen zusammen, welche paarweise die Koordinaten zweier Punkte bilden, die benötigt werden um ein Rechteck zu definieren.

In der Speicherliste ("MemoryList“) wird dem System der neue Speichertyp bekannt gemacht. Als Kommentar ist hierbei der Name des Parameter-Datentyps anzugeben.

5. Anpassen der Ressourcendateien der Zielsysteme

Als letzter Schritt muss der neue Datentyp nur noch dem jeweiligen Zielsystem bekannt gemacht werden. Die Ressourcendateien der Zielsysteme befinden sich im Ordner "Device“ und im Falle der Simulation handelt es sich um die Datei VICK_SIMUL.res. Bei fortlaufender Nummerierung, sind die in der folgenden Darstellung zu sehenden Einträge zu tätigen.

Name    Name des Parameter- bzw. Daten-Datentyps

Num      Anzahl der Elemente für die Speicher vorzuhalten ist

Size       Benötigter Speicher für ein Datum in Byte

Option   Eigenschaften des Speicherbereiches

Die Datenstruktur unseres Beispiels setzt sich aus 4 LONG-Werten zusammen, die zusammen einen Speicherbereich von 16 Byte belegen.

Die Interpretation von "Option“ ist vom Zielsystem abhängig. Das Simulationssystem und andere bisher implementierte Zielsysteme besitzen folgende Optionen, welche mittels ODER verknüpfbar sind:

01H Standarddatentyp
02H Speicherbereich für Parameter
04H Bit
08H Speicherbereich wird in ein Logfile geschrieben
10H Speicherbereich ist Remanent

Es ist zu beachten, dass der Daten-Datentyp als erstes anzugeben ist.