<object id="ir2le"></object>
  • 加入收藏 在線留言 聯系我們
    關注微信
    手機掃一掃 立刻聯系商家
    全國服務熱線15267534595
    公司新聞
    S7-1500數據塊:優化DB與非優化DB!
    發布時間: 2024-04-13 10:11 更新時間: 2024-12-26 09:10

    1 S7-1500數據塊-優化DB與非優化DB
        

          可能是為了適應S7-1500操作系統的新功能同時還要保持原有操作習慣的原因,相對于S7-300/400,S7-1500中數據塊功能和參數更多,操作靈活的同時也會感覺到可操作的地方太多了,所以詳細了解DB塊這些功能非常必要,否則會感到無從下手。S7-1500數據塊DB帶來Zui大變化就是優化DB,今天就介紹一下優化DB與非優化DB的區別。
          S7-300/400中操作的數據塊DB,在S7-1500中就是我們所說的非優化DB,所以S7-300/400移植后的程序塊都是非優化的(除了DB外,FC、FB和OB也有優化和非優化的區分)。優化和非優化DB的區別如下:


    1.1 數據塊的大小

  • S7-300的數據塊Zui大是32K,S7-400的數據塊Zui大是64K,這里可以再聯想一下S7通信BSEND/BRECV,S7-300Zui大通信字節數是32K,S7-400Zui大通信字節數是64K,原因就是發送區和接收區是DB。

  • S7-1500數據塊DB的容量是變化的。我們看一下CPU1511數據塊DB的Zui大容量,參考圖1。

  • 圖片

    圖1

          CPU1511的數據存儲區Zui大是1M 字節,一個數據塊Zui大也是1M 字節。我們再參考一下CPU1517的技術數據,參考圖2。


    圖片
    圖2


          CPU1517的數據存儲區Zui大是8M 字節,一個數據塊Zui大也是8M 字節。可以說一個數據塊DB的容量就是CPU的整個數據存儲區。
    注:
    Zui高端型號的CPU 1518數據存儲區Zui大是20M 字節,一個數據塊Zui大容量是16M字節,可以說一個數據塊Zui大容量就是16M字節,只是小型CPU沒有那么大的DB存儲區。


    1.2 尋址方式


    優化DB與非優化DBZui大的區別就是尋址方式。

  • 非優化DB是絕地地址的訪問方式,例如尋址DB1中的一個INT變量(偏移地址為2)為DB1.DBW2。一個DB塊中的變量間帶有偏移地址,參考圖2。

  • 優化DB是符號地址的訪問方式,例如尋址DB1(名稱為A)中的一個INT變量(名稱為B)為A.B,不能使用DB1.B訪問,而在S7-300/400 DB塊尋址時是合法的(符號名方式訪問)。


  • 圖片
    圖2


          創建DB時,缺省設置為優化訪問,可以在DB塊的屬性中去使能優化訪問,使之成為非優化DB。
    注:
          非優化DB既可以使用juedui地址尋址也可以使用符號名尋址,優化DB只能使用符號名尋址,這里并不是說非優化DB尋址方式多,而是與CPU的底層尋址方式有關,例如S7-300/400 CPU底層只支持juedui地址的尋址方式,即使是符號尋址也是為了便于閱讀程序而已,所以沒有符號表后,上載的程序都是以缺省字符(DB以及程序塊OB、FB、FC的聲明)或者juedui地址出現(I、Q、M等),而S7-1500底層只支持符號尋址方式,即使是使用非優化DB(創建時自動分配符號名)。

    1.3 保持特性

  • 非優化DB只能整體選擇保持或者非保持性。

  • 優化DB可以對其中的任何變量選擇保持或者非保持性,參考圖3。

  • 圖片
    圖3


    1.4 占用地址空間

     

  • 非優化DB按照變量創建次序進行排列,這樣變量間會存在間隔,降低存儲效率,如圖4所示。所以在S7-300/400編程時強調尋址DB中一個2個字節(例如WORD、int)或者4個字節(例如DWORD、Dint)變量,地址都是偶數,如果在程序中尋址DB1.DBD3就有問題了。

  • 圖片
    圖4

  • 優化DB中大數據類型位于塊的開始處,實現數據結構合理優化,布爾型變量以寬字節形式存儲,顯著提高訪問速度,如圖5所示。

  • 圖片
    圖5


    1.5 訪問速度
          非優化DB字節采樣大端編碼(低位數據存放在高位地址)方式,優化DB字節采樣小端編碼方式(低位數據存放在低位地址),如圖6所示。S7-1500系統按照小端編碼方式處理變量,如果是大端編碼的變量,需要先進行字節的調換,然后再計算,如果是一個4個字節的變量,需要調換兩次。這也是在S7-1500中建議使用優化DB的原因。

    圖片
    圖6


    聯系方式

    • 電  話:18126392341
    • 聯系人:梁濤
    • 手  機:15267534595
    • 微  信:15267534595