西門子S7-1200 PLC應(yīng)用技術(shù) 課件 項目五 函數(shù)數(shù)據(jù)塊的應(yīng)用與程序設(shè)計_第1頁
西門子S7-1200 PLC應(yīng)用技術(shù) 課件 項目五 函數(shù)數(shù)據(jù)塊的應(yīng)用與程序設(shè)計_第2頁
西門子S7-1200 PLC應(yīng)用技術(shù) 課件 項目五 函數(shù)數(shù)據(jù)塊的應(yīng)用與程序設(shè)計_第3頁
西門子S7-1200 PLC應(yīng)用技術(shù) 課件 項目五 函數(shù)數(shù)據(jù)塊的應(yīng)用與程序設(shè)計_第4頁
西門子S7-1200 PLC應(yīng)用技術(shù) 課件 項目五 函數(shù)數(shù)據(jù)塊的應(yīng)用與程序設(shè)計_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

FC函數(shù)塊應(yīng)用SIEMENSCONTENTS目錄函數(shù)塊的應(yīng)用函數(shù)塊的使用0102函數(shù)塊的應(yīng)用01SIEMENS01函數(shù)塊的應(yīng)用1.塊的介紹

在操作系統(tǒng)中包含了用戶程序和系統(tǒng)程序,操作系統(tǒng)已經(jīng)固化在CPU中,它提供CPU運行和調(diào)試的機(jī)制。CPU的操作系統(tǒng)是按照事件驅(qū)動掃描用戶程序的。

用戶程序?qū)懺诓煌膲K中,CPU按照執(zhí)行的條件成立與否執(zhí)行相應(yīng)的程序塊或者訪問對應(yīng)的數(shù)據(jù)塊。

用戶程序則是為了完成特定的控制任務(wù),是由用戶編寫的程序。

用戶程序通常包括組織塊(OB)、函數(shù)塊(FB)、函數(shù)(FC)和數(shù)據(jù)塊(DB)。01函數(shù)塊的應(yīng)用用戶程序中塊的說明塊的類型屬性組織塊(OB)用戶程序接口優(yōu)先級(0~27)在局部數(shù)據(jù)堆棧中指定開始信息函數(shù)(FC)數(shù)可分配(必須在調(diào)用時分配參數(shù))沒有存儲空間(只有臨時變量)函數(shù)塊(FB)參數(shù)可分配(可以在調(diào)用時分配參數(shù))具有(收回)存儲空間(靜態(tài)變量)數(shù)據(jù)塊(DB)結(jié)構(gòu)化的局部數(shù)據(jù)存儲(背景數(shù)據(jù)塊DB)結(jié)構(gòu)化的全局?jǐn)?shù)據(jù)存儲(在整個程序中有效)01函數(shù)塊的應(yīng)用2.塊的結(jié)構(gòu)

塊由變量聲明表和程序組成。

每個邏輯塊都有變量聲明表,變量聲明表是用來說明塊的局部數(shù)據(jù)。

而局部數(shù)據(jù)包括參數(shù)和局部變量兩大類。

在不同的塊中可以重復(fù)聲明和使用同一局部變量,因為它們在每個塊中僅有效一次。

局部變量包括兩種:靜態(tài)變量和臨時變量。

參數(shù)是在調(diào)用塊與被調(diào)用塊之間傳遞的數(shù)據(jù),包括輸入、輸出和輸入/輸出變量。01函數(shù)塊的應(yīng)用局部數(shù)據(jù)聲明類型變量名稱變量類型說明輸入Input為調(diào)用模塊提供數(shù)據(jù),輸入給邏輯模塊輸出Output從邏輯模塊輸出數(shù)據(jù)結(jié)果輸入/輸出InOut參數(shù)值既可以輸入,也可以輸出靜態(tài)變量Static靜態(tài)變量存儲在背景數(shù)據(jù)塊中,塊調(diào)用結(jié)束后,變量被保留臨時變量Temp臨時變量存儲L堆棧中,塊執(zhí)行結(jié)束后,變量消失01函數(shù)塊的應(yīng)用3.函數(shù)(FC)

