Quickstart

Konfiguration des Simulink® - Modells

Quickstart 1:

Der Zugriff auf die Codereinstellungen kann über den Model Explorer im Menü View der Simulink-Umgebung, über Code Generation (früher Real-Time Workshop) > Options im Menü Tools oder über den Configuration Parameters -Dialog erfolgen. Wählen Sie in der Baumansicht zunächst Configuration > Code Generation. Öffnen Sie darunter die Registerkarte General und wählen Sie TwinCAT.tlc als „System target file“. Alternativ kann mit der Schaltfläche Browse ein Auswahlfenster geöffnet und darin das TwinCAT Target als Zielsystem ausgewählt werden.

Für die Echtzeitfähigkeit des Simulink-Modells muss außerdem in den Solver-Einstellungen ein Fixed-Step-Solver konfiguriert sein.

Generieren eines TcCOM Moduls aus Simulink

Das Generieren des C++ Codes bzw. des TcCOM Moduls kann mit der Schaltfläche Build (bzw. Generate code) im unteren Teil des Fensters für die Codegenerator-Optionen gestartet werden. Ist die Option Publish module unter TC Build (Defaulteinstellung) aktiviert, wird sofort nach dem Generieren des C++ Codes der Build-Prozess zur Erzeugung ausführbarer Dateien gestartet und ein TcCOM Modul erstellt. Ansonsten stoppt der Modulgenerator nach dem Generieren des C++ Codes und der Projektdatei für Visual Studio™. Weitere Informationen zu diesem Punkt finden Sie unter Publish Module.

Integration des Moduls in TwinCAT 3

Nach dem Exportieren des Moduls mit "Publish"

Wurde vor der Modulgenerierung die Option Publish Module aktiviert, ist das Modul bereits in kompilierter Form verfügbar. Eine TwinCAT Module Class (TMC file) wurde dabei erzeugt und kann im Projekt direkt instanziiert werden. Eine TwinCAT Module Instanz (TMI) wird im Folgenden als TcCOM-Objekt oder Modulinstanz bezeichnet.

Quickstart 2:

Instanzen des generierten Moduls können beliebig häufig in ein TwinCAT3-Projekt eingebunden werden. Üblicherweise werden TcCOM-Objekte über das Kontextmenü Add New Item an den Knoten TcCOM-Objects angehängt. Durch Anwahl dieses Kontextmenüs erhalten Sie eine Auswahlliste der auf dem System verfügbaren Module. Die von Simulink generierten Module finden sich unter TE1400 Module Vendor > Generated Modules.

Übersetzen des Codes ohne „Publish“

Wurde vor der Modulgenerierung die Option Publish Module deaktiviert, muss der zum Modul gehörende, generierte C/C++-Code noch übersetzt werden, bevor er ausgeführt werden kann.

Das C++ Projekt kann über das Kontextmenü des C++-Knotens mit Add Existing Item in das TwinCAT-Projekt eingefügt werden. Die C++ Projektdatei befindet sich im Build-Verzeichnis "<MODELNAME>_tct" und trägt den Namen des Moduls mit der Dateiendung .vcxproj. Danach kann das Modul in der TwinCAT-Entwicklungsumgebung (XAE) erstellt werden:

Quickstart 3:

Über das Kontextmenü des übergeordneten Knotens des C++-Projektes können auch hier mehrere Instanzen des Moduls erstellt werden, die unterhalb des Projekt-Knotens aufgelistet werden. Weitere Informationen über den Build-Prozess von C++-Projekten in der TwinCAT-Entwicklungsumgebung (XAE) und über die Instanziierung von so erstellten Modulen finden sich im Abschnitt „Ein TwinCAT3 C++ Projekt erstellen“.

Zyklischer Aufruf durch eine Echtzeit-Task

Quickstart 4:

Unter der Registerkarte Context der Modulinstanz findet man alle Kontexte des Moduls, welche jeweils einer Echtzeittask zugewiesen werden müssen. Bei der Einstellung Depend on: Task Properties werden automatisch Tasks zugewiesen, bei denen Zykluszeit und Priorität den angezeigten Werten entsprechen. Wenn es keine passenden Tasks gibt oder die Einstellung Depend on: Manual Config gewählt wurde, können unter System Configuration > Task Management Tasks angelegt werden. Weitere Informationen zum zyklischen Aufruf der Modulinstanzen finden Sie im Abschnitt „Cyclic Call“.

Datenaustausch mit anderen Modulen oder Feldbusgeräten

Unterhalb des Modulinstanz-Knotens in der TwinCAT-Entwicklungsumgebung können die Prozessabbilder der Ein- und Ausgänge des Moduls aufgeklappt werden. Hier finden Sie alle Ports, die im Simulink-Modell mit Hilfe der Blöcke In1 und Out1 (Bestandteile der Standard-Simulink-Bibliothek) definiert wurden. Alle Signale innerhalb dieser Prozessabbilder können über das Kontextmenü Change Link mit Signalen anderer Prozessabbilder verknüpft werden.