在工業生產實際應用中,我們經常會遇到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小值的計算方法了
- 西門子S7-1200/1500與第三方設備(PN總線閥島)進行Profinet通訊 2024-12-02
- 西門子 Xcelerator 平臺首家第三方商店上線 2024-12-02
- 西門子英偉達GTC 2024,攜手解鎖工業元宇宙新玩法 2024-12-02
- 西門子S7-200smart PLC IO通道壞了,如何在觸摸屏上修改 2024-12-02
- 西門子觸摸屏SMART line如何通過下拉欄指定畫面跳轉 2024-12-02
- 西門子觸摸屏smart line屏幕如何添加指示燈 2024-12-02
- 巧用西門子觸摸屏SMART line柱狀圖(棒圖) 2024-12-02
- PLC竟然會發出錯誤信號?別稀里糊涂中招了 2024-12-02
- 西門子S7-200 SMART PLC軟元件、數據類型及數據直接尋址講解 2024-12-02
- 西門子S7-1500與S7-300型譜對照表,S7-1500優勢在哪里? 2024-12-02
- 西門子S7-1200 PLC如何與V90伺服通信控制 2024-12-02
- DCS和PLC爭了40年,Zui大的區別究竟在哪里 2024-12-02
- 西門子S7-1200 PLC與V20變頻器Modbus RTU通信 2024-12-02
- 西門子200SMART PLC與V90伺服Profinet通信 2024-12-02
- 西門子PLC的M究竟是什么,今天就來認識它 2024-12-02
聯系方式
- 電 話:13510737515
- 聯系人:董海波
- 手 機:13185520415
- 微 信:13185520415