精品乱码一区内射人妻无码-亚洲中文AⅤ中文字幕在线-免费不卡国产福利在线观看-国产综合无码一区二区色蜜蜜

          上海西邑電氣技術有限公司

          免費會員
          您現(xiàn)在的位置: 首頁> 公司動態(tài)> 6ES7 468-1CF00-0AA0

          6ES7 468-1CF00-0AA0

          2018-3-23  閱讀(422)

          分享:

          問題:如何計算當前程序所需的Local Data大小并合理設置S7 400 CPU屬性中的Memory選項卡中的Local Data,S7 400 CPU中的Local data設置不當會導致什么問題?
          回答:Local data顧名思義為本地數(shù)據(jù),在西門子控制器中有一部分內(nèi)存空間被設置為L區(qū)間,它被用于控制器在運行程序時存儲臨時數(shù)據(jù)。由于編寫FB/FC程序的需要和OB中調(diào)用功能塊結(jié)構的不同,不同的OB由于調(diào)用不同的FB/FC,因此所需的Local data的大小各不相同(被調(diào)用的FB/FC將占用當前調(diào)用他的OB塊的Local Data資源)。在控制器硬件組態(tài)中的CPU屬性設置中,Memory選項卡用于設置Local data的分配。如果相應OB塊實際運行所需的Local data大于硬件組態(tài)中所設置的Local Data大小,那么相應的程序?qū)o法運行,CPU將報告INTF錯誤,甚至更為嚴重的情況下CPU可能會停止運行。但如果盲目將Local Data的分配設置過大,將會浪費一部分寶貴的CPU內(nèi)存空間。
          S7 300CPU中的Local data不可修改,每個優(yōu)先級固定設置為256 bytes,S7 400的Local data則可以人為修改。由此可以看出正確設置S7400 CPU的Local Data的大小非常重要。在控制器硬件組態(tài)中CPU屬性? Memory選項卡的Local Data區(qū)域用于設置基于優(yōu)先級的Local Data(如下圖所示):


          Pic1: Local Data的分配

          在PCS7組態(tài)的項目中,在編譯CFC程序后,系統(tǒng)將會自動計算各OB塊所需的Local Data大小,可以通過交叉索引(Chart reference data ? Local data,如下圖所示)查詢到。


          Pic2: Chart reference data ® Local data

          而普通的由用戶采用Step7編程方式編寫的程序,程序功能塊及OB塊各自的調(diào)用結(jié)構由用戶自行控制,需要在編寫完整個程序之后自行計算。
          在手動計算Local Data時,需要獲取如下信息:
          1. 各OB塊、FB塊、FC塊各自獨立運行時所需的Local Data大小
          可以通過如下方式查詢到:在Block文件夾中選擇相應功能塊,右鍵 屬性? General - Part2中即可查看到,如下圖所示:


          Pic3: 功能塊所需的Local Data

          注:嵌套調(diào)用時,上一級功能塊將不會計算其嵌套調(diào)用的FB/FC所需的Local data大??;在上圖中將不會累加嵌套功能塊所需的Local data大??;


          2. 整個程序的調(diào)用結(jié)構(Call structure)
          由于功能塊不會計算其嵌套調(diào)用的功能塊所需到Local data大小,因此為了zui后計算整個OB所需到Local Data,必須了解整個程序的調(diào)用結(jié)構。打開任何一個功能塊,點擊左側(cè)的Call Structure即可查詢到,如下圖所示;


          Pic4: 程序調(diào)用結(jié)構


          3. 當前程序下所使用的所有OB的優(yōu)先級
          由于CPU屬性設置中的Local Data分配基于優(yōu)先級進行設置,因此需要查看所有當前程序使用的OB塊的中斷優(yōu)先級,打開硬件組態(tài)中CPU屬性查看,如下圖所示;


          Pic5: 查看OB的優(yōu)先級

          獲得所有上述信息后,即可計算當前程序所需的Local data大小。假設當前項目下使用的功能塊及OB塊上述相關信息如下表所示:

          OB/FB/FCPriority 優(yōu)先級所需Local Data(Bytes)
          FB1X100
          FC1X400
          OB1126
          OB351226
          OB121X20
          OB122X20

          OB的調(diào)用關系如上圖Pic4所示。根據(jù)調(diào)用結(jié)構計算,單獨運行各OB塊時所需的Local data如下:
          OB1: OB1 + Max(Sum(FB1,FC1), FC1) =26+Max(Sum(100,400), 400)=526
          OB35: OB35 + Sum(FB1,FC1) =26+Sum(100,400)=526
          OB121: OB121=20
          OB122: OB122=20
          zui終CPU屬性中Local data的設置如下:
          優(yōu)先級 1 所需Local Data大小至少為526 + 20 + 20 = 566 bytes;
          優(yōu)先級12所需的Local Data大小至少為526 + 20 + 20 = 566 bytes;
          注:為什么上述優(yōu)先級1和12中需要加入 兩個20呢,因為程序運行的任何位置都有可能會執(zhí)行OB121、OB122,所以需要加上OB121和OB122所需的本地數(shù)據(jù)。PCS7中(Pic2所示)進行各優(yōu)先級所需Local data大小計算時已經(jīng)自動加入了這部分的大小。
          具體的計算法則可以歸納為一下幾點:

          1. 從內(nèi)往外,從低往高;
          即:基于程序的調(diào)用結(jié)構,從zui低層、zui內(nèi)層逐步往上、往外計算;
          2. 同級取zui大,內(nèi)外求和;
          即:程序調(diào)用結(jié)構中,同層FB/FC中所需的Local data取各所需Local data中的zui大值;某一優(yōu)先級所需的Local Data大小取所有相同優(yōu)先級OB所需的Local Data的zui大值;上下調(diào)用層級各自所需Local Data需求和;
          3. 結(jié)果疊加OB121(編程錯誤)、OB122(I/O讀取錯誤);
          即:zui終計算出的某優(yōu)先級所需的Local data大小需要疊加上OB121、OB122所需的Local data;

          如果項目中CPU設置的Local Data小于程序所需Local Data大小時會有如下后果:
          1. PCS7中,如果項目硬件組態(tài)設置的CPU的Local data大小小于程序所需的Local data大小的情況下,PCS7項目在編譯時將提示如下相應警告信息:
          /******************************************************************************************
          W: Local data requirements for the priority class 1:
          The local data requirements (890 bytes, including OB121 and OB122) of organization block OB1 exceed the configured local data stack of the corresponding priority class on the connected offline CPU.
          /******************************************************************************************
          如果實際運行的CPU中的Local Data設置小于正在下載的程序所需的Local data大小將提示如下錯誤信息,下載程序?qū)⒔K止:
          /******************************************************************************************
          Download to CPU SIMATIC H Station(1)\CPU_417-4H_R0\S7 Program(1) on 1/12/2009 10:26:16 PM (entire program)
          E: Local data requirements (890 byte, inclusive OB121 and OB122) for organization block OB1 is larger than the local data stack configured in the connected online CPU for the corresponding priority class 1.
          /******************************************************************************************
          2. Step7編寫的程序則不會校驗Local data分配的情況,如果實際運行的CPU中的Local Data設置小于正在下載的程序所需的Local data大小,則在下載程序后運行該優(yōu)先級下的程序時,CPU將報告INTF錯誤,該優(yōu)先級的程序?qū)o法執(zhí)行,并將觸發(fā)OB88(Process interrupt OB)錯誤中斷。在CPU的診斷緩沖區(qū)中將生成類似如下的診斷信息:
          /******************************************************************************************
          Event 1 of 160: Event ID 16# 3576
          Error when allocating local data
          Caused by OB: Cyclic interrupt OB (OB 35), Priority class: 12
          OB number: 35
          Module address: 72
          Requested OB: Processing abort OB (OB88)
          Priority class: 28
          Internal error, Incoming event
          04:04:28.026 PM 01/14/1994
          /******************************************************************************************
          如果程序中沒有插入OB88,則CPU將停止運行;
          在冗余CPU的情況下,在主CPU運行,啟動從CPU時將調(diào)用優(yōu)先級為28的OB72。如果在優(yōu)先級為28的中斷中出現(xiàn)Local Data不足的情況,則主從CPU都將停止運行。CPU的診斷緩沖區(qū)將生成類似如下的診斷信息:
          /******************************************************************************************
          Event 2 of 374: Event ID 16# 4570
          STOP due to processing error (OB not loaded or not possible, or no FRB)
          Breakpoint in user program: CPU redundancy error OB (OB72)
          Priority class: 28
          OB number: 72
          Module address: 6
          Previous operating mode: RUN (redundant mode)
          Requested operating mode: STOP (internal)
          Event occurred in the standby CPU in rack 1
          Internal error, Incoming event
          04:08:33.523 PM 01/14/1994
          /******************************************************************************************
          注:任何優(yōu)先級為28的OB中出現(xiàn)Local data不足的情況都將導致該OB無法執(zhí)行,CPU診斷緩沖區(qū)中將報告該OB無法執(zhí)行或未裝載的錯誤。如果未裝載該OB會導致CPU停止運行,則即便程序中已經(jīng)加載了這些OB,但由于該OB出現(xiàn)Local Data不足而導致無法執(zhí)行,CPU仍舊會停止運行。

          上一篇:6ES7 468-1CC50-0AA0

          下一篇:6ES7 468-1DB00-0AA0

          會員登錄

          ×

          請輸入賬號

          請輸入密碼

          =

          請輸驗證碼

          收藏該商鋪

          X
          該信息已收藏!
          標簽:
          保存成功

          (空格分隔,最多3個,單個標簽最多10個字符)

          常用:

          提示

          X
          您的留言已提交成功!我們將在第一時間回復您~
          產(chǎn)品對比 二維碼

          掃一掃訪問手機商鋪

          對比框

          在線留言