介绍了⼏种如何读S7-1500 CPU的运⾏时间的⽅法
读S7-1500 CPU的运⾏时间有很多种⽅式,分别介绍如下⼏种⽅式。
1 通过OB1的启动参数读出运⾏时间 在⾮优化的OB1启动信息中带有OB1的运⾏时间,如图1所⽰。
图1.读出⾮优化的OB1中运⾏时间将启动信息参数传递到全局变量中就可以读出CPU的上次扫描、最⼩、最⼤扫描时间,编程⾮常⽅便。
2 调⽤RD_SINFO函数读出运⾏时间
如果使⽤优化的OB1,启动信息简化⽽没有这些运⾏信息,如图2所⽰,则必须调⽤函数读出。
图2优化OB1的启动信息
例如在OB1中调⽤RD_SINFO函数读出运⾏时间,程序如图3所⽰。参数TOP_SI为当前OB1的启动信息,
数据类型为SI_classic,需要⼿动键⼊,ZI1为上次扫描时间,ZI2_3包含最⼩、最⼤扫描时间,低字为最⼩扫描时间,⾼字为最⼤扫描时间,⽰例中分别传送到MW10和MW12中。START_UP_SI为暖启动OB的启动信息,⽰例中没有进⾏引⽤。
图3调⽤RD_SINFO函数
3 调⽤RT_INFO函数读出运⾏时间
通过函数RT_INFO也可以读出CPU的运⾏时间,⽰例程序如图4所⽰。
图4调⽤RT_INFO函数
通过模式1、2、3可以读出CPU的上次扫描、最⼩、最⼤扫描时间,在这三种模式下,参数INFO的数据类型为LTIME,可以直接读出。也可以通过其他模式读出运⾏时间的百分⽐。
4调⽤RUNTIME指令读出运⾏时间
通过指令RUNTIME可以从参数RET_Val直接读出CPU的运⾏时间,单位为秒,MEM为中间保存程序运⾏的存储器,两个参数类型都是LREAL,除此之外还可以读出⼀段程序的运⾏时间。如图5所⽰。图5 RUNTIME指令
因篇幅问题不能全部显示,请点此查看更多更全内容