1. <del id="sqmd4"></del>
      <object id="sqmd4"></object>
      1. <object id="sqmd4"></object>
          加入收藏 在線留言 聯系我們
          關注微信
          手機掃一掃 立刻聯系商家
          全國服務熱線13185520415
          公司新聞
          西門子S7-200 SMART之For循環的使用
          發布時間: 2024-03-25 11:46 更新時間: 2024-12-02 08:00
          觀看西門子S7-200 SMART之For循環的使用視頻

              在工業生產實際應用中,我們經常會遇到For循環的使用。比如說連續多個寄存器的累加計算,又比如說連續多個寄存器求Zui大Zui小值等的功能。這個時候我們通過For循環來完成,將會非常便捷的完成以上功能。

              下面,我們來具體聊聊For循環指令的使用方法。我們以For循環求和為例,來做測試講解。

          For-Next指令介紹

              從S7-200 SMART的編程軟件的幫助中,我們可以找到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循環實現求Zui大值,只需要將for循環中的程序按下圖修改即可:


          相信聰明的讀者也可類推出,Zui小值的計算方法了

          聯系方式

          • 電  話:13510737515
          • 聯系人:董海波
          • 手  機:13185520415
          • 微  信:13185520415