Generieren von Anwendungen

Überblick

In EcoStruxure Machine Expert stehen im Menü „Build“ verschiedene Übersetzungsprozeduren zur Verfügung. Diese Prozeduren sorgen für die Prüfung der Syntax, entweder nur der geänderten Objekte oder aller Objekte der aktiven Anwendung.

Sie können eine Offline-Codegenerierung ausführen, um den Code auf erkannte Kompilierungs­fehler zu prüfen, bevor der Code zum Gerät heruntergeladen wird. Damit das Login erfolgreich ist, muss die Codegenerierung ohne erkannte Fehler abgeschlossen worden sein.

Codegenerierung, Kompilierungsinformationen

Machinecode wird in den folgenden Fällen generiert:

oWenn das Anwendungsprojekt zum Zielgerät heruntergeladen wird (Steuerung, Simulationsziel).

oWenn der Befehl Build > Code generieren ausgeführt wird.

Bei jedem Download werden die Kompilierungsinformation, die den Code und die Referenz-ID der geladenen Anwendung enthalten, im Projektverzeichnis in einer Datei mit dem Namen <Projektname>.<Gerätename>.<Anwendungs-ID>.compileinfo gespeichert. Die compileinfo-Datei wird gelöscht, wenn der Befehl Bereinigen oder Alles bereinigen ausgeführt wird.

Es findet keine Codegenerierung statt, wenn das Projekt mit den Build-Befehlen kompiliert wird (standardmäßig im Menü Build enthalten). Beim Generieren wird das Projekt auf Programmier­fehler überprüft. Alle erkannten Programmierfehler werden in der Ansicht Meldungen (Meldungskategorie Build) angezeigt.

Während der Codegenerierung können zusätzliche Fehler erkannt und angezeigt werden. Diese Fehler können nur vom Codegenerator erkannt werden oder werden von der Speicherzuweisung verursacht.

Meldungen bei der Codegenerierung

Bei jeder Codegenerierung werden zusätzliche Informationen zur Code- und Datengröße (in Bytes), zum Inhalt der zugewiesenen Speicherorte und der höchsten benutzten Adresse (Byte) in der Ansicht Meldungen > Build angezeigt.

Es ist von der Steuerung abhängig, an welchen Speicherorten die verschiedenen Typen an Daten und der Code gespeichert werden. Für die Adressen %I, %M, %Q  wird Speicher zugewiesen, selbst wenn dieser Adresse keine Variable zugewiesen ist. Nach einem Bereinigen der Anwendung wird der Speicher vollständig neu zugewiesen.