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