西門(mén)子培訓(xùn)教程、手冊(cè)合集ob塊使用說(shuō)明_第1頁(yè)
西門(mén)子培訓(xùn)教程、手冊(cè)合集ob塊使用說(shuō)明_第2頁(yè)
西門(mén)子培訓(xùn)教程、手冊(cè)合集ob塊使用說(shuō)明_第3頁(yè)
西門(mén)子培訓(xùn)教程、手冊(cè)合集ob塊使用說(shuō)明_第4頁(yè)
西門(mén)子培訓(xùn)教程、手冊(cè)合集ob塊使用說(shuō)明_第5頁(yè)
已閱讀5頁(yè),還剩32頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、如何使用 OB 組織塊1 西門(mén)子技術(shù)支持簡(jiǎn)介當(dāng)您在使用西門(mén)子產(chǎn)品時(shí)可能遇到這樣或是那樣,沒(méi)關(guān)系,您可以登陸西門(mén)子技術(shù)支持與服務(wù)來(lái)查找您需要的信息。為: HYPERLINK http:/w/ http:/w后,您可以點(diǎn)擊相關(guān).cn/service,查找您想要的信息,其中在“網(wǎng)上課堂”可以登陸西門(mén)子技術(shù)支持工程師編寫(xiě)的常問(wèn)問(wèn)題和使用入門(mén)文檔,點(diǎn)擊網(wǎng)頁(yè)左側(cè)的“技術(shù)資源”,進(jìn)入后將顯示語(yǔ)言切換到英文(點(diǎn)擊網(wǎng)頁(yè)的右上角“English”),然后在“Search”輸入框中輸入您要查找的相關(guān)內(nèi)容,如升級(jí)包,或是查找錯(cuò)誤代碼的解釋?zhuān)蚴遣檎蚁嚓P(guān)產(chǎn)品的信息等等,您可能會(huì)找到很多條,您可以從中選擇您所需要的內(nèi)容,

2、您還可以通過(guò)點(diǎn)擊“Product Support”進(jìn)入西門(mén)子的產(chǎn)品信息庫(kù),通過(guò)點(diǎn)擊左側(cè)的相關(guān)文件可以查找到西門(mén)子相關(guān)產(chǎn)品的詳細(xì)信息。如果您經(jīng)常使用信息,您會(huì)覺(jué)得它已成為您解決問(wèn)題的得力助手。西門(mén)子技術(shù)支持與服務(wù)首頁(yè)切圖如下:w如果線:800 adscs未能解決您810 4288 ,或者不是很清楚,您可以撥打的技術(shù)支持與服務(wù)熱用戶可撥打 010 6471 9990 ,或發(fā),將會(huì)有工程師為您解答。到2 組織塊的詳細(xì)說(shuō)明請(qǐng)參閱文檔 OB_Specification.pdf,如果想查閱英文文檔,可從下面的該文檔:OB_Specification_English.pdf您也可以通過(guò)按 F1 鍵查閱相應(yīng)組

3、織塊的,操作方法為:在程序中相應(yīng)的 OB 塊,然后選中該組織塊并按 F1 鍵。3 常用 OB 組織塊的使用說(shuō)明現(xiàn)以 CPU315(6ES7 315-2AG10-0AB0),STEP7 V5.3 為例介紹常用 OB 組織塊的使用方法,這些組織塊包括:程序循環(huán)組織塊(OB1);日期時(shí)間中斷組織塊(以 OB10 為例);延時(shí)中斷組織塊(以 OB20 為例);循環(huán)中斷組織塊(以 OB35 為例);w硬件中斷組織塊(以O(shè)B40為例);中斷組織塊(以 OB82 為例);機(jī)架故障組織塊(以 OB86 為例);啟動(dòng)的類(lèi)型(CPU300 以 OB100 為例,CPU400 以 OB101,OB102 為例);編

