當(dāng)前位置:機(jī)電之家首頁 >> PLC技術(shù)>> PLC文案資料 >> plc教程 >> 在S7中用STL語言實(shí)現(xiàn)冒泡排序
在S7中用STL語言實(shí)現(xiàn)冒泡排序

 

STL語言以其強(qiáng)大的功能,深受資深工程師的喜愛,真正的高手不是用LAD來編程,而是用STL來編寫,當(dāng)然我不是高手,因?yàn)槲乙灿肔AD來編寫程序,,偶爾會用一用STL,當(dāng)然是逼的啦.不過言歸正傳,在S7中,用梯形圖來實(shí)現(xiàn)冒泡排序,幾乎是不可以,也許高手們可以.這個算法用到了指針,學(xué)過單片機(jī)的人都知道指針是什么,用起來不怎么好用,但是,從另一個角度來說,它的功能卻是最強(qiáng)大的.
下面就來講解一下如何實(shí)現(xiàn)冒泡排序(冒泡原理,學(xué)過語言的人都應(yīng)該知道,如果不知道,請上網(wǎng)找一個吧,到處都是):
假定十個數(shù)據(jù),放在DB1中,安放順序如下:
DBD0
DBD4
DBD36
下面是西門子的程序
OPN   DB    1                 /////打開DB1這個數(shù)據(jù)塊
      L     10           ////裝載10到MB0中,因?yàn)橛惺畟€數(shù)據(jù),要進(jìn)行十次排序,9次也可以的
LL0: T     MB    0
      L     P#0.0   ////裝載地址指針,這是關(guān)鍵,不要搞錯了
      LAR1 
      L     9
LL1: T     MB    2   ////內(nèi)部循環(huán),進(jìn)行9次,直到把最大值排到最后
      L     DBD [AR1,P#0.0]
      L     DBD [AR1,P#4.0]
      <R   
      JC    LL2          ////比較前后兩個值,如果前面大于后面的,則前后數(shù)據(jù)交換
      L     DBD [AR1,P#0.0]
      T     #m_temp
      L     DBD [AR1,P#4.0]
      T     DBD [AR1,P#0.0]
      L     #m_temp
      T     DBD [AR1,P#4.0]
LL2: +AR1 P#4.0     ////指針自動進(jìn)行加4,因?yàn)槭歉↑c(diǎn)數(shù),所以要跳過4個字節(jié)
      L     MB    2
      LOOP LL1       ///這個指令自動的將A寄存器里的值減1
      L     MB    0
LOOP LL0
作者:未知 點(diǎn)擊:2705次 [打印] [關(guān)閉] [返回頂部]
本文標(biāo)簽:在S7中用STL語言實(shí)現(xiàn)冒泡排序
* 由于無法獲得聯(lián)系方式等原因,本網(wǎng)使用的文字及圖片的作品報酬未能及時支付,在此深表歉意,請《在S7中用STL語言實(shí)現(xiàn)冒泡排序》相關(guān)權(quán)利人與機(jī)電之家網(wǎng)取得聯(lián)系。
電子樣本

SN系列樣冊
:鞏經(jīng)理
:13915946763
:南京塞姆泵業(yè)有限公司
個人求購

楊異乾 【求購】  電涌保護(hù)器  2025-11-28
趙焱 【求購】  電氣溫控閥  2025-11-28
張揚(yáng)瓊 【求購】  ABB火檢...  2025-11-27
張雪根 【求購】  固體除垢劑  2025-11-26
趙經(jīng)理 【求購】  變壓器  2025-11-26
羅經(jīng)理 【求購】  巡邏車跟蹤...  2025-11-26
趙經(jīng)理 【求購】  柴油發(fā)電機(jī)  2025-11-26
沈雙 【求購】  柴油過濾紙  2025-11-26
VIP公司推薦