西门子S7-200PLC由“冒泡法”排序算法的逆向思考

时间:2023-03-18作者:佚名
在一些C语言资料上看到,“冒泡法”排序一般是从最后一个数据开始,向地址小的方向相邻两个数据比较,并按照从小到大或者从大到小排序的一种算法。在数据比较、移动的过程中,数据的运动,看起来好像水中的气泡向上运动。故而称之为“冒泡法”排序。
“冒泡法”排序,在知道数据的起始地址、数据个数、数据类型后,需要算出最后一个数据的地址,并从最后的一个地址开始运算排序。我在想,为什么不能从数据的起始地址开始排序呢,如果采用这种“下沉法”排序,还能省去计算数据的结束地址,程序应该会更简洁。于是自己就试着写了一下“下沉法”排序的plc程序代码,并测试通过。
排序环境:224CPU,从VB1000开始连续20个整数,从小到大排序。“下沉法”排序算法参考代码如下:

//******************给外循环体、内循环体的循环次数赋初值***********************
LD SM0.0 //开始执行从小到大的排序程序
MOVW 19, LW2 //给外循环次数(数据个数-1)赋初值
MOVW 19, LW6 //给内循环次数(数据个数-1)赋初值

//*******************建立外循环体并定义排序的其实地址*****************************
FOR LW0, 1, LW2 //FOR外循环体循执行LW2次
MOVD &VB1000, AC1 //将V区的起始地址赋给AC1,定义排序的起始地址

//**************建立内循环体并开始进行相邻的两个数据比较、移动****************
FOR LW4, 1, LW6 //FOR内循环体循执行LW6次
MOVD AC1, AC2 //把当前AC1里面的地址存储到AC2里面
D 2, AC2 //AC2当前地址 2,存入AC2
LDW< *AC2, *AC1 //如果AC2指向的地址里面的内容小于AC1指向的地址里面的内容
MOVW *AC1, LW8 //那么将当前两个地址里面的内容互换
MOVW *AC2, LW10 //如果AC2指向的地址里面的内容不小于AC1指向的地址里面的内容
MOVW LW8, *AC2 //那么当前两个地址里面的内容保持不变
MOVW LW10, *AC1 //如果把小于比较指令改成大于比较指令,那么数据就是从大到小排序
LD SM0.0
D 2, AC1 //AC1当前地址 2,存入AC1
NEXT //跳转到FOR内循环,如果内循环执行结束,程序往下执行

//*******************内循环执行结束,进入外循环执行*****************************
DECW LW6 //内循环体执行结束,将内循环体的循环次数减1
NEXT //跳转到FOR外循环,如果外循环执行结束,程序往下执行
上面代码基本采用临时变量作运算的,其实还可以将其封装成一个子程序,实现多次调用。

相关阅读

配电柜标准接线

电力作业人员都知道,配电柜导线的连接在电工的工作中占有很大的比重,大部分的电工师傅接线都有相对的规范,几乎都是以实现电气控制功能为主体而进行的接线,可是回头看看,电工配电...
2024-10-15
配电柜标准接线

常见RS485隔离电路方案介绍

RS485是一种常用的数据通信协议,广泛应用于工业控制系统、楼宇自动化、安防系统等领域。 01什么是485隔离电路? 在某些应用中,为了防止电气噪声干扰或电气冲击,需要对RS485接口...
2023-07-14
常见RS485隔离电路方案介绍

一例简单的功率变换电路及原理说明

有关电子电路的知识,一例功率变换电路,介绍了MOS管的工作原理,常见MOS管的工作原理图,并介绍了推挽式功率变换电路和有驱动变压器的功率变换电路,下面与电工之友小编一起来...
2023-04-08
一例简单的功率变换电路及原理说明

基于LM1875的音频功率放大器电路图

以下电路使用 LM1875 音频放大器,能够向 8 欧姆扬声器提供高达 30W RMS 的功率,总谐波失真 (THD) 为 1%。 注意:LM1875 集成电路应安装在散热器上,以便正常散热。 范围 Vcc = 16V 至 60V(最大...
2023-08-04
基于LM1875的音频功率放大器电路图

如何来初步鉴别三星贴片电容真伪

三星贴片电容作为知名品牌的电容器,使用范围很广,用量很大,三星贴片电容的代理商也是多如牛毛。 如果选择到黑心代理商,三星贴片电容的质量得不到保障,一但将不合格的三星...
2023-03-31
如何来初步鉴别三星贴片电容真伪

热销商品

德国进口雅马哈风力灭火机大功率手提森林灭火器落叶工地吹雪机汽

德国进口雅马哈风力灭火机是一款高效、可靠的森林灭火和清理设备。它拥有大功率风机,能够迅速吹散落叶、杂草和积雪,有效清理工地和森林地面。这款灭火机采用先进技...
¥ 692.5

3M自粘橡胶条高硬度耐压实心幕墙玻璃舞台搭建货架专用减震密封条

3M自粘橡胶条是一款专为高要求工业及建筑场景设计的高性能密封减震材料,采用高硬度实心橡胶材质,具备优异的耐压性、抗老化性和持久弹性。其独特的自粘背胶设计,安装...
¥ 1.6

公牛官方旗舰店开关插座空调16A插座五孔10A面板暗装多孔G12白灰

公牛官方旗舰店提供一系列高质量的开关插座和空调配件。这款16A插座五孔面板采用暗装设计,适用于多种安装环境,如墙面、天花板等。它具有10A的电流容量,可以满足家庭...
¥ 5.55

电位器旋钮电流调节螺帽直流逆变电焊机二保焊送丝机通用旋钮B102

电位器旋钮电流调节螺帽适用于直流逆变电焊机和二保焊送丝机,是一款通用的旋钮B102。该旋钮采用优质材料制造,具有耐磨损、耐高温、耐腐蚀等特点,能够长时间稳定运行...
¥ 0.7

西门子开关插座无框皓彩米绒白亚光二三插USB10A五孔一开旗舰店

西门子开关插座无框皓彩米绒白亚光二三插USB10A五孔一开旗舰店,作为西门子品牌的专卖店,提供了一系列高品质、设计新颖的家居电气产品。这里销售的开关插座采用无框...
¥ 8.77

网站栏目