4、程故障組織塊(以 OB121 為例);I/O故障組織塊(以O(shè)B122為例);還有其它的組織塊,如:I/O 冗余故障OB(OB70),CPU 冗余故障OB(OB72),通訊冗余故障OB(OB73)請(qǐng)CPU400H系統(tǒng)工程師,這里不做說(shuō)明。程序循環(huán)組織塊(OB1)硬件組態(tài)在 OB_Exle 項(xiàng)目中 S7300 站,命名為 OB1_Exle,然后CPU 315-2DP硬件組態(tài)完成后,保存編譯。312 OB1 程序執(zhí)行OB1 的程序循環(huán)執(zhí)行,用 Step7 可以時(shí)時(shí)程序的運(yùn)行,具體程序參見(jiàn)OB_Exle/OB1_Exle。OB1 的 STL 程序(可轉(zhuǎn)成梯形圖)為:wNetWork1:L TNOPMB

5、 MB01000將 OB1 程序和硬件組態(tài)其中 MB100 為時(shí)鐘到 CPU 中。器,設(shè)置方法為進(jìn)入硬件組態(tài)(HW Config),雙擊CPU315-2DP,選擇 Cycle/Clock Memory,具體設(shè)置畫(huà)面如下:Step7 時(shí)時(shí)畫(huà)面如下:w日期時(shí)間中斷組織塊(OB10)硬件組態(tài)在 OB_Exle 項(xiàng)目中 S7300 站,命名為 OB10_Exle,然后CPU 315-2DP雙擊 CPU 315-2DP,選擇 Time-of-Day時(shí)設(shè)置 Execution 選項(xiàng),本例選擇 Everyerrupts 選項(xiàng),選中 Active,同minute,Execution 選項(xiàng)包括:wNone On

6、ce EveryEvery不使用只執(zhí)行一次每分鐘執(zhí)行一次每小時(shí)執(zhí)行一次minutehourEveryEverykmonth每周執(zhí)行一次每月執(zhí)行一次月末執(zhí)行一次每年執(zhí)行一次End of monthEvery year設(shè)置開(kāi)始執(zhí)行的日期(Start畫(huà)面如下:date)和時(shí)間(Time of day),設(shè)置完成后硬件組態(tài)完成后,保存編譯。322 OB10 程序執(zhí)行OB10 程序按照設(shè)定的時(shí)間執(zhí)行,使用 Step7 不能時(shí)時(shí)程序的運(yùn)行,可用 Variable Table實(shí)時(shí)數(shù)據(jù)變化。具體程序參見(jiàn)OB_Exle/OB10_Exle。在 OB10_Exle 程序的 Blocks 中OB10 組織塊,畫(huà)面如

7、下:w然后打開(kāi) OB10 組織塊編寫(xiě)程序,OB10NetWork1:的 STL 程序(可轉(zhuǎn)成梯形圖)為:L L+ITMW10MW0NOP0將 OB10 程序和硬件組態(tài)到 CPU 中。在 OB10_Exle 程序的 Blocks 中Variable Table,然后打開(kāi),填入地址 MW0 并點(diǎn)擊 Monitor Variable 按鈕,畫(huà)面如下:此時(shí)可以MW0 每分鐘加 1。33 延時(shí)中斷組織塊(OB20)331 硬件組態(tài)在 OB_Exle 項(xiàng)目中 S7300 站,命名為 OB20_Exle,然后CPU 315-2DPw雙擊 CPU 315-2DP,選擇errupts 選項(xiàng),可以看到 CPU 支

8、持 OB20,畫(huà)面如下:硬件組態(tài)完成后,保存編譯。332 OB20 程序執(zhí)行每一次 OB20 的程序執(zhí)行,必須調(diào)用 SFC32 (SRT_D),延遲時(shí)間在 SFC 的輸入?yún)?shù)中給定,同時(shí)給定 OB 號(hào),調(diào)用 SFC32 且設(shè)定的時(shí)間延后,執(zhí)行 OB 程序,如果再次執(zhí)行 OB 程序,需要再次調(diào)用 SFC32。如果在延遲時(shí)間未到之前想取消程序的執(zhí)行,可以調(diào)用 SFC33(CAN_D),同時(shí)可以使用SFC34 (QRY_D參考)取得延遲中斷的狀態(tài),具體 SFC32/33/34 的調(diào)用方法可,Step7 不能時(shí)時(shí)程序的運(yùn)行,可用 Variable Table 監(jiān)控實(shí)時(shí)數(shù)據(jù)變化。具體程序參見(jiàn) OB_Ex

