西門子S7-300高級(jí)編程培訓(xùn)教材,內(nèi)部教材 8、同步和異步.ppt_第1頁
西門子S7-300高級(jí)編程培訓(xùn)教材,內(nèi)部教材 8、同步和異步.ppt_第2頁
西門子S7-300高級(jí)編程培訓(xùn)教材,內(nèi)部教材 8、同步和異步.ppt_第3頁
西門子S7-300高級(jí)編程培訓(xùn)教材,內(nèi)部教材 8、同步和異步.ppt_第4頁
西門子S7-300高級(jí)編程培訓(xùn)教材,內(nèi)部教材 8、同步和異步.ppt_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、處理同步和異步錯(cuò)誤,處理異步錯(cuò)誤,異步錯(cuò)誤并未對應(yīng)到程序的某個(gè)特定位置,例如,它們可同程序的處理過程異步出現(xiàn)。,1) 僅適用于 S7-400,2) 非Stop w/o Error OB,舉例,錯(cuò)誤類型,時(shí)間錯(cuò)誤,超出最大掃描時(shí)間,電源錯(cuò)誤,后備電源故障,診斷中斷,可診斷模塊的輸入斷線,刪除/插入模塊中斷,在運(yùn)行模式下將一個(gè) S7-400 信號(hào)模塊移除,CPU 硬件錯(cuò)誤,在MPI 接口出現(xiàn)故障信號(hào)電平,程序順序錯(cuò)誤,更新過程映像出現(xiàn)錯(cuò)誤 (模塊有故障),機(jī)架錯(cuò)誤,分布式機(jī)架上電源故障,通信錯(cuò)誤,不正確的消息代碼,錯(cuò)誤 OB,OB 80,OB 81 2),OB 82,OB 83 1),OB 84

2、1),OB 85,OB 86 1),OB 87,處理故障組織塊,為了在發(fā)生錯(cuò)誤時(shí)抑制 CPU STOP,傳送一個(gè)空的故障組織塊 您可以在Error OB中編寫預(yù)期的響應(yīng),并根據(jù)需要在執(zhí)行 Error OB之后使用系統(tǒng)功能 SFC 46 請求系統(tǒng)處于 Stop 狀態(tài) 在故障組織塊的啟動(dòng)信息中存有一個(gè)附加錯(cuò)誤標(biāo)識(shí)符,可在程序中檢驗(yàn)。 在線幫助或者系統(tǒng)和標(biāo)準(zhǔn)功能手冊中詳細(xì)介紹了故障組織塊 將OB傳送到一個(gè)不支持該OB的CPU時(shí),將被該CPU拒絕并伴隨一個(gè)錯(cuò)誤消息。,異步錯(cuò)誤 OB 舉例,OB81:Error OB: 電源故障 Network 1:電池故障,到來的事件 L#OB81_FLT_ID/ 加

3、載錯(cuò)誤標(biāo)識(shí)符 LB#16#22/ 標(biāo)識(shí)符: CR 中的電池故障 =I =M81.1/ 設(shè)置存儲(chǔ)器標(biāo)志位 L#OB81_EV_CLASS/ 標(biāo)識(shí)符: 到來,離去 LB#16#39/ 標(biāo)識(shí)符: 到來事件 =I =M81.2/ 存儲(chǔ)器標(biāo)志位到來事件 AM81.1/ 電池故障和 AM81.2/ 到來事件 SM81.0/ 將存儲(chǔ)器標(biāo)志位設(shè)為錯(cuò)誤顯示/ Network 2:當(dāng)電池恢復(fù)正常后,復(fù)位輔助存儲(chǔ)器標(biāo)志位 L#OB81_EV_CLASS/ 標(biāo)識(shí)符: 到來,離去 LB#16#38/ 標(biāo)識(shí)符: 離去 =I RM81.0/ 復(fù)位存儲(chǔ)器標(biāo)志位,處理同步錯(cuò)誤,同步錯(cuò)誤直接定位到用戶程序中的一個(gè)位置 算術(shù)指令中

4、的錯(cuò)誤(溢出、無效的實(shí)數(shù)數(shù)據(jù))設(shè)置狀態(tài)位 處理 STL語句時(shí)的錯(cuò)誤(同步錯(cuò)誤) 調(diào)用同步錯(cuò)誤 OB,舉例,錯(cuò)誤類型,編程錯(cuò)誤,調(diào)用 CPU 中不存在的塊,訪問錯(cuò)誤,直接訪問一個(gè)有缺陷的或者不存在的模塊,錯(cuò)誤 OB,OB 121,OB 122,編程錯(cuò)誤 OB121 的啟動(dòng)信息,數(shù)據(jù)類型,變量名,OB121_EV_CLASS,BYTE,OB121_SW_FLT,BYTE,解釋,賦值,B#16#25=調(diào)用編程錯(cuò)誤 OB121,錯(cuò)誤代碼(參見文本),OB121_PRIORITY,BYTE,OB121_OB_NUMBR,BYTE,其中發(fā)生錯(cuò)誤的優(yōu)先級(jí),OB 編號(hào)(B#16#79),OB121_BLK_T

