當(dāng)前位置: 首頁(yè) > 工業(yè)控制產(chǎn)品 > 自動(dòng)化控制 > PLC可編程控制器
發(fā)布日期:2022-04-26 點(diǎn)擊率:1580 品牌:組態(tài)王_Kingview
0.引言
那天有一位問(wèn)起“循環(huán)移位”指令,因?yàn)槠湫略O(shè)備里有PLC,他看了一點(diǎn)資料;我告之,多的我也不知道,但移位指令可以說(shuō)一說(shuō)。
有計(jì)算機(jī)基礎(chǔ)知識(shí)、或?qū)W過(guò)匯編語(yǔ)言的,對(duì)PLC移位指令很好理解。而于上了年紀(jì)又無(wú)基礎(chǔ)者,則須通俗易懂地去解說(shuō)。
今特把所述內(nèi)容整理了一下,以供后續(xù)參考;目標(biāo)PLC選用臺(tái)達(dá)ES2。
1.循環(huán)移位的概念
1)用繩子將一列珠子串起來(lái),然后將繩子兩頭系在一起,珠子就可構(gòu)成一個(gè)環(huán);若用手推動(dòng)珠子,珠子就可以沿著繩子“循環(huán)”移動(dòng)。
若選珠子為16顆、繩子足夠長(zhǎng),則可把環(huán)拉直,而使珠子排成一排;推動(dòng)珠子仍可循環(huán),但循環(huán)后仍使珠子成為一條直線。若假設(shè)這16顆珠子對(duì)應(yīng)16位二進(jìn)制數(shù),這就相當(dāng)于PLC中的一個(gè)數(shù)據(jù)“字”。
如果能通過(guò)某種方法,使“字”中的位像珠子一樣移動(dòng),那么就是數(shù)據(jù)位“循環(huán)”;實(shí)現(xiàn)這種移動(dòng)的指令,就是循環(huán)指令。
2)數(shù)據(jù)位的移動(dòng),與珠子的移動(dòng),當(dāng)然不會(huì)完全相同;通常,在做循環(huán)移位運(yùn)算時(shí),會(huì)把移動(dòng)的最末一位記入進(jìn)位標(biāo)志M1022。
當(dāng)進(jìn)位標(biāo)志M1022不參與循環(huán)時(shí),就稱為不帶進(jìn)位,其指令就是不帶進(jìn)位的指令;若進(jìn)位標(biāo)志M1022參與循環(huán),就是帶進(jìn)位循環(huán),其指令就是帶進(jìn)位循環(huán)指令。
2.PLC中的循環(huán)移位
1)循環(huán)右移一位的情況。參見附圖1,先使最右邊一位(b0位)為1,其余為0。設(shè)每次循環(huán)右移一位,則移位一次后,“1”就被移出并轉(zhuǎn)移到了b15位。
同時(shí),被移出的最末一位的值,將送到M1022;此處僅移一位,則就是原b0位→M1022。
為加深印象,下面結(jié)合具體的指令來(lái)進(jìn)行講解。
2)循環(huán)右移4位的情況。參見附圖2,首先仍使b0位為1,其余為0。移位一次后,原b0位的“1”,到了b12位。
但附圖2的“過(guò)程示意”并不準(zhǔn)確;因?yàn)?,?shù)據(jù)的位并沒(méi)有被“移出”在外,而是如串在繩子上的珠子一般,逐位順序移動(dòng)的。
此時(shí),M1022的值,是原b3的值,因?yàn)樗潜蛔钅┮瞥龅摹?/p>
3.一個(gè)簡(jiǎn)單示例(ROR)
1)右循環(huán)移位指令ROR。該指令的目標(biāo)元件,可以是字元件、也可以是由位組合成的字,故不妨使用K4M0來(lái)進(jìn)行試驗(yàn),并通過(guò)D0來(lái)觀察其值(梯形圖監(jiān)控時(shí)),程序參見附圖3。
PLC上電運(yùn)行時(shí),使M0置1,如附圖1的情況;接通一次X0,稍作延時(shí)后,M20接通一個(gè)脈沖周期,作為移位信號(hào)。接通X1,清零K4M0,相當(dāng)于停止信號(hào)。
該程序,用臺(tái)達(dá)WPLSoft編程軟件編制。
2)運(yùn)行程序,監(jiān)控梯形圖,D0顯示為H1(調(diào)整為十六進(jìn)制顯示);第一次接通X0,D0顯示H8000,說(shuō)明b15為1,其余為0,與附圖1的演示相同。以后依此類推,其運(yùn)行結(jié)果可參見附圖4。
第16次移位后,又回到了起始狀態(tài),可以繼續(xù)下一個(gè)循環(huán)。
4.結(jié)語(yǔ)
這是一個(gè)非常簡(jiǎn)單的介紹,不知對(duì)入門者有無(wú)參考作用。其余移位指令,可仿此試驗(yàn)理解。
下一篇: PLC、DCS、FCS三大控
上一篇: 索爾維全系列Solef?PV