Build auf einem System ohne MATLAB® (Build Agent)
Wenn Sie Ihre TwinCAT-Objekte auf einem Entwicklungssystem ohne MATLAB®-Installation bauen möchten, wie zum Beispiel einem Build Agent, können Sie das sogenannte Pack-and-go-Feature (Pack’N Go) von MathWorks® nutzen. Das TwinCAT Target for Simulink® unterstützt und erweitert dieses Feature für TwinCAT-Entwicklungsprozesse.
Pack’N Go
Die Pack'N Go-Funktion ermöglicht das Verpacken eines Projekts und all seiner Abhängigkeiten. Das erleichtert den Transfer auf verschiedene Systeme, auf denen das Projekt kompiliert werden kann. Die ursprünglichen MATLAB®- oder TwinCAT-Umgebungen sind dafür nicht erforderlich. Ein solches Pack kann besonders in einem CI-Kontext von Vorteil sein, da eine effizientere Nutzung von MATLAB®-Agenten ermöglicht wird.
Erzeugen eines Pack-Outputs
Beispiel
TwinCAT.ModuleGenerator.Settings.Change('ConfigurationLevel', 'Advanced');
modelName = 'SimpleTempCtrl';
open_system(modelName);
TwinCAT.ModuleGenerator.Simulink.ModelExportConfig.ShowModelParam(modelName,'SolverType','Fixed-step');
TwinCAT.ModuleGenerator.Simulink.ModelExportConfig.ShowModelParam(modelName,'SystemTargetFile','TwinCatGrt.tlc');
% add your custom settings here
TwinCAT.ModuleGenerator.Simulink.ModelExportConfig.ShowModelParam(modelName,'TcProject_Publish', false); % disable publish step
TwinCAT.ModuleGenerator.Simulink.ModelExportConfig.ShowModelParam(modelName,'TcProject_PackOutputPath', fullfile(pwd,'simpleTempCtrl.zip')); % define name of pack output (also non zip is allowed 'simpleTempCtrlPack'
slbuild(modelName); % create pack output (without building)
Beispiel in MATLAB®: TwinCAT.ModuleGenerator.Samples.Start("Use Continuous Integration Principles with Code Generation")
.
Build
Sobald Sie eine Pack-Ausgabe erstellt haben, z. B. 'simpleTempCtrl.zip', können Sie diese Datei auf ein anderes Build-System kopieren. Das Build-System benötigt dann nur TwinCAT XAE und ein Visual Studio Professional oder ein gleichwertiges Programm (kein TwinCAT Target und keine MATLAB®-Installation). Für TwinCAT-Build 4026 installieren Sie auf dem Build-Agent:
- Visual Studio Professional/Ultimate/Community 2017 oder höher
- TwinCAT Package Manager
- TC1300 | TwinCAT 3 C++ Workload
- Integrieren Sie das installierte TwinCAT in das installierte Visual Studio
Entpacken Sie die Pack-Ausgabe auf dem Build-Agent und navigieren Sie zur vcxproj-Datei. Sie können die Datei von hier aus in Visual Studio öffnen, um das Projekt zu bauen. Sie können auch das Projekt als vorhandenes Element zu Ihrer TwinCAT-Solution (im TwinCAT C++ Bereich) hinzufügen, oder das Projekt über die msbuild-Befehlszeilenschnittstelle bauen (siehe erste Zeile in allen PublishLog.txt-Dateien als Referenz).