- 8B PDO config: ULINT-sized payload, no 0x1A01 diag PDO on SM3 (device rejected SM3=8 with diag assigned: 'size not allowed, min/max 0xa') - twin_layout_blob_sized(): single 64-bit mapping entry for 8B payloads - Ticker: per-byte XOR 0x5A transform in 8B mode so TwinCAT can verify every byte individually (1KB path unchanged, const-guarded) - TwinCAT automation scripts: deploy with RPC retry, LinkVariables-based whole-array relink (element links only carry 1 byte), ADS watch, diag - Docs: 8B design, verification methodology, test report
22 lines
603 B
PowerShell
22 lines
603 B
PowerShell
. "$PSScriptRoot\tc-common.ps1"
|
|
$dte = Get-Dte
|
|
Open-Solution -Dte $dte
|
|
|
|
Write-Host "Waiting 60s for project load..."
|
|
Start-Sleep -Seconds 60
|
|
|
|
for ($i = 1; $i -le 10; $i++) {
|
|
$p = $dte.Solution.Projects.Item(1)
|
|
$obj = $null
|
|
try { $obj = $p.Object } catch {}
|
|
if ($obj) {
|
|
Write-Host "Object ready after attempt $i"
|
|
try { $io = $obj.LookupTreeItem("TIID"); Write-Host "TIID: $($io.Name)" }
|
|
catch { Write-Host "LookupTreeItem error: $_" }
|
|
break
|
|
}
|
|
Write-Host " Attempt ${i}: Object still null, waiting 10s..."
|
|
Start-Sleep -Seconds 10
|
|
}
|
|
$dte.Quit()
|