当前位置:网站首页 > R语言数据分析 > 正文

vbfornext循环语句怎么理解(vbfor循环语句详解)



微信搜一搜
技成培训

使用FOR和NEXT指令可在重复执行分配计数的循环中执行程序段,每条FOR指令需要一条NEXT指令,将FOR-NEXT循环置于最大嵌套深度为8层的FOR-NEXT循环内。

FOR指令标记循环的开始,NEXT指令为循环体的结束指令。

一、FOR-NEXT指令说明

(1)FOR指令管脚说明

INIT、FINAL分别定义起始值和结束值。

使能输入EN有效,循环体开始执行,执行到NEXT指令时返回,每执行一次循环体,当前值计数器INDX增1,达到终止值FINAL时,循环结束。

使能输入无效时,循环体程序不执行。每次使能输入有效,指令自动将各参数复位。

注意:使用 FOR 和 NEXT 指令可在重复执行分配计数的循环中执行程序段。每条 FOR 指令需要一条 NEXT 指令。

二、FOR-NEXT 简单循环编程案例(字节)

编程要求:通过FOR-NEXT循环指令把1 -100数字依次放入VB100-VB199地址里。

(1)建立指针地址:VD10是指指针,就相当于手指指向一样,&VB100是指针指向的起始地址或首地址,相当于你手指指向的第一个地址。

(2)启用FOR循环,EN端使能端不需要一直接通,只需要使用沿脉冲(上升沿)触发,INDX存放于循环次数使用字数据类型表示,INIT表示起始循环次数,FINAL表示结束循环次数。

(3)写入指针与指针偏移,当执行一次循环VB1000值加一,把VB1000写入至VB100,当循环一次指针偏移一个字节。

(4)循环结束完成

(5)演示效果

从VB100开始的100字节分别为VB100-VB199写入1-100数字。

三、FOR-NEXT 简单循环编程案例(字)

编程要求:通过FOR-NEXT循环指令把1 -100数字依次放入VW100-VW298地址里。

(1)建立指针地址:VD10是指指针,就相当于手指指向一样,&VB100是指针指向的起始地址或首地址,相当于你手指指向的第一个地址。

(2)启用FOR循环,EN端使能端不需要一直接通,只需要使用沿脉冲(上升沿)触发,INDX存放于循环次数使用字数据类型表示,INIT表示起始循环次数,FINAL表示结束循环次数。

(3)写入指针与指针偏移,把VW0当前循环次数存放到指针指向的VW100地址里,在通过加法指令把VW100+2=VW102,这里为什么要加2呢?是因为既然是循环字,字由两个字节组成,所以加2是为了依次排序下去。

(4)循环结束完成

(5)效果演示

从VW100开始的100字分别为VW100-VW298写入1-100数字。

四、FOR-NEXT 简单循环编程案例(双字)

编程要求:通过FOR-NEXT循环指令把1 -100数字依次放入VD100-VD496地址里。

(1)建立指针地址:VD10是指指针,就相当于手指指向一样,&VB100是指针指向的起始地址或首地址,相当于你手指指向的第一个地址。

(2)启用FOR循环,EN端使能端不需要一直接通,只需要使用沿脉冲(上升沿)触发,INDX存放于循环次数使用字数据类型表示,INIT表示起始循环次数,FINAL表示结束循环次数。

(3)写入指针与指针偏移,写入指针与指针偏移,当执行一次循环VW0值加一,把VW0写入至VD100,当循环一次指针偏移一个双字。

(4)循环结束完成

(5)演示效果

从VD100开始的100双字分别为VD100-VD496写入1-100数字。

五、问答专区

(1)从以上图中可以看出字节/字/双字都可以达到1到100数值,但VW0值都是101这是为何呢?

答:设定循环次数是100次,但FOR循环指令需要再进行循环一次进行对比,直到循环次数大于100设定值,才能停止,停止将不再执行FOR循环到NEXT这段程序。

(2)为什么传送字的时候不需要转换,而传送字节、双字的时候需要转换呢?

答:FOR循环指令只能支持字的数据类型,所以不需要转换直接使用,而字节/双字才需要转换。

(3)FOR-NEXT指令的循环次数如何计算?

答:FOR-NEXT工作过程:启用FOR-NEXT指令,首先将 INIT( 初始值) 复制到 INDX(当前循环次数);每执行一次,INDX (当前循环次数) 加1;如 果 INDX 大于 FINAL (终止循环次数),终止循环。

比如:INIT=1 FINAL=10,则循环体被执行10次,然后退出循环, 退出循环后INDX=11

INIT=0,FINAL=10, 则循环体被执行11次,然后退出循环,退出循环后INDX=11

(4)FOR-NEXT指令执行时,主程序是否执行,对扫描周期的影响?

答:程序自上而下循环扫描,当FOR-NEXT指令启用后,则循环体被循环执行,直至循环次数到达,循环结束,程序继续向下执行。即在一个扫描周期内执行循环完毕后才会向下执行,循环次数越多,会导致扫描周期时间延长越多。如果循环次数过多或者出现死循环,会导致扫描周期时间超过看门狗时间,报出看门狗超时的致命错误,CPU停机并且SF/DIAG灯红灯常亮。

(5)如何在FOR-NEXT执行循环过程中,退出循环?

答:您可以在FOR/NEXT 指令处于循环过程中时,在循环体中修改FINAL (终止循环次数)数值。

来源:技成培训网,作者:徐陈爽,未经授权不得转载!

评论处大家可以补充文章解释不对或欠缺的部分,这样下一个看到的人会学到更多,你知道的正是大家需要的。

HISTORY
/
往期推荐


变频器故障查询检修难?只需一键即可!



一键即可刷遍所有电气考题,这个神器你还没有拥有吗?



五大电气制图软件(CAD、Eplan、CADe_simu...),你pick那个?



最新电气版CAD绘图软件,附超详细安装教程!



最新电气绘图软件EPLAN,附超详细安装教程!



初学者使用S7-200 SAMRT编程软件常见问题(附软件下载)



超全电气计算EXCEL表格,自动生成!电气计算不求人!



蓝牙耳机、电工/PLC入门书籍任性送?快来领取你的电气礼物!



PLC编程基本功:梯形图与控制线路(附1164个三菱PLC实用案例)



还看不懂电气图?电工识图基础、仿真软件拿走,理论实操快速上手!



12门永久免费电工视频、10GB软件/电子书资料、30天免费电工直播课免费送啦!



别忘了点赞+在看哦!

“阅读原文”免费学PLC/电工课程

到此这篇vbfornext循环语句怎么理解(vbfor循环语句详解)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • jvisualvm分析hprof文件(jvm profiler)2024-12-13 17:27:09
  • treedms破解版(tree world安卓破解版)2024-12-13 17:27:09
  • treesize free安装出现错误(source tree安装)2024-12-13 17:27:09
  • swagger文档访问地址(swagger接口文档怎么访问)2024-12-13 17:27:09
  • kubesphere怎么读(kubelet怎么发音)2024-12-13 17:27:09
  • hrnetone的竞争对手(ringcentral竞争对手)2024-12-13 17:27:09
  • tornado翻译(to raven翻译)2024-12-13 17:27:09
  • store苹果商店(store苹果商店为什么下载不了软件)2024-12-13 17:27:09
  • argparser(argparse怎么读)2024-12-13 17:27:09
  • 启动docker(启动docker镜像命令)2024-12-13 17:27:09
  • 全屏图片