(1)函數(shù)(FC)是用戶編寫的程序塊,是不帶存儲器的代碼塊。由于沒有可以存儲塊參

數(shù)值的數(shù)據(jù)存儲器,因此,調(diào)用函數(shù)時,必須給所有形參分配實參。

(2)FC里有一個局域變量表和塊參數(shù)。局域變量表里有:Input(輸入?yún)?shù))、Output(輸出參數(shù))、InOut(輸入/輸出參數(shù))、Temp(臨時數(shù)據(jù))、Return(返回值RET_VAL)。Input(輸入?yún)?shù))將數(shù)據(jù)傳遞到被調(diào)用的塊中進(jìn)行處理。Output(輸出參數(shù))是將結(jié)果傳遞到調(diào)用的塊中。InOut(輸入/輸出參數(shù))將數(shù)據(jù)傳遞到被調(diào)用的塊中,在被調(diào)用的塊中處理數(shù)據(jù)后,再將被調(diào)用的塊中發(fā)送的結(jié)果存儲在相同的變量中。Temp(臨時數(shù)據(jù))是塊的本地數(shù)據(jù),并且在處理塊時將其存儲在本地數(shù)據(jù)堆棧。關(guān)閉并完成處理后,臨時數(shù)據(jù)就變得不再可訪問。Return包含返回值RET_VAL。函數(shù)塊的使用02SIEMENS函數(shù)塊的使用02函數(shù)塊(FC)的使用“函數(shù)(FC)”類似于VB語言中的“子程序”,用戶可以將具有相同控制過程的程序編寫在FC中,然后在主程序Main[OB1]中調(diào)用。

創(chuàng)建函數(shù)的步驟是:先建立一個項目,再在TIA博途軟件項目視圖的項目樹中選中“已經(jīng)添加的設(shè)備”(如:PLC_1)→“程序塊”→“添加新塊”,即可彈出要插入函數(shù)的界面。

例1:解函數(shù)(FC)的應(yīng)用

步驟1:新建一個項目,在TIA博途軟件項目視圖的“項目樹”中,選中并單擊已經(jīng)添加的設(shè)備“PLC_1”→“程序塊”→“添加新塊”。函數(shù)塊的使用02

步驟2:在“添加新塊”界面中,選擇創(chuàng)建塊的類型為“函數(shù)”,再輸入函數(shù)的名稱為“啟??刂啤保x擇編程“語言”為“LAD”),單擊“確定”按函數(shù)塊的使用02

步驟3:在“程序編輯器”中,此程序能實現(xiàn)啟??刂?,將程序保存。

步驟4:在TIA博途軟件項目視圖的項目樹中,雙擊“Main[OB1]”,打開主程序塊“Main[OB1]”,選中新創(chuàng)建的函數(shù)“啟??刂?FC1)”,并將其拖拽到程序編輯器中。

以上只能用I0.0實現(xiàn)啟動,用I0.1實現(xiàn)停止,這種功能調(diào)用方式是絕對調(diào)用,顯然不夠靈活,下面將講解用參數(shù)調(diào)用的方法提升靈活度。函數(shù)塊的使用02

例2:用函數(shù)實現(xiàn)電動機(jī)的啟??刂?/p>

步驟1和步驟2與列1函數(shù)塊(FC)的應(yīng)用相同

步驟3:在TIA博途軟件項目視圖的項目樹中,雙擊函數(shù)塊“啟停控制(FC1)”,打開函數(shù),彈出“程序編輯器”界面,先選中“Input(輸入?yún)?shù))”,新建參數(shù)“啟動”和“停止”,數(shù)據(jù)類型為“Bool”。再選中InOut(輸入/輸出參數(shù)),新建參數(shù)“電機(jī)”,數(shù)據(jù)類型為“Bool”。最后在程序段1中輸入程序,注意參數(shù)前都要加“#”。函數(shù)塊的使用02

步驟4:在TIA博途軟件項目視圖的項目樹中,雙擊“Main[OB1]”,打開主程序塊“Main[OB1]”,選中新創(chuàng)建的函數(shù)“啟??刂?FC1)”,并將其拖拽到程序編輯器中。

