一 | String類型(重點關注) |
數據類型為 char (字符) 的變量長度為 8 bit 位,占用1個 byte 的內存。char 數據類型將單個字符存儲為 ASCII 編碼形式。通常是指計算機中使用的字母、數字和符號,包括:1、2、3、A、B、C、常見符號等。每個字符占用空間為1字節。char為ASCII編碼,對應的10進制,16進制,可查看ASCII碼表獲得,此處不再贅述;
string 定義數據類型為 string 的操作數可存儲多個字符,Zui多可包括 254 個字符。字符串中的第一個字節為總長度,第二個字節為有效字符數量。(劃重點,特別是與上位機通訊中特別重要)字符串(string)在存儲上類似字符的數組,所以它每一個元素都是可以提取的字符,如:"abcdefg"叫字符串,而其中的每個元素叫字符。
string 在西門子 PLC 中的格式string字符串在DB中有兩種定義方式:
- 不指定字符串長度(默認254Zui大字節);
- 指定字符串長度,根據實際情況指定字符串長度,節省存儲空間;
下圖展示以兩種方式表示”相同“字符串'abcdef'方式,通過偏移量可以看出占用的字節長度:
image-20240515142255779
從上圖可知,string1: 起始地址偏移量854,string2:起如地址偏移量1110,則可看出string1的字節總長度為1110-854=256(256=Zui大字節254+第一個字節總長度+第二個字節有效字符數量)
同理可知,string2的字節總長度為1122-1110=12**(12=10字節長度(指定)+第一個字節總長度+第二個字節有效字符數量)**,在監控表中分解如下:
image-20240515143511553
使用 string 數據類型在 HMI 上顯示漢字在TIA Portal中建議漢字使用wstring數據類型,但是當需要在某些不支持wstring格式的HMI上面顯示漢字,也是可以使用 string 數據類型顯示的。但由于 string 數據類型中存儲的漢字編碼標準為 GBK 編碼(編碼不一致就會產生亂碼);因此,需要在 HMI 設備上選擇相應的編碼標準。
image-20240515145335546
注:
- 在 string 數據類型的起始值中定義漢字 '工業系統baike',且字符背景底色為淺黃色(編譯時會有警告信息,這是TIA軟件建議 string 數據類型中不使用漢字的友情提示),但不影響使用。
- 1個漢字占用2個字節長度;
- string中漢字編碼是GBK,監控表中Unicode字符,編碼格式不一致,導致亂碼
二 | wstring類型 |
數據類型為 wchar(寬字符)的變量長度為 16 位,占用2個 byte 的內存。 wchar 數據類型將擴展字符集中的單個字符保存為 UFT-16 編碼形式。wstring即可以存儲字符,又可以存儲中文文本;
wstring 的定義:數據類型為 wstring (寬字符串)的操作數用于在一個字符串中存儲多個數據類型為 wchar 的 Unicode 字符。如果未指定長度,則字符串的長度為預置的 254 個字。
wchar 和 wstring 在西門子 PLC 中的格式同string一樣,wstring也是有不指定長度和指定長度兩種,如下圖所示:
image-20240515151917687
注:第一個字為總字長度;第二個字為有效字長度;
三 | 數據類型 DTL 介紹、使用 |
日期和時間的數據類型 DTL 的操作數長度為 12 個字節,用于存儲日期和時間信息。下表列出了數據類型 DTL 的屬性:
12 | DTL#年-月-日-小時:分:秒:納秒 | DTL#1970-01-01-00:00:00.0 到 DTL#2262-04-11-23:47:16.854775807 | DTL#2008-12-16-20:30:20.250 |
數據類型 DTL 的結構由幾個部分組成,每一部分都包含不同的數據類型和取值范圍。指定值的數據類型必須與相應元素的數據類型相匹配。下表給出了數據類型 DTL 的結構組成及其屬性:
0 | 年 | UInt | 1970 - 2262 |
1 | USInt | ||
2 | 月 | USInt | 1 - 12 |
3 | 日 | USInt | 1 - 31 |
4 | 星期 | USInt | 1(星期日) - 7(星期六),作為輸入時無需考慮 |
5 | 小時 | USInt | 0 - 23 |
6 | 分鐘 | USInt | 0 - 59 |
7 | 秒 | USInt | 0 - 59 |
8 | 納秒 | UDInt | 0 - 999999999 |
9 | |||
10 | |||
11 |
s7-1200提供了系統時間讀取的庫
系統時間(System Time):UTC 時間,即以前的格林威治標準時間。
本地時間(Local Time):根據 S7-1200 CPU 所處時區設置的本地標準時間。
image-20240515155727142
- 西門子 S7-1200 系列六:S7-1200(1500適用)控制系統程序中數據類型詳解(上) 2024-12-02
- 西門子 S7-1200 系列四:西門子 TIA Portal 編程軟件介紹及應用范圍說明 2024-12-02
- 西門子s7-200 smart 基本控制庫(LBC)應用九:范圍限制、多路復用 2024-12-02
- 西門子s7-200 smart 基本控制庫(LBC)應用九:一個經典的三位控制器標準庫程序 2024-12-02
- 西門子s7-200 smart 基本控制庫(LBC)應用八:可配置信號參數的數字量信號處理功能 2024-12-02
- 西門子s7-200 smart 基本控制庫(LBC)應用七:可調整邏輯關系的8輸入連鎖控制功能塊 2024-12-02
- 西門子s7-200 smart 基本控制庫(LBC)應用六:可用于氣缸、油缸、電動閥 2024-12-02
- 西門子s7-200 smart 基本控制庫(LBC)應用四:帶狀態和報警輸出的雙手控制器標準庫文件 2024-12-02
- 西門子s7-200 smart 基本控制庫(LBC)量程轉換庫升級版集成復位、上下限報警 2024-12-02
- 西門子 s7-200 smart 基本控制庫(LBC)應用一:設備順啟順停順啟逆序功能塊分享 2024-12-02
- 西門子宣布推出新一代控制器Simatic S7-1200 G2作為西門子Xcelerator的一部分 2024-12-02
- 自動化編程?帶你實際體驗西門子 TIA Openness自動創建和編譯博圖項目 2024-12-02
- 使用NetToPLCsim實現觸摸屏、上位機與西門子PLC-SIM仿真軟件的在線無硬件通訊測試 2024-12-02
- 干貨!一文搞懂西門子S7通信的讀寫字節長度限制,及如何"突破"讀寫長度限制分享 2024-12-02
- 西門子 S7-1200 系列五:TIA博圖中OB、DB、FC、FB介紹及應用范圍說明 2024-12-02
聯系方式
- 電 話:13922889745
- 經理:向小姐
- 手 機:18475208684
- 微 信:18475208684