回复:硬件中断上限检测功能

俞清洲

版主

  • 帖子

    692
  • 精华

    0
  • 被关注

    13

论坛等级:侠圣

注册时间:2016-05-19

钻石 钻石 如何晋级?

发布于 2023-07-28 09:47:44

1楼

我的解释顺序跟提问顺序不完全一致,哪里没明白再继续提问。

这个时间记录是保存在全局DB中,在名称为"ProductionData"的DB中声明的upperLimitTime数组变量。

WHILE循环就是判断条件是否满足,满足了就执行DO后面的指令,不满足就结束循环,不会自动对#index递减,所以要靠#index := #index - 1; 来实现每次循环执行时,访问下一地址。

5个数,是0到4号数组元素,新值写到0号元素,那之前要把3写入到4中,2写入到3中,1写入到2中,0写入到1中。这些是由WHILE循环完成的,最开始的3号元素值赋值给4号元素,

 "ProductionData".upperLimitTime[#index + 1] := "ProductionData".upperLimitTime[#index];

这时#index的值应该是3,接下来#index减1变成2,下次就是2号元素值赋值给3号元素,以此类推,最后一次0号元素值赋值给1号元素,#index减1变成-1,不再满足#index >= 0的条件,结束循环。

最后再把最新的采集值赋给0号元素。

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

PLC编程精英训练营

共有1548条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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