如果將整個項目下載到PLC中,就可以實現(xiàn)“啟??刂啤?。這個程序的函數(shù)“FC1”的調(diào)用比較靈活,與例1不同,啟動不只限于I0.0,停止不只限于I0.1,在編寫程序時,可以靈活分配應(yīng)用。THANKYOUSIEMENSFB函數(shù)塊應(yīng)用SIEMENSCONTENTS目錄指令應(yīng)用與IO分配PLC變量與程序0102指令應(yīng)用與IO分配01SIEMENS01指令應(yīng)用與IO分配1.任務(wù)要求

某公司輸送帶在運輸物料時電機(jī)需要有個降壓啟動來延長電機(jī)的使用壽命。請用本次所學(xué)的FB程序塊來完成電機(jī)的星三角降壓啟動控制程序的編寫與調(diào)試。01指令應(yīng)用與IO分配2.FB模塊(1)FB塊的基本概念①“FB塊”是從另一個OB、FB或FC代碼塊進(jìn)行調(diào)用時執(zhí)行的程序。②

以1200PLC為例,可以使用“0B塊”、“FC塊”和“FB塊”代碼塊編程。③

調(diào)用FB塊時會生成相匹配的背景數(shù)據(jù)塊,在背景數(shù)據(jù)塊中可以存儲定義的接口參數(shù)及靜態(tài)變量。(2)FB塊支持的編程語言FB塊編程支持的編程語言有LAD、FBD、SCL以及CEM。(3)FB塊的塊接口①FB塊可在塊接口區(qū)域中定義Input(輸入)、0utput(輸出)InOut(輸入輸出)、 Static(靜態(tài)變量)、Temp(臨時變量)以及Constant(常量)等。②

對于帶參數(shù)的FB塊,有形參和實參2個概念。形參:調(diào)用FB塊時,定義的Input,Output,InOut參數(shù)以引腳方式出現(xiàn)在FB塊上;Input和InOut類型的變量會在FB塊左側(cè);Output類型的變量會在FB塊右側(cè)。01指令應(yīng)用與IO分配FB塊參數(shù)接口類型讀寫訪問描述Input只讀調(diào)用

FB塊時,將數(shù)據(jù)傳送到FB塊,實參可以為常數(shù)Output讀寫將

FB塊執(zhí)行的結(jié)果輸出,實參不可以為常數(shù)Inout讀寫讀取外部實參數(shù)值并且將結(jié)果返回到實參,實參不可為常數(shù)Static讀寫靜態(tài)變量存儲在背景

DB塊中,不參與對外的參數(shù)傳遞Temp讀寫

Constant只讀實參:在調(diào)用帶參數(shù)的FB塊時,為形參填寫的實際變量01指令應(yīng)用與IO分配(4)FB塊編程①FB塊帶參數(shù)-一定義塊接口,F(xiàn)B塊中通常不出現(xiàn)任何全局變量;優(yōu)點是模塊化編程,對相同的功能/邏輯只需編寫一個FB塊即可,無需重復(fù)多次編寫相同的代碼;還可將FB塊做成項目庫或全局庫以便后續(xù)其他項目和工程師使用。01指令應(yīng)用與IO分配②FB塊不帶參數(shù)--不定義任何塊接口,F(xiàn)B塊編程中,使用全局變量;此種方式不推薦01指令應(yīng)用與IO分配(5)FB塊調(diào)用FB塊可以被OB塊、FC塊或其他FB塊調(diào)用。不同的塊調(diào)用出現(xiàn)的調(diào)用方式也

會不同,具體有三種。①在OB中調(diào)用FB塊,僅支持單個實例調(diào)用②在FC塊中調(diào)用FB塊,支持單個實例和參數(shù)實例調(diào)用③在FB塊中調(diào)用另外一個FB塊,支持單個實例,多重背景和參數(shù)實例三種方式01指令應(yīng)用與IO分配3.IO信號分配表根據(jù)實際需要輸入/輸出量的分析,其I/O地址分配見表輸入輸出啟動按鈕I0.0主交流接觸器KM1Q0.0停止按鈕I0.1電機(jī)星型(Y)運行KM2

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論