$ErrorActionPreference = 'Continue' Add-Type -Path 'C:\Program Files (x86)\Beckhoff\TwinCAT\3.1\Components\Base\v170\TwinCAT.Ads.dll' $c = New-Object TwinCAT.Ads.TcAdsClient $c.Connect('169.254.176.217.1.1', 10000) Write-Host "before: $($c.ReadState().AdsState)" try { $c.WriteControl((New-Object TwinCAT.Ads.StateInfo([TwinCAT.Ads.AdsState]::Run, 0))) Write-Host "WriteControl Run sent" } catch { Write-Host "err: $_" } $c.Dispose() Start-Sleep 10 $c2 = New-Object TwinCAT.Ads.TcAdsClient $c2.Connect('169.254.176.217.1.1', 10000) Write-Host "after: $($c2.ReadState().AdsState)" $c2.Dispose()