 Codegenerator benutzen

Das Fenster des Codegenerators öffnet sich automatisch, wenn die Befehle "Prüfen" und "Codierung" der anderen ISaGRAF Fenster aktiviert werden. Das Fenster des Codegenerators wird nicht automatisch geschlossen, wenn die angeforderte Code-Entwicklung beendet ist, so daß der Benutzer über das Fenstermenü auch weiterhin auf alle Code-Entwicklungsbefehle und -optionen zugreifen kann.

Hauptsächliche Befehle

Compiler-Optionen

C-Quellcode entwickeln

Informationen visualisieren

Resourcen definieren


Hauptsächliche Befehle

Das "Datei"-Menü enthält Befehle für die Prüfung der Programmsyntax und für die Code-Entwicklung.

Anwendungscode erstellen

Programmsyntax prüfen

Eine Änderung simulieren

Doppelklicken auf eine Fehlermeldung öffnet das betreffende Programm und verlagert den Cursor auf den Fehler.


Anwendungscode erstellen

Mit dem Befehl "Codierung" wird der gesamte Code des Projekts entwickelt. Vor der Code-Entwicklung prüft dieser Befehl die Syntax der Deklarationen und Programme. Fehler, die bei der Kompilierung einzelner Programme nicht erkannt wurden, werden bei der Code-Entwicklung sichtbar. Dies betrifft die Umrechnungstabellen, die Verdrahtung der E/A-Variablen und die Verknüpfungen mit den Bibliotheken. Die Code-Entwicklung stoppt die Kompilierung eines Programms, in dem Fehler erkannt werden. Das betreffende Programm muß korrigiert werden, bevor die Code-Entwicklung wieder aufgenommen werden kann. Bereits geprüfte (als fehlerfrei befundene) Programme, die seit ihrer letzten Prüfung nicht mehr geändert wurden, werden nicht erneut kompiliert. Die Variablendeklarationen und die Anwendungskonsistenz werden immer geprüft. Während der Programmprüfung kann die "Codierung" durch Drücken der ESCAPE-Taste abgebrochen werden.

Hinweis:	Wenn die Deklaration einer programm-lokalen Variablen geändert wurde, wird das betreffende Programm geprüft. Wenn eine globale Variable geändert wurde, werden alle Programme geprüft.


Programmsyntax prüfen

Der Befehl "Programm prüfen" wird benutzt, um ein einzelnes Programm zu prüfen. Das ausgewählte Programm wird kompiliert, selbst wenn es seit seiner letzten Prüfung nicht geändert wurde. Der Befehl "Datenverzeichnis prüfen" wird benutzt, um die Deklarationen sämtlicher Variablen des Projekts zu prüfen.

Der Befehl "Alle Programme prüfen" prüft die Syntax aller Projektprogramme, selbst wenn manche Programme nicht geändert wurden. Diese Operation wird nicht unterbrochen, wenn ein Fehler in einem Programm erkannt wird. Der Befehl kann benutzt werden, um eine komplette Liste der noch in den Projektprogrammen vorhandenen Fehler aufzustellen. Der Befehl kann durch Drücken der ESCAPE-Taste abgebrochen werden.


Eine Änderung simulieren

Der Befehl "Änderung simulieren" simuliert die Änderung sämtlicher Projektprogramme, so daß sie alle bei der nächsten "Codierung" geprüft werden. Der Befehl "Öffnen" wird benutzt, um das zuletzt geprüfte Programm zu öffnen. Dieser Befehl ist nützlich, um direkt auf ein Programm zuzugreifen, in dem Syntaxfehler erkannt wurden.


Compiler-Optionen

 Mit dem Befehl "Compiler-Optionen" werden die hauptsächlichen Parameter bestimmt, die der ISaGRAF Codegenerator für die Erstellung und Optimierung des Zielcodes benutzt. Ziel dieses Befehls ist es, den zu generierenden Codetyp entsprechend der betreffenden Zielsysteme auszuwählen und die Optimierungsparameter entsprechend der erwarteten Kompilierungsdauer und den Anforderungen der Anwendungsausführung zu bestimmen.

Zielcode auswählen

AS-Verarbeitung

Optimierungsoptionen

Die Schaltfläche "Rücklesen" öffnet ein zweites Dialogfeld mit weiteren Optionen, die dem Einbetten von komprimiertem Quellcode im geladenen Code dienen, um "Rücklesen" zu ermöglichen. Siehe Dokumentation "Rücklesen" für Informationen zu dieser Funktionalität.


