初心step
需要比较30个数据,D100-D130,我想要给这30个数据排名,找出前3名,我用FOR循环和地址偏移倒是可以找出最大的数据,但是第二和第三不知道如何编写,不知道哪位大侠能帮下忙?
yuanle
使用MAX指令,取得最大值,然后队列中清除这个最大值,接下来执行MAX,你得到的最大值就是第二大的值,重复这个过程。
引用 yuanle 的回复内容: 使用MAX指令,取得最大值,然后队列中清除这个最大值,...
谢谢,但是现在问题这30个数据是会变化的,不过变化不是特别快,而且数据是不能清零,请问大大有没有办法能实现排序啊
要排序干什么呢?三个MAX指令就完成的工作,数据不能清零,难道你不会复制一个副本,例如不断的将D100-D130的值复制到D200-D230处理。
如果你坚持需要用排序的方式来处理这个问题,那么请自行搜索网络排序算法然后再你的PLC中实现这个算法就可以了。
回复内容:
对: yuanle 要排序干什么呢?三个MAX指令就完成的工作,数据不能清... 内容的回复!
刚刚没转过弯来,现在明白了,谢谢了