Quickstart
Starten mit einer einfachen MATLAB®-Funktion
- Nutzen Sie gern die Möglichkeit, unsere eingebauten Samples für erste Schritte mit dem TwinCAT Target for MATLAB® zu gehen. Im MATLAB® Command Window erhalten Sie eine Liste der verfügbaren Samples über:
TwinCAT.ModuleGenerator.Samples.List
- 1. Wählen Sie als erstes einfache Samples aus, z. B. BaseStatistics – auch direkt aufrufbar mit
TwinCAT.ModuleGenerator.Samples.Start('BaseStatistics')
.
![]() | Einsteigervideo Als Einstieg kann ebenso folgendes Video (nur auf Englisch verfügbar) genutzt werden: TwinCAT Target for MATLAB®. |
Einstieg in das Base Statistics Sample
- Durch Öffnen des Base Statistics Sample öffnet sich ein MATLAB Live Script, welches sowohl Dokumentationsteile als auch Sections mit Code zur Ausführung beinhaltet.
- 1. Führen Sie die Code Sections durch Klicken auf die jeweils eingeblendeten Run-Buttons aus.
- 2. Arbeiten Sie sich so Schritt für Schritt durch das Sample.
- Das Bespiel zeigt, wie Sie zwei MATLAB®-Funktionen mit dem Target for MATLAB® in zwei TcCOM-Objekte und zwei Funktionsbausteine überführen können, wobei die Funktionsbausteine in einer gemeinsamen SPS-Bibliothek gebündelt werden.

Sollten Sie keine gültige TE1401 Lizenz besitzen, können Sie im Sample die Checkbox TrialLicense aktivieren. Dadurch wird nur eine MATLAB®-Funktion in ein TcCOM und einen Funktionsbaustein überführt. Das Beispiel ist dann konform mit den Demoversionsbedingungen des Produkts.
Auswahl der Komponenten und Pfade
Im Bereich General Preparation des Beispiels wird angegeben:
Wie soll der erstellte TwinCAT-Treiber (tmx-file) heißen?
Hier wird Tc3_BaseStatistics gewählt.
Dieser Name wird dann verwendet an folgenden Stellen:
- Dateipfad im Engineering Repository:
%TwinCATInstallDir% \3.1\Repository\<TE140x Module Vendor>\Tc3_BaseStatistics\<Version>\ - Name der erstellen Dateien *.tmx, *.tml, *.tmc und *.library
- Name der erstellten SPS-Bibliothek in TwinCAT, welche dann die zwei Funktionsbausteine enthält
Wo sollen alle Source Dateien abgelegt werden?
Als buildDir
wird angegeben, wo der MATLAB Coder™ und auch das TwinCAT Target for MATLAB® alle Source Dateien, log-Files und weitere Metainformationsdateien ablegen soll. Dieser Ordner enthält alle Informationen, um von hier ausgehend die TwinCAT-Objekte zu erstellen. In diesem Fall wird ein neuer Ordner _ buildDir
im aktuellen MATLAB®-path angelegt.
Welche MATLAB®-Funktionen sollen in TwinCAT verfügbar gemacht werden?
Die MATLAB®-Funktionen werden hier mit den Variablen module1
und module2
benannt; entsprechend sollen die zwei MATLAB®-Funktionen BaseStatistics und BaseStatisticsIteravtive (hinterlegt im Subordner M) in TwinCAT-Objekte überführt werden.
Jedes dieser Module bekommt einen eigenen Subordner im buildDir
welcher mit cppDir1
und cppDir2
bezeichnet wird. In diese Subordner wird später der C++-Code vom MATLAB CoderTM generiert.

Erstellen einer MATLAB Coder™ Konfiguration
Im weiteren Verlauf des MATLAB® Live Script wird eine MATLAB CoderTM-Konfiguration erstellt. Diese Sektion enthält keine TwinCAT-spezifischen Bestandteile, d. h. es wird ausschließlich der MATLAB Coder™ verwendet. Eine ausführliche Dokumentation zum MATLAB Coder™ finden Sie in der MATLAB®-Dokumentation.

Bei der Erstellung der Coder-Konfiguration cfg
ist zu beachten:
- Der Embedded Coder wird nicht unterstützt.
- Nur der generierte Code wird benötigt.
Dem codegen
Befehl wird dann die Coder-Konfiguration und die entsprechende MATLAB®-Funktion, die übersetzt werden soll, übergeben. Mit dem Argument “-d“, cppDir1 wird eingestellt, dass der MATLAB Coder™ den C++-Code in den Pfad cppDir1 ablegt.
Entsprechend liegen nach diesem Schritt der generierte C++-Code der Funktion BaseStatistic.m und BaseStatisticIterarive.m in den Ordnern _BuildDir/ BaseStatistic und _BuildDir\ BaseStatisticIterative.
Erstellen einer Target for MATLAB® Projekt-Export-Konfiguration
Die folgenden Code-Segmente im MATLAB® Live Script betreffen ausschließlich das Target for MATLAB® und sind insofern unabhängig vom MATLAB Coder™, als dass nur noch mit dem durch den MATLAB Coder™ bereits erstellen C++-Code gearbeitet wird.
Optional können Sie die MATLAB®-Code-Beschreibung aus dem m-File extrahieren und diese später im TwinCAT XAE anzeigen lassen, siehe MATLAB Code im TcCOM.
TwinCAT.ModuleGenerator.Matlab.ExportMCodeRepresentation('MFile',module1,'BuildDir',cppDir1);
Das M-File mit der Funktion module1, also BaseStatistics, muss dazu im MATLAB® Workspace liegen. Die Informationen werden dann aus dem m-File BaseStatistics.m extrahiert und im Ordner cppDir1 abgelegt.
Im nächsten Schritt wird eine Projekt-Export-Konfiguration durch den TwinCAT-Modulgenerator angelegt mit
TwinCAT.ModuleGenerator.ProjectExportConfig('FullPath',FullPathToVcxproj);
Als Argument wird der Fullpath zum neu zu erstellenden Visual Studio Projekt angegeben. In diesem Fall …\_BuildDir\Tc3_BaseStatistics.vcxproj. Die Benennung des Visual Studio Projekts definiert nach dem Build auch die Benennung der erstellten Dateien *.tmx, *.tmc, *.tml und *.library. Siehe dazu Quickstart.