9、le/OB20_Exle。w在 OB20_Exle 程序的 Blocks 中OB20 組織塊,畫(huà)面如下:然后打開(kāi) OB20 組織塊編寫(xiě)程序,OB20 的 STL 程序(可轉(zhuǎn)成梯形圖)為:NetWork1:LLMW10w+IT NOPMW00打開(kāi) OB1 組織塊編寫(xiě)程序,OB1的STL 程序(可轉(zhuǎn)成梯形圖)為:NetWork1:AJNB CALLM20.0_001SRT_DOB_NRDTIME SIGN:=20:=T#10S:=MW10RET_VAL:=MW12_001: ARNetWork2:ABRM20.0M20.1JNB_002CALL CAN_D OB_NR :=20RET_VAL:=M

10、W14_002: ARNetWork3:CALLBRM20.1QRY_DOB_NR :=20RET_VAL:=MW16 SUS :=MW18NOP0將 OB1,OB20在 OB20_Ex和硬件組態(tài)到 CPU 中。le 程序的 Blocks 中Variable Table,然后打開(kāi),填入地址 MW0,M20.0,M20.1,MW18 并點(diǎn)擊 Monitor Variable 按鈕,畫(huà)面如下:w此時(shí)可以MW0 的變化,將 M20.0 置為 true,10 秒鐘后延遲時(shí)間到,MW0 加 1,再將 M20.0 置為 true,10 秒鐘后延遲時(shí)間到,MW0 再加 1。如果當(dāng)延遲時(shí)間未到,此時(shí)將 M20

11、.1 置為 true,那么此次時(shí)間延遲中斷被取消,MW0 不會(huì)加 1,每次執(zhí)行的狀態(tài)都可以從 MW18 種讀出,具體狀態(tài)的含義請(qǐng)參閱 SFC34(QRY_D)的循環(huán)中斷組織塊(OB35)硬件組態(tài)。在 OB_Exle 項(xiàng)目中 S7300 站,命名為 OB35_Exle,然后CPU 315-2DP,參見(jiàn) OB10 硬件組態(tài),雙擊 CPU 315-2DP,選擇 Cyclic errupts 選項(xiàng),修改 OB35 的執(zhí)行周期(Execution(ms),范圍是 1-60000ms),本例設(shè)為 1000ms,具體畫(huà)面如下:w硬件組態(tài)完成后,保存編譯。342 OB35 程序執(zhí)行OB35 程序按照設(shè)定的執(zhí)行

12、周期循環(huán)執(zhí)行,使用 Step7 不能時(shí)時(shí)程序的運(yùn)行,可用 Variable Table實(shí)時(shí)數(shù)據(jù)變化。具體程序參見(jiàn)OB_Exle/OB35_Exle。在 OB35_Exle 程序的 Blocks 中OB35 組織塊,畫(huà)面如下:然后打開(kāi) OB35 組織塊編寫(xiě)程序,OB35 的 STL 程序(可轉(zhuǎn)成梯形圖)為:NetWork1:LLMW10w+IT NOPMW00將 OB351 和硬件組態(tài)到 CPU 中。在 OB35_Exle 程序的 Blocks 中Variable Table,然后打開(kāi),填入地址 MW0 并點(diǎn)擊 Monitor Variable 按鈕,畫(huà)面如下:此時(shí)可以MW0 每秒鐘加 1??梢?/p>

13、在 OB35 中周期的調(diào)用模塊(FB41/42/43),完成調(diào)節(jié),也可以 OB35 中調(diào)用周期的數(shù)據(jù)發(fā)送指令,完成數(shù)據(jù)發(fā)送功能,等等。總之 OB35是按設(shè)定的循環(huán)周期執(zhí)行。硬件中斷組織塊(OB40)硬件組態(tài)在 OB_Exle 項(xiàng)目中 S7300 站,命名為 OB40_Exle,然后321-7BH01-0AB0CPU315-2DP 和一塊具有中斷功能的數(shù)字量輸入模板 6ES7w雙擊 6ES7 321-7BH01-0AB0 模板,選擇 Inputs 選項(xiàng),同時(shí)選中 Hardwareerrupt 和 Trigger for Hardwareerrupt 選項(xiàng),畫(huà)面如下:點(diǎn)擊 OK,然后雙擊 CPU3

