siemens x
控制軟件

在STEP 7 (TIA 博途)中,如何初始化S7-1500 的優(yōu)化存儲(chǔ)區(qū)?

2025China.cn   2013年10月23日

  描述

  優(yōu)化塊臨時(shí)數(shù)據(jù)區(qū)中的變量在每次調(diào)用塊時(shí)被用缺省值初始化(如,INT 的缺省值是 0)。下列內(nèi)容不會(huì)被初始化:

   ● 聲明為數(shù)組的變量。

   ● 非優(yōu)化塊中聲明的變量。

  在 STEP 7 (TIA 博途)中, 對(duì)西門(mén)子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中使用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 中, 位信號(hào)通過(guò)slice訪問(wèn)復(fù)制到了狀態(tài)字(圖. 02).

  圖. 02

  臨時(shí)變量和InOut變量必須具有相同的數(shù)據(jù)類型或相同的結(jié)構(gòu)體數(shù)據(jù)類型。圖. 03 說(shuō)明了在SLC中編程實(shí)現(xiàn)完整初始化 InOut 變量 "Motor" 和單個(gè)元素的位到位訪問(wèn)。

  圖. 03

  下面的例子說(shuō)明初始化DB變量 "Motor field". 在SCL中使用 FOR 指令,循環(huán)程序重復(fù)執(zhí)行只要運(yùn)行變量 "tmp_Counter" 在指定的范圍內(nèi)。由于PLC數(shù)據(jù)類型是 "Array [1..10] of motor data type", 程序循環(huán)必須執(zhí)行10次("1 TO 10 DO") 來(lái)初始化結(jié)構(gòu)體變量中的所有數(shù)組元素。

  圖. 04

  注意

  在 UDT中,可以通過(guò)聲明定義初始值,這樣基于UDT的每一個(gè)變量都有其初始值。只有對(duì)運(yùn)行中的設(shè)備做程序復(fù)位時(shí)才需要初始化結(jié)構(gòu)體變量。當(dāng) STOP/RUN 切換時(shí),就會(huì)從從裝載存儲(chǔ)區(qū)提取初始值,這相當(dāng)于一次復(fù)位。

(轉(zhuǎn)載)

標(biāo)簽:西門(mén)子 TIA 博途 PLC STEP 7 我要反饋 
2024世界人工智能大會(huì)專題
即刻點(diǎn)擊并下載ABB資料,好禮贏不停~
優(yōu)傲機(jī)器人下載中心
西克
2024全景工博會(huì)
專題報(bào)道