力天
級別: *
|
現在有18個數據,請教高手怎么用S7-200來從小到大排序,排怕羞完成后去掉最小值和最大值,求剩下16個數字的平均值? |
---|---|
|
力天
級別: *
|
現在有18個數據,請教高手怎么用S7-200來從小到大排序,排序完成后去掉最小值和最大值,求剩下16個數字的平均值? |
---|---|
|
封鎖一生
級別: *
|
做個比較,再來兩個循環應該可以,我現在也在做個程序也是條件比較多,快蒙了www.hncgq.com |
---|---|
|
wsir123
日子在忙碌中才會顯得充實,我喜歡這樣的生活。
級別: 論壇版主
|
摘自網絡,具體去處不詳,僅供參考。 用冒泡排序實現假定十個數據,放在DB1中,安放順序如下: DBD0 DBD4 … DBD36 下面是西門子的程序 OPN DB 1 /////打開DB1這個數據塊 L 10 ////裝載10到MB0中,因為有十個數據,要進行十次排序,9次也可以的 LL0: T MB 0 L P#0.0 ////裝載地址指針,這是關鍵,不要搞錯了 LAR1 L 9 LL1: T MB 2 ////內部循環,進行9次,直到把最大值排到最后 L DBD [AR1,P#0.0] L DBD [AR1,P#4.0] <R JC LL2 ////比較前后兩個值,如果前面大于后面的,則前后數據交換 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 ////指針自動進行加4,因為是浮點數,所以要跳過4個字節 L MB 2 LOOP LL1 ///這個指令自動的將A寄存器里的值減1 L MB 0 LOOP LL0 |
|
---|---|---|
|