<object id="ayu7o"></object>

      <object id="ayu7o"></object>

    1. <menuitem id="ayu7o"></menuitem>
      <object id="ayu7o"></object>
      加入收藏 在線留言 聯系我們
      關注微信
      手機掃一掃 立刻聯系商家
      全國服務熱線18475208684
      公司新聞
      SIMATIC S7-1200 的Variant類型
      發布時間: 2024-09-14 16:33 更新時間: 2024-12-02 08:00
      觀看SIMATIC S7-1200 的Variant類型視頻

      Variant 類型是一種參數數據類型,通常只出現在 OB/FC/FB 接口區,除了 FB 的靜態變量之外。Variant 類型的實參可以是一個可以指向不同數據類型變量的指針,包括基本數據類型和復雜數據類型、UDT 等。


      Variant 數據類型提供了一種多功能的數據選項,它不會在背景數據塊或工作存儲器中占用空間,但會在 CPU 的裝載存儲器中占用存儲空間。當調用一個塊時,可以使用 Variant 參數與任何數據類型的變量相連接。這不僅傳遞了變量的指針,還傳遞了變量的類型信息,使得塊識別并相應地處理這些數據。程序塊可以使用 Variant 的相關指令來識別并處理這些參數。


      需要注意的是,Variant 類型的數據在處理過程中可能會出現數據類型轉換的問題,因此在使用時需要謹慎。


      總的來說,Variant 類型是一種靈活的數據類型,可以在不同的數據類型之間進行轉換,但在使用時需要考慮到數據類型的兼容性和轉換可能帶來的問題。


      Variant指向的實參,可以是符號尋址,也可以是juedui地址尋址,還可以是形如P#DB1.DBX0.0 BYTE 10這種指針形式的尋址。


      在早期版本的 TIA Portal 軟件中,只有一些通訊指令使用 Variant 變量。然而,從 TIA V13SP1 和 S7-1200 V4.0 開始,可以在程序塊的實參中定義 Variant 類型變量,并且可以通過以下指令處理 Variant 類型的變量:

      1. 判斷類指令

      這類指令主要用于檢查 Variant 類型實參的實際類型,但并不直接處理變量。這種指令非常有用,因為它可以幫助程序塊識別 Variant 參數的實際數據類型,以便進行相應的處理。Variant 類型的變量可以根據其實際的數據類型進行不同的處理操作。具體可以參考相關文檔或用戶手冊中關于判斷類指令的內容。參見表1。

      表1 判斷類指令


      2. 處理類指令

      該類指令可以對Variant類型的實參進行轉化,參見表2。

      表2 處理類指令


      3. 其他指令

      DB_ANY_TO_VARIANT與VARIANT_TO_DB_ANY,參見DB_ANY數據類型。


      P#指針說明

      當Variant類型的實參指向形如P#DB1.DBX0.0 BYTE 10,指令內部將判斷該形參為一個10字節的數組。


      指針結構

      S7-300/S7-400中的 Any 指針結構指的是 P#DB1.DBX0.0 BYTE 10 這種形式的指針。與 S7-300/S7-400 不同,S7-1200無法像前者那樣定義和拆解 Any 指針。然而,在參數類型為 Variant 時,可以輸入這種指針形式,并且 S7-1200 將其識別為數組。

      P#DB1.DBX0.0 BYTE 10的解釋:P#DB1.DBX0.0 BYTE 10 是一種指針表達式,用于指定從 DB1 數據塊的 DBX0 開始的 10 個字節的數據。在使用這種指針時,DB1 必須是未經優化的 DB 塊,并且該塊中必須包含長度為 10 字節的變量。

      這種指針結構可以修改為指向其他 DB 塊,例如 P#DB10.DBX,或者指向 I 區、Q 區、M 區的指針,分別是 P#I、P#Q、P#M。

      在指針表達式中,0.0 表示起始地址,例如 1.0、100.0 等,且小數點后必須是 0。

      BYTE 后面跟隨的數據類型可以是 Bool、Byte、Word、DWord、Int、DInt、Real、Char、Date、TOD 或 Time。

      Zui后的數字 10 表示指針指向的數據類型實例的數量。對于 Bool 類型,數量必須是 1 或 8 的倍數。

      P#指針舉例,P#I0.0 Bool 8,P#Q0.0 Word 20,P#M100.0 Int 50。


      聯系方式

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