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