最近研究西门子计时精度的问题;
实验原因:
贴主讨论的是制药行业的流程控制,对长时间的计时准确性有很高的要求。例如24小时误差1s。
实验背景:
CPU1513+明伟电源,长沙某一个办公室···
1200&1500 有如下四种方式计时方式:
1.西门子功能块定时器Ton
2.利用PLC的系统和时钟存储器,制作的定时器
3.利用中断块“Cyclic interrupt_100ms”,累加做计时器
4.利用PLC的时钟,制作的定时器
经过3天的实验,得到如下实验结果
第一张计时时间照片
2.3.4数据忽略
5.整整3天后的时间,
注:(中断等级14,这个中断等级似乎会影响(PLC的系统和时钟存储器和中断快)计时)
时间差值计算
目前这种方式,这种简单工况下,1.4方案的计时器是连1s误差都没有的。
方案2.4受中断等级的影响,中断等级为“13”时,会造成数据滞后;计时器相差为负
实验第二次,修改中断等级为最高的24;
发现 Syston和CycTime时间,也就是方案2和方案4的时间会变快。超过实际的运行时间。计时器相差为正
问题:
由于楼主之前测试过,利用中断块做计时器,是完主准确的。但是在目前这台PLC上测试,出现了严重的时间偏差?
最终结论:
TON计时器并没有想象的那么不堪
CPU的时钟计时器,如果不存在写入时间的情况下,永远是最准确的
Cyclic interrupt,中断块,和PLC的系统和时钟存储器,竟然同时受到了中断等级的影响。(系统就只有一个光秃秃的PLC,应该不存在其他中断的情况)。存在计时变快的现象?
实验还在继续,修改中断等级。。。
2021.09.24
不是中断的原因,因为修改为24以后,发现方案,2,3会严重的少计数据。看下图,很清楚看到/
优先级2(后面证明即便是优先级改为24,也会出现少计数的现象)
优先级24—1
优先级24-2
未果~~~前辈们可以指点一下,这个系统方案1,有一个FOR循环 我估计增加扫描时间。目前我取消这个再试试。