5、YPE,BYTE,OB121_RESERVED_1,BYTE,中斷塊的類型(僅適用S7-400 ) OB: B#16#88, DB: B#16#8A, FB: B#16#8E, FC: B#16#8C,錯(cuò)誤碼的補(bǔ)充(參見文本),OB121_FLT_REG,WORD,OB121_BLK_NUM,WORD,OB121:錯(cuò)誤源,發(fā)生錯(cuò)誤的塊的號(hào)碼,OB121_PRG_ADDR,WORD,OB121_DATE_TIME,DT,引發(fā)錯(cuò)誤的塊中的錯(cuò)誤地址(僅適用 S7-400),發(fā)生編程錯(cuò)誤時(shí)的時(shí)間,訪問錯(cuò)誤 OB122 的啟動(dòng)信息,數(shù)據(jù)類型,變量名稱,OB122_EV_CLASS,BYTE,OB122_

6、SW_FLT,BYTE,解釋,賦值,B#16#29=調(diào)用訪問錯(cuò)誤,錯(cuò)誤代碼(可能的取值:B#16#42、B#16#43、 B#16#44、B#16#45),OB122_PRIORITY,BYTE,OB122_OB_NUMBR,BYTE,其中發(fā)生錯(cuò)誤的優(yōu)先級(jí),OB 編號(hào)(B#16#80),OB122_BLK_TYPE,BYTE,OB122_MEM_AREA,BYTE,中斷塊的類型(僅適用于 S7-400) OB: B#16#88, DB: B#16#8A, FB: B#16#8E, FC: B#16#8C,錯(cuò)誤碼的補(bǔ)充(參見文本),OB122_FLT_REG,WORD,OB122_BLK_NUM

7、,WORD,OB122:發(fā)生錯(cuò)誤處的地址標(biāo)識(shí)符,其中發(fā)生錯(cuò)誤的塊的號(hào)碼,OB122_PRG_ADDR,WORD,OB122_DATE_TIME,DT,引發(fā)錯(cuò)誤的塊中的錯(cuò)誤地址(僅適用 S7-400),發(fā)生編程錯(cuò)誤時(shí)的時(shí)間,屏蔽同步錯(cuò)誤,同步錯(cuò)誤 OB 的缺點(diǎn): 用于過程管理和錯(cuò)誤處理的代碼分布在至少兩個(gè)塊中 后續(xù)更改或維護(hù)方面的問題 較理想的情況: 用于過程管理和錯(cuò)誤處理的代碼位于同一個(gè)塊中 屏蔽同步錯(cuò)誤: 在“緊急”指令之前: SFC 36 MSK_FLT: 屏蔽同步錯(cuò)誤 (OB12x 禁止調(diào)用) 執(zhí)行“緊急”指令 檢查是否有錯(cuò)誤發(fā)生SFC 38 READ_ERR: 讀 Error Regi

8、ster(錯(cuò)誤寄存器) OB12x 再次開放調(diào)用:SFC 37 DMSK_FLT: 解除屏蔽同步錯(cuò)誤,SFC 36 屏蔽同步錯(cuò)誤,MSK_FLT,EN,ENO,PRGFLT_SET_MASK,ACCFLT_SET_MASK,RET_VAL,?.?,PRGFLT_MASKED,?.?,ACCFLT_MASKED,?.?,?.?,?.?,參數(shù)聲明數(shù)據(jù)類型內(nèi)存區(qū)域解釋 PRGFLT_SET_MASKINPUTDWORD I, Q, M, D, L, Const.新(附加的)編程錯(cuò)誤過濾器 ACCFLT_SET_MASKINPUTBYTE I, Q, M, D, L, Const.新附加訪問故障過濾器

9、 RET_VALOUTPUTINT I, Q, M, D, LSFC 返回值,001:新過濾器同已有的過器濾重疊 PRGFLT_MASKEDOUTPUTDWORD I, Q, M, D, L完成編程錯(cuò)誤過濾 ACCFLT_MASKEDOUTPUTDWORD I, Q, M, D, L完成訪問錯(cuò)誤過濾,編程錯(cuò)誤過濾器的結(jié)構(gòu),BCD 轉(zhuǎn)換錯(cuò)誤,范圍長度錯(cuò)誤,讀,范圍長度錯(cuò)誤,寫,范圍錯(cuò)誤,讀,范圍錯(cuò)誤,寫,計(jì)時(shí)器號(hào)錯(cuò)誤,計(jì)數(shù)器號(hào)錯(cuò)誤,未對齊,讀,未對齊,寫,未定義,寫錯(cuò)誤 DB,寫錯(cuò)誤實(shí)例 DB,塊編號(hào)錯(cuò)誤 DB,塊編號(hào)錯(cuò)誤 DI,塊編號(hào)錯(cuò)誤 FC,塊編號(hào)錯(cuò)誤 FB,DB 未加載,FC 未加載,F

