西門子中國(授權)一級代理 內蒙古自治區代理商PLC
| 更新時間 2024-12-02 08:00:00 價格 請來電詢價 西門子變頻器 西門子觸摸屏 西門子伺服電機 西門子PLC 西門子直流調速器 西門子電纜 聯系電話 13922889745 聯系手機 18475208684 聯系人 向小姐 立即詢價 |
在開始本次分享之前,先聲明幾個我們控制中常用的幾個概念特別是字節和位的概念:
計算機/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)**
一基本數據類型基本數據類型:包括位、位序列、整數、浮點數、日期時間。此外字符也屬于基本數據類型
位和位序列
注意:雖然位序列有數值表示方式,但一般不直接用于數學運算。通常在控制字、狀態字、錯誤代碼、標志字、狀態位集合等處使用位序列。而數學運算使用下面的整數數據類型與浮點數數據類型。
整數數據類型
數據類型位大小數值類型數值范圍常數示例地址示例Bool1布爾運算FALSE 或者 TRUETRUEI1.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數據類型位大小數值范圍常數示例地址示例USInt80 到 25578、2#01001110MB0
DB1.DBB4
Tag_name
SInt8-128 到 127+50、16#50UInt160 到 6553565295、0MW2
DB1.DBW2
Tag_name
Int16-32768 到 3276730000、+30000UDInt320 到 4_294_967_2954042322160MD6
DB1.DBD8
Tag_name
DInt32-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) 有效數字來保持精度。
數據類型位大小數值范圍常數示例地址示例Real32-3.402823e+38 到 -1.175495e-38、±0、+1.175 495e-38 到 +3.402823e+38123.456、-3.4、1.0e-5MD100
DB1.DBD8
Tag_name
LReal64-1.7976931348623158e+308 到 -2.2250738585072014e-308、±0、
+2.2250738585072014e-308 到 +1.7976931348623158e+30812345.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 小時/天)、分鐘和秒。 可以選擇指定小數秒格式。
數據類型位大小范圍常數示例Time32T#-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
DATE16D#1990-1-1 到 D#2168-12-31D#2009-12-31
DATE#2009-12-31
2009-12-31
TOD/
Time_of_Day
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