14、15-2DP,選擇持 OB40,畫(huà)面如下:errupts 選項(xiàng),可以看到 CPU 支硬件組態(tài)完成后,保存編譯。352 OB40 程序執(zhí)行OB40 程序當(dāng)在硬件組態(tài)中設(shè)定的硬件中斷發(fā)生后執(zhí)行,當(dāng) OB40 執(zhí)行時(shí)可以通過(guò)它的臨時(shí)變量 OB40_MDL_ADDR 讀出產(chǎn)生硬件中斷的模板的邏輯地址,通過(guò) OB40_PO義請(qǐng)參閱_ADDR 可以讀出產(chǎn)生硬件中斷的通道,臨時(shí)變量的具體含。Step7 不能時(shí)時(shí)程序的運(yùn)行,可用 VariableTable實(shí)時(shí)數(shù)據(jù)變化。具體程序參見(jiàn) OB_Exle/OB40_Exle。w在 OB40_Exle 程序的 Blocks 中OB40 組織塊,畫(huà)面如下:然后打開(kāi) OB

15、40 組織塊編寫(xiě)程序,OB40的 STL 程序(可轉(zhuǎn)成梯形圖)為:NetWork1:L L+IMW10T NOPNetWork2:A(MW00wL TSETSAVE#OB40_MDL_ADDRMW10CLR A)JNBBR_001L TNOP#OB40_PO_ADDRMD012_001:將 OB40 和硬件組態(tài)到 CPU 中。在 OB40_Exle 程序的 Blocks 中Variable Table,然后打開(kāi),填入Variable 按鈕,畫(huà)面如下:地址 MW0,MW10,MD12 并點(diǎn)擊 Monitor此時(shí)可以MW0 的變化,每當(dāng) I0.1 有上升沿脈沖產(chǎn)生 MW0 加 1,MW10 為硬件

16、中斷模板的邏輯地址,本例中為 0,MD12 為中斷產(chǎn)生的通道號(hào),注意此值以 16 進(jìn)制表示。36中斷組織塊(OB82)結(jié)合模板的斷線檢測(cè)應(yīng)用和 SFC51 來(lái)說(shuō)明法。中斷組織塊 OB82 的使用方361 硬件組態(tài)w在 OB_Exle 項(xiàng)目中 S7300 站,命名為 OB82_Exle,然后CPU 315-2DP 和一塊具有中斷功能的模擬量輸入模板 6ES7 331-7KF02- 0AB0, 配置 SM331-7KF02-0AB0 模塊的 inputs 選項(xiàng),選擇 0-1 通道組為2 線制電流(2DMU),其他通道組為電壓,并注意模板的量程卡與設(shè)置的相同。選中 Enable 框中的 Diagno

17、sticerrupt 選項(xiàng),選中 Diagnostics 選項(xiàng)中的 0 1 通道組中的 Group Diagnostics 和 with Check for Wire Break選項(xiàng),配置完成的畫(huà)面如下:點(diǎn)擊 OK,然后雙擊 CPU315-2DP,選擇持 OB82,畫(huà)面如下:errupts 選項(xiàng),可以看到 CPU 支w硬件組態(tài)完成后,保存編譯。362 OB82 程序執(zhí)行OB82 程序當(dāng)在硬件組態(tài)中設(shè)定的中斷發(fā)生后執(zhí)行,當(dāng) OB82 執(zhí)行時(shí)可以通過(guò)它的臨時(shí)變量 OB82_MDL_ADDR 讀出產(chǎn)生 OB82 其它臨時(shí)變量的具體含義請(qǐng)參閱 OB82 的控程序的運(yùn)行。中斷的模板的邏輯地址,。Step

18、7 不能時(shí)時(shí)監(jiān)接下來(lái)完成(1)在 OB_Ex下面程序:le/OB82_Exle/CPU315-2DP/S7 Program(7)/SourSTL Source 文件 STL Source(1);(2)打開(kāi)空的 OB1 程序,然后選中 Libraries Standard Libraries System Function Blocks SFC51 RDSYSST DIAGNSTC,按 F1鍵,出現(xiàn) SFC51 的在信息的最底部點(diǎn)擊“Ex信息??删唧w讀一下信息的內(nèi)容,然后le for module diagnostics with the SFC51”,然后選擇點(diǎn)擊“STL Source Fil

19、e”,選中全部 STL Source 源程序拷貝到 STL Source(1)中,存盤(pán)編譯此源程序,提示沒(méi)有錯(cuò)誤;(3) 在 Blocks 中生成 OB1,OB82,DB13 和 SFC51;(4)打開(kāi) OB82 的程序并做簡(jiǎn)單修改,將 19 和 20 行拷貝到 go:后面并保存,具體變化如下:w(5)將整個(gè) S7-300 站的程序和硬件組態(tài)到 CPU 中。完成后,將 CPU 的模式選擇開(kāi)關(guān)切換到 RUN 位置,此時(shí) CPU“RUN”燈亮、“SF”燈亮,SM331 的“SF”燈亮。同時(shí),查看 CPU 的 緩沖區(qū) Hardware Online,雙擊 CPU、選擇 “DiagnosticBuff

20、er”,可獲得相應(yīng)的故障信息;(6)打開(kāi) DB13 數(shù)據(jù)塊,具體畫(huà)面如下:因?yàn)橥ǖ罃嗑€是一到來(lái)事件,所以信息到 COME 數(shù)組中,具體每一字節(jié)的含義參見(jiàn) S7-300 的硬件手冊(cè)中 B Diagnostics Data of SignalModules 部分的詳細(xì)說(shuō)明,S7-300 的硬件手冊(cè)可以從西門(mén)子,下/WW/view/en/8859629載為:(7)本例中 COME 數(shù)組字節(jié)的含釋如下:COME1 = 16#0D表示通道錯(cuò)誤,外部故障 和模板問(wèn)題;wCOME2 = 16#15COME3 = 16#00障信息;COME4 = 16#00COME5 = 16#71COME6 = 16#08

