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

电子说

1.2w人已加入

描述

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

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

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

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

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

plc

第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循环指令。

下面给出流程图:

plc

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

plc

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

审核编辑 :李倩

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分