久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 17975|回復(fù): 0
收起左側(cè)

背景數(shù)據(jù)塊和全局?jǐn)?shù)據(jù)塊的區(qū)別,CALL 調(diào)用如何影響 DB 寄存器?

[復(fù)制鏈接]
ID:26188 發(fā)表于 2015-5-28 01:21 | 顯示全部樓層 |閱讀模式
全局?jǐn)?shù)據(jù)塊和背景數(shù)據(jù)塊的區(qū)別

對于全局?jǐn)?shù)據(jù)塊而言,所有的程序塊 (FB,F(xiàn)C 和 OB)均可以讀寫該數(shù)據(jù)塊中的數(shù)據(jù)。而背景數(shù)據(jù)塊被分配給特定的功能塊,包含所分配的FB的本地數(shù)據(jù)。
全局?jǐn)?shù)據(jù)塊背景數(shù)據(jù)塊
所有的程序塊 (FB,F(xiàn)C 和 OB)可以訪問程序中全局?jǐn)?shù)據(jù)塊中的數(shù)據(jù)背景數(shù)據(jù)塊 DB 被指定到一個 FB
在程序中能夠獨立地創(chuàng)建全局?jǐn)?shù)據(jù)塊在程序中只能夠?qū)ο嚓P(guān)聯(lián)的 FB 創(chuàng)建背景數(shù)據(jù)塊
不能創(chuàng)建靜態(tài)變量在FB中可以定義靜態(tài)變量,當(dāng)數(shù)據(jù)塊建立完成并且已經(jīng)被保留了幾個循環(huán)之后,存儲的本地靜態(tài)數(shù)據(jù)不會丟失,除非數(shù)據(jù)再次被更改
在數(shù)據(jù)塊中添加,刪除,改變變量在相關(guān)的功能塊中添加或刪除變量,改變變量
可以改變初始值和當(dāng)前值不能改變變量的初始值和當(dāng)前值
全局?jǐn)?shù)據(jù)塊的結(jié)構(gòu)能夠被指定在相關(guān)的FB中預(yù)定義數(shù)據(jù)塊的結(jié)構(gòu)
表 1

注意
在 CPU 中的 STEP7 程序?qū)θ趾捅尘皵?shù)據(jù)塊有相等的讀寫權(quán)利。




圖 01

不同 FB 的數(shù)據(jù)可以存儲在單個背景數(shù)據(jù)塊中  (多重背景)。圖 02 給出了一個例子,說明了在 FB1 中 FB5 和 FB6 如何作為多重背景的。兩個 FB 將它們的背景數(shù)據(jù)保存在調(diào)用它們的 FB1 的背景數(shù)據(jù)塊 DB1中。在 FB1 的聲明中,多重背景塊保存為靜態(tài)變量。

圖 02

更多信息可以參考 STEP 7 在線幫助以下部分
  • “背景數(shù)據(jù)塊”
  • “創(chuàng)建數(shù)據(jù)塊 (DB)”
  • “數(shù)據(jù)塊 (DB) 的結(jié)構(gòu)”
  • “使用多重背景”
從 STEP 7 V4.02 升級到 V5.x 需要注意
當(dāng)升級 STEP 7 V4.02 到 V5.x 版本時,在 LAD/STL/FBD 編輯器中可能會在調(diào)用 CALL 功能時出現(xiàn)紅色。這種現(xiàn)象的原因是塊中調(diào)用的一個背景數(shù)據(jù)塊已經(jīng)在符號表里被聲明為全局?jǐn)?shù)據(jù)塊。在 STEP7 編程規(guī)則中這是不允許的,并且在 STEP7 V5.x 版本中也是不能被接受的。
補(bǔ)救措施
可以按照下列步驟來修改發(fā)生錯誤的數(shù)據(jù)塊:
  • 在符號表中刪除聲明錯誤的 DB 所在行。
  • 然后刪除錯誤的 DB 塊。
  • 打開調(diào)用的塊然后重新生成背景數(shù)據(jù)塊。
調(diào)用 CALL 功能如何影響 DB 寄存器
當(dāng)程序塊在 STEP 5 或 STEP 7 中被調(diào)用時,DB1 和 DB2 寄存器的初始內(nèi)容被恢復(fù)。已經(jīng)打開的數(shù)據(jù)塊會一直保持有效直到另一個數(shù)據(jù)塊被打開。DB 寄存器的內(nèi)容反映了當(dāng)前打開的數(shù)據(jù)塊(DB / DI)。
然后,必須明確,不是所有的 S7 編輯器/編譯器對 DB 寄存器的改變對用戶來說都是明顯的。例如,當(dāng)使用 CALL 指令調(diào)用 FC 時,如果給 FC 形參分配的是完整的數(shù)據(jù)塊變量地址,編譯器會打開指定的數(shù)據(jù)塊。當(dāng) FC 調(diào)用完成時,DB 號仍然保存在 DB1 寄存器中。在 FC 中改變 DB 寄存器不會影響調(diào)用完成后 DB 寄存器的值。
舉例:
DB1 寄存器
AUF DB1
1
L DBB 0
CALL FC1
Input1:= DB2.DBB0
Input2:= DB3.DBB0
L DBB 0
3
表 2

如果調(diào)用功能塊和相關(guān)的背景數(shù)據(jù)塊,調(diào)用 CALL 指令后,背景數(shù)據(jù)塊號保存在 DB1 寄存器中。傳輸完整的數(shù)據(jù)塊變量地址給 FB,在 FB 中更改 DB 寄存器不會影響 DB1 寄存器的內(nèi)容。
舉例:
DB1 寄存器
AUF DB1
1
L DBB 0
CALL FB1, DB10
Input1:= MW0
Input2:= DB3.DBB0
L DBB 0
10
表 3

調(diào)用系統(tǒng)功能塊后 (SFB),相應(yīng)的背景數(shù)據(jù)塊號保存在 DB1 寄存器中。然而,使用 UC 或 CC 指令后,數(shù)據(jù)寄存器始終保持不變,這是由于這些調(diào)用沒有指定參數(shù)和背景數(shù)據(jù)塊。
注意
為了避免在 STEP 編程過程中處理數(shù)據(jù)塊時出現(xiàn)區(qū)域長度錯誤和訪問錯誤,盡量只使用完整的地址訪問 DB 中變量。(如 DBx.DBBy 或符號名 "DBName".Variable_name)。




回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美区日韩区 | 久久精品黄色 | 一区在线播放 | 国产精品日本一区二区在线播放 | 一级看片免费视频 | 免费观看av网站 | 日韩视频一区 | 国产欧美一区二区三区免费 | 婷婷久久五月天 | 九九久久在线看 | 亚洲成人综合社区 | 欧美一区二区三区 | 91资源在线 | 日韩视频免费看 | 亚洲欧洲一区 | av天天澡天天爽天天av | 99精品在线 | 91麻豆精品国产91久久久久久久久 | 欧美另类视频在线 | 日韩中文字幕免费 | 久久精品日 | 极品久久 | 日日干天天操 | 亚洲精品第一页 | 国产精品综合久久 | 久久精品二区 | 亚洲高清电影 | 一区二区三区在线 | 精品伊人 | 日本韩国电影免费观看 | 夜夜骑综合| 久在线视频播放免费视频 | 羞羞在线视频 | 成人黄色网址大全 | 香蕉一区 | 久久久久久久久久久久一区二区 | 男人的天堂avav | 免费a网 | 久久福利电影 | 午夜丰满寂寞少妇精品 | 日韩欧美在线免费观看 |