21、COME7 = 16#08COME8 = 16#03常;COME9 = 16#10COME10 = 16#10COME11 = 16#00表示此段信息為模擬量模板的通道信息;表示 CPU 處于運(yùn)行狀態(tài),無(wú)字節(jié) 2 中標(biāo)示的故表示無(wú)字節(jié) 3 中標(biāo)示的故障信息;表示模擬量輸入;表示模板的每個(gè)通道有 8 個(gè)表示模板的通道數(shù);表示 0 通道錯(cuò)誤和 1 通道錯(cuò)誤,其它通道正位;表示 0 通道斷線;表示 1 通道斷線;表示 2 通道正常,其它通道與 2 通道相同;可詳細(xì)參考 OB82、SFC51 和 S7-300 的硬(8)如何其他信息的件手冊(cè)中 B / Diagnostics Data of Signa

22、l Modules 部分的說(shuō)明。機(jī)架故障組織塊(OB86)硬件組態(tài)在 OB_Exle 項(xiàng)目中 S7300 站,命名為 OB86_Exle,然后CPU 315-2DP,選擇 DP 作為主站,在 DP 主站下面添加一 ET200M 從站,并在從站中一模擬量模塊 SM331(6ES7 331-7KF02-0AB0),同時(shí)注意 CPU 的DP 主站地址和 ET200M 從站地址不能相同,并且 ET200M 的站地址必須和ET200M 上的實(shí)際地址一致,組態(tài)完成后的畫(huà)面如下:w然后雙擊 CPU315-2DP,選擇errupts 選項(xiàng),可以看到 CPU 支持 OB86,畫(huà)面如下:硬件組態(tài)完成后,保存編譯。

23、372 OB86 程序執(zhí)行OB86 程序當(dāng)在通訊發(fā)生問(wèn)題后或者不到配置的機(jī)架或站時(shí)執(zhí)行,此時(shí)程序還可能需要調(diào)用 OB82 和 OB122 等組織塊,當(dāng) OB86 執(zhí)行時(shí)可以通過(guò)它的臨時(shí)變量讀出產(chǎn)生故障的錯(cuò)誤代碼和事件類(lèi)型,通過(guò)它們的組合可以得出具體的錯(cuò)誤信息,這些信息可以通過(guò) OB86 的查到,同時(shí)也可以讀到產(chǎn)生錯(cuò)誤的模塊地址和機(jī)架的信息,臨時(shí)變量的具體含義請(qǐng)參閱幫助。Step7 不能時(shí)時(shí)程序的運(yùn)行,可用 Variable Table實(shí)時(shí)數(shù)據(jù)變化。具體程序參見(jiàn) OB_Exle/OB86_Exle。在 OB86_Exle 程序的 Blocks 中OB86 組織塊,畫(huà)面如下:w然后打開(kāi) OB86

