回复:应用探讨——CPU循环的探讨

n次看你的背影

  • 帖子

    2321
  • 精华

    73
  • 被关注

    53

论坛等级:奇侠

注册时间:2008-03-11

普通 普通 如何晋级?

发布于 2012-11-19 13:30:01

52楼

2、如何计算CPU的循环时间?
对总坛主提出的这个议题,我也进行了一些思考:
从上面的讨论中我们已经知道,循环时间(扫描周期)是指CPU执行六个步骤耗时的总和。我在想,难道循环时间只能从ONLINE模块信息、和OB1的临时变量中获得吗?显然,把CPU循环过程的每个步骤耗时统计出来相加得出循环时间是非常困难的。在用户程序中能计算出CPU的循环时间吗?于是进行了一番思考和尝试:

因为CPU在循环期间,每个周期进入用户程序OB1时,都会将当前操作系统的日期、时间戳写到它声明的临时变量里面,如果我们用户程序读取上一周期进入OB1的时间戳和进入本周期OB1的时间戳,然后用本周期的时间戳减去上周期的时间戳,不也就能得出上一周期的循环时间了吗?于是写了点测试代码,在CPU416里面执行测试了一下(注:是在真实CPU416环境里面测试)。测试发现,用户程序也能计算CPU的循环时间,结果和ONLINE模块信息、OB1的临时变量获得的循环时间是吻合的。测试代码和结果见参考贴图:


佛对我说:“你的痛苦来自于你的欲望,没有欲望也就没有痛苦!”
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54623条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。