PLC-Projekte kompilieren
Einzelne Projekte innerhalb einer TwinCAT-Solution lassen sich gezielt über SolutionBuild.BuildProject kompilieren, ohne die gesamte Solution neu zu bauen. Bevor BuildProject aufgerufen wird, muss die Zielplattform über ConfigurationManager.ActiveTargetPlatform auf die gewünschte Konfiguration gesetzt werden. Das Ergebnis ist über SolutionBuild.LastBuildInfo abrufbar: 0 bedeutet Erfolg, jeder andere Wert zeigt einen Fehler an.
Voraussetzungen
- Eine TwinCAT-Solution mit mindestens einem PLC-Projekt ist geöffnet.
PowerShell Beispiel
$sln = $dte.Solution
$sysMan = $sln.Projects.Item(1).Object
# Compile SysMan project using the SolutionBuild interface
$sysManProject = $dte.Solution.Projects.Item(1)
$sysManProjectPath = $sysManProject.FullName
$sysMan.ConfigurationManager.ActiveTargetPlatform = "TwinCAT RT (x64)"
$sln.SolutionBuild.BuildProject("Release|TwinCAT RT (x64)", $sysManProjectPath, $true)
# Compile SysMan-Project with BuildTargetPlatform command
$sysMan.BuildTargetPlatform("TwinCAT RT (x64)")
# Compile PLC project (path to .plcproj file)
$plcProjectPath = "C:\Projects\MyProject\PLC1\PLC1.plcproj"
$sysMan.ConfigurationManager.ActiveTargetPlatform = "TwinCAT RT (x64)"
$sln.SolutionBuild.BuildProject("Release|TwinCAT RT (x64)", $plcProjectPath, $true)
# Check result (0 = success)
$lastBuildInfo = $sln.SolutionBuild.LastBuildInfo
if ($lastBuildInfo -ne 0) {
Write-Error "Build fehlgeschlagen"
}
C# Beispiel
EnvDTE.Solution sln = dte.Solution;
string plcProjectPath = @"C:\Projects\MyProject\PLC1\PLC1.plcproj";
systemManager.ConfigurationManager.ActiveTargetPlatform = "TwinCAT RT (x64)";
// Third parameter: true = wait until build is complete
sln.SolutionBuild.BuildProject("Release|TwinCAT RT (x64)", plcProjectPath, true);
int result = sln.SolutionBuild.LastBuildInfo; // 0 = success
![]() | Der erste Parameter ist die Build-Konfiguration, z. B. |
![]() | Bevor über das |
