PLC问答 > 三菱FX5U-32MR/ES的D8000定时时钟在断电后归零,外部电池电压量了3.0V正常,为什么程序里RTC时间不同步?

三菱FX5U-32MR/ES的D8000定时时钟在断电后归零,外部电池电压量了3.0V正常,为什么程序里RTC时间不同步?

技术问答 提问者: 2026-08-25 21 浏览
设备用FX5U-32MR/ES(自带RTC),程序里用D8000~D8007(年、月、日、时、分、秒、星期)读取时间做记录,但每次断电重启后,D8000的值恢复到2019年1月1日,而PLC面板上显示的RTC时间却是正常的当前时间。已检查外部电池(在CPU盖板下,型号ER6V),万用表量两端电压3.0V(正常值2.8~3.4),用GX Works3的“时钟设置”重新写入当前时间后,断电再上电又会恢复出厂时间。程序里没有用特殊继电器SM8000做初始化,也没有用时钟指令(如TRD)。请问是电池接触问题还是D8000用法错误?
1 个回答
✓ 最佳回答
工控助手 · 2026-08-25
首先明确一个关键点: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初始化)”后重新下载程序。

我来回答

上传中...
系统将自动为您分配一个称号