24、組織塊編寫(xiě)程序,OB86 NetWork1:A(A(的 STL 程序(可轉(zhuǎn)成梯形圖)為:A( L TSET#OB86_EV_CLASSMB0SAVE CLR A)BRJNB LTSET_001#OB86_FLT_IDMB1SAVE CLR A)_001:BRwJNB LTSET_002#OB86_MDL_ADDRMW2SAVE CLR A)_002:BRJNB LTNOP_003#OB86_Z23MD04_003:注意:將 OB86 的臨時(shí)變量 OB86_RACKS_FOB86_Z23 DWORD。Array 0 .31 改為將 OB86 和硬件組態(tài)到 CPU 中。在 OB86_Exle 程序

25、的 Blocks 中Variable Table,然后打開(kāi),填入地址 MB0,MB1,MW2,MD4 并點(diǎn)擊 Monitor Variable 按鈕,畫(huà)面如下:此時(shí)可以讀到 MB0,MB1 為 16#39 和 16#C4,可以通過(guò)它們的組合得出主站邏輯地址為 2047 的站有通訊錯(cuò)誤,出現(xiàn)錯(cuò)誤的從站地址為 3。的信息請(qǐng)參閱 OB86 的38 啟動(dòng)的類(lèi)型(OB100)。w381 硬件組態(tài)在 OB_Exle 項(xiàng)目中 S7300 站,命名為 OB100_Exle,然后CPU 315-2DP,參見(jiàn) OB10 硬件組態(tài)。382 OB100 程序執(zhí)行OB100 程序在 CPU 執(zhí)行Warm Restart

26、 時(shí)執(zhí)行,且只執(zhí)行一次,可用于變量的初始化,使用 Step7 不能時(shí)時(shí)控?cái)?shù)據(jù)變化。具體程序參見(jiàn) OB_Ex程序的運(yùn)行,可用 Variable Table 監(jiān)le/OB100_Exle。在 OB100_Exle 程序的 Blocks 中OB100 組織塊,畫(huà)面如下:然后打開(kāi) OB100 組織塊編寫(xiě)程序,OB100 的 STL 程序(可轉(zhuǎn)成梯形圖)為:NetWork1:L TNOP123MW 00w在 OB100_Exle 程序的 Blocks 中Variable Table,然后打開(kāi),填入地址 MW0 并點(diǎn)擊 Monitor Variable 按鈕,畫(huà)面如下:此時(shí)可以MW0 為 123,如果修改

27、 MW0 的值為 0,則 MW0 不會(huì)再被賦值為123,只有當(dāng) CPU 再次執(zhí)行 Warm Restart(重新上電或者從 Stop 切換到 Run狀態(tài))后才會(huì)被賦值。39 編程故障組織塊(OB121)391 硬件組態(tài)在 OB_Exle 項(xiàng)目中 S7300 站,命名為 OB121_Exle,然后CPU 315-2DP,參見(jiàn) OB10 硬件組態(tài)。392 OB121 程序執(zhí)行OB121 程序在 CPU 程序執(zhí)行錯(cuò)誤時(shí)執(zhí)行,此錯(cuò)誤不包括用戶程序的邏輯錯(cuò)誤和功能錯(cuò)誤等,例如當(dāng) CPU 調(diào)用一未到 CPU 中的程序塊,CPU 會(huì)調(diào)用OB121,通過(guò)臨時(shí)變量 OB121_BLK_TYPE 可以得出出現(xiàn)錯(cuò)誤

28、的程序塊。使用Step7 不能時(shí)時(shí)程序的運(yùn)行,可用 Variable Table數(shù)據(jù)變化。具體程序參見(jiàn) OB_Ex(1)在 OB121_Exle/OB121_Exle。le 程序的 Blocks 中OB121 組織塊,然后打開(kāi)OB121 組織塊編寫(xiě)程序,OB121 的STL 程序(可轉(zhuǎn)成梯形圖)為:NetWork1:L TNOP(2)在 OB121_Ex#OB121_BLK_TYPEMW00le 程序的 Blocks 中FC1,然后打開(kāi) FC1 編寫(xiě)程序,F(xiàn)C1 的STL 程序(可轉(zhuǎn)成梯形圖)為:NetWork1:A=#in1#out1w(3)打開(kāi) OB1 編寫(xiě)程序,OB1 的 STL 程序(

29、可轉(zhuǎn)成梯形圖)為:NetWork1:A=ML20.120.0BLD A JNBCALL103M_001FC10.01in1:=L20.0out1:=M20.2_001: NOP0先將硬件組態(tài)和 OB1到 CPU 中,此時(shí) CPU 能正常運(yùn)行。在 OB121_Exle 程序的 Blocks 中Variable Table,然后打開(kāi),填入地址 MW0 和M10.0 并點(diǎn)擊 Monitor Variable 按鈕,程序運(yùn)行正常,將M10.0 置為 true,CPU 報(bào)錯(cuò)并停機(jī),查看 CPU 的緩沖區(qū)信息,發(fā)現(xiàn)為編程錯(cuò)誤,將 OB121到 CPU 中,再將 M10.0 置為 true,CPU 會(huì)報(bào)錯(cuò)誤

