0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

一個經(jīng)典PLC編程方法 - 冒泡法

jizhongyingAI ? 來源:非標(biāo)設(shè)備自動化設(shè)計 ? 2023-02-20 09:53 ? 次閱讀

今天和同學(xué)們分享一個經(jīng)典PLC編程方法 - 冒泡法。

我第一次在工作中見到冒泡法是應(yīng)用在溫度排序當(dāng)中。設(shè)備由多個溫度探頭,需要實時顯示最高溫度和最低溫度以便于調(diào)節(jié)設(shè)備的蒸汽量。

當(dāng)時的PLC是S7-300,用的是STL語言。感覺語言精煉,短短幾行語句就把功能實現(xiàn)了,這也算是文本語言的魅力所在吧。

冒泡法 -通俗一點講,就是對一組數(shù)據(jù)進行遞增或者遞減的排序的方法。其算法是,對相鄰兩個數(shù)據(jù)進行比較,按照要求的大或小的要求,進行位置調(diào)換,以達到排序的目的。

下面以5個數(shù)據(jù)的數(shù)組為例講解:

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

第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)

各位同學(xué)是不是很容易看出上面數(shù)據(jù)的關(guān)系。也就是,輪數(shù)+比較次數(shù) = 總共的數(shù)據(jù)個數(shù)。

這就是我們找到的關(guān)鍵點,既然有次數(shù),那么在編程時候就會用到FOR循環(huán)指令。

下面給出流程圖:

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

根據(jù)流程圖給出SCL語言的編程過程:(n代表數(shù)組內(nèi)數(shù)據(jù)的個數(shù)?。?/p>

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

根據(jù)SCL編程思想,你自己嘗試寫一個程序吧!

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • plc
    plc
    +關(guān)注

    關(guān)注

    5004

    文章

    13050

    瀏覽量

    460917
  • 數(shù)組
    +關(guān)注

    關(guān)注

    1

    文章

    412

    瀏覽量

    25862
  • STL語言
    +關(guān)注

    關(guān)注

    0

    文章

    3

    瀏覽量

    1186

原文標(biāo)題:教你學(xué)編程21 - PLC SCL語言編程 - 冒泡法應(yīng)用

文章出處:【微信號:非標(biāo)設(shè)備自動化設(shè)計,微信公眾號:非標(biāo)設(shè)備自動化設(shè)計】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    分享12經(jīng)典PLC編程電路

    PLC自動化控制的學(xué)習(xí),需要理論知識和實踐經(jīng)驗的結(jié)合,動手能力也很重要,只有不斷的實踐操作,才能將學(xué)到的PLC知識應(yīng)用在實踐和實際電路中,動手實踐是PLC初學(xué)者快速進步的不二法門,今天我們就分享12
    發(fā)表于 09-29 09:37 ?2194次閱讀

    labview 版的冒泡排序

    labview 版的冒泡排序,只是想用Labview表達冒泡的思想,
    發(fā)表于 06-05 11:18

    小鳥求助冒泡排序。

    小鳥剛開始學(xué)labview,昨天在公司突然想起C語言里的冒泡排序,想用labVIEW來實現(xiàn),但是做不出來。有沒有高手能幫忙寫個當(dāng)例子學(xué)習(xí)下。說明下和C語言里樣用數(shù)組做。小鳥在這里謝過了。
    發(fā)表于 01-09 21:54

    常用排序 ——冒泡排序和選擇排序

    冒泡排序的具體實現(xiàn)方法是這樣的,從數(shù)組的第一個元素`arr[0]`開始,兩兩比較**(`arr[n],arr[n+1]`),如果前面的數(shù)大于后面的數(shù)(`arr[n] > arr[n
    發(fā)表于 11-01 12:25

    冒泡排序三部曲の冒泡排序原理版

    的類型就多進行3x4次排序,為了解決這個問題,對冒泡排序進行進步優(yōu)化,將在冒泡排序三部曲の二、冒泡
    發(fā)表于 09-12 10:30

    冒泡排序三部曲の冒泡排序原理版()

    ;, array[n]);printf("\t");//空格次}return 0;}運行結(jié)果上述代碼沒有問題,但是如果數(shù)組是類似{1,2,3,5,4}這樣的類型就多進行3x4次排序,為了解決這個問題,對冒泡排序進行進
    發(fā)表于 09-12 10:42

    冒泡排序三部曲の二冒泡排序的優(yōu)化

    本帖最后由 盧小二 于 2019-9-14 11:23 編輯 環(huán)境:VS2017C language在冒泡排序三部曲の冒泡排序
    發(fā)表于 09-13 12:17

    冒泡排序的具體實現(xiàn)方法是什么?

    什么是冒泡排序?冒泡排序的具體實現(xiàn)方法是什么?
    發(fā)表于 07-15 06:48

    冒泡排序的泛型實現(xiàn)

    冒泡排序的泛型實現(xiàn),自用筆記!
    發(fā)表于 01-20 07:22

    C語言冒泡、插入、選擇排序算法分析

    C語言冒泡、插入、選擇排序算法分析
    發(fā)表于 09-06 15:51 ?44次下載

    PLC編程的幾種方法

    PLC控制系統(tǒng)是依靠程序進行控制,程序設(shè)計是PLC應(yīng)用中最關(guān)鍵的問題,下面來講PLC編程方法
    發(fā)表于 05-03 11:21 ?1.4w次閱讀

    常用的三種PLC編程方法

    常用的PLC編程方法有經(jīng)驗、解析、圖解法。
    發(fā)表于 05-03 17:45 ?6902次閱讀

    plc編程的幾種方法總匯

    方法常用的plc編程方法有經(jīng)驗、解析和圖解法。 1、體驗
    發(fā)表于 01-17 10:21 ?6008次閱讀

    經(jīng)典PLC編程案例分享

    三菱PLC編程怎么入門?從經(jīng)典PLC編程案例開始
    的頭像 發(fā)表于 09-01 16:01 ?2651次閱讀

    PLC的五大編程技術(shù)方法

    PLC編程方法大體上有 5 種:經(jīng)驗、解析、圖解法、技巧及計算機輔助設(shè)計
    的頭像 發(fā)表于 05-15 10:25 ?5214次閱讀