【控制要求】
1.排序命令按鈕 M0由OFF→ON,即對(duì)存儲(chǔ)在 D200~D214的15個(gè)數(shù)據(jù)進(jìn)行由小到大的排序,將結(jié)果存放到 D300~D314中。
2.按下“尋找序號(hào)按鈕” M1,即將最小值的原序號(hào)找出來(lái),依次存放到 R10~R24。 【元件說(shuō)明】
【控制程序】
【程序說(shuō)明】
1.排序前后數(shù)據(jù)存放情況對(duì)比如下圖。
2. M1觸發(fā)FUN.105緩存器對(duì)列表查找指令,找到最小值( D300的內(nèi)容)在原始列表中的位置為 1,5,9。存放在以R10為起始的緩存器列表中,如下。
由此可知這些最小值是存放在原始數(shù)據(jù)列表的哪些位置。
3.其中FUN.105緩存器對(duì)列表查找指令,其動(dòng)作特點(diǎn)如下:當(dāng)找尋控制〝 EN〞=1或由0→1(P 指令)時(shí),自列表 Ts之開(kāi)頭第一個(gè)緩存器開(kāi)始(〝 FHD〞=1或Pr值已達(dá)L-1時(shí))或自列表中當(dāng)時(shí)指針?biāo)改莻€(gè)緩存器之下一個(gè)緩存器 Tspr+1開(kāi)始(〝 FHD〞=0同時(shí)Pr值小于L-1)往下找尋和樣本數(shù)據(jù) Rs不同(D/S=1時(shí))或相同( D/S=0時(shí))之緩存器。若找到目標(biāo)(不同或相同者),則立即停止找尋動(dòng)作,并將該目標(biāo)在列表之位置序號(hào)值存到指標(biāo) Pr去,同時(shí)將找到目標(biāo)旗號(hào)〝FND〞設(shè)為1后結(jié)束本指令之執(zhí)行。當(dāng)找到列表之最后一個(gè)緩存器時(shí),無(wú)論是否找到目標(biāo)均將結(jié)束該次指令執(zhí)行,并將找至最后旗號(hào)〝 END〞設(shè)為 1,而Pr值則停在 L-1。當(dāng)本指令下次再度被執(zhí)行時(shí),Pr將會(huì)自動(dòng)循環(huán)至列表之最開(kāi)頭( Pr=0)開(kāi)始往下找尋。
|