S7-300程序結(jié)構(gòu)與程序設(shè)計(jì).ppt
《S7-300程序結(jié)構(gòu)與程序設(shè)計(jì).ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《S7-300程序結(jié)構(gòu)與程序設(shè)計(jì).ppt(39頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
第5章S7-300程序結(jié)構(gòu)與程序設(shè)計(jì),電氣控制技術(shù)與PLC應(yīng)用,2,,5.1S7-300CPU中的程序S7-300CPU程序分操作系統(tǒng)和用戶程序:操作系統(tǒng):由PLC的生產(chǎn)廠家提供,完成PLC起動(dòng)、刷新、調(diào)用用戶程序、中斷/診斷/通信處理等任務(wù)。用戶程序:用戶為完成特定的任務(wù)而編寫的應(yīng)用程序,由STEP7編寫,編譯后下載到PLC的CPU中。,第5章S7-300程序結(jié)構(gòu)與程序設(shè)計(jì),3,,5.1.1用戶程序中的塊STEP7用文件塊的形式管理用戶編寫的程序及程序運(yùn)行所需的數(shù)據(jù),組成結(jié)構(gòu)化的用戶程序。結(jié)構(gòu)化編程可使程序組織明確、結(jié)構(gòu)清晰、易于閱讀和修改。STEP7用戶程序塊:組織塊(OB)功能塊(FB)功能(FC)數(shù)據(jù)塊(DB),4,1.組織塊OBOB1是主程序循環(huán)塊,在任何情況下都必須存在。OB100~OB102用于系統(tǒng)初始化——只上電執(zhí)行一次。OB10~OB17用于日期時(shí)間中斷——CPU屬性設(shè)置。OB30~OB38用于循環(huán)中斷——CPU屬性設(shè)置。,OB10...17日期時(shí)間中斷,OB80...87異步錯(cuò)誤,OB20...23延時(shí)中斷,定期的程序執(zhí)行,OB30...38循環(huán)中斷,事件驅(qū)動(dòng)的程序執(zhí)行,OB40...47硬件中斷,,,,,,,,,,,,OB121,122同步錯(cuò)誤,,,5,2.功能塊FB和功能FCFB、FC是用戶“子程序”;FB帶“記憶”功能,數(shù)據(jù)記憶在FB帶有的背景數(shù)據(jù)塊DB(InstanceDataBlock)中;在FB塊結(jié)束時(shí)數(shù)據(jù)繼續(xù)保持,即被“記憶”。功能FC不帶“記憶”,沒有背景數(shù)據(jù)塊。3.系統(tǒng)功能塊SFB和系統(tǒng)功能SFCSFB和SFC集成在S7功能程序庫中;用戶可以直接調(diào)用,但不能修改。,,6,4.數(shù)據(jù)塊DBDB是用戶定義的用于存取數(shù)據(jù)的存儲(chǔ)區(qū),可以被打開或關(guān)閉。DB可以是某個(gè)FB的背景數(shù)據(jù)塊;也可以是通用的全局?jǐn)?shù)據(jù)塊,用于FB或FC的數(shù)據(jù)存儲(chǔ)。數(shù)據(jù)塊分類:全局(共享)數(shù)據(jù)塊背景數(shù)據(jù)塊用戶定義數(shù)據(jù)塊。,,7,,8,5.FC和FB的區(qū)別FB帶自己的存儲(chǔ)區(qū)(背景數(shù)據(jù)塊);FC不帶存儲(chǔ)區(qū);調(diào)用FB可以通過背景數(shù)據(jù)塊傳遞參數(shù),因此必須指定一背景數(shù)據(jù)塊;調(diào)用FC必須通過實(shí)參和形參互傳參數(shù)。,,9,塊調(diào)用的分層結(jié)構(gòu),,STEP7的塊,11,5.1.2用戶程序設(shè)計(jì)方法:1.線性化編程把用戶程序全部放置在一個(gè)循環(huán)程序塊(OB1)中,塊中的程序按順序逐條執(zhí)行;CPU通過反復(fù)執(zhí)行OB1來實(shí)現(xiàn)自動(dòng)化控制任務(wù)。這種結(jié)構(gòu)和PLC所代替的硬接線繼電器控制類似。2.模塊化編程(分部式)把整個(gè)程序按任務(wù)分成若干個(gè)部分,并分別放置在不同的功能(FC)、功能塊(FB)及組織塊中;在一個(gè)塊中可以進(jìn)一步分解成段。在組織塊OB1中包含按順序調(diào)用這些塊的指令,并控制程序執(zhí)行。,,12,3.結(jié)構(gòu)化編程根據(jù)控制任務(wù),把過程要求類似或相關(guān)的功能進(jìn)行分類,分割為幾個(gè)通用的小任務(wù),這些小任務(wù)用相應(yīng)的程序段表示,稱為塊(FC或FB)。OB1通過調(diào)用這些程序塊來完成自動(dòng)化控制任務(wù)。特點(diǎn):每個(gè)塊(FC或FB)在OB1中可能會(huì)被多次調(diào)用,以完成相同工藝要求但不同參數(shù)的控制對(duì)象。簡(jiǎn)化程序設(shè)計(jì)過程、減小代碼長(zhǎng)度、提高編程效率。適合較復(fù)雜的自動(dòng)化控制任務(wù)的設(shè)計(jì)。,,13,5.2數(shù)據(jù)塊中的數(shù)據(jù)存儲(chǔ)5.2.1數(shù)據(jù)存儲(chǔ)區(qū)數(shù)據(jù)以變量形式存儲(chǔ),且具唯一。數(shù)據(jù)可以存儲(chǔ)在PII、PIQ、M、L堆棧和DB中。數(shù)據(jù)可以基本數(shù)據(jù)類型、復(fù)雜數(shù)據(jù)類型或參數(shù)類型。全局變量——符號(hào)表或共享數(shù)據(jù)塊中聲明的變量。局部變量——OB、FC和FB的變量聲明表中的變量。,,14,5.2.2數(shù)據(jù)塊1.數(shù)據(jù)塊的分類符號(hào)表:只為方便程序閱讀,用于給變量設(shè)定名稱;符號(hào)表中變量為全局變量,可在程序所有地方使用。全局(共享)數(shù)據(jù)塊:存儲(chǔ)全局?jǐn)?shù)據(jù),所有邏輯塊(OB、FC、FB)都可以訪問共享數(shù)據(jù)塊的數(shù)據(jù)。背景數(shù)據(jù)塊:私有存儲(chǔ)器區(qū),只用作FB的存儲(chǔ)器。背景數(shù)據(jù)塊中包含了FB的參數(shù)和靜態(tài)變量。背景數(shù)據(jù)塊由編輯器生成,不能由用戶編輯。用戶定義數(shù)據(jù)塊:以UDT為模板所生成的數(shù)據(jù)塊。,,15,2.數(shù)據(jù)塊寄存器CPU有兩個(gè)數(shù)據(jù)塊寄存器:DB(共享數(shù)據(jù)塊):DBX、DBB、DBW、DBDDI(背景數(shù)據(jù)塊):DIX、DIB、DIW、DID可以同時(shí)被打開。,,16,5.2.3數(shù)據(jù)塊的數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)塊中含有不同數(shù)據(jù)類型的數(shù)據(jù);在STEP7數(shù)據(jù)塊中的數(shù)據(jù)包括:基本數(shù)據(jù)類型復(fù)雜數(shù)據(jù)類型用戶定義數(shù)據(jù)類型(UDT),,17,5.2.4建立數(shù)據(jù)塊STEP7中,只要使用數(shù)據(jù)塊就必須先建立數(shù)據(jù)塊,并在塊中定義變量。數(shù)據(jù)塊定義:變量名、數(shù)據(jù)類型以及初始值等。數(shù)據(jù)塊中變量的順序及類型決定了數(shù)據(jù)塊的數(shù)據(jù)結(jié)構(gòu),變量的數(shù)量決定了數(shù)據(jù)塊的大小。說明:數(shù)據(jù)塊建好后,必須同程序塊一起下載到CPU中才能被程序訪問,否則CPU進(jìn)入STOP狀態(tài)。,,18,方法1:用SIMATICManager創(chuàng)建數(shù)據(jù)塊。,,,,,19,方法2:用S7程序編輯器創(chuàng)建數(shù)據(jù)塊。,,,20,新建DB類型選擇窗口,,,21,編輯共享數(shù)據(jù)塊(變量定義),,22,5.2.5訪問數(shù)據(jù)塊用戶程序有多個(gè)數(shù)據(jù)塊,在訪問數(shù)據(jù)塊時(shí),必須指明數(shù)據(jù)塊的編號(hào)、數(shù)據(jù)類型與位置。如果訪問不存在的數(shù)據(jù)單元或數(shù)據(jù)塊,又沒有編寫錯(cuò)誤處理OB塊,CPU將進(jìn)入STOP模式。,,23,數(shù)據(jù)塊的尋址,,24,1.打開數(shù)據(jù)塊然后訪問數(shù)據(jù)可用裝入L或傳送T指令訪問已經(jīng)打開的DB塊?!纠?-2-2】打開并訪問共享數(shù)據(jù)塊。,,25,【例5-2-3】打開并訪問背景數(shù)據(jù)塊。,,26,2.直接訪問數(shù)據(jù)塊指令中直接給出數(shù)據(jù)塊的編號(hào)和數(shù)據(jù)在數(shù)據(jù)塊中的地址??梢杂媒^對(duì)地址,也可用符號(hào)地址直接訪問數(shù)據(jù)塊。⑴用絕對(duì)地址直接訪問數(shù)據(jù)塊:,⑵用符號(hào)地址直接訪問數(shù)據(jù)塊:,,27,5.3邏輯塊(FC和FB)的結(jié)構(gòu)及編程邏輯塊——FC、FB和OB。FB:帶有背景數(shù)據(jù)塊,其數(shù)據(jù)結(jié)構(gòu)與該FB參數(shù)相同。FB調(diào)用結(jié)束后數(shù)據(jù)保存在背景數(shù)據(jù)塊中。FC:不帶背景數(shù)據(jù)塊,F(xiàn)C調(diào)用結(jié)束后數(shù)據(jù)不保存。OB:由操作系統(tǒng)直接調(diào)用。,,28,5.3.1邏輯塊(FC和FB)的結(jié)構(gòu)邏輯塊由變量聲明表、代碼段及其屬性等部分組成。,,29,FB的變量聲明表,FC的變量聲明表,,30,1.局部變量聲明表邏輯塊上部都有變量聲明表——局部變量聲明表。,局部數(shù)據(jù)分為參數(shù)和局部變量。局部變量包括靜態(tài)變量和臨時(shí)變量。,,31,數(shù)據(jù)塊數(shù)據(jù)的存儲(chǔ):FB:帶有背景數(shù)據(jù)塊,內(nèi)部包含參數(shù)變量,F(xiàn)B的運(yùn)行結(jié)果保存在背景數(shù)據(jù)塊中。在調(diào)用FB時(shí),若沒有提供實(shí)參,則功能塊使用背景數(shù)據(jù)塊中的數(shù)值。FC:不帶背景數(shù)據(jù)塊,不能使用靜態(tài)變量。在調(diào)用FC時(shí),必須使用實(shí)參。OB:調(diào)用OB由操作系統(tǒng)管理的,用戶不能參與。,,32,2.邏輯塊局部變量的數(shù)據(jù)類型基本數(shù)據(jù)類型、復(fù)式數(shù)據(jù)類型、參數(shù)類型。參數(shù)類型包括定時(shí)器、計(jì)數(shù)器、塊的地址或指針等。,,33,局部變量的設(shè)置如下:,,34,5.3.2邏輯塊(FC和FB)的編程對(duì)邏輯塊編程時(shí)必須編輯下列三個(gè)部分:?變量聲明:定義形參、靜態(tài)變量(FC沒有)和臨時(shí)變量;選擇變量名(Name)、數(shù)據(jù)類型(DataType);如果需要,設(shè)置變量初始值(InitialValue)、加注釋(Comment)。局部變量的地址(Address)由STEP7自動(dòng)產(chǎn)生。?代碼段:用不同編程語言對(duì)PLC進(jìn)行編程。?塊屬性:塊屬性包含一些附加信息。,,35,1.臨時(shí)變量的定義和使用,,36,2.形式參數(shù)的定義形式參數(shù)有3種:IN:只讀,輸入OUT:只寫,輸出IN_OUT:讀/寫,輸入/輸出,,37,,,38,3.編寫控制程序編寫邏輯塊(FC和FB)程序時(shí),可以用以下兩種方式使用局部變量:①使用變量名:變量名前加前綴“#”。②使用局部變量的地址,只適用于背景數(shù)據(jù)塊。在調(diào)用FB塊時(shí),要指定背景數(shù)據(jù)塊。,,39,梯形圖編程的基本規(guī)則觸點(diǎn)只能與左母線相連,不能與右母線相連;線圈只能與右母線相連,不能直接與左母線相連,右母線可以省略;線圈可以并聯(lián),不能串聯(lián)連接;指令執(zhí)行順序:從左到右,從上到下。,,- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- S7 300 程序結(jié)構(gòu) 程序設(shè)計(jì)
鏈接地址:http://www.hcyjhs8.com/p-11799376.html