今天和同學們分享一個經(jīng)典PLC編程方法 - 冒泡法。
我第一次在工作中見到冒泡法是應用在溫度排序當中。設備由多個溫度探頭,需要實時顯示最高溫度和最低溫度以便于調節(jié)設備的蒸汽量。
當時的PLC是S7-300,用的是STL語言。感覺語言精煉,短短幾行語句就把功能實現(xiàn)了,這也算是文本語言的魅力所在吧。
冒泡法 -通俗一點講,就是對一組數(shù)據(jù)進行遞增或者遞減的排序的方法。其算法是,對相鄰兩個數(shù)據(jù)進行比較,按照要求的大或小的要求,進行位置調換,以達到排序的目的。
下面以5個數(shù)據(jù)的數(shù)組為例講解:
第1輪比較后可以看到,8作為最大數(shù)據(jù),被放在最后的位置。比較了4次(1+4=5).
第2輪比較后可以看到,6作為最大數(shù)據(jù),被交換到8的前面。比較了3次(2+3=5)
第3輪比較后可以看到,5作為最大數(shù)據(jù),被交換到6的前面。比較了2次(3+2=5)
第4輪比較后可以看到,3作為最大數(shù)據(jù),被交換到5的前面。比較了1次(4+1=5)
各位同學是不是很容易看出上面數(shù)據(jù)的關系。也就是,輪數(shù)+比較次數(shù) = 總共的數(shù)據(jù)個數(shù)。
這就是我們找到的關鍵點,既然有次數(shù),那么在編程時候就會用到FOR循環(huán)指令。
下面給出流程圖:
根據(jù)流程圖給出SCL語言的編程過程:(n代表數(shù)組內數(shù)據(jù)的個數(shù)啊)
根據(jù)SCL編程思想,你自己嘗試寫一個程序吧!
審核編輯 :李倩
-
plc
+關注
關注
5012文章
13304瀏覽量
463597 -
數(shù)組
+關注
關注
1文章
417瀏覽量
25960 -
STL語言
+關注
關注
0文章
3瀏覽量
1197
原文標題:教你學編程21 - PLC SCL語言編程 - 冒泡法應用
文章出處:【微信號:非標設備自動化設計,微信公眾號:非標設備自動化設計】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論