ethercat-linux/scripts/tc-check-system.ps1
Tony Cao 309aaba342 EL6695 8-byte bidirectional exchange with per-byte verification
- 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
2026-07-27 19:01:05 +08:00

13 lines
1008 B
PowerShell

#Requires -Version 5.1
Write-Host "=== TwinCAT Events (last 30 min) ===" -ForegroundColor Cyan
Get-WinEvent -FilterHashtable @{LogName='Application','System'; StartTime=(Get-Date).AddMinutes(-30)} -ErrorAction SilentlyContinue |
Where-Object { $_.Message -like '*TwinCAT*' -or $_.ProviderName -like '*TwinCAT*' } |
Select-Object TimeCreated, ProviderName, Id, LevelDisplayName, @{N='Message';E={$_.Message -replace "`r`n",' ' -replace "`n",' ' | ForEach-Object { $_.Substring(0,[Math]::Min(200,$_.Length)) }} } |
Format-Table -AutoSize
Write-Host "=== TwinCAT Services ===" -ForegroundColor Cyan
Get-Service | Where-Object { $_.Name -like '*TwinCAT*' -or $_.DisplayName -like '*TwinCAT*' } | Select-Object Name, DisplayName, Status, StartType | Format-Table -AutoSize
Write-Host "=== TwinCAT Processes ===" -ForegroundColor Cyan
Get-Process | Where-Object { $_.ProcessName -like '*Tc*' -or $_.ProcessName -like '*TwinCAT*' } | Select-Object ProcessName, Id, StartTime | Format-Table -AutoSize