您应该说明您使用的PLC类型,要知道,S7包含300,400,200系列,编程方式有所不同。
如果您是300、400系列的,那么读取OB1组织块的变量名为OB1_PREV_CYCLE的变量就得到上一次程序的扫描时间,由于程序的扫描时间不固定,因此程序的运行一次的时间也不是一个常量。通过读取OB1_MIN_CYCLE就可以得到自CPU运行以来最短周期,读取OB1_MAX_CYCLE来获取自CPU运行以来的最长周期。
如果您是200系列,那么读取SMW22得到上一次程序的扫描时间,通过读取SMW24得到自CPU运行以来最短周期,通过读取SMW26来获取自CPU运行以来的最长周期。
如果您只是想知道执行完您程序的所有指令所需要的时间,那么请您对照S7-200系统手册,S7-300硬件技术规范手册,S7-400硬件技术规范手册中的对指令执行时间的章节,对照您写的程序,一条一条的累加。
以上建议仅供您参考!祝您顺利!
07-12-29 10:52