✓ 最佳回答
首先明确一个关键点:D8000等特殊寄存器在FX5U中是“软元件”,它们读出的时间并不是直接来自RTC硬件,而是CPU在每次扫描开始时从RTC硬件缓存到D区。如果D8000显示2019年,但面板RTC正常,说明RTC硬件本身没问题,问题出在D8000的读取机制或电池备份SRAM。按以下排查:1)检查电池是否真正连接到了CPU的RTC备份域——FX5U的电池不是直接给RTC供电,而是给整个RAM区(包括特殊寄存器),如果电池接触不良但电压测量正常(因为空载),在断电瞬间会掉数据。建议在电池座两端并联电容(如100μF)再测压降,或者直接换新电池并确保金属弹片夹紧。2)确认是否编译程序时勾选了“初始化特殊寄存器”选项——GX Works3的工程设置中,如果勾选了“恢复出厂时清空特殊寄存器”,则每次上电都会把D8000区域清零。到“PLC参数-内存设置”里取消勾选。3)检查程序里是否有别处对D8000写入——比如用MOV指令写D8000,或者用TWR指令(写时钟)强制覆盖,用“软元件注释”搜索D8000的写入点。4)如果以上都没问题,尝试用GX Works3的“时钟写入”功能直接写RTC硬件,然后立即读D8000,如果读出的值和写入值不一致,则可能是CPU内部D区映射故障,需执行“内存全清(PLC初始化)”后重新下载程序。