inc指令是什麼意思 FOR迴圈指令案例詳解

2021-10-11 10:33:29 字數 1641 閱讀 3469

當乙個或者多個指令(程式)重複多次(次數可知)時,可使用for指令。for為有限次迴圈指令。

如上圖,程式的執行過程主要分為3個步驟,輸入檢測、程式掃瞄、輸出重新整理。這是plc乙個工作週期的工作順序,在掃瞄的時候某些程式段需要執行多遍,這個時候我們可以使用for指令。讓程式中的某一段反覆執行多遍,然後再往下掃瞄。

那麼,在哪些地方用到它呢。下面我們來看2個應用案例。

程式的0到9步,觸發x0的上公升沿訊號,把m0導通,z0、d10全部清空;第9到23步,是一段迴圈指令,for k10表示這段程式迴圈10遍。

第一遍,由於變址暫存器z0裡面的數字為0,d0z0這個位址變為d0(具體參考變址暫存器的用法),add d10 d0z0 d10,這條指令把d10加d0的資料放到d10裡面了,由於在程式上面用了d10,所以一開始d10儲存的資料為0,經過加法指令,d10裡面儲存資料就是d0,然後通過inc z0加一指令,讓z0自加1,等於1.然後進入迴圈第二遍.

第二遍,z0裡面的資料為1,d0z0這個位址變為d1,add d10 d0z0 d10這條指令把d10(經過第一遍掃瞄,d10裡面儲存了d0)加d1的資料放到d10裡面了,那麼 d10裡面的資料變為d0+d1,然後通過inc z0加一指令,讓z0自加1,等於2.然後進入迴圈第三遍。

第10遍,z0裡面的資料為9,d0z0這個位址變為d9,add d10 d0z0 d10這條指令把d10(經過第9遍掃瞄,d10裡面儲存了d0+d1+… +d8)加d9的資料放到d10裡面了,那麼 d10裡面的資料變為d0到d9裡面全部資料的總和,然後通過inc z0加一指令,然後退出迴圈,進入下一步。

m8000常通觸點段開m0,當進入plc下乙個工作週期時,由於迴圈指令裡面的程式都是由m0常開觸點觸發的,這是就不會再觸發了,也就是,經過乙個plc的工作週期,就把d0到d9裡面的資料加起來,放到了d10裡面了。

當然,我們也可以寫程式來做一些其他的計算。下面我們來看下另外乙個應用案例:

有54個x點,對應啟動54個y點,需要保持自鎖,當按下按鈕m0時所有輸出停止。

面對這樣乙個要求,在沒有學習迴圈指令之前,你可能會一段一段的寫,需要寫54段程式,今天,我們來嘗試下用for指令來寫,如下圖。

每次進行掃瞄都會先把z0清0,然後進入迴圈(54次),第一遍z0=0,這時x000z0的位址是x000,y000z0的位址是y000,x000觸發y000線圈並形成自鎖,通過inc指令z0自加1;第二遍,z0等於1,這時x000z0的位址是x001,y000z0的位址是y001,x001觸發y001線圈並形成自鎖,通過inc指令z0自加1;… …

這樣的話,就把本來很冗長的一大段簡化成了一小段,節省程式步數的同時減少了程式設計的時間。

關於for指令,除了以上兩種,大家平時還有什麼用法?

整流、濾波、穩壓等電路講解全集,各種讀圖要點和舉例,太有料

uma是什麼意思 UMA是什麼意思?

展開全部 uma 不明生物 是636f707962616964757a686964616f31333431376537動畫 進化戰記 betterman 中的一類人造怪物的統稱,是生命工學食料研究所 b.p.l.所長梅崎博士製造出來 協助他利用阿尼瑪斯之花 大量製造蛋白質 具有驚人攻擊性的怪物。阿拉...

是什麼意思?

meta是html中的元標籤,其中包含了對應html的相關資訊,客戶端瀏覽器或伺服器端的程式會根據這些資訊進行處理。http equiv類似於http的頭部協議,它回應給瀏覽器一些有用的資訊,以幫助正確和精確地顯示網頁內容。content 內容型別 重要!這個網頁的格式是文字的,網頁模式 chars...

In 是什麼意思

函式引數型別前 in 代表什麼 在visual c 中屬於sal批註,是為了編譯系統在分析 時發現缺陷用的 表示是乙個輸入引數。可以定義乙個 in 的巨集,這個巨集什麼都不做,就是形如這樣的。define in void fun int in x 等同於 void fun int x 但是他給出了引...