為什么循環(huán)時(shí)間的長(zhǎng)短依賴于使用的存儲(chǔ)卡和存儲(chǔ)內(nèi)容?
對(duì)于西門子PLC 1500CPU,為什么循環(huán)時(shí)間的長(zhǎng)短依賴于使用的存儲(chǔ)卡和存儲(chǔ)內(nèi)容?
以下使用擴(kuò)展指令程序傳輸數(shù)據(jù)的程序可能導(dǎo)致這種情況
描述:
循環(huán)時(shí)間由以下部分組成:
- 主循環(huán)程序完整處理時(shí)間
- 中斷主循環(huán)程序,執(zhí)行更高優(yōu)先級(jí)程序的處理時(shí)間(當(dāng)前循環(huán)周期)
- 更新過程映像區(qū)所需時(shí)間
- 操作系統(tǒng)通信過程所需時(shí)間
異步指令會(huì)產(chǎn)生通信負(fù)荷,因此會(huì)導(dǎo)致循環(huán)周期的波動(dòng)。提供了有關(guān)通訊負(fù)荷如何影響循環(huán)時(shí)間的更多信息。
基本有兩類指令,不同于同步指令,異步指令可以多次調(diào)用,在循環(huán)的用戶程序中并行處理。
所有的訪問存儲(chǔ)卡 (SIMATIC Memory Card, SMC) 的異步指令都能導(dǎo)致循環(huán)周期的波動(dòng)。這種波動(dòng)取決于:
- 存儲(chǔ)卡的版本或者類型
- 數(shù)據(jù)容量
- 文件的數(shù)量和大小
- 每一個(gè)目錄下的文件數(shù)量
示例
圖中異步指令 "READ_DBL" 和 "WRIT_DBL" 訪問裝載存儲(chǔ)區(qū) (SMC)。本示例中存儲(chǔ)卡SMC已達(dá)到自己的存儲(chǔ)極限,這會(huì)增加斷電時(shí)對(duì)于數(shù)據(jù)一致性保護(hù)的管理負(fù)荷,導(dǎo)致對(duì)存儲(chǔ)卡讀寫性能的損失,然后引起循環(huán)周期增加 。
圖 1
解決方法
-
使用大容量存儲(chǔ)卡
-
如果使用循環(huán)中斷OB,必要的話,增加它的時(shí)鐘周期(比如從 5 ms 到 30 ms)。
-
如果程序中包括了很多異步指令(READ_DBL),不要配置STEP 7(TIA 博途)程序循環(huán)監(jiān)控時(shí)間限制。