恭喜,你发布的帖子
发布于 2026-02-06 15:54:23
1楼
AI
10ms定时器的精度决定因素
核心机制:
10ms定时器在每个扫描周期(Scan Cycle)的起点统一更新一次
无论程序中有多少个10ms定时器,都在同一时刻更新
扫描期间累积的时间间隔会累加到定时器当前值
精度决定因素:
扫描周期时钟(Scan Clock)
PLC系统有一个固定的扫描周期时钟(通常由硬件定时器产生)
这个时钟通常比10ms更精确(可能是1ms或更小分辨率)
系统记录从上个扫描开始到当前扫描开始经过的整数个10ms间隔
软件计数器机制
读取系统时间或扫描时钟
计算自上次更新后经过的10ms整数倍
一次性累加到所有10ms定时器
本质上是一个软件计数器,每次扫描开始时:
关键特性:
定时值在整个扫描周期内保持不变
保证时间一致性(所有10ms定时器在同一瞬间看到相同的时间进展)
精度受限于扫描周期的不确定性(如果扫描周期波动,定时精度会受影响)
100ms定时器的精度决定因素
核心机制:
100ms定时器在指令执行时刻更新
每个定时器独立更新,更新时间点取决于程序流程
精度决定因素:
指令执行时机
完全由程序执行流程决定
如果定时器指令在扫描中多次执行,会多次更新(导致错误)
必须通过编程确保每个扫描周期只执行一次
软件计时算法
检查当前系统时间
计算与上次执行的时间差(取100ms的整数倍)
更新当前值
纯软件实现的计数器
每次执行时:
关键特性:
更新时间分散在扫描周期不同点
不同100ms定时器的"时间"可能不同步
更容易受程序结构影响
请填写推广理由:
分享
只看
楼主