读出S7-1500 CPU运行时间的几种方式

电子说

1.3w人已加入

描述

读出S7-1500 CPU的运行时间有多种方式,下面分别介绍这几种方式。

1、通过OB1的启动参数读出运行时间在非优化的OB1启动信息中带有OB1的运行时间,如图1所示。

cpu

图1.读出非优化的OB1中运行时间

将启动信息参数传递到全局变量中就可以读出CPU的上次扫描、最小、最大扫描时间,编程非常方便。

2、调用RD_SINFO函数读出运行时间

如果使用优化的OB1,启动信息简化而没有这些运行信息,如图2所示,则必须调用函数读出。

cpu

图2优化OB1的启动信息

例如在OB1中调用RD_SINFO函数读出运行时间,程序如图3所示。参数TOP_SI为当前OB1的启动信息,

数据类型为SI_classic,需要手动键入,ZI1为上次扫描时间,ZI2_3包含最小、最大扫描时间,低字为最小扫描时间,

高字为最大扫描时间,示例中分别传送到MW10和MW12中。START_UP_SI为暖启动OB的启动信息,

示例中没有进行引用。

cpu

图3调用RD_SINFO函数

3、调用RT_INFO函数读出运行时间

通过函数RT_INFO也可以读出CPU的运行时间,示例程序如图4所示。

cpu

图4调用RT_INFO函数

通过模式1、2、3可以读出CPU的上次扫描、最小、最大扫描时间,在这三种模式下,参数INFO的数据类型为LTIME,可以直接读出。也可以通过其他模式读出运行时间的百分比。

4、调用RUNTIME指令读出运行时间

通过指令RUNTIME可以从参数RET_Val直接读出CPU的运行时间,单位为秒,MEM为中间保存程序运行的存储器,两个参数类型都是LREAL,除此之外还可以读出一段程序的运行时间。如图5所示。

cpu

图5 RUNTIME指令

审核编辑:汤梓红

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分