回复:OB1临时变量 #OB1_PREV_CYCLE的含义?

n次看你的背影

  • 帖子

    2321
  • 精华

    73
  • 被关注

    53

论坛等级:奇侠

注册时间:2008-03-11

普通 普通 如何晋级?

发布于 2011-06-03 17:04:52

21楼

思考、研究一段时间后!根据Automann老兄的思路,测试的工具已经具备。其实,我们可以通过站在OB1这个平台,用一种简单的方式来测试“#OB1_PREV_CYCLE”当中是否包含执行其它OB执行的时间!测试程序中都是无条件指令,没有跳转和循环,测试程序如下!
//╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬OB1内测试程序╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬

L #OB1_PREV_CYCLE
T MD 100 //PLC上一个OB1执行的时间(ms)

L MD 100
L MD 104
+D
T MD 104 //PLC启动后OB1执行时间累计(ms)

L MD 108
L 1
+I
T MD 108 //OB1执行次数累计

//先试验:只下载OB1和OB100,启动PLC,这样让OB1执行接近5万次时,我们就停止PLC
//记录下OB1执行累计时间和次数;然后用累计时间除以总次数;就得到执行一次OB1的
//平均时间。可以测试、记录5次数据!
//╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬
//╬╬╬╬╬╬╬╬╬╬╬╬╬╬OB35内的程序,中断时间可以设置20ms╬╬╬╬╬╬╬╬╬╬╬╬

L LW 15 //凑执行时间的操作,此操作并无意义,主要考虑与OB1执行指令性质一致,来保证OB35与
T MD 50 //OB1执行一个周期时间相等,曹冲称象的办法,这样就可以知道OB35一个周期的执行时间

L MD 54
L MD 58 //凑执行时间的操作,此操作并无意义,主要考虑与OB1执行指令性质一致,来保证OB35与
+D
T MD 58 //OB1执行一个周期时间相等,曹冲称象的办法,这样就可以知道OB35一个周期的执行时间

L MD 112
L 1
+I
T MD 112 //OB35执行次数累计


//等OB1+OB100测试结束;然后将OB35下载到PLC,OB35中断循环时间设置20ms,(OB35
//内的程序执行时间小于12ms,在OB1中已测试)。

//下载OB35到PLC后,启动PLC,这样让OB1执行接近5万次时,我们就停止PLC
//记录下OB1执行累计时间和次数;然后用累计时间除以总次数;就得到执行一次OB1的
//平均时间。可以测试5组数据!这时是带OB35执行的数据。

//╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬
//╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬OB100内测试程序╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬
L 0
T MD 104 //OB1执行累计时间清零


L 0
T MD 108 //OB1执行次数清零


L 0
T MD 112 //OB35执行次数清零

//初始化程序:在PLC起动时,将OB1运行累计时间清零;将OB1执行次数清零;将OB35执
//行次数清零。

//╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬
呵呵......有兴趣的朋友可以测试一下,测试完成对比两种情况,分析OB1一个周期执行的平均时间,这样你就会发现、思考一些有意思的事情!


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

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54756条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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