10、B 未加載,注: 輸出參數(shù) RGFLT_MASKED 的相應(yīng)位的設(shè)置如下:Value(值) = 1: 屏蔽錯(cuò)誤。 Value(值) = 0: 不屏蔽錯(cuò)誤。,訪問錯(cuò)誤過濾器的結(jié)構(gòu),31 30 29 . . . 7 6 5 4 3 2 1 0,I/O 讀訪問錯(cuò)誤,僅對于 S7-400:I/O 訪問錯(cuò)誤,指讀取不存在的模塊或者 重復(fù)訪問,未定義,I/O 寫訪問錯(cuò)誤,僅對于S7-400:向不存在的模塊寫入或者重復(fù)訪問而引發(fā) I/O訪問錯(cuò)誤,. . .,注:輸出參數(shù) ACCFLT_MASKED 的相應(yīng)位 設(shè)置如下: Value = 1: 屏蔽錯(cuò)誤。 Value = 0: 不屏蔽錯(cuò)誤。 未定義的位的值為“

11、1”。,SFC 37 解除同步錯(cuò)誤屏蔽,DMSK_FLT,EN,ENO,PRGFLT_RESET_MASK,ACCFLT_RESET_MASK,RET_VAL,?.?,PRGFLT_MASKED,?.?,ACCFLT_MASKED,?.?,?.?,?.?,參數(shù)聲明數(shù)據(jù)類型內(nèi)存區(qū)域解釋 PRGFLT_RESET_MASKINPUTDWORD I, Q, M, D, L, Const.編程錯(cuò)誤過濾器復(fù)位 ACCFLT_RESET_MASKINPUTBYTE I, Q, M, D, L, Const.訪問錯(cuò)誤過濾器復(fù)位 RET_VALOUTPUTINT I, Q, M, D, LSFC返回值,W#1

12、6#0001:新的過濾器中包含已存貯的 過濾未設(shè)置的位 PRGFLT_MASKEDOUTPUTDWORD I, Q, M, D, L仍被屏蔽的編程錯(cuò)誤 ACCFLT_MASKEDOUTPUTDWORD I, Q, M, D, L仍被屏蔽的訪問錯(cuò)誤,SFC 38 讀錯(cuò)誤寄存器,READ_ERR,EN,ENO,PRGFLT_QUERRY,ACCFLT_QUERRY,RET_VAL,?.?,PRGFLT_CLR,?.?,ACCFLT_CLR,?.?,?.?,?.?,參數(shù)聲明數(shù)據(jù)類型內(nèi)存區(qū)域 解釋 PRGFLT_QUERRYINPUTDWORD I, Q, M, D, L, Const.編程錯(cuò)誤過濾檢

13、查 ACCFLT_QUERRYINPUTBYTE I, Q, M, D, L, Const.訪問錯(cuò)誤過濾檢查 RET_VALOUTPUTINT I, Q, M, D, LSFC返回值,W#16#0001:檢查過濾結(jié)果中包含了未設(shè)置的 位(在存貯的過濾器中) PRGFLT_CLROUTPUTDWORD I, Q, M, D, L編程錯(cuò)誤過濾及錯(cuò)誤信息 ACCFLT_CLROUTPUTDWORD I, Q, M, D, L訪問錯(cuò)誤過濾及錯(cuò)誤信息,示例:數(shù)據(jù)塊測試,Network 1: Masking, Testing, Demasking / Mask DB does not exist CALL

14、SFC36( PRGFLT_SET_MASK:= DW#16#4000000,/ 標(biāo)識(shí)符:DB 不存在 ACCFLT_SET_MASK:= DW#16#0,/ 未屏蔽訪問錯(cuò)誤 RET_VAL:= #SFC36Error, PRGFLT_MASKED:= #Prog36Mask, ACCFLT_MASKED:= #Acc36Mask); / Test call OPN DBDB_NO; / Check programming error CALLSFC38( PRGFLT_QUERRY:= DW#16#4000000,/ 標(biāo)識(shí)符:DB 不存在 ACCFLT_QUERRY:= DW#16#0,/

15、未屏蔽訪問錯(cuò)誤 RET_VAL:= #SFC38Error, PRGFLT_MASKED:= #Prog38Mask, ACCFLT_MASKED:= #Acc38Mask); / Evaluate result L#Prog38Mask LDW#16#4000000=D =#DB_NOT_THERE/ 設(shè)置輔助變量 DB not there/ Demask DB does not exist CALLSFC37( PRGFLT_RESET_MASK:= DW#16#4000000,/ 標(biāo)識(shí)符:DB 不存在 ACCFLT_RESET_MASK:= DW#16#0,/ 未屏蔽訪問錯(cuò)誤 RET_VAL:= #SFC37Error, PRG

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論