CodeGenerationDemo

Der Scripting Container (download hier) ist eine C# WPF-Anwendung, die eine Sammlung aller verfügbaren Automation Interface-Beispiele darstellt. Die meisten dieser Beispiele stehen auch als eigenständige Beispieldownloads zur Verfügung. Allerdings werden neue Beispiele zunächst im Scripting Container veröffentlicht, bevor sie als getrenntes Beispiel erstellt werden. Aus diesem Grunde empfehlen wir Ihnen, dass Sie sich mit dieser Anwendung vertraut machen und sie regelmäßig auf neue Beispiele hin überprüfen.

Dieser Artikel beschreibt den allgemeinen Aufbau der Scripting Container-Anwendung und besteht aus den folgenden Themen:

Die grafische Benutzeroberfläche (GUI)

Nachdem Sie die CodeGenerationDemo-Anwendung gestartet haben, sieht ihre grafische Benutzeroberfläche wie folgt aus:

CodeGenerationDemo 1:

Auf der linken Seite können Sie aus drei verschiedenen TwinCAT-Konfigurationen auswählen, jede mit ihrer eigenen I/O, Achse und SPS-Konfiguration

Im Dropdown-Listenfeld oben rechts können Sie die Visual Studio-Version auswählen, welche der Skript-Code für die Erstellung der Konfiguration verwenden soll, für den Fall, dass auf Ihrem System verschiedene Visual Studio-Versionen installiert sind.

Um die Erstellung der Konfiguration zu starten, wählen Sie einfach eine Konfiguration und drücken „Generate“ (Erstellen).

Speicherort von Beispielskripts („Wo ist der Automation Interface-Code???”)

Der eigentliche Automation Interface-Code befindet sich in den folgenden Klassen:

Entsprechend der ausgewählten Konfiguration instanziiert die CodeGenerationDemo-Anwendung eine der drei ConfigurationScriptX.cs-Klassen, die alle von CodeGenerationScript.cs abgeleitet sind.

Jede Klasse stellt entsprechende Methoden für die Erstellung der SPS-, Achsen- oder I/O-Konfiguration zur Verfügung.

Speicherort von Daten („Woher stammen alle diese Daten?“)

Jede Konfiguration hat ihre eigenen I/O-, Achsen- und SPS-Einstellungen. Wie Sie wohl bereits festgestellt haben, ist diese Konfiguration nicht fest im Automation Interface-Code programmiert (wie in anderen Automation Interface-Beispielen). Im Falle dieses Beispiels sind diese Einstellungen in einer XML-Datei gespeichert, die sich unter "CodeGenerationDemo\Data\Orders.xml" befindet. Diese XML-Datei spezifiziert zwei wichtige XML-Unterstrukturen, die für die Speicherung der TwinCAT-Einstellungen verwendet werden.

Hauptbeschreibung einer Konfiguration:

<MachineOrders>
<Order id="1">
...
</Order>
</MachineOrders>

Diese Struktur definiert eine Konfiguration und legt ihre globalen beschreibenden Eigenschaften, wie Name, Beschreibung, ... fest. . Diese Eigenschaften werden auf der grafischen Benutzeroberfläche unter der Konfigurationsauswahl gezeigt.

Eigentliche Konfiguration mit einer Referenz auf ihre Beschreibung:

<AvailableConfigurations>
<Configuration id="..." name="...">
...
</Configuration>
</AvailableConfigurations>

Diese Struktur spezifiziert die I/Os, Achsen, SPS-Bibliotheken und Verknüpfungen.