<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
      公司新聞
      西門子 S7-1200 系列六:S7-1200(1500適用)控制系統程序中數據類型詳解(上)
      發布時間: 2024-06-09 21:35 更新時間: 2024-12-02 08:00

      在開始本次分享之前,先聲明幾個我們控制中常用的幾個概念特別是字節和位的概念:

      計算機/PLC處理器中不能直接識別數字,只能識別二進制數字即0,1碼;

      位:Bit,PLC程序中Zui小的數據單位;

      字節:Byte,1個字節由8個位組成;

      字:Word ,2個字節,16個位組成;(列舉常用的,下面有詳細解釋)

      浮點數/實數:float或Real,4個字節,32個位組成

      所有整數數據的Zui大值(無符號)計算即2的位次方-1,例如:位:2^1^-1=1; 字:2^16^-1=65535

      對于有符號(即正負數)整數,Zui高位代表符號位,當Zui高位為1時代表負數;以有符號整數int為例:Zui小值=-(2^15^)=-32768,Zui大值=2^15^-1=32767**(為什么不是-32767~+32767是因為+0,-0的存在,人為規定Zui小值是-32768)**

      基本數據類型

      基本數據類型:包括位、位序列、整數、浮點數、日期時間。此外字符也屬于基本數據類型

      位和位序列

      注意:雖然位序列有數值表示方式,但一般不直接用于數學運算。通常在控制字、狀態字、錯誤代碼、標志字、狀態位集合等處使用位序列。而數學運算使用下面的整數數據類型與浮點數數據類型。

      整數數據類型

      數據類型位大小數值類型數值范圍常數示例地址示例Bool
      1布爾運算FALSE 或者 TRUETRUE

      I1.0

      Q0.1

      M50.7

      DB1.DBX2.3

      Tag_name

      二進制2#0 或 2#12#0
      無符號整數0 或 11
      八進制8#0 或 8#18#1
      十六進制16#0 或 16#116#1
      數據類型位大小數值范圍常數示例地址示例USIntSIntUIntIntUDIntDInt
      80 到 25578、2#01001110

      MB0

      DB1.DBB4

      Tag_name

      8-128 到 127+50、16#50
      160 到 6553565295、0

      MW2

      DB1.DBW2

      Tag_name

      16-32768 到 3276730000、+30000
      320 到 4_294_967_2954042322160

      MD6

      DB1.DBD8

      Tag_name

      32-2_147_483_648 到 2_147_483_647-2131754992

      浮點型實數數據類型

      如 ANSI/IEEE 754-1985 標準所述,實(或浮點)數以 32 位單精度數 (Real) 或 64 位雙精度數 (LReal) 表示。  單精度浮點數的精度Zui高為 6 位有效數字,

      而雙精度浮點數的精度Zui高為 15 位有效數字。在輸入浮點常數時,Zui多可以指定 6 位 (Real) 或 15 位 (LReal) 有效數字來保持精度。

      數據類型位大小數值范圍常數示例地址示例RealLReal
      32-3.402823e+38 到 -1.175495e-38、±0、+1.175 495e-38 到 +3.402823e+38123.456、-3.4、1.0e-5

      MD100

      DB1.DBD8

      Tag_name

      64-1.7976931348623158e+308 到 -2.2250738585072014e-308、
           ±0、
           +2.2250738585072014e-308 到 +1.7976931348623158e+308
      12345.123456789e40、1.2E+40

      DB_name.var_name
               注意:
               ? 不支持直接尋址

      時間和日期數據類型

      TIME 數據作為有符號雙整數存儲,基本單位為毫秒。存儲的數值是多少,就代表有多少 ms。 編輯時可以選擇性使用天 (d)、小時(h)、分鐘 (m)、秒  (s) 和毫秒 (ms) 作為單位。不需要指定全部時間單位。 例如,T#5h10s 和 500h  均有效。所有指定單位值的組合值不能超過以毫秒表示的時間日期類型的上限或下限(-2,147,483,648 ms 到 +2,147,483,647 ms)。

      DATE 數據作為無符號整數值存儲,被解釋為添加到基礎日期 1990 年 1 月 1 日的天數,用以獲取指定日期。 編輯器格式必須指定年、月和日。

      TOD (TIME_OF_DAY) 數據作為無符號雙整數值存儲,被解釋為自指定日期的凌晨算起的毫秒數(凌晨 = 0 ms)。 必須指定小時(24  小時/天)、分鐘和秒。 可以選擇指定小數秒格式。

      數據類型位大小范圍常數示例TimeDATE

      TOD/
         Time_of_Day

      32T#-24d_20h_31m_23s_648ms 到 T#24d_20h_31m_23s_647ms
         存儲形式: -2,147,483,648 ms 到 +2,147,483,647 ms

      T#5m_30s

      T#1d_2h_15m_30s_45ms

      TIME#10d20h30m20s630ms

      500h10000ms

      10d20h30m20s630ms

      16D#1990-1-1 到 D#2168-12-31

      D#2009-12-31

      DATE#2009-12-31

      2009-12-31

      32TOD#0:0:0.0 到 TOD#23:59:59.999

      TOD#10:20:30.400

      TIME_OF_DAY#10:20:30.400

      23:10:1

      結構數據類型(Struct)

      Struct類型是一種由多個不同數據類型元素組成的數據結構,其元素可以是基本數據類型,也可以是Struct、數組等復雜數據類型以及PLC數據類型(UDT)等。Struct類型嵌套Struct類型的深度限制為  8 級。Struct類型的變量在程序中可作為一個變量整體,也可單獨使用組成該Struct的元素。Struct  類型可以在DB、OB/FC/FB接口區、PLC數據類型(UDT) 處定義使用。

      Struct數據類型使用非常靈活(小編的Zui愛),隨時可以使用;可以使程序數據結構更加清晰直觀,易于維護,擴展性強;例如將相同類型電機相關的數據以結構體存放,便于批量復制和使用;

      圖片image-20240514150457587

      PLC數據類型(UDT)

      從TIA 博途 V11 開始,S7-1200 支持PLC數據類型(UDT)。

      UDT類型是一種由多個不同數據類型元素組成的數據結構,元素可以是基本數據類型,也可以是STRUCT、數組等復雜數據類型以及其它UDT等。UDT類型嵌套UDT類型的深度限制為  8 級。UDT類型可以在DB、OB/FC/FB接口區處使用。從TIA 博途 V13SP1 開始,S7-1200  V4.0開始,PLC變量表中的I和Q也可以使用UDT類型。 UDT類型可在程序中統一更改和重復使用,一旦某UDT類型發生修改,執行軟件全部編譯可以自動更新所有使用該數據類型的變量。

      圖片image-20240514151358553

      S7-1200 數組數據類型(ARRAY)

      ARRAY類型是由數目固定且數據類型相同的元素組成的數據結構。 ARRAY類型的定義和使用需要注意以下幾點:

      ARRAY類型可以在DB、OB/FC/FB接口區、PLC數據類型處定義;無法在PLC變量表中直接定義。數組定義:Array[維度1下限..維度1上限,維度2下限..維度2上限,...]of數組元素的數據類型包括:除數組類型、Variant類型以外的所有類型;數組下標的數據類型為整數,下限值必須小于或等于上限值;從S7-1200  V2.0開始,下標可以不僅僅是常數、常量,也可以是變量,還可以是混合使用(多維數組),如果編程語言是SCL的話,下標還可以是表達式。W0這種沒有對應符號名的juedui地址。從S7-1200  V4.2開始,FC的Input/Output/InOut以及FB的InOut可以定義形如Array[*]這種變長數組,要求必須是優化FC/FB塊,在調用FC/FB的實參中可以填寫任意數據類型相同的數組變量;數組可以使用單個數組元素例如"DB1".Static_1[1],也可以使用整個數組例如"DB1".Static_1。S7-1200 V4.2開始,多重背景支持數組形式,即Array of FB,這樣可以在FB中使用循環指令更方便的編寫程序。

      圖片image-20240514152535582


      其他新聞

      聯系方式

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