SORT采集数据的排序

2015-06-30 9:08:47 人评论 次浏览 分类:永宏应用案例

【控制要求】
1.排序命令按钮 M0由OFF→ON,即对存储在 D200~D214的15个数据进行由小到大的排序,将结果存放到 D300~D314中。
2.按下“寻找序号按钮” M1,即将最小值的原序号找出来,依次存放到 R10~R24。 【元件说明】
PLC 元件 控制说明
M0 排序命令按钮,由 OFF→ON触发排序
M1 寻找序号按钮
D200~D214 15个原始数据存放的存放地址列表
D300~D314 15个数据排序后的存放地址列表
R0 指针
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)开始往下找寻。