Zielcode auswählen

Die obere Liste zeigt die verfügbaren Zielcodes, die entwickelt werden können. Das Zeichen ">>" kennzeichnet, welche Zielcodes ausgewählt sind. Der ISaGRAF Codegenerator kann bis zu 3 verschiedene Codes in einer Kompilierungsoperation erstellen. Benutzen Sie die Schaltflächen "Auswählen" und "Abwählen", um die Liste der erforderlichen Zielcodes entsprechend Ihrer Ziel-Hardware zu bestimmen. Hier die ISaGRAF Standardzielcodes:

SIMULATE:	Dieser Code ist dem ISaGRAF Simulator der Workstation dediziert. Der Simulator kann nicht starten, wenn dieser Zielcode nicht ausgewählt ist, um den Anwendungscode zu entwickeln.

ISA86M:	Dies ist ein TIC-Code (Target Independent Code), der ISaGRAF Kernels dediziert ist, welche auf Intel-Prozessoren installiert sind. Der Prozessortyp betrifft nur die Byteordnung im entwickelten Code.

ISA68M:	Dies ist ein TIC-Code (Target Independent Code), der ISaGRAF Kernels dediziert ist, welche auf Motorola-Prozessoren installiert sind. Der Prozessortyp betrifft nur die Byteordnung im entwickelten Code.

SCC:	Die Auswahl dieses Zielcodes bewirkt, daß der ISaGRAF Compiler strukturierten "C"-Quellcode entwickelt, der kompiliert und mit den Bibliotheken des ISaGRAF Zielkernels verknüpft wird, um einen eingebetteten ausführbaren Code zu entwickeln

CC86M:	Die Auswahl dieses Zielcodes bewirkt, daß der ISaGRAF Compiler nicht-strukturierten "C"-Quellcode entwickelt, der kompiliert und mit den Bibliotheken des ISaGRAF Zielkernels verknüpft wird, um einen eingebetteten ausführbaren Code zu entwickeln. Diese Wahl dient der Kompatibilität mit ISaGRAF Versionen unter V3.23, in der die strukturierte "C"-Code-Entwicklung nicht unterstützt wird.

Siehe Herstellerhandbuch Ihrer Hardware, um den Typ des auf Ihrer SPS installierten ISaGRAF Zielkernels ausfindig zu machen. Andere Zielcodes (Maschinencode, C-Quellcode...) werden vorraussichtlich in zukünftigen Versionen der ISaGRAF Workstation unterstützt.


AS-Verarbeitung

Aktivieren Sie das Kontrollkästchen "Eingebettetes AS-Engine benutzen", um die Benutzung des ISaGRAF AS-Engine zu aktivieren. Dieser Modus sollte bevorzugt werden, da er verbesserte Betriebsleistungen erzielt. Bei bestimmten Implementierungen des ISaGRAF Zielsystems kann das Ziel-Engine fehlen. Dies kommt jedoch häufiger bei kundenspezifischen Zielsystemen vor, die den ISaGRAF Code nachverarbeiten. In diesem Fall sollten Sie diese Option eventuell deaktivieren und es dem ISaGRAF Compiler überlassen, die AS-Netzwerke in einfache Anweisungen zu übersetzen. Siehe Herstellerhandbuch Ihrer Hardware für weitere Informationen zur Benutzung dieser Option.


Optimierungsoptionen

