- ticker: --spin mode polls FPRD until payload changes (phase-locks processing to TwinCAT frame arrival instead of free-running ticker), timeout at 1.5 periods keeps loop alive on master stop - verified: 238k cycles, 0 errors, exec=245us (FPWR-bound), TwinCAT PLC task confirmed at 2000.8 Hz (all three tasks 0.5ms; base tick was already 50us - no base-time change needed) - docs: 500us latency plan; scripts: task-rate ADS probe, 2kHz deploy, UI automation experiments (pywinauto) for task cycle inspection
22 lines
939 B
PowerShell
22 lines
939 B
PowerShell
#Requires -RunAsAdministrator
|
|
$ErrorActionPreference = 'Continue'
|
|
$dte = New-Object -ComObject TcXaeShell.DTE.17.0
|
|
$dte.MainWindow.Visible = $true
|
|
try { $dte.SuppressUI = $false } catch {}
|
|
$dte.Solution.Open('C:\Users\tonycao\work\twincat3-auto-cli\TwinCAT_EL6695_Primary_2kHz\TwinCATProject1.sln')
|
|
Start-Sleep 25
|
|
$sm = $null
|
|
for ($i = 0; $i -lt 20; $i++) {
|
|
try { $sm = $dte.Solution.Projects.Item(1).Object; if ($sm) { break } } catch {}
|
|
Start-Sleep 3
|
|
}
|
|
if (-not $sm) { Write-Host 'no sysmgr'; exit 1 }
|
|
$cands = @('TISA','TISB','TISD','TISF','TISH','TISJ','TISK','TISL','TISO','TISP','TISQ','TISR','TIST','TISU','TISV','TISW','TISX','TISZ','TIAN','TIR1','TIR2','TIR3','TIR4','TIR5','TIR6','TIR7','TIR8','TIR9','TIRE')
|
|
foreach ($p in $cands) {
|
|
try {
|
|
$it = $sm.LookupTreeItem($p)
|
|
if ($it) { Write-Host "$p => '$($it.Name)' cc=$($it.ChildCount) subtype=$($it.ItemSubType)" }
|
|
} catch {}
|
|
}
|
|
Write-Host 'done'
|