30、但不停機(jī),MW0 立刻為 16#88,查看 OB121 的,16#88 表示為 OB 程序錯(cuò)誤,檢查發(fā)現(xiàn) FC1 未,具體畫(huà)面如下:FC1 后再將 M10.0 置為 true,CPU 不會(huì)再報(bào)錯(cuò),程序也不會(huì)再調(diào)用OB121。310 I/O故障組織塊(OB122)3101 硬件組態(tài)在 OB_Exle 項(xiàng)目中 S7300 站,命名為 OB122_Exle,然后CPU 315-2DP 和一塊模擬量輸入模板 6ES7 331-7KF02-0AB0,配置 SM331-7KF02-0AB0 模塊的 inputs 選項(xiàng),選擇所有通道組為電壓類(lèi)型,注意模板w的量程卡與設(shè)置的相同。模擬量的邏輯輸入地址為 256

31、.271,配置完成的畫(huà)面如下:硬件組態(tài)完成后,保存編譯。3102 OB122 程序執(zhí)行OB122 程序在出現(xiàn) I/O錯(cuò)誤時(shí)被調(diào)用,例如當(dāng) CPU 程序一未定義的I/O 地址,CPU 會(huì)出現(xiàn) I/O錯(cuò)誤,CPU 會(huì)調(diào)用 OB122,如果 OB122 未下載,CPU 會(huì)報(bào)故障停機(jī)。通過(guò)臨時(shí)變量 OB122_SW_FLT 可以讀出錯(cuò)誤代碼,通過(guò) OB122_BLK_TYPE 得出出現(xiàn)錯(cuò)誤的程序塊,通過(guò) OB122_MEM_AREA 可以讀出被的地址類(lèi)型,通過(guò) OB122_MEM_ADDR 可以讀出發(fā)生錯(cuò)誤的器數(shù)地址。使用 Step7 不能時(shí)時(shí)程序的運(yùn)行,可用 Variable Table據(jù)變化。具體

