当前位置: 主页 > PLC控制

一组数据如何快速找到最大值?

比如在100个字里存有100个数据,如何快速找到最大值?西门子库里有没有?
谢谢!

ASs='html_titleimg_p' STyle='text-align:CEnter;'>

最佳答案

只能利用指针编写程序,来找出最大值。
转:
冒泡排序
假定100个数据,放在DB1中,安放顺序如下:
DBD0
DBD4

DBD396
下面是西门子程序
OPNDB1/////打开DB1这个数据块
L100////装载10到MB0中,因为有100个数据,要进行100次排序,99次也可以的
LL0:TMB0
LP#0.0////装载地址指针,这是关键,不要搞错了
LAR1
L99
LL1:TMB2////内部循环,进行99次,直到把最大值排到最后
LDBD[AR1,P#0.0]
LDBD[AR1,P#4.0]
<R
JCLL2////比较前后两个值,如果前面大于后面的,则前后数据交换
LDBD[AR1,P#0.0]
TMD10
LDBD[AR1,P#4.0]
TDBD[AR1,P#0.0]
LMD10
TDBD[AR1,P#4.0]
LL2:+AR1P#4.0////指针自动进行加4,因为是浮点数,所以要跳过4个字节
LMB2
LOOPLL1///这个指令自动的将A寄存器里的值减1
LMB0
LOOPLL0

提问者对于答案的评价:
程序没看懂,但是知道怎么做了。
用循环语句,每个循环比较大小,指针每循环加一个字长或双字长度。
谢谢!

  • 关注微信

猜你喜欢

微信公众号