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