- DC selection must use the structured <Dc><Data AssignActivate/> XSD element; legacy DcData hex writes get normalized to zeros by TwinCAT - TwinCAT converts it to DcData '2003...' (0x0320) on save: SYNC0/SYNC1 cyclic + SYNC0 activate for the bridge - Verified: clean activation, ticker OP, bSync=True, 90k cycles 0 errors, timing unchanged (jitter 7.3us mean) - docs: pitfall #10 (DC selection method)
19 lines
513 B
Python
19 lines
513 B
Python
import sys, time
|
|
sys.stdout.reconfigure(encoding='utf-8', errors='replace')
|
|
from pywinauto import Application
|
|
|
|
app = Application(backend='uia').connect(process=11748, timeout=10)
|
|
wins = app.windows()
|
|
print('windows:', len(wins))
|
|
for w in wins:
|
|
try:
|
|
t = w.window_text()
|
|
if not t:
|
|
continue
|
|
print('---', t)
|
|
tabs = [x.window_text() for x in w.descendants(control_type='TabItem')]
|
|
if tabs:
|
|
print(' tabs:', tabs)
|
|
except Exception:
|
|
pass
|