Die folgenden Parameter, die vom ISaGRAF Codegenerator benutzt werden, um den Zielcode zu optimieren, können im Dialogfeld "Compiler-Optionen" bestimmt werden. Die Schaltfläche "Vorgabe" wird benutzt, um alle Optimierungsoptionen zu entfernen und so die Kompilierungszeit zu verkürzen.

 Wenn die Option "Zwei Durchläufe" aktiviert wird, führt der ISaGRAF Code-Optimierer zwei Durchläufe aus. Die im zweiten Durchlauf ausgeführten Optimierungen sind gewöhnlich nicht so bedeutend wie die des ersten Durchlaufs.

 Wenn die Option "Konstante Ausdrücke auswerten" aktiviert wird, dann nimmt der Compiler eine Auswertung der konstanten Ausdrücke vor. Beispielsweise wird der numerische Ausdruck "2 + 3" im Zielcode durch "5" ersetzt. Wenn diese Option deaktiviert wird, dann werden die konstanten Ausdrücke bei der Ausführung berechnet.

 Wenn die Option "Unbenutzte Marken unterdrücken" aktiviert wird, vereinfacht der Optimierer das System der Sprünge und Marken des Programms, so daß unbenutzte Marken oder ziellose Sprünge unterdrückt werden.

 Wenn die Option "Variablenkopien optimieren" aktiviert wird, wird die Benutzung der temporären Variablen (die zur Speicherung von Zwischenergebnissen benutzt werden) optimiert. Diese Option wird gewöhnlich zusammen mit der Option "Ausdrücke optimieren" benutzt. Wenn diese Option aktiviert wird, werden die Ergebnisse von Ausdrücken und Unterausdrücken, die öfter als einmal im Programm benutzt werden, vom Optimierer wiederverwendet.

 Wenn die Option "Unbenutzten Code unterdrücken" aktiviert wird, wird unbedeutender Code vom Optimierer unterdrückt. Wenn beispielsweise die folgenden Anweisungen programmiert wurden: "var := 1; var := X;", ist der entsprechende Code lediglich: "var := X;".

 Wenn die Option "Arithmetische Operationen optimieren" aktiviert wird, vereinfacht der Optimierer die arithmetischen Operationen gemäß spezieller Operanden. Zum Beispiel: Der Ausdruck "A + 0" wird durch "A" ersetzt. Wenn die Option "Boolesche Operationen optimieren" aktiviert wird, vereinfacht der Optimierer die Booleschen Operationen gemäß spezieller Operanden. Zum Beispiel: Der Boolesche Ausdruck "A & A" wird durch "A" ersetzt.

 Wenn die Option "Binäre Diagramme entwickeln" aktiviert wird, ersetzt der Optmierer die Booleschen Gleichungen (mit gemischt vorkommenden AND, OR , XOR und NOT Operatoren) durch eine reduzierte Liste bedingter Sprungoperationen. Die Übersetzung erfolgt nur, wenn für die Sprungsequenz eine geringere Ausführungszeit als für den ursprünglichen Ausdruck erwartet wird.

Die folgende Tabelle ist eine Zusammenfassung der erwarteten Optimierung und Kompilierungsdauer für jeden Parameter:

Leistungssteigerung	Kompilierungsdauer

2 Durchläufe	xxxx	(*)

Konstante Ausdrücke auswerten	xxxxxxxxxx	xxxx

Unbenutzte Marken unterdrücken	xxxx	xxxxxxxxxx

Variablenkopien optimieren	xxxx	xxxxxxxxxx

Ausdrücke optimieren	xxxx	xxxxxxxxxx

Unbenutzten Code unterdrücken	xxxx	xxxxxxxxxx

Arithmetische Operationen opt.	xxxxxxxxxx	xxxx

Boolesche Ausdrücke optimieren	xxxxxxxxxx	xxxx

Binäre Diagramme entwickeln	xxxxxxxxxxxxxxx	xxxxxxxxxxxxxxx

(*) die Kompilierungsdauer wird verdoppelt.


C-Quellcode entwickeln

Mit der ISaGRAF Workstation kann Quellcode in der Hochsprache "C" entwickelt werden. In diesem Fall wird der gesamte Inhalt einer Anwendung, einschließlich AS-Netzwerkbeschreibung, Datenbankdefinition und Codesequenzen, im "C"-Quellcodeformat generiert. Es gibt zwei Möglichkeiten:

CC86M (C-Quellcode - V3.04)	entwickelt nicht-strukturierten "C"-Quellcode. Dieser Stil sollte gewählt werden, wenn Ihre Zielsystem-Software auf ISaGRAF Versionen unter 3.23 basiert.

SCC (strukturierter C-Quellcode)	entwickelt strukturierten C-Quellcode. Dieser Stil sollte gewählt werden, wenn Ihre Zielsystem-Software auf ISaGRAF Version 3.23 oder höher basiert.

Die folgenden zwei Dateien werden im Projektverzeichnis erstellt:

APPLI.C	allgemeiner Quellcode der Anwendung

APPLI.H	allgemeine Definitionen der "C"-Sprache

Wenn strukturierter "C"-Quellcode entwickelt wird, wird eine ".C"-Quelldatei und eine ".H"-Definitionsdatei für jedes Programm der Anwendung (zusätzlich zu den allgemeinen Dateien "APPLI.C" und "APPLI.H") erstellt.