Für jede MATLAB®-Funktion muss eine Export-Konfiguration erstellt werden mit TwinCAT.ModuleGenerator.Matlab.FunctionExportConfig()
. Mit AddClassExportConfig wird diese Export-Konfiguration zur Projekt-Export-Konfiguration als Modul hinzugefügt.
exportConfig.AddClassExportConfig(TwinCAT.ModuleGenerator.Matlab.FunctionExportConfig('MFile',module1,'BuildDir',cppDir1));
Als Argument zum FunctionExportConfig() wird einmal der Pfad zum vom MATLAB Coder™ erstellten C++-Code und der Name des m-Files mit entsprechender MATLAB®-Funktion übergeben. Beispielsweise mit module1 wird dann gesetzt, dass das zu erstellende TcCOM-Objekt und der Funktionsbaustein in der SPS-Bibliothek BaseStatistics bzw. FB_BaseStatistics heißen.
Die Projekt-Export-Konfiguration wird im Folgenden noch weiter adaptiert. So werden die Plattformen definiert, für die ein Treiber gebaut werden soll (hier für Windows 32bit, Windows 64 bit und TwinCAT/BSD® 64bit). Ebenso wird konfiguriert, dass eine SPS-Bibliothek erstellt und auch auf dem lokalen TwinCAT XAE installiert werden soll.
Für jedes Modul, welches zur Projekt-Export-Konfiguration hinzugefügt wurde, können individuell Eigenschaften gesetzt werden. Hier wird explizit gesetzt, dass für das erste hinzugefügte Modul sowohl ein SPS-Funktionsbaustein als auch ein TcCOM erzeugt werden soll.
Mit disp(exportConfiguration)
können Sie sich die gesamte Konfiguration im Überblick anzeigen lassen.

Sie erhalten dadurch einen Überblick über die gesetzten Werte (Value), über den Datentypen der verwendet wird (DataType), Wert-Vorschläge (Options) und eine Kurzbeschreibung (Displayname).
Mit TwinCAT.ModuleGenerator.ProjectExporter(exportConfig)
wird der Build-Prozess der konfigurierten Plattformen angestoßen. Dadurch wird auf dem lokalen Dateisystem im Repository ein Ordner angelegt und die erstellten Treiber und Beschreibungsdateien abgelegt.
Die Pfadbeschreibung lautet:
%TwinCATInstallDir% \3.1\Repository\< VendorName >\<ProjectName>\<Version>\

Den Ordner können Sie auf beliebig viele TwinCAT XAE Systeme kopieren, damit die Module dort verfügbar sind. Einzig die *.library müssen Sie über das PLC library repository in TwinCAT installieren. Beachten Sie dabei, dass die Ordnerstruktur beim Kopieren nicht verändert wird.
SPS-Bibliothek in TwinCAT 3 verwenden
- Ausgehend von einer neuen TwinCAT Solution, erstellen Sie ein SPS Projekt:
- 1. Führen Sie die folgenden Menüschritte aus.


- 2. Fügen Sie danach die neu erstellte (und schon installierte) SPS Bibliothek hinzu:


- 3. Machen Sie sich einen Überblick über die Datentypen und Funktionsbausteine:
- 4. Fügen Sie Instanzen der Funktionsbausteine in Ihre SPS ein und nutzen Sie diese in Ihrer Applikation:


TcCOM-Objekte in TwinCAT 3 verwenden
- 1. Fügen Sie ein neues TcCOM-Objekt ein.
- 2. Wählen Sie das entsprechende TcCOM-Objekt aus:
- 3. Erstellen Sie eine neue zyklische Task vom Typ TwinCAT Task.



- 4. Weisen Sie dem neu erstellen TcCOM-Objekt die neu erstelle Task zu. Gehen Sie dazu auf die Instanz des TcCOM-Objekts und wählen Sie den Reiter Context.
- Sie können nun die Konfiguration aktivieren. Um das TcCOM-Objekt vorher mit anderen Modulen in ihrer TwinCAT Solution zu verbinden, können Sie das Prozessabbild verwenden, um Mappings zu erstellen.

Sie können den MATLAB® Code unter dem Reiter Block Diagram einsehen und im laufenden Betrieb Werte beobachten und scopen. Siehe dazu MATLAB Code Darstellung.