前言:在很多项目中,需要累计设备的运行、停机、故障时间,当然实现该功能的编程方法也是多种多样,各有千秋,不过有的方法累计误差会越来越大,比如:在连续任务里用定时器来累计时间,就存在一定的误差。本文分享一种编程简单、基本无累计误差的方法,仅供参考。

方法步骤

1. 在编程界面,新建一个任务.

Studio 5000编程:一种累计时间的编程方法-LMLPHP

2. 在弹出的配置窗口,Type选择Periodic(周期任务),Period:1000ms,这样一个周期为1s的周期任务就建成了.

Studio 5000编程:一种累计时间的编程方法-LMLPHP

3. 然后,新建程序,编写一段累计时间的程序。本文:电机停机、运行累计时间,条件满足开始累计,先是按秒累计,再除以3600换算成小时。关于数据的大小说明:一个DINT数据类型最大能计时为2147483647秒,换算成年:2147483647/3600/24/365=68年,一个项目的工程周期按50年来计算,存储的数据足够了,不用担心溢出问题.

Studio 5000编程:一种累计时间的编程方法-LMLPHP

4. 下载程序,CPU运行状态,模拟电机停机、运行,这样就可以进行时间累计了.

Studio 5000编程:一种累计时间的编程方法-LMLPHP

5. 查看扫描周期,最大为35us,最小为5us,平均值在20us,即为0.00002s,基本无误差.

Studio 5000编程:一种累计时间的编程方法-LMLPHP

结束语:PLC编程不一定非要高级指令,有时候简单指令就能实现复杂功能。另外,本文例子可以在仿真器里实现,它真的很强大,基本上可以模拟任何指令,要充分利用起来。

--abseMe:坚持原创  注重实用

05-11 01:05