Diese Dateien müssen kompiliert und mit den ISaGRAF Zielbibliotheken verknüpft werden, um den endgültigen ausführbaren Code zu entwickeln. Siehe Benutzerhandbuch des "ISaGRAF I/O Development Toolkit " für ausführliche Informationen zu den empfohlenen Implementierungsmethoden.

Hinweis:	Manche Debugging-Funktionalitäten, wie Laden der Anwendung, Online-Änderungen und Haltepunkte sind nicht mehr verfügbar, wenn die ISaGRAF Anwendung in "C" kompiliert wird.


Informationen visualisieren

Mit den Befehlen im Menü "Bearbeiten" können die verschiedenen Textdateien, die bei der Code-Entwicklung und Syntaxprüfung erstellt wurden, im Fenster des Codegenerators visualisiert werden. Dieses Fenster ist ein Textfeld, welches während der Code-Entwicklung und Syntaxprüfung Meldungen anzeigt. Sämtliche Informationen werden auf der Festplatte gespeichert, so daß sie mit den Menübefehlen "Bearbeiten" eingesehen werden können.

Bearbeitungsbefehle

Kompilierungsmeldungen visualisieren

Andere Befehle im Menü "Bearbeiten" ermöglichen, Hilfstextdateien einzusehen, die während der Code-Entwicklung und Syntaxprüfung erstellt wurden. Diese Dateien werden normalerweise nicht für ein gewöhnliches ISaGRAF Projekt benutzt.


Bearbeitungsbefehle

Der Befehl "Bildschirmtext löschen" wird benutzt, um den Text im Fenster zu löschen. Der Fenstertext wird automatisch vor jeder Code-Entwicklung und Syntaxprüfung gelöscht. Der Befehl "Kopieren" wird benutzt, um den angezeigten Text in der Windows-Zwischenablage zu kopieren, so daß er von anderen Anwendungen, z.B. den ISaGRAF Texteditoren, benutzt werden kann.


Kompilierungsmeldungen visualisieren

Der Befehl "Ausführungsmeldungen" visualisiert sämtliche Meldungen, die während der letzten Codierungs- und Prüfoperationen im Textfeld angezeigt wurden. Dies betrifft alle Fehlermeldungen.


Resourcen definieren

Der Befehl "Resourcen" im Menü "Optionen" ermöglicht die Definition von Resourcen. Resourcen sind benutzerdefinierte Daten (Netzwerk-Konfiguration, Hardware-Einstellung...) beliebigen Formats (Datei, Liste von Werten), die mit dem generierten Code verbunden werden müssen, damit sie mit ihm auf die Ziel-SPS geladen werden können. Solche Daten werden nicht direkt vom ISaGRAF Kernel verarbeitet und sind gewöhnlich einer anderen, auf der Zielsteuerung installierten, Software dediziert. Siehe Herstellerhandbuch Ihrer Hardware für weitere Informationen über verfügbare Resourcen.

Die Resourcen-Definitionsdatei

Sprachreferenzen

Beispiel

Resourcen kompilieren

Implementierung


Die Resourcen-Definitionsdatei

Die Resourcen werden in einer "Resourcen-Definitionsdatei" gespeichert, die mit den anderen Dateien des ISaGRAF Projekts gespeichert wird. Es handelt sich um eine reine ASCII-Textdatei, die vom ISaGRAF Resourcen-Compiler verarbeitet wird. Dieser Compiler wird automatisch gestartet, wenn der Anwendungscode entwickelt wird. In diesem Abschnitt wird die Syntax dieser Datei erläutert. Die Resourcen-Definitionsdatei benutzt die lexikalischen Regeln der ST-Sprache. Kommentare, die mit dem Zeichen"(*" anfangen und mit mit dem Zeichen "*)" enden, können an beliebigen Stellen in den Text eingefügt werden. Zeichenketten werden von einfachen Apostrophen begrenzt. Siehe Teil 2 dieses Handbuchs für weitere Informationen zu den lexikalischen Formaten, die für die Eingabe von numerischen Werten benutzt werden.


Sprachreferenzen

Es folgt eine Liste der Schlüsselwörter und Anweisungen, die in einer Resourcen-Definitionsdatei benutzt werden.

ULONGDATA

VARLIST

BINARYFILE

TEXTFILE

TARGET

ANYTARGET

FROM

TO


