要提高 S7-1500 系列 CPU 的程序執(zhí)行性能,可以只使用全局?jǐn)?shù)據(jù)塊或 PLC 變量通過塊接口在塊間傳遞值。
不能使用寄存器(如,累加器、AR1、AR2、DB 或 DI)或 LAD 和 FBD 中的狀態(tài)字傳遞值。在 STL 中,值傳遞存在一些限制條件。請注意,使用這些區(qū)域在多個塊間進(jìn)行值傳遞時,可能會降低程序的執(zhí)行速度。
以下規(guī)則適用于 STL:
寄存器、累加器和狀態(tài)字中的數(shù)據(jù)僅適用于 STL 程序段。當(dāng) LAD 或 FBD 程序段位于 STL 程序段之后時,無法從 LAD 或 FBD 程序段中訪問先前在 STL 中設(shè)置的寄存器數(shù)據(jù)。但在下游 STL 程序段中,可重新使用該寄存器中的數(shù)據(jù)。
RLO 位屬于例外情況:如果該位在語言更改時設(shè)置為“未定義”(undefined),則在下游程序段中不再可用。
寄存器、累加器和狀態(tài)字中的值也不會傳送到被調(diào)用塊中。僅“CC”和“UC”指令除外。如果使用“UC”或“CC”指令并希望通過寄存器、狀態(tài)字或累加器將參數(shù)傳送到被調(diào)用塊中,則必須在被調(diào)用塊的屬性中選擇“通過寄存器傳送參數(shù)”(Parameter passing via registers) 選項。請注意,該選項僅適用于 STL 塊中進(jìn)行標(biāo)準(zhǔn)訪問,而且該塊可能沒有形參。啟用該選項后,可以在塊之間傳送寄存器中的數(shù)據(jù)。在此,RLO 位也屬于例外情況:如果在退出塊時該位設(shè)置為“未定義”(undefined),則在塊調(diào)用后將不再可用。
要將錯誤消息傳遞給調(diào)用的塊,則可使用 BR 位。首先需要使用指令“SAVE”將錯誤消息存儲在調(diào)用塊的 BR 位中。然后,再讀取調(diào)用塊中的 BR 位。
每次通過完全限定尋址方式訪問數(shù)據(jù)塊后,數(shù)據(jù)塊寄存器 DB 將置位為“0”(例如,%DB10.DBW10)。之后使用部分限定尋址的數(shù)據(jù)塊則會導(dǎo)致在編譯時出錯。
如果在 S7-1500 中對 FB 塊接口中的局部形參進(jìn)行符號尋址(例如,使用指令 L #myIn),則將始終訪問塊調(diào)用中*為背景數(shù)據(jù)塊的數(shù)據(jù)塊。雖然 OPN DI L AR2, +AR2, TDB, TAR 指令將更改 DI 或地址寄存器中的數(shù)據(jù),但在對局部形參進(jìn)行尋址時不會對這些寄存器中的數(shù)據(jù)進(jìn)行判斷。
下列章節(jié)介紹了一些編程示例。
在 S7-1500 中,主控繼電器不可用。移植時將報告一個錯誤。應(yīng)手動更改程序。例如,以塊參數(shù)形式*條件并根據(jù)條件執(zhí)行指令或程序段。
由于“LEAVE”和“ENT”指令只有兩個累加器,因此在 S7-1500 中不可用。移植時將報告一個錯誤。應(yīng)手動更改程序。例如,使用臨時變量存儲中間結(jié)果。
在 S7-1500 中,“Block_DB”參數(shù)類型不可用。移植時將更改該參數(shù),并將其*為“DB_Any”數(shù)據(jù)類型。
在 S7-1500 中庫指令無法與“DB_Any”型參數(shù)形式的實例調(diào)用相匹配。
在以下示例中說明了 S7-300/400 系列 CPU 如何使用變量實例調(diào)用一個庫塊。這一段程序無法移植到 S7-1500。
STL | 說明 |
---|---|
CALL GET, #myBlock_DB | / / 通過當(dāng)前由“myBlock_DB”塊參數(shù)*的背景數(shù)據(jù)塊調(diào)用庫塊“GET”。 |
REQ := #Start | |
ID := W#16#100 | |
NDR := #Done | |
ERROR := #Error | |
STATUS := #Status | |
ADDR_1 := P#DB10.DBX5.0 BYTE 10 | |
ADDR_2 := | |
ADDR_3 := | |
ADDR_4 := | |
RD_1 := P#DB10.DBX6.0 BYTE 10 | |
RD_2 := | |
RD_3 := | |
RD_4 := |
詞條
詞條說明
循環(huán)時間和較大循環(huán)時間(循環(huán)監(jiān)視時間)
循環(huán)時間和較大循環(huán)時間(循環(huán)監(jiān)視時間)功能循環(huán)時間是指操作系統(tǒng)執(zhí)行循環(huán)程序以及中斷此循環(huán)的所有程序段所需的時間。程序執(zhí)行會被以下事件中斷:時間錯誤和 2 次較大循環(huán)時間錯誤系統(tǒng)活動,如過程映像較新因此,每個循環(huán)的循環(huán)時間 (Tcyc) 均不相同。下圖顯示了 S7-1500 CPU 不同循環(huán)時間 (TZ1 ≠ TZ2) 的示例:在當(dāng)前循環(huán)中,將由一個時間錯誤(如,OB?80)中斷該循環(huán) O
較高和較低級別的 IO 系統(tǒng)之間的數(shù)據(jù)交換
較高和較低級別的 IO 系統(tǒng)之間的數(shù)據(jù)交換簡介下面將顯示較高和較低級別的 IO 系統(tǒng)之間的數(shù)據(jù)交換。傳送區(qū)IO 控制器和智能設(shè)備之間使用傳送區(qū)傳遞通信數(shù)據(jù)。 一個傳送區(qū)中包含 IO 控制器和智能設(shè)備之間一致交換的一個信息單元。應(yīng)用程序傳送區(qū)是連接到智能設(shè)備 CPU 的用戶程序的接口。 輸入在用戶程序中進(jìn)行處理,而輸出是此用戶程序的處理結(jié)果。下圖顯示了較高和較低級別的 IO 系統(tǒng)之間的數(shù)據(jù)交換。 通
S7-1200PLC高速計數(shù)器的用法及應(yīng)用
S7-1200 CPU 提供了較多 6 個(1214C )高速計數(shù)器 ,其獨立于 CPU 的掃描周期進(jìn)行計數(shù)??蓽y量的單相脈沖頻率較高為 100KHz ,雙相或 A/B 相較高為 30KHz ,除用來計數(shù)外還可用來進(jìn)行頻率測量,高速計數(shù)器可用于連接增量型旋轉(zhuǎn)編碼器,用戶通過對硬件組態(tài)和調(diào)用相關(guān)指令塊來使用此功能。一、高速計數(shù)器工作模式高速計數(shù)器定義為 5 種工作模式1、計數(shù)器,外部方向控制 。2、
Audit選件用于記錄審核跟蹤中的操作和電子簽名。簡單點說就是記錄下哪個操作員做了哪些操作,多用于醫(yī)藥等特殊行業(yè)。這個選件在組態(tài)時是不需要授權(quán)的,只要在“運行系統(tǒng)設(shè)置” > “優(yōu)良生產(chǎn)規(guī)范”中勾選“組態(tài)與GMP相符”就可以進(jìn)行相關(guān)組態(tài)了。?項目下載到精智(Comfort)屏后運行時需要授權(quán)。用戶需要購買相應(yīng)授權(quán),把授權(quán)下載到屏上。如果你有N個屏都需要這個功能,就需要購買N個授權(quán)。&
公司名: 上海騰希電氣技術(shù)有限公司
聯(lián)系人: 田禮科
電 話: 021-37660026
手 機: 13681875601
微 信: 13681875601
地 址: 上海松江上海市松江區(qū)廣富林路4855弄星月大業(yè)**88號4樓
郵 編:
網(wǎng) 址: shtxjd.cn.b2b168.com
公司名: 上海騰希電氣技術(shù)有限公司
聯(lián)系人: 田禮科
手 機: 13681875601
電 話: 021-37660026
地 址: 上海松江上海市松江區(qū)廣富林路4855弄星月大業(yè)**88號4樓
郵 編:
網(wǎng) 址: shtxjd.cn.b2b168.com