《自動化生產(chǎn)線安裝與調(diào)試》教學(xué)課件+源程序項目十第一節(jié)S7300PLC結(jié)構(gòu)化編程_第1頁
《自動化生產(chǎn)線安裝與調(diào)試》教學(xué)課件+源程序項目十第一節(jié)S7300PLC結(jié)構(gòu)化編程_第2頁
《自動化生產(chǎn)線安裝與調(diào)試》教學(xué)課件+源程序項目十第一節(jié)S7300PLC結(jié)構(gòu)化編程_第3頁
《自動化生產(chǎn)線安裝與調(diào)試》教學(xué)課件+源程序項目十第一節(jié)S7300PLC結(jié)構(gòu)化編程_第4頁
《自動化生產(chǎn)線安裝與調(diào)試》教學(xué)課件+源程序項目十第一節(jié)S7300PLC結(jié)構(gòu)化編程_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、自動化生產(chǎn)線安裝與調(diào)試第1頁,共22頁。項目十 柔性自動線立體倉庫站控制 S7-300PLC結(jié)構(gòu)化編程第2頁,共22頁。S7-300程序結(jié)構(gòu)S7-300程序設(shè)計方法結(jié)構(gòu)化編程S7-300 PLC產(chǎn)生高頻脈沖控制步進電機第3頁,共22頁。一、S7-300程序結(jié)構(gòu)1、用戶塊根據(jù)邏輯功能的不同,用戶塊分為組織塊(OB,Organize Block),功能塊(FB,F(xiàn)unction Block),功能(FC,F(xiàn)unction)和數(shù)據(jù)塊(DB,Data Block)。 為了容易閱讀和理解,在編程中常常將程序分為若干部分。每個程序部分具有其技術(shù)和功能基礎(chǔ),稱之為塊。塊是程序中真正有用的部分,包括用戶塊和系

2、統(tǒng)塊。它們在功能、使用方法和結(jié)構(gòu)上各個不同。 1)組織塊(OB)OB是操作系統(tǒng)和用戶程序之間的接口。組織塊只能由操作系統(tǒng)來啟動。見圖5-52。各種組織塊由不同的時間啟動,具有不同的優(yōu)先級,而循環(huán)執(zhí)行的主程序則在組織塊OB1中。OB100為初始化程序塊,0B10OB17為日期時間中斷組織塊,0B20OB23為延時中斷組織塊,OB30OB38為循環(huán)中斷組織塊,OB40OB47為硬件中斷組織塊,OB80OB82為異步錯誤組織塊(時間錯誤,電源故障處理,診斷中斷,機架故障組織塊OB86等等。第4頁,共22頁。一、S7-300程序結(jié)構(gòu)1、用戶塊根據(jù)邏輯功能的不同,用戶塊分為組織塊(OB,Organize

3、 Block),功能塊(FB,F(xiàn)unction Block),功能(FC,F(xiàn)unction)和數(shù)據(jù)塊(DB,Data Block)。 為了容易閱讀和理解,在編程中常常將程序分為若干部分。每個程序部分具有其技術(shù)和功能基礎(chǔ),稱之為塊。塊是程序中真正有用的部分,包括用戶塊和系統(tǒng)塊。它們在功能、使用方法和結(jié)構(gòu)上各個不同。 1)組織塊(OB)OB是操作系統(tǒng)和用戶程序之間的接口。組織塊只能由操作系統(tǒng)來啟動。見圖5-52。各種組織塊由不同的時間啟動,具有不同的優(yōu)先級,而循環(huán)執(zhí)行的主程序則在組織塊OB1中。OB100為初始化程序塊,0B10OB17為日期時間中斷組織塊,0B20OB23為延時中斷組織塊,OB3

4、0OB38為循環(huán)中斷組織塊,OB40OB47為硬件中斷組織塊,OB80OB82為異步錯誤組織塊(時間錯誤,電源故障處理,診斷中斷,機架故障組織塊OB86等等。第5頁,共22頁。一、S7-300程序結(jié)構(gòu)3)數(shù)據(jù)塊DB 數(shù)據(jù)塊分為背景數(shù)據(jù)塊和共享數(shù)據(jù)塊。背景DB是和某個FB或SFB相關(guān)聯(lián),其內(nèi)部數(shù)據(jù)的結(jié)構(gòu)與其對應(yīng)的FB或SFB的變量聲明表一致。 共享DB的主要目的是為用戶程序提供一個可保存的數(shù)據(jù)區(qū),它的數(shù)據(jù)結(jié)構(gòu)和大小并不依賴于特定的程序塊,而是用戶自己定義。需要說明的是,背景DB和共享DB沒有本質(zhì)的區(qū)別,它們的數(shù)據(jù)可以被任何一個程序塊讀寫。 FC和FB都是用戶自己編寫的程序塊,用戶可以將具有相同控