ULONGDATAULongData
ULONGDATA

Bedeutung:	Spezifiziert eine Resource, die eine Liste ganzzahliger Werte ist. Die Werte werden im Zielcode als vorzeichenlose Ganzzahlen auf 32 Bits gespeichert. Die Werte werden in einer in der Resourcen-Definitionsdatei spezifizierten Ordnung gespeichert. Die Werte müssen durch Kommas getrennt werden. Der Name der Resource darf 15 Zeichen nicht überschreiten.

Syntax:	ULONGDATA '<resource_name>'

BEGIN

...target_selection...

...list of values...

END

Beispiel:	ULongData 'MYDATA'

Begin

...

0, -1, 100_000,	(* dezimal *)

16#A0B1, 2#1011_0101	(* hexadezimal, binär *)

End


VARLISTVarList
VARLIST

Bedeutung:	Spezifiziert eine Resource, die eine Liste von Variablenadressen ist. Die Variablen werden durch ihren Namen in der Resourcen-Definitionsdatei identifiziert. Die Variablenadressen werden im Zielcode als vorzeichenlose Ganzzahlen auf 16 Bits gespeichert. Die Adressen werden in einer in der Resourcen-Definitionsdatei spezifizierten Ordnung gespeichert. Die Variablen müssen durch Kommas getrennt werden. Der Name der Resource darf 15 Zeichen nicht überschreiten.

Syntax:	VARLIST '<resource_name>'

BEGIN

...target_selection...

...list of variable names...

END

Beispiel:	VarList 'LIST'

Begin

...

Var100, MyParameter, Command, Alarm

End


BINARYFILEBinaryFile
BINARYFILE

Bedeutung:	Spezifiziert eine Resource vom Typ Binary File. Die Ursprungsdaten werden in einer MS-DOS Datei gespeichert. Die Definition der Zielresource wird mit einem Zielpfadnamen vervollständigt. Zeilenendzeichen werden nicht vom ISaGRAF Resourcen-Compiler konvertiert. Der Name der Resource darf 15 Zeichen nicht überschreiten.

Syntax:	BINARYFILE '<resource_name>'

BEGIN

...target selection...

FROM '<urspungs_pfadname>'

TO '<ziel_pfadname>'

END

Beispiel:	BinaryFile 'MYFILE'

Begin

...

From 'c:\user\config.bin'

To '/dd/user/appl/config.dat'

End


TEXTFILETextFile
TEXTFILE

Bedeutung:	Spezifiziert eine Textdatei-Resource. Die Ursprungsdaten werden in einer ASCII-Datei gespeichert. Die Definition der Zielresource wird mit einem Zielpfadnamen vervollständigt. Die Zeilenendzeichen werden vom ISaGRAF Resourcen-Compiler gemäß der Konventionen des Zielsystems konvertiert. Der Name der Resource darf 15 Zeichen nicht überschreiten.

Syntax:	TEXTFILE '<resource_name>'

BEGIN

...target selection...

FROM '<urspungs_pfadname>'

TO '<ziel_pfadname>'

END

Beispiel:	TextFile 'MYFILE'

Begin

...

From 'c:\user\config.bin'

To '/dd/user/appl/config.dat'

End


TARGETTarget
TARGET

Bedeutung:	Spezifiziert den Namen eines Zielcodes, der die Resource einschließen muß. Siehe vorangehenden Abschnitt (Compiler-Optionen) für weitere Informationen über die verarbeiteten Zielcodes. Die Anweisung "Target" kann mehrmals in einem Resourcen-Block auftreten, damit mehrere Zielcodes ausgewählt werden können. Diese Anweisung kann nicht benutzt werden, wenn die Anweisung "AnyTarget" spezifiziert ist.

Syntax:	TARGET '<zielcode_name>'

Beispiel:	BinaryFile 'MYFILE'

Begin

Target 'ISA86M'

Target 'ISA68M'

...

End


ANYTARGETAnyTarget
ANYTARGET

Bedeutung:	Spezifiziert, daß die Resource mit allen vom Codegenerator entwickelten Zielcodes verbunden werden muß. Der ISaGRAF Codegenerator kann mehrere Zielcodes in einem Codierungsvorgang entwickeln. Die Anweisung kann nicht benutzt werden, wenn eine oder mehrere "Target"-Anweisungen spezifiziert sind.

Syntax:	ANYTARGET

Beispiel:	ULongData 'MYDATA'

