山东省西门子授权供应商---西门子电机泰安市总代理

供应商
广东湘恒智能科技有限公司
认证
西门子PLC
西门子伺服电机
西门子触摸屏
西门子电缆
西门子变频器
西门子模块
联系电话
13510737515
手机号
13185520415
联系人
董海波
所在地
惠州大亚湾澳头石化大道中480号太东天地花园2栋二单元9层01号房(仅限办公)
更新时间
2024-05-29 07:00

详细介绍

   在工业生产实际应用中,我们经常会遇到for循环的使用。比如说连续多个寄存器的累加计算,又比如说连续多个寄存器求大小值等的功能。这个时候我们通过for循环来完成,将会非常便捷的完成以上功能。


    下面,我们来具体聊聊for循环指令的使用方法。我们以for循环求和为例,来做测试讲解。

for-next指令介绍

    从s7-200smart的编程软件的帮助中,我们可以找到for-next指令的介绍。for循环中,for和next指令必须搭配存在。


从帮助中可知,for指令的循环次数由init初始值和final结束值决定。也就是说,如果init为1,final为10,即循环次数为10次。依次类推。index为for循环当前实际循环次数。

for循环可以嵌套,就是for循环中也可以使用for循环,但是嵌套深度不能大于8层;

for循环程序实现过程

    为方便测试本次for循环累加效果,首先我们把计算值通过数据块,放在vw1000开始的连续寄存器中,如下图所示。为更方便的验证,vw1000开始的连续25个字内,分别存放了1~25的数值。


    然后开始编写plc程序,程序具体代码如下图所示:


        1、首先将vb1000对应的地址存入到vd200中,以便后续进行字节偏移;

        2、再将计算的结果清零,避免结果值出现累计的问题;

        3、调用for循环指令,并将for循环的final引脚用变量vw102来关联,可以通过修                改vw102的值,来修改循环计算次数,验证for循环效果;

        4、通过*vd200,将vd200对应的vw1000的寄存器值读取出来,累加到vw500中;

        5、将vd200值加2,则后续*vd200中将取出来的是vw1002的值;

        6、next进入下一循环,重复步骤4和步骤5的计算过程,此时的*vd200的地址已经                发生偏移,累加值也发生变化了;
    验证运行结果,请观看下面动图演示:

    可以观察到,当vw102设置为1时,计算结果vw500是1,因为循环计算的是vw1000=1这一个值;

    当vw102设置为5时,计算结果vw500是15,因为循环计算的是vw1000开始的5个地址的值,即1+2+3+4+5的结果;

    当vw102设置为10时,计算结果vw500是55,因为循环计算的是vw1000开始的10个地址的值,即1+2+3+4+5+...+10的结果;


同理,用for循环实现求大值,只需要将for循环中的程序按下图修改即可:


相信聪明的读者也可类推出,小值的计算方法了

华南西门子总代理,华中西门子总代理,华东西门子总代理,华北西门子总代理,西北西门子总代理

展开全文

我们其他产品
我们的新闻
咨询 在线询价 拨打电话