32、程序參見(jiàn) OB_Exle/OB122_Exle。(1)在 OB122_Exle 程序的 Blocks 中OB122 組織塊,然后打開(kāi)OB122 組織塊編寫(xiě)程序,OB122 的STL 程序(可轉(zhuǎn)成梯形圖)為:NetWork1:A(A(A( L#OB122_SW_FLTT SET SAVECLRMW0wA) JNBLBR_001#OB122_BLK_TYPET SET SAVECLRMW2_001:A) JNBLBR_002#OB122_MEM_AREAT SET SAVECLRMW4_002: A) JNBLBR_003#OB122_MEM_ADDRT_003: NOPMW06(2)打開(kāi) OB1

33、 編寫(xiě)程序,OB1 的 STL 程序(可轉(zhuǎn)成梯形圖)為:NetWork1:A JNB LTM_001PIW MW10.030020_001: NOP先將硬件組態(tài)和 OB10到 CPU 中,此時(shí) CPU 能正常運(yùn)行,在OB122_Exle 程序的 Blocks 中Variable Table,然后打開(kāi),填入地址 MW0,MW2,MW4,MW6 和 M10.0 并點(diǎn)擊 Monitor Variable 按鈕,程序運(yùn)w行正常,將 M10.0 置為 true,CPU 會(huì)報(bào)錯(cuò)誤并停機(jī)。查看 CPU 的緩沖區(qū)信息,發(fā)現(xiàn)為 I/O錯(cuò)誤,將 OB122到 CPU 中,再將 M10.0 置為true,CPU 會(huì)

34、報(bào)錯(cuò)誤但不停機(jī),MW0 為 16#0042,MW2 為 16#0000,MW4 為16#00200,MW62 為 16#012C,查看 OB121 的到相應(yīng)的故障信息,具體畫(huà)面如下:檢查并修改 OB1 程序?yàn)镹etWork1:AJNBM_00110.0L T_001: NOPPIWMW 025620重新OB1,運(yùn)行程序 CPU 不會(huì)再報(bào)錯(cuò),程序能正常運(yùn)行。啟動(dòng)的類(lèi)型(OB101)硬件組態(tài)在 OB_Exle 項(xiàng)目中 S7400 站,命名為 OB101_Exle,然后CPU412-1(6ES7412-1XF03-0AB0Ver1.2),組態(tài)完成畫(huà)面如下:w雙擊 CPU 412-1,設(shè)置啟動(dòng)方式,選

35、擇 Hot Restart,具體畫(huà)面如下:組態(tài)完成后保存編譯。w3112 OB101 程序執(zhí)行OB101 程序在 CPU 執(zhí)行Hot Restart 時(shí)執(zhí)行,且只執(zhí)行一次,可用于變量的初始化,使用 Step7 不能時(shí)時(shí)數(shù)據(jù)變化。具體程序參見(jiàn) OB_Ex程序的運(yùn)行,可用 Variable Tablele/OB101_Exle。在 OB101_Exle 程序的 Blocks 中OB101 組織塊,然后打開(kāi) OB101 組織塊編寫(xiě)程序,OB101 的 STL 程序(可轉(zhuǎn)成梯形圖)為:NetWork1:L123TNOPMW00將程序和硬件組態(tài)到 CPU 中,然后執(zhí)行 Hot Restart。在 OB1

36、01_Exle 程序的 Blocks 中Variable Table,然后打開(kāi),填入地址 MW0 并點(diǎn)擊 Monitor Variable 按鈕,畫(huà)面如下:此時(shí)可以MW0 為 123,如果修改 MW0 的值為 0,則 MW0 不會(huì)再被賦值為123,只有當(dāng) CPU 再次執(zhí)行 Hot Restart 后才會(huì)被賦值。啟動(dòng)的類(lèi)型(OB102)硬件組態(tài)在 OB_Exle 項(xiàng)目中 S7400 站,命名為 OB102_Exle,然后CPU 412-1(6ES7 412-1XF03-0AB0 Ver1.2),組態(tài)參見(jiàn) OB101 部分,設(shè)置啟動(dòng)方式,選擇 ColdRestart,具體畫(huà)面如下:w組態(tài)完成后保存

37、編譯。3122 OB102 程序執(zhí)行OB102 程序在 CPU 執(zhí)行Cold Restart 時(shí)執(zhí)行,且只執(zhí)行一次,可用于變量的初始化,使用 Step7 不能時(shí)時(shí)控?cái)?shù)據(jù)變化。具體程序參見(jiàn) OB_Ex程序的運(yùn)行,可用 Variable Table 監(jiān)le/OB102_Exle。在 OB102_Exle 程序的 Blocks 中OB102 組織塊,然后打開(kāi) OB102 組織塊編寫(xiě)程序,OB102 的 STL 程序(可轉(zhuǎn)成梯形圖)為:NetWork1:LT123MW0NOP0將程序和硬件組態(tài)到 CPU 中,然后執(zhí)行 Cold Restart。在 OB102_Exle 程序的 Blocks 中Variable Table,然后打開(kāi),填入地址 MW0 并點(diǎn)擊 Monitor Variable 按鈕,畫(huà)面如下:w此時(shí)可以MW0 為 123,如果修改 MW0 的值為 0,則 MW0 不會(huì)再被賦值為123,只

溫馨提示

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

評(píng)論

0/150

提交評(píng)論