Begin

AnyTarget

...

End


FROMFrom
FROM

Bedeutung:	Spezifiziert den Ursprungspfadnamen (auf dem PC, auf dem die ISaGRAF Workstation installiert ist) einer Resource vom Typ BinaryFile oder TextFile. Die Trennzeichen für die Komponenten des Pfadnamens (Laufwerk, Verzeichnis, Vorzeichen, Suffix) müssen konform zu den MS-DOS-Systemkonventionen sein.

Syntax:	FROM '<target pathname>'

Beispiel:	BinaryFile 'MYFILE'

Begin

...

From 'c:\user\config.dat'

To '/dd/user/appl/config.dat'

End


TOTo
TO

Bedeutung:	Spezifiziert den Zielpfadnamen (auf dem Zielsystem) einer Resource vom Typ BinaryFile oder TextFile. Die Trennzeichen für die Komponenten des Pfadnamens (Laufwerk, Verzeichnis, Vorzeichen, Suffix) müssen konform zu den Zielsystemkonventionen sein.

Syntax:	TO '<target pathname>'

Beispiel:	TextFile 'MYFILE'

Begin

...

From 'c:\user\config.dat'

To '/dd/user/appl/config.dat'

End


Beispiel

Es folgt das komplette Beispiel einer Resourcen-Definitionsdatei:

(* Resourcen-Definitionsdatei *)

ULongData 'DATA1'	(* Liste von Werten *)

Begin

   Target 'ISA86M'	(* nur für diesen Zielcode *)

   1, 0, 16#1A2B3C4D, +1, -1	(* numerische Werte *)

End

VarList 'VLIST1'	(* Variablenliste *)

Begin

   Target 'ISA86M'	(* nur für diesen Zielcode *)

   Valve1, StateX, Command, Alrm1	(* Variablennamen *)

End

BinaryFile 'FILE1'	(* binary file Resource *)

Begin

   AnyTarget	(* allen Zielcodes dediziert *)

   From 'c:\user\updatef.bin'	(* Quelldatei auf PC *)

   To 'updatef.cfg'	(* Zieldatei auf SPS *)

End

TextFile 'FILE2'	(* Textdatei-Resource *)

Begin

   Target 'ISA68M'

   From 'c:\nw\nwbd.txt'	(* Quelldatei auf PC *)

   To '/nw/dat/nwbd'	(* Zieldatei auf SPS *)

End


Resourcen kompilieren

Wenn Resourcen in die Resourcen-Definitionsdatei eingegeben wurden, erscheint das "Resourcen kompilieren" Dialogfeld am Ende der ISaGRAF Code-Entwicklung.

Klicken Sie auf die Schaltfläche "Kompilierung starten", um den Resourcen-Compiler zu starten. Ausführungs- und Fehlermeldungen werden im der Kontrolltafel angezeigt. Klicken Sie "Beenden", wenn Sie die Resourcen nicht kompilieren wollen. In diesem Fall werden die Resourcen dem ISaGRAF Code nicht beigefügt.


Implementierung

Unter ISaGRAF ist die Anzahl der Resourcen, sowie die Größe der Datenzeilen und Dateien unbegrenzt. Resourcen werden am Ende des generierten Codes, mit einem Resourcen-Verzeichnis, gespeichert. Es folgt das Format des Resourcen-Verzeichnisses (mit C-Notationen):

__RESOURCE:

{

  long nbres;	/* Anzahl definierter Resourcen */

  {

    char name[16];	/* Resourcen-Name */

    long type;	/* Resourcen-Datentyp */

    long size;	/* genaue Größe des Datenblocks */

    uint32 data;

    uint32 path_offset;	/* Pointer zu einer Zeichenkette */

  } /*Anzahl der Datensätze */

}

Das Feld "type" kann die folgenden Werte annehmen:

1 = binary file

2 = text file

3 = ulong data (in diesem Fall wird das Feld path_offset nicht benutzt)

4 = variable list (in diesem Fall wird das Feld path_offset nicht benutzt)

Für Textdateien werden die Zeilenendzeichen vom Resourcen-Compiler gemäß der Zielsystemkonventionen übersetzt. Alle Pointers sind 32 Bit Offsets von der Adresse der entsprechenden Struktur. Alle Resourcen- und Pfadnamen sind in NULL endende Zeichenketten. Pfadnamen und Datenfluß folgen dem Resourcen-Verzeichnis.