西門子6ES71936AR000AA0性能參數(shù)
描述
每次調(diào)用優(yōu)化塊時,臨時數(shù)據(jù)區(qū)中的變量被初始化為 0。
下列內(nèi)容不會被初始化:
- 聲明為數(shù)組的變量。
- 非優(yōu)化塊中聲明的變量。
在 STEP 7(TIA 博途)中,對 S7-1500 的優(yōu)化存儲區(qū)中的結(jié)構(gòu)體可以使用用戶自定義的值進(jìn)行初始化。
如果要把定義的值加載到結(jié)構(gòu)體中的獨(dú)立元素,只能先初始化臨時結(jié)構(gòu)體,再分配給靜態(tài)結(jié)構(gòu)體。在 SCL 語言中,使用 FOR 循環(huán)可以在運(yùn)行時用很少的代碼初始化大量的區(qū)域(數(shù)組結(jié)構(gòu))。
圖 01 是一個 DB 塊結(jié)構(gòu)中有兩個 DB 變量的示例。第二個 DB 變量的 PLC 數(shù)據(jù)類型使用的是 "Array [1..10] of motor data type"。
圖 01
使用 "MOVE" 指令(復(fù)制值)可以完整的初始化結(jié)構(gòu)體 InOut 變量 "Motor"。在下面的例子中,臨時變量 "tmp_Motor" 中的內(nèi)容傳到了 InOut 變量 "Motor"。在 LAD/FBD中,單個位狀態(tài)通過 slice 訪問方式被復(fù)制到狀態(tài)字中(圖 02)。
圖 02
臨時變量和 InOut 變量必須具有相同的數(shù)據(jù)類型或者相同的結(jié)構(gòu)體數(shù)據(jù)類型。圖. 03 說明了在 SCL 中編程實現(xiàn)完整的初始化變量 "Motor",并且是對單個元素按位訪問的。
圖 03
下面的例子說明初始化 DB 變量 "Motor field"。在 SCL 編程語言中,使用 FOR 指令,當(dāng) "tmp_Counter" 在的范圍內(nèi)時,循環(huán)程序循環(huán)執(zhí)行。由于 PLC 數(shù)據(jù)類型是 "Array [1..10] of motor data type",循環(huán)程序必須執(zhí)行 10 次("1 TO 10 DO")來初始化結(jié)構(gòu)體變量中的所有數(shù)組元素。
圖 04
注意
在 UDT 中,可以通過聲明定義初始值,這樣基于 UDT 的每一個變量都有其初始值。只有對運(yùn)行中的設(shè)備做程序復(fù)位時才需要初始化結(jié)構(gòu)體變量。當(dāng) STOP/RUN 切換時,就會從裝載存取區(qū)中提取初始值,這相當(dāng)于一次復(fù)位。
使用TIA Portal V12建立OPC與S7-1500通訊連接
西門子6ES71936AR000AA0性能參數(shù)