5、制過程的程序編寫在FC或FB中,然后在主程序OB1或其他程序塊中(包括組織塊和功能、功能塊)調(diào)用FC或FB。 FC或FB相當(dāng)于子程序的功能,都可以定義自己的參數(shù)。 2)功能(FC)和功能塊(FB)2、系統(tǒng)塊 系統(tǒng)塊包含在操作系統(tǒng)中,包括:SFC(System Function),SFB(System Function Block),SDB(System Data Block) 。 SFC和SFB是預(yù)先編好的可供用戶調(diào)用的程序塊,它們已經(jīng)固化在S7PLC的CPU中,其功能和參數(shù)已經(jīng)確定。一臺PLC具有哪些SFC和SFB功能,是由CPU型號決定的。具體信息可查閱CPU的相關(guān)技術(shù)手冊。通常SFC和S

6、FB提供一些系統(tǒng)級的功能調(diào)用,如通訊功能、高速處理功能等。注意:在調(diào)用SFB時,需要用戶指定其背景數(shù)據(jù)塊(CPU中不包含其背景數(shù)據(jù)塊),并確定將背景數(shù)據(jù)塊下載到PLC中。第6頁,共22頁。一、S7-300程序結(jié)構(gòu) 變量聲明表中放著參數(shù)(形參)。參數(shù)是在調(diào)用塊和被調(diào)用塊之間傳遞的數(shù)據(jù),包括輸入,輸出和輸入輸出變量。變量聲明表結(jié)構(gòu)如圖10-3。輸入(IN):為調(diào)用邏輯塊提供數(shù)據(jù),輸入給邏輯塊.輸出(OUT):從邏輯塊中輸出數(shù)據(jù)結(jié)果 輸入/輸出(IN/OUT):參數(shù)值可以輸入,也可以輸出。靜態(tài)變量(STAT):存儲于背景數(shù)據(jù)塊中,塊調(diào)用結(jié)束后,變量被保留 臨時變量(TEMP):存儲于堆棧中,塊執(zhí)行結(jié)

7、束后,變量消失。 為了保證功能或功能塊對同一類設(shè)備的通用性,在編程中不能使用實際對應(yīng)的存儲區(qū) 地址參數(shù),而是使用抽象參數(shù),也就是形參。3、塊的結(jié)構(gòu)塊是由變量聲明表和程序組成。1)變量聲明表圖10-3功能FC和功能塊FB的變量聲明表第7頁,共22頁。一、S7-300程序結(jié)構(gòu)2)FC和FB的變量聲明表的差別:FC和FB參數(shù)賦值不同;FC沒有自己的背景數(shù)據(jù)塊;FB有自己的背景數(shù)據(jù)塊;FC的參數(shù)必須指定實參;FB的參數(shù)可根據(jù)需要決定是否指定實參。第8頁,共22頁。二、S7-300的程序設(shè)計方法S7-300程序設(shè)計方法主要有三種:線性化編程、模塊化編程、結(jié)構(gòu)化編程。見圖10-4。圖10-4 程序設(shè)計三種

8、方法示意圖第9頁,共22頁。二、S7-300的程序設(shè)計方法(1)線性化編程線性化編程是將整個用戶程序放在循環(huán)控制組織塊OB1中,在CPU循環(huán)掃描時執(zhí)行OB1中的全部指令。特點是結(jié)構(gòu)簡單。但由于所有的指令都在一個塊中,結(jié)構(gòu)不清晰,掃描時間過長。線性化編程示意圖見圖10-5。 模塊化編程是將程序根據(jù)功能分為不同的邏輯塊,且每個邏輯塊完成的功能不同。在OB1中可以根據(jù)條件調(diào)用不同的功能或功能塊。其特點是易于分工合作,調(diào)試方便。由于邏輯塊是有條件調(diào)用,所以可以提高CPU的利用效率。模塊化程序結(jié)構(gòu)見圖10-6。 圖10-5線性化編程 線性程序的結(jié)構(gòu)簡單,分析起來一目了然。這種結(jié)構(gòu)適用于編寫一些規(guī)模較小,

9、運行過程比較簡單的控制程序。 (2)模塊化編程 圖10-6 模塊化編程分塊程序有更大的靈活性,適用于比較復(fù)雜、規(guī)模較大的控制工程的程序設(shè)計。第10頁,共22頁。二、S7-300的程序設(shè)計方法3、結(jié)構(gòu)化編程結(jié)構(gòu)化編程是將控制要求中類似或相關(guān)的任務(wù)歸類,在功能或功能塊中編程,形成通用解決方案。通過不同的參數(shù)調(diào)用相同的功能或通過不同的背景數(shù)據(jù)塊調(diào)用相同的功能塊。特點是:編寫通用模塊,對不同的設(shè)備代入不同的地址和參數(shù),使更多的設(shè)備或過程可以使用此通用模塊,因此具有很高的編程和程序調(diào)試效率。程序結(jié)構(gòu)層次清晰,標(biāo)準(zhǔn)化程度高。結(jié)構(gòu)化編程結(jié)構(gòu)見圖10-7。 圖10-7結(jié)構(gòu)化程序結(jié)構(gòu)結(jié)構(gòu)化程序比分塊程序有更大的

