<sup id="x7dny"><rp id="x7dny"><big id="x7dny"></big></rp></sup>
    • <label id="x7dny"><tt id="x7dny"><tfoot id="x7dny"></tfoot></tt></label>
      <dfn id="x7dny"></dfn>
      <small id="x7dny"><rp id="x7dny"><rt id="x7dny"></rt></rp></small>
      加入收藏 在線留言 聯系我們
      關注微信
      手機掃一掃 立刻聯系商家
      全國服務熱線18475208684

      衢州市西門子一級PLC模塊代理商

      更新時間
      2024-12-02 08:00:00
      價格
      請來電詢價
      西門子PLC
      西門子觸摸屏
      西門子伺服電機
      西門子變頻器
      西門子直流調速器
      西門子電纜
      聯系電話
      13922889745
      聯系手機
      18475208684
      聯系人
      向小姐
      立即詢價

      詳細介紹

      導讀: 

      西門子S7-200smart V2.8軟件更新以后多了很多的功能,需要CPU固件升級到V2.8才可以使用,這篇文章接著介紹西門子S7-200smart V2.8數學運算的新指令,西門子的S7-200smart V2.8新指令介紹分為上、中、下三篇,想了解更多內容可以關注“電工小青年”。


      一、數學運算指令


      1.取Zui大值或Zui小值



      指令如圖1所示,“取Zui大值或Zui小值”指令比較可用輸入的值,然后將Zui小值和Zui大值的值及索引寫入 MinValue, MinValueIndex, MaxValue 和 MaxValueIndex 的輸出。


      如果數組中有多個Zui小值或Zui大值,則會輸出第一個Zui小值或Zui大值的索引號,數組的索引從 0 開始。


      這四個指令引腳功能都是一樣的,除了部分數據類型不一樣,把鼠標放到指令處停頓2s左右,既可以看到對應的引腳的數據類型。

      圖1 

      這里以MIN_MAX_B指令為例:取源 6 字節地址序列(VB0 到 VB5)中的 MinValue、MinValueIndex、MaxValue 和 MaxValueIndex,并將其寫入到目標字地址序列(VB100 到 VB103)。


      數據值

      1

      2

      3

      4

      5

      6

      源數據地址

      VB0

      VB1

      VB2

      VB3

      VB4

      VB5

      數組索引

      0

      1

      2

      3

      4

      5

      表1

      PLC RUN模式,則執行 MIN_MAX_I 獲取 MinValue、MinValueIndex、MaxValue 和 MaxValueIndex,并將其寫入到目標地址

      目標數據值

      1

      0

      6

      5

      目標地址

      Vb100

      Vw101

      Vb103

      Vw105

      表2


      執行結果如圖2所示,其他的指令都是一樣的原理,引腳數據類型不一致。

      圖2



      2.取隨機數


      指令如圖3所示,隨機指令向 OUT 輸出生成所設定范圍內的一個隨機值。


      取 lowerBound 和 Upper Bound 之間的兩個封閉區間間的隨機數,執行 RAND_R 以獲取源數據值中的隨機值,并將其寫入到OUT目標地址。

      圖3

      測試如視頻1所示,對vb0—vb9賦值1-10的數值,M0.0為1時,隨機輸出1-10范圍內任意數值到VB10中。

      時長00:20

      視頻1


      3.取平均值


      指令如圖4所示,取平均值指令計算從StartAddr引腳地址開始,數據長度位Len引腳地址的數組,求和并輸出平均值到OUT引腳地址。


      例如:從VB0開始的10個數據,求和輸出到VB500中,其他幾個指令都是一樣的,不同的指令是數據類型不一樣,使用過程中需要特別注意你需要進行運算的數據類型。


      指令數據類型如下:AVG_B是Byte的數據類型,AVG_W是Int的數據類型,AVG_DI是Dint的數據類型,AVG_R是Real的數據類型。如果不太清楚指令的數據類型,可以把鼠標放在指令處不動2s即可看到指令對應引腳的數據類型。

      圖4


      測試如圖5所示,在狀態圖表中分別對AVG_B指令StartAddr引腳地址VB0開始10個字節(VB0—VB9)進行賦值,并把平均值結果輸出到VB500。    

      圖5


      4.數組排序


      指令如圖6所示,數組排序指令表示的是從StartAddr引腳地址開始,數據長度位Len引腳地址的數組,并根據Mode引腳的數值進行排序輸出到Out引腳地址,當Mode的值為0時按升序排序,值為1時按降序排序。


      指令數據類型如下:SORT_B是Byte的數據類型,SORT _W是Int的數據類型,SORT _DI是Dint的數據類型,SORT _R是Real的數據類型。如果不太清楚指令的數據類型,可以把鼠標放在指令處不動2s即可看到指令對應引腳的數據類型。

      圖6


      測試如圖7所示,在狀態圖表中分別對SORT_B指令StartAddr引腳地址VB0開始5個字節(VB0—VB4)進行賦值,并根據Mode引腳的地址數值為0時按升序排序,把結果輸出到VB50開始的5個字節(VB50—VB54)存放。當Mode引腳的地址數值為1時按降序排序,如圖如8所示。    

      圖7

      圖8



      聯系方式

      • 電  話:13922889745
      • 經理:向小姐
      • 手  機:18475208684
      • 微  信:18475208684