6ES75921AX000AA0中國西門子6ES75921AX000AA0中國西門子
【SIEMENS】上海西乾自動化科技有限公司
Contact:彭馨
():
商務在線():
公司地址:上海市金山區楓涇鎮楓岸華庭42號
描述
每次調用優化塊時,臨時數據區中的變量被初始化為 0。
下列內容不會被初始化:
- 聲明為數組的變量。
- 非優化塊中聲明的變量。
在 STEP 7(TIA 博途)中,對 S7-1500 的優化存儲區中的結構體可以使用用戶自定義的值進行初始化。
如果要把定義的值加載到結構體中的獨立元素,只能先初始化臨時結構體,再分配給靜態結構體。在 SCL 語言中,使用 FOR 循環可以在運行時用很少的代碼初始化大量的區域(數組結構)。
圖 01 是一個 DB 塊結構中有兩個 DB 變量的示例。第二個 DB 變量的 PLC 數據類型使用的是 "Array [1..10] of motor data type"。
圖 01
使用 "MOVE" 指令(復制值)可以完整的初始化結構體 InOut 變量 "Motor"。在下面的例子中,臨時變量 "tmp_Motor" 中的內容傳到了 InOut 變量 "Motor"。在 LAD/FBD中,單個位狀態通過 slice 訪問方式被復制到狀態字中(圖 02)。
圖 02
臨時變量和 InOut 變量必須具有相同的數據類型或者相同的結構體數據類型。圖. 03 說明了在 SCL 中編程實現完整的初始化變量 "Motor",并且是對單個元素按位訪問的。
圖 03
下面的例子說明初始化 DB 變量 "Motor field"。在 SCL 編程語言中,使用 FOR 指令,當 "tmp_Counter" 在的范圍內時,循環程序循環執行。由于 PLC 數據類型是 "Array [1..10] of motor data type",循環程序必須執行 10 次("1 TO 10 DO")來初始化結構體變量中的所有數組元素。