10、靈活性,繼承性。適用于比較復(fù)雜、規(guī)模較大的控制工程的程序設(shè)計。 第11頁,共22頁。三、結(jié)構(gòu)化編程 為了支持結(jié)構(gòu)化編程,在操作系統(tǒng)中包含了用戶程序和系統(tǒng)程序。其中用戶程序中通常包括OB,F(xiàn)B,F(xiàn)C,DB。系統(tǒng)程序包括SFC,SFB,SDB。在塊的調(diào)用中,調(diào)用者可以是各種的邏輯塊,而被調(diào)用者是除OB塊外的邏輯塊。 塊的調(diào)用即為子程序的調(diào)用,塊可以嵌套調(diào)用,嵌套的層數(shù)與CPU的型號有關(guān)。 1、FC的調(diào)用功能是用戶編寫的無固定存儲區(qū)的塊,它是不帶記憶的邏輯塊,即沒有背景數(shù)據(jù)塊。當(dāng)完成操作后,數(shù)據(jù)不能保存。調(diào)用功能時,需用實參來代替形參。例1 控制要求是自動線有三臺電機A,B,C需要分別控制。A電機:

11、啟動I0.0,停止I0.2,線圈Q0.0;B電機:啟動I0.3,停止I0.4,線圈Q0.1;C電機:啟動I0.5,停止I0.6,線圈Q0.2。采用FC調(diào)用的方法來實現(xiàn)控制要求。結(jié)構(gòu)化編程步驟如下:這三臺電機的運行方式是一樣的,都是由一個按鈕啟動,一個按鈕來停止。所以先設(shè)計一個電機運行的通用程序。第12頁,共22頁。三、結(jié)構(gòu)化編程在組態(tài)窗口插入一個FC,見圖10-8。圖10-8 插入一個FC雙擊FC1,進入編程環(huán)境,在變量聲明表里設(shè)置形參,見圖10-9。圖10-9 FC1變量聲明表及通用程序第13頁,共22頁。三、結(jié)構(gòu)化編程雙擊0B1,進入主程序編寫環(huán)境。不同的電機用不同的實參來取代形參來調(diào)用F

12、C1。見圖10-10。編寫三臺電機通用控制程序,保存下載,見圖10-10。圖10-10 FC調(diào)用主程序第14頁,共22頁。三、結(jié)構(gòu)化編程 功能塊是用戶編寫的有固定存儲區(qū)的塊,它是帶記憶的邏輯塊,有一個數(shù)據(jù)結(jié)構(gòu)與功能塊參數(shù)表完全相同的數(shù)據(jù)塊(BD),稱為背景數(shù)據(jù)塊。當(dāng)功能塊被執(zhí)行時,數(shù)據(jù)塊被調(diào)用,功能塊結(jié)束,調(diào)用隨之結(jié)束,存放在背景數(shù)據(jù)塊中的數(shù)據(jù)在塊結(jié)束以后,仍能繼續(xù)保持,具有記憶功能。 一個功能塊可以有多個背景數(shù)據(jù)塊,使功能塊可以被不同的對象使用。 例2 控制要求是自動線上有兩臺電機,A,B。按下I0.0,A 電機啟動(Q0.0得電),運行3秒后 停止。按下I0.1,B 電機啟動(Q0.1得電

13、),運行5秒后 停止。任何時候按下急停按鈕I0.2,兩臺電機全停。采用FB調(diào)用的方法來實現(xiàn)控制要求。 2、FB的調(diào)用結(jié)構(gòu)化編程步驟如下:在組態(tài)窗口插入一個FB,見圖10-11。圖10-11 插入FB第15頁,共22頁。三、結(jié)構(gòu)化編程雙擊FB1,進入編程環(huán)境,在變量聲明表里設(shè)置形參。見圖10-12。圖10-12FB1變量聲明表及通用程序設(shè)計編寫兩臺電機通用控制程序,保存下載。見圖10-12。雙擊0B1,進入主程序編寫環(huán)境。不同的電機用不同的實參來取代形參來調(diào)用FB1。見圖10-13。因為在調(diào)用FB1時,需要背景數(shù)據(jù)塊,背景數(shù)據(jù)塊會自動生成。在調(diào)試運行時,注意別忘了將背景數(shù)據(jù)塊下載。見圖10-14

14、。第16頁,共22頁。三、結(jié)構(gòu)化編程圖10-13 “FB調(diào)用”的主程序圖10-14 下載背景數(shù)據(jù)塊第17頁,共22頁。四、S7-300 PLC產(chǎn)生高頻脈沖控制步進電機(1)硬件設(shè)置1)創(chuàng)建項目(取名為高頻脈沖輸出練習(xí)),選擇CPU型號為CPU313C-2DP 采用S7-313C-2DP控制步進電機的運行和停止。在設(shè)計過程中,需調(diào)用SFB49脈寬調(diào)制功能塊實現(xiàn)脈沖序列的輸出控制,并通過Q0.3的輸出控制步進電機的轉(zhuǎn)動方向。 在CPU313C-2DP 模塊的0通道通過軟件門單獨控制,產(chǎn)生周期為20ms,占空比為1:4最小脈寬為1ms的高頻脈沖,延時時間為2秒鐘。設(shè)置步驟如下:2)打開該項目中的硬件

15、組態(tài)工具并雙擊count進行屬性-計數(shù)器話框。見圖10-15。圖10-15 脈寬調(diào)制屬性窗口第18頁,共22頁。四、S7-300 PLC產(chǎn)生高頻脈沖控制步進電機3)在屬性-計數(shù)對話框中選擇 channel :0;operating:pulse Width modulation,并在彈出的對話框中選擇OK鍵進行確定。 4)選擇最后一個標(biāo)簽pulse width modulation(脈寬調(diào)制標(biāo)簽)并進行operation parameter(操作參數(shù))設(shè)置。 Output format(輸出格式):選擇per mile。輸出格式為Per mill 或S7 analog,若輸出格式選擇Per mi

16、ll,則脈寬(Pulse duration)=Outp_val/1000*脈沖周期(Period duration)。若輸出格式選擇S7 analog,則脈寬(Pulse duration)=Outp_val/27648*脈沖周期(Period duration),該種形式適合S7模擬量轉(zhuǎn)化成脈沖輸出。Outp_val是SFB49中的一個變量,可以在程序中隨時修改脈沖寬度。若Outp_val設(shè)置為500,則表示SFB49設(shè)置輸出的高頻脈沖為方波。time base(時基):選擇0.1msOn-delay(接通延時):20000period(周期): 10Minimum pulse period

17、(最小脈寬):2輸入?yún)?shù)選擇時,不選硬件門。硬件門表示用模塊所帶輸入點觸發(fā)脈沖輸出,相比軟件門,硬件門用于更精確的要求。產(chǎn)生中斷調(diào)用OB40(必須在basic parameters選擇中斷)。第19頁,共22頁。四、S7-300 PLC產(chǎn)生高頻脈沖控制步進電機5)按OK鍵確認(rèn)設(shè)置,并雙擊DI6/DO16將CPU313C-2DP自帶的輸入輸出點的地址由系統(tǒng)默認(rèn)的124字節(jié)開始,修改為從0字節(jié)開始。(2)編寫程序調(diào)用系統(tǒng)功能塊SFB491)打開組織塊OB1,在library-standard library-system Function Blocks菜單下雙擊SFB49進行調(diào)用。2)指定SFB4

18、9背景數(shù)據(jù)塊為DB1(如果數(shù)據(jù)塊不存在,程序編輯器將自動產(chǎn)生數(shù)據(jù)塊中的變量,使其與SFB49的參數(shù)保持一致,成為SFB49的背景數(shù)據(jù)塊)。圖10-16SFB49參數(shù)設(shè)置3)對SFB49參數(shù)進行設(shè)置,結(jié)果如圖10-16。參數(shù)CHANNEL:通道號,表示從那個輸出端子輸出高頻脈沖。對不同的CPU,可以選擇的通道數(shù)量也是不一樣的。CPU 312C:0 to 1;CPU 313C:0 to 2;CPU 314C:0 to 3。若設(shè)置為0,表示從Q0.0輸出高頻脈沖;設(shè)置為1,表示從Q0.1輸出高頻脈沖;若設(shè)置為2,表示從Q0.2輸出高頻脈沖;若設(shè)置為3,表示從Q0.3輸出高頻脈沖。參數(shù)SW-EN:軟件門控位。當(dāng)I1.4為1時,啟動脈沖輸出。參數(shù)OUTP_VAL:用來設(shè)置占空比的,若設(shè)置為500,則輸出脈沖為方波。 第20頁,共22頁。四、S7-300 PLC產(chǎn)生高頻脈沖控制步進電機4)在組織塊OB1的Network 2中添加如下語句,完成步進電機的方向控制功能。見圖10-17。 圖10-17步進電機方向控制程序 對程序進行保存,下載組織塊OB1和指定的數(shù)據(jù)塊DB1到PLC。 注意由于數(shù)據(jù)塊是用戶據(jù)需要

溫馨提示

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

評論

0/150

提交評論