全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 工业控制 >

一个经典PLC编程方法 - 冒泡法

时间:2023-02-20 09:53

人气:

作者:admin

标签: plc  数组  STL语言 

导读:冒泡法 -通俗一点讲,就是对一组数据进行递增或者递减的排序的方法。其算法是,对相邻两个数据进行比较,按照要求的大或小的要求,进行位置调换,以达到排序的目的。...

今天和同学们分享一个经典PLC编程方法 - 冒泡法。

我第一次在工作中见到冒泡法是应用在温度排序当中。设备由多个温度探头,需要实时显示最高温度和最低温度以便于调节设备的蒸汽量。

当时的PLC是S7-300,用的是STL语言。感觉语言精炼,短短几行语句就把功能实现了,这也算是文本语言的魅力所在吧。

冒泡法 -通俗一点讲,就是对一组数据进行递增或者递减的排序的方法。其算法是,对相邻两个数据进行比较,按照要求的大或小的要求,进行位置调换,以达到排序的目的。

下面以5个数据的数组为例讲解:

1c6d92f6-b0b6-11ed-bfe3-dac502259ad0.png

第1轮比较后可以看到,8作为最大数据,被放在最后的位置。比较了4次(1+4=5).

第2轮比较后可以看到,6作为最大数据,被交换到8的前面。比较了3次(2+3=5)

第3轮比较后可以看到,5作为最大数据,被交换到6的前面。比较了2次(3+2=5)

第4轮比较后可以看到,3作为最大数据,被交换到5的前面。比较了1次(4+1=5)

各位同学是不是很容易看出上面数据的关系。也就是,轮数+比较次数 = 总共的数据个数。

这就是我们找到的关键点,既然有次数,那么在编程时候就会用到FOR循环指令。

下面给出流程图:

1caeef44-b0b6-11ed-bfe3-dac502259ad0.png

根据流程图给出SCL语言的编程过程:(n代表数组内数据的个数啊)

1d014dca-b0b6-11ed-bfe3-dac502259ad0.png

根据SCL编程思想,你自己尝试写一个程序吧!

审核编辑 :李倩

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信