PLC應(yīng)用技術(shù)項目化教程(S7-1200) 課件 項目三 PLC的編程方法 下_第1頁
PLC應(yīng)用技術(shù)項目化教程(S7-1200) 課件 項目三 PLC的編程方法 下_第2頁
PLC應(yīng)用技術(shù)項目化教程(S7-1200) 課件 項目三 PLC的編程方法 下_第3頁
PLC應(yīng)用技術(shù)項目化教程(S7-1200) 課件 項目三 PLC的編程方法 下_第4頁
PLC應(yīng)用技術(shù)項目化教程(S7-1200) 課件 項目三 PLC的編程方法 下_第5頁
已閱讀5頁,還剩116頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

項目三PLC的編程方法PLC應(yīng)用技術(shù)項目化教程(s7-1200)教學導(dǎo)航技能目標0201知識目標1)掌握博途軟件的使用2)學習經(jīng)驗法編程方法,理解掌握順序功能圖編程方法。3)掌握FC(功能)和FB(功能塊)的應(yīng)用4)掌握DB(數(shù)據(jù)塊)的應(yīng)用5)掌握OB(組織塊)的應(yīng)用1)會利用博途軟件編寫、運行、調(diào)試復(fù)雜的程序。2)會利用FC(功能)、FB(功能塊)編寫程序,并完成調(diào)用。目錄自動剪板機的控制0301自動送料小車的控制鉆床的控制02數(shù)碼管顯示電路的設(shè)計04廣場噴泉系統(tǒng)控制05液體混合系統(tǒng)設(shè)計06求根公式的計算07脈沖信號的控制08數(shù)碼管顯示電路的設(shè)計04教學目標:會使用S7-1200帶形參的FC塊編寫PLC梯形圖程序并學會用PLC的OB1塊調(diào)用FC塊。教學重點:

理解并正確使用用戶變量名接口定義形參,并會填寫OB1塊中實參,調(diào)用FC塊。教學難點:會使用用戶變量名接口定義形參。技能目標:會使用S7-1200帶形參的FC塊編寫PLC梯形圖程序并學會用PLC的OB1塊調(diào)用FC塊。任務(wù)四

數(shù)碼管顯示電路的設(shè)計

按下啟動按鈕SB1,報警燈亮,并且開始倒計時9S顯示,顯示器件為七段LED數(shù)碼管。按下停止按鈕,報警燈熄滅,數(shù)碼管顯示為0。1、用戶程序結(jié)構(gòu)1、用戶程序結(jié)構(gòu)

模塊化編程將復(fù)雜的自動化任務(wù)劃分為對應(yīng)于生產(chǎn)過程的技術(shù)功能的較小的子任務(wù),每個子任務(wù)對應(yīng)于一個稱為“塊”的子程序,可以通過塊與塊之間的相互調(diào)用來組織程序。這樣的程序易于修改、查錯和調(diào)試。塊簡要描述組織塊(OB)操作系統(tǒng)與用戶程序的接口,決定用戶程序的結(jié)構(gòu)功能塊(FB)用戶編寫的包含經(jīng)常使用的功能的子程序,有專用的背景數(shù)據(jù)塊功能(FC)用戶編寫的包含經(jīng)常使用的功能的子程序,沒有專用的背景數(shù)據(jù)塊背景數(shù)據(jù)塊(DB)用于保存FB的輸入變量、輸出變量和靜態(tài)變量,其數(shù)據(jù)在編譯時自動生成全局數(shù)據(jù)塊(DB)存儲用戶數(shù)據(jù)的數(shù)據(jù)區(qū)域,供所有的代碼塊共享1、用戶程序結(jié)構(gòu)1、用戶程序結(jié)構(gòu)塊結(jié)構(gòu)顯著增加了PLC程序的組織透明性、可理解性和易維護性。OB、FB、FC都包含代碼,統(tǒng)稱為代碼塊(Code)。被調(diào)用的代碼塊又可以調(diào)用別的代碼塊,這種調(diào)用稱為嵌套調(diào)用。在塊調(diào)用中,調(diào)用者可以是各種代碼塊,被調(diào)用的塊是OB之外的代碼塊。調(diào)用功能時需要為它指定一個背景數(shù)據(jù)塊。編程時被調(diào)用的塊應(yīng)該是已經(jīng)存在的塊,即應(yīng)先創(chuàng)建被調(diào)用的塊及其背景數(shù)據(jù)塊。1、用戶程序結(jié)構(gòu)1、用戶程序結(jié)構(gòu)組織塊(OrganizationBlock,OB)是操作系統(tǒng)與用戶程序的接口,由操作系統(tǒng)調(diào)用,用于控制循環(huán)掃描和中斷程序的執(zhí)行、PLC的啟動和錯誤處理等。組織塊的程序是用戶編寫的。每個組織塊必須有唯一的OB編號,200之前的某些編號是保留的,其他OB的編號應(yīng)大于等于200.沒有可以調(diào)用OB的指令,S7-1200CPU具有基于事件的特性,只有發(fā)生了某些特定事件,相應(yīng)的OB才會被執(zhí)行。不要試圖在OB/FC/FB中調(diào)用某個OB,除非用戶觸發(fā)與此OB相關(guān)的指令或條件。例如用戶可以在OB1中通過SRT_DINT指令設(shè)置延遲時間,當延遲時間到達時,延遲中斷OB被觸發(fā)。當特定事件發(fā)生時,相應(yīng)OB被調(diào)用,無論其是否包含程序代碼1、用戶程序結(jié)構(gòu)功能(Function,F(xiàn)C)是用戶程序編寫的子程序,它包含完成特定任務(wù)的代碼和參數(shù)。FC和FB有與調(diào)用它的塊共享的輸入?yún)?shù)和輸出參數(shù)。執(zhí)行完FC和FB后,返回調(diào)用它的代碼塊。功能是快速執(zhí)行的代碼塊,用于執(zhí)行下列任務(wù):完成標準的和可重復(fù)使用的操作,例如算術(shù)運算;完成技術(shù)功能,例如使用位邏輯運算的控制。可以在程序的不同位置多次調(diào)用同一個FC,這可以簡化重復(fù)執(zhí)行的任務(wù)的變成。功能沒有固定的存儲區(qū),執(zhí)行結(jié)束后,其臨時變量中的數(shù)據(jù)就丟失了??梢杂萌謹?shù)據(jù)塊或M存儲區(qū)來存儲那些在功能執(zhí)行結(jié)束后需要保持的數(shù)據(jù)。1、用戶程序結(jié)構(gòu)功能塊(FunctionBlock,F(xiàn)B)是用戶程序編寫的子程序。調(diào)用功能塊時,需要制定背景數(shù)據(jù)塊,作為功能塊專用的存儲區(qū)。CPU執(zhí)行FB中的程序代碼,將塊的輸入、輸出參數(shù)和局部靜態(tài)變量保存在背景數(shù)據(jù)塊中,以便可以從一個掃描周期到下一個掃描周期快速訪問它們。FB的典型應(yīng)用是執(zhí)行不能在一個掃描周期結(jié)束的操作。在調(diào)用FB時,打開了對應(yīng)的背景數(shù)據(jù)塊,后者的變量可以供其他代碼塊使用。調(diào)用同一個功能塊時使用不同的背景數(shù)據(jù)塊,可以控制不同的設(shè)備。S7-1200的部分指令(例如IEC標準的定時器和計數(shù)器指令)實際上是功能塊,在調(diào)用它們時需要指定配套的背景數(shù)據(jù)塊。2、生成與調(diào)用功能(FC)

單擊“項目樹”中相應(yīng)的PLC項目,在“程序塊”的下層選項中選擇“添加新塊”,在彈出的“添加新塊”窗口中選擇功能(函數(shù))FC,輸入規(guī)劃的塊名稱,選擇要使用的編程語言及編號方式,然后點擊確定。2、創(chuàng)建功能(FC)中的局部變量局部變量的名字由字符(包括漢字)和數(shù)字組成,主要分為如下五種類型。>Input(輸入?yún)?shù)):由調(diào)用它的塊提供的輸入數(shù)據(jù)。>Output(輸出參數(shù)):返回給調(diào)用它的塊的程序執(zhí)行結(jié)果。>InOut(輸入_輸出參數(shù)):初值由調(diào)用它的塊提供,塊執(zhí)行后將它的返回值返回給調(diào)用它的塊。>Temp(臨時數(shù)據(jù)):暫時保存在局部數(shù)據(jù)堆棧中的數(shù)據(jù)。只是在執(zhí)行塊時使用臨時數(shù)據(jù),執(zhí)行完后,不再保存臨時數(shù)據(jù)的數(shù)值,它可能被別的塊的臨時數(shù)據(jù)覆蓋。>Return中的Ret_Val(返回值),屬于輸出參數(shù),一般是用來返回錯誤的,默認的情況它是沒有數(shù)據(jù)類型的,在調(diào)用FC時也看不到這個輸出參數(shù)。只要在局部變量表中設(shè)置RET_VAL的數(shù)據(jù)類型,在調(diào)用時就能看到它在方框的右邊出現(xiàn),所以它是一個輸出參數(shù)。。2、創(chuàng)建功能(FC)中的局部變量生成局部變量時,不需要指定存儲器地址,根據(jù)各變量的類型,程序編輯器自動地為所有局部變量指定存儲器地址。3、在主程序OB1中調(diào)用功能FC1在Main[OB1]中,按住鼠標左鍵將FC1(電動機自鎖運行)拉到程序區(qū)。這樣就完成了FC1的調(diào)用。FC1左邊的“啟動”等是在FC1的接口區(qū)中定義的Input和InOut參數(shù),右邊的“電動機繼電器”是Output參數(shù),即局部參數(shù),亦稱為形參。在OB1中調(diào)用FC1時,需要給每個形參指定實際的參數(shù),簡稱為實參,如I0.0。4、功能(FC)的實際應(yīng)用能夠顯示數(shù)字0~9的數(shù)碼管在生產(chǎn)、生活中應(yīng)用非常廣泛,其基本原理如圖所示,當我們編寫合適的程序段,即功能(FC),就可以按照需求在對應(yīng)的數(shù)碼管上顯示需要的數(shù)字,當出現(xiàn)多為顯示需求時,比如身份證號碼、手機號碼,就可以通過多次調(diào)用此功能(FC)來實現(xiàn)。4、功能(FC)的實際應(yīng)用(1)目的與要求

通過完成八盞燈的顯示控制,每秒切換,循環(huán)顯示。掌握功能(FC)程序設(shè)計以及在OB1中調(diào)用的方法。(2)分配I/O地址

根據(jù)任務(wù)需求分析,輸入地址為:啟動按鈕(I1.0),停止按鈕(I1.1)。輸出地址為:燈1-燈8對應(yīng)為Q1.0-Q1.7。4、功能(FC)的實際應(yīng)用(3)創(chuàng)建功能(FC)及其局部變量使用鼠標打開、調(diào)整FC1的“塊接口”區(qū)域,在接口區(qū)中生成局部變量,在Input類型中添加“啟動按鈕”,數(shù)據(jù)類型選擇為“Bool”。用同樣的方法將其他的輸入/輸出、中間變量添加到接口中。如圖所示。4、功能(FC)的實際應(yīng)用4、功能(FC)的實際應(yīng)用4、功能(FC)的實際應(yīng)用5、功能(FC)的實際應(yīng)用5、任務(wù)實施按下啟動按鈕SB1,報警燈亮,并且開始倒計時9S顯示,顯示器件為七段LED數(shù)碼管。按下停止按鈕,報警燈熄滅,數(shù)碼管顯示為0。1.S7-1200定時器的分類任務(wù)實施任務(wù)4數(shù)碼管顯示電路的設(shè)計設(shè)計步驟1、分析控制要求,確定輸入輸出分配。輸入輸出地址功能地址功能I1.0啟動按鈕Q1.0aI1.1停止按鈕Q1.1bQ1.2c

Q1.3d

Q1.4e

Q1.5f

Q1.6g

Q1.7報警燈1.S7-1200定時器的分類任務(wù)實施任務(wù)4數(shù)碼管顯示電路的設(shè)計設(shè)計步驟2、建立主程序變量表。1.S7-1200定時器的分類任務(wù)實施任務(wù)4數(shù)碼管顯示電路的設(shè)計設(shè)計步驟3、建立FC及局部變量表。1.S7-1200定時器的分類任務(wù)實施任務(wù)4數(shù)碼管顯示電路的設(shè)計設(shè)計步驟4、編寫FC程序1.S7-1200定時器的分類任務(wù)實施任務(wù)4數(shù)碼管顯示電路的設(shè)計設(shè)計步驟4、編寫FC程序1.S7-1200定時器的分類任務(wù)實施任務(wù)4數(shù)碼管顯示電路的設(shè)計設(shè)計步驟4、編寫FC程序1.S7-1200定時器的分類任務(wù)實施任務(wù)4數(shù)碼管顯示電路的設(shè)計設(shè)計步驟4、編寫FC程序1.S7-1200定時器的分類任務(wù)實施任務(wù)4數(shù)碼管顯示電路的設(shè)計設(shè)計步驟4、編寫FC程序1.S7-1200定時器的分類任務(wù)實施任務(wù)4數(shù)碼管顯示電路的設(shè)計設(shè)計步驟4、編寫FC程序1.S7-1200定時器的分類任務(wù)實施任務(wù)4數(shù)碼管顯示電路的設(shè)計設(shè)計步驟4、編寫FC程序1.S7-1200定時器的分類任務(wù)實施任務(wù)4數(shù)碼管顯示電路的設(shè)計設(shè)計步驟4、編寫FC程序1.S7-1200定時器的分類任務(wù)實施任務(wù)4數(shù)碼管顯示電路的設(shè)計設(shè)計步驟4、編寫FC程序1.S7-1200定時器的分類任務(wù)實施任務(wù)4數(shù)碼管顯示電路的設(shè)計設(shè)計步驟4、編寫FC程序1.S7-1200定時器的分類任務(wù)實施任務(wù)4數(shù)碼管顯示電路的設(shè)計設(shè)計步驟4、編寫FC程序1.S7-1200定時器的分類任務(wù)實施任務(wù)4數(shù)碼管顯示電路的設(shè)計設(shè)計步驟5、調(diào)用FC并調(diào)試程序廣場噴泉系統(tǒng)控制05任務(wù)5廣場噴泉系統(tǒng)控制控制要求:一個噴泉池里有A、B、C三種噴頭。噴泉的噴水規(guī)律是:按下啟動按鈕,噴泉控制裝置開始工作;按下停止按鈕,噴泉裝置停止工作。噴泉的工作方式有以下兩種,可通過方式選擇開關(guān)來選擇。方式一:開始工作時,A噴頭噴水2s,接著B噴頭噴水2s,然后C噴頭噴水2s,最后D噴頭噴水5s;重復(fù)上述過程,直到按下停止按鈕為止。

方式二:開始工作時,A、D噴頭噴水3s,接著B、C噴頭噴水3s,停1s,如此交替運行兩次,然后4組噴頭全噴水7s;重復(fù)上述過程,直到按下停止按鈕。1、用戶程序結(jié)構(gòu)功能塊(FunctionBlock,F(xiàn)B)是用戶程序編寫的子程序。調(diào)用功能塊時,需要制定背景數(shù)據(jù)塊,作為功能塊專用的存儲區(qū)。CPU執(zhí)行FB中的程序代碼,將塊的輸入、輸出參數(shù)和局部靜態(tài)變量保存在背景數(shù)據(jù)塊中,以便可以從一個掃描周期到下一個掃描周期快速訪問它們。FB的典型應(yīng)用是執(zhí)行不能在一個掃描周期結(jié)束的操作。在調(diào)用FB時,打開了對應(yīng)的背景數(shù)據(jù)塊,后者的變量可以供其他代碼塊使用。調(diào)用同一個功能塊時使用不同的背景數(shù)據(jù)塊,可以控制不同的設(shè)備。S7-1200的部分指令(例如IEC標準的定時器和計數(shù)器指令)實際上是功能塊,在調(diào)用它們時需要指定配套的背景數(shù)據(jù)塊。2、生成與調(diào)用功能塊(FB)

單擊“項目樹”中相應(yīng)的PLC項目,在“程序塊”的下層選項中選擇“添加新塊”,在彈出的“添加新塊”窗口中選擇功能(函數(shù)塊)FB,輸入規(guī)劃的塊名稱,選擇要使用的編程語言及編號方式,然后點擊確定。2、創(chuàng)建功能塊(FB)中的局部變量與功能(FC)的應(yīng)用類似,也需要在此功能(FB)內(nèi)部生成局部變量,局部變量只能在它所在的塊中使用。與功能(FC)類似,功能塊(FB)也有Input(輸入?yún)?shù))、Output(輸出參數(shù))、InOut(輸入_輸出參數(shù))、Temp(臨時數(shù)據(jù))等類型數(shù)據(jù)。功能塊(FB)可以定義靜態(tài)變量(Static),此類型變量能夠在塊調(diào)用結(jié)束后將其數(shù)值保存下來且不產(chǎn)生對外的接口。2、創(chuàng)建功能塊(FB)中的局部變量功能塊(FB)的輸入、輸出和靜態(tài)變量用指定的背景數(shù)據(jù)塊保存,但是不會保存Temp(臨時數(shù)據(jù))。功能塊FB有背景數(shù)據(jù)塊,功能FC沒有背景數(shù)據(jù)塊。功能FC只能在功能內(nèi)部訪問它的局部變量,功能塊FB可以被其他代碼塊或HMI訪問背景數(shù)據(jù)塊中的變量。功能FC沒有靜態(tài)變量,功能塊FB有保存在背景數(shù)據(jù)塊中的靜態(tài)變量。功能FC如果有執(zhí)行完后需要保存的數(shù)據(jù),只能存放在全局變量中,但這樣會影響功能的可移植性。功能塊FB的局部變量(不包含Temp)有默認值(初始值),功能FC的局部變量沒有初始值。在調(diào)用功能塊FB時如果沒有設(shè)置某些輸入、輸出參數(shù)的實參,將使用背景數(shù)據(jù)塊中的初始值。調(diào)用功能時應(yīng)給所有的形參指定實參。2、創(chuàng)建功能塊(FB)中的局部變量3、在主程序OB1中調(diào)用功能塊FB1在Main[OB1]中,按住鼠標左鍵將FB1(電動機自鎖運行)拉到程序區(qū)。這樣就完成了FB1的調(diào)用。FB1左邊的“啟動”等是在FB1的接口區(qū)中定義的Input參數(shù),右邊的“電動機繼電器”是Output參數(shù),即局部參數(shù),亦稱為形參。在OB1中調(diào)用FB1時,需要給每個形參指定實際的參數(shù),簡稱為實參,如I0.0。4、FB應(yīng)用實例利用FB,編寫燈的閃爍程序??刂埔螅喊聪聠影粹o,Q1.0燈亮,1S后Q1.1燈亮,按照這個規(guī)律燈依次移位,當Q1.7亮1S后,從Q1.0開始亮2S,間隔2S移位,依次循環(huán)。按下停止按鈕,所有燈停止。4、FB應(yīng)用實例二、設(shè)計步驟:1、分析控制要求,確定輸入輸出分配。。輸入輸出地址功能地址功能I1.0啟動按鈕Q1.0-Q1.7八盞燈I1.1停止按鈕4、FB應(yīng)用實例二、設(shè)計步驟:2、建立變量表4、FB應(yīng)用實例二、設(shè)計步驟:3、添加FB,并定義局部變量4、FB應(yīng)用實例二、設(shè)計步驟:4、編寫FB程序4、FB應(yīng)用實例二、設(shè)計步驟:4、編寫FB程序4、FB應(yīng)用實例二、設(shè)計步驟:4、編寫FB程序4、FB應(yīng)用實例二、設(shè)計步驟:5、編寫OB1程序并調(diào)試運行。5、任務(wù)實施音樂噴泉:任務(wù)要求:一個噴泉池里有A、B、C、D四種噴頭。噴泉的噴水規(guī)律是:按下啟動按鈕,噴泉控制裝置開始工作;按下停止按鈕,噴泉裝置停止工作。噴泉的工作方式有以下兩種,可通過方式選擇開關(guān)來選擇。方式一:開始工作時,A噴頭噴水2s,接著B噴頭噴水2s,然后C噴頭噴水2s,最后D噴頭噴水5s;重復(fù)上述過程,直到按下停止按鈕為止。

方式二:開始工作時,A、D噴頭噴水3s,接著B、C噴頭噴水3s,停1s,如此交替運行兩次,然后4組噴頭全噴水7s;重復(fù)上述過程,直到按下停止按鈕。5、任務(wù)實施分配I/O地址根據(jù)任務(wù)需求分析:輸入功能輸出功能I1.0啟動按鈕Q1.0A噴頭I1.1停止按鈕Q1.1B噴頭I0.4選擇開關(guān)Q1.2C噴頭

Q1.3D噴頭5、任務(wù)實施創(chuàng)建功能塊(FB)雙擊項目樹中添加新塊,點擊FB塊,在名稱欄中填寫“廣場噴泉控制程序設(shè)計”,在語言欄中選擇LAD,點擊確定,創(chuàng)建FB1功能塊。使用同樣的方法生成功能塊FB2(方式一)和FB3(方式二)。OB1FB1FB2FB35、任務(wù)實施在項目樹中雙擊添加的新塊FB2塊,使用鼠標打開、調(diào)整FB2的“塊接口”區(qū)域,在接口區(qū)中生成局部變量,在Input類型中添加“啟動”,數(shù)據(jù)類型選擇為“Bool”。用同樣的方法將其他的輸入、輸出、靜態(tài)變量添加到接口中。5、任務(wù)實施5、任務(wù)實施使用FB2同樣的方法,在FB3中,將相應(yīng)的輸入、輸出、靜態(tài)變量添加到接口中。5、任務(wù)實施5、任務(wù)實施在FB1塊中調(diào)用功能塊FB2(方式一)和FB3(方式二)雙擊FB1塊,按住鼠標左鍵將FB2(方式一)拉到程序區(qū),按住鼠標左鍵將FB3(方式二)拉到程序區(qū),完成FB2(方式一)和FB3(方式二)的調(diào)用。在完成FB1的編程后,需要在OB1中調(diào)用FB1,程序才能正常工作。思考:如果將定時器定義在IN-OUT里,程序與上述程序有何不同?5、任務(wù)實施思考:如果將定時器定義在IN-OUT里,程序與上述程序有何不同?注意:如果需要在OB1調(diào)用時使用定時器的實參,需要“添加新塊”-“DB數(shù)據(jù)塊”-”IEC-TIMER”,可以修改名字。液體混合系統(tǒng)設(shè)計06控制要求:按下啟動按鈕,電磁閥Y1導(dǎo)通,開始注入液體A,液位到L2的高度時,停止注入液體A。同時,電磁閥Y2導(dǎo)通,開始注入液體B,液體到L1的高度時,停止注入液體B,開啟攪拌機M,持續(xù)攪拌5S,停止攪拌。同時電磁閥Y3導(dǎo)通,開始放出液體,至液體高度為L3時,開始計時,再經(jīng)3S后液體全部放出,關(guān)閉電磁閥Y3。關(guān)閉Y3后重新開始注入液體A,開始循環(huán)。按停止按鈕,所有操作都停止,須重新啟動。任務(wù)6液體混合控制系統(tǒng)設(shè)計1、用戶程序結(jié)構(gòu)在博途軟件的實際編程中,大量使用定時器、計數(shù)器等指令,或多層FB嵌套調(diào)用時,每次調(diào)用都需要指定一個單獨背景數(shù)據(jù)塊,就會生成大量的數(shù)據(jù)塊“碎片”,不利于硬件存儲區(qū)的管理及程序的邏輯梳理。同時,如果在FB塊中使用單個實例的背景數(shù)據(jù)塊,會導(dǎo)致此FB不能被重復(fù)調(diào)用,犧牲了FB塊的一大功能。2、多重背景數(shù)據(jù)塊為了解決上述問題,在功能塊FB中使用定時器、計數(shù)器等指令時,可以在該功能塊的界面區(qū)定義數(shù)據(jù)類型為IEC_Timer、IEC_Counter等對應(yīng)的靜態(tài)變量,用靜態(tài)變量的在FB塊內(nèi)規(guī)劃出固定區(qū)域來支撐定時器、計數(shù)器等指令支撐運行。在這種情況下設(shè)定的背景數(shù)據(jù)塊稱為多重背景數(shù)據(jù)塊。FB背景數(shù)據(jù)塊內(nèi)部定時器內(nèi)部計數(shù)器3、創(chuàng)建多重背景數(shù)據(jù)塊以計數(shù)器為例,在相應(yīng)的功能塊(FB)中調(diào)用計數(shù)器指令時,會自動彈出“調(diào)用選項”對話框,提示需要創(chuàng)建背景數(shù)據(jù)塊,此時在窗口左側(cè)選擇“多重實例(數(shù)據(jù)塊)”,并在“接口參數(shù)的名稱”輸入框中輸入規(guī)劃好的名稱,點擊“確定”完成指令的調(diào)用并自動創(chuàng)建對應(yīng)的靜態(tài)變量。3、創(chuàng)建多重背景數(shù)據(jù)塊這樣多個定時器或計數(shù)器的背景數(shù)據(jù)塊就被包含在它們所在的功能塊的背景數(shù)據(jù)塊中,而不需要為每個定時器或計數(shù)器設(shè)置一個單獨的背景數(shù)據(jù)塊,減少了處理數(shù)據(jù)的時間,能更合理地利用存儲空間。3、創(chuàng)建多重背景數(shù)據(jù)塊在FB塊“多重實例”調(diào)用中,調(diào)用用戶自己編寫生成的功能塊時,其數(shù)據(jù)類型是特殊的,為被調(diào)用塊的名稱。4、多重背景數(shù)據(jù)塊的應(yīng)用游戲《王者榮耀》中的人物小喬的必殺技的釋放與冷卻過程,使用多重實例完成。按下啟動按鈕,技能釋放,8盞燈5hz頻率閃爍,演示5s;開始釋放的同時,開始記錄冷卻時間,15s后技能冷卻完成,具備下次釋放條件;在技能冷卻期間按下啟動按鈕無效。4、多重背景數(shù)據(jù)塊的應(yīng)用(1)建立變量表4、多重背景數(shù)據(jù)塊的應(yīng)用(2)添加FB塊,建立局部變量4、多重背景數(shù)據(jù)塊的應(yīng)用(3)編寫FB程序4、多重背景數(shù)據(jù)塊的應(yīng)用(4)編寫主程序并調(diào)試5、任務(wù)實施(1)液體混合控制系統(tǒng)的目的與要求按下啟動按鈕,電磁閥Y1導(dǎo)通,開始注入液體A,液位到L2的高度時,停止注入液體A。同時,電磁閥Y2導(dǎo)通,開始注入液體B,液體到L1的高度時,停止注入液體B,開啟攪拌機M,持續(xù)攪拌5S,停止攪拌。同時電磁閥Y3導(dǎo)通,開始放出液體,至液體高度為L3時,開始計時,再經(jīng)3S后液體全部放出,關(guān)閉電磁閥Y3。關(guān)閉Y3后重新開始注入液體A,開始循環(huán)。按停止按鈕,所有操作都停止,須重新啟動。5、任務(wù)實施(2)分配I/O地址輸入功能輸出功能I1.0啟動按鈕Q1.0電磁閥Y1I1.1停止按鈕Q1.1電磁閥Y2I0.4液位開關(guān)L1Q1.2電磁閥Y3I0.5液位開關(guān)L2Q1.3攪拌電機MI0.6液位開關(guān)L3

5、任務(wù)實施(3)創(chuàng)建功能塊(FB)、局部變量并完成程序編寫雙擊項目樹中添加新塊,點擊FB塊,在名稱欄中填寫“液體混合控制程序設(shè)計”,在語言欄中選擇LAD,點擊確定,創(chuàng)建FB1功能塊。在項目樹中雙擊添加的新塊FB1塊,使用鼠標打開、調(diào)整FB1的“塊接口”區(qū)域,在接口區(qū)中生成局部變量,在Input類型中添加“啟動”,數(shù)據(jù)類型選擇為“Bool”。用同樣的方法將其他的輸入、輸出、靜態(tài)變量添加到接口中。在這里我們可以不用創(chuàng)建定時器需要使用的靜態(tài)變量,在編程中調(diào)用定時器指令時“調(diào)用選項”時選擇“DB多重實例”會自動生成對應(yīng)的靜態(tài)變量。5、任務(wù)實施5、任務(wù)實施(3)創(chuàng)建功能塊(FB)、局部變量并完成程序編寫在這里我們可以不用創(chuàng)建定時器需要使用的靜態(tài)變量,在編程中調(diào)用定時器指令時“調(diào)用選項”時選擇“DB多重實例”會自動生成對應(yīng)的靜態(tài)變量。5、任務(wù)實施5、任務(wù)實施5、任務(wù)實施5、任務(wù)實施(4)在OB1塊中調(diào)用功能塊FB1可以看到,在功能塊FB1(液體混合控制程序設(shè)計)中,使用到的所有變量均為局部變量,即其所有數(shù)據(jù)均存放在一個指定的數(shù)據(jù)區(qū)域內(nèi),減少了數(shù)據(jù)的碎片化,加快了語句調(diào)運、程序運算速度,也保證了此功能塊的可重復(fù)調(diào)用功能。求根公式的計算07任務(wù)7求根公式的計算

1、用戶程序結(jié)構(gòu)TIAPortal編程軟件中的塊包括組織塊(OB)、功能塊(FB)、功能(FC)、數(shù)據(jù)塊(DB)等塊。其中,在組織塊(OB)、功能塊(FB)、功能(FC)內(nèi)部能夠調(diào)用相關(guān)指令、編寫程序,完成預(yù)定的邏輯控制。而數(shù)據(jù)塊(DB)只能存放程序的相關(guān)數(shù)據(jù),不能在其內(nèi)部編寫控制程序。在之前學習的過程中,我們接觸到的數(shù)據(jù)塊是背景數(shù)據(jù)塊,專門為某個指令或功能塊(FB)服務(wù)的,系統(tǒng)中還有另一種數(shù)據(jù)塊——全局數(shù)據(jù)塊,為整個程序服務(wù)。1、用戶程序結(jié)構(gòu)1.數(shù)據(jù)塊的基本概念(1)S7-1200系統(tǒng)的數(shù)據(jù)存儲區(qū)系統(tǒng)的數(shù)據(jù)存儲區(qū)是邏輯上的稱呼,實際對應(yīng)著硬件的存儲器。S7-1200CPU模塊的存儲器根據(jù)存儲特性不同,可以分為隨機存儲器(RAM)、只讀存儲器(ROM)、可擦除存儲器(FlashEPROM)。根據(jù)邏輯功能不同,可以分為用戶程序存儲區(qū)和系統(tǒng)存儲區(qū)。其中,用戶程序存儲區(qū)用于用戶項目的輸入\輸出變量、控制程序、中間變量、數(shù)據(jù)的存儲;主要可分為:過程映像區(qū)(I/O)、位存儲區(qū)(M)、局部數(shù)據(jù)區(qū)及數(shù)據(jù)塊(DB)。1、用戶程序結(jié)構(gòu)(2)數(shù)據(jù)塊西門子PLC系統(tǒng)中的數(shù)據(jù)塊根據(jù)使用范圍的不同,可以分為背景數(shù)據(jù)塊和全局數(shù)據(jù)塊。1、用戶程序結(jié)構(gòu)全局數(shù)據(jù)塊用戶可以根據(jù)程序編寫的需要創(chuàng)建全局數(shù)據(jù)塊,全局數(shù)據(jù)塊只包含靜態(tài)變量,用戶可以在全局數(shù)據(jù)塊中添加、刪除、改變變量類型、初始值、當前值。背景數(shù)據(jù)塊背景數(shù)據(jù)塊的數(shù)據(jù)結(jié)構(gòu)完全取決于其服務(wù)的函數(shù)塊FB的接口定義,用戶不能在背景數(shù)據(jù)塊中直接編輯修改數(shù)據(jù)內(nèi)容、結(jié)構(gòu),需要在其相關(guān)的功能塊FB的塊接口參數(shù)中進行編輯修改,再由系統(tǒng)將修改內(nèi)容同步到背景數(shù)據(jù)塊中。1、用戶程序結(jié)構(gòu)(3)數(shù)據(jù)塊的訪問屬性在西門子PLC的編程系統(tǒng)中,為了高效的利用存儲區(qū),系統(tǒng)支持符號和絕對地址兩種方式訪問全局數(shù)據(jù)塊中的數(shù)據(jù)。在完成創(chuàng)建全局數(shù)據(jù)塊后,在項目樹中右擊該數(shù)據(jù)塊,選擇“屬性”,選擇是否激活“優(yōu)化的塊訪問”。1、用戶程序結(jié)構(gòu)(3)數(shù)據(jù)塊的訪問屬性“優(yōu)化的塊訪問”即通過符號訪問變量的優(yōu)勢體現(xiàn)在,可以有效整合不同類型變量之間的空余地址空間,減少整體程序的占用空間。1、用戶程序結(jié)構(gòu)(3)數(shù)據(jù)塊的訪問屬性在關(guān)閉“優(yōu)化的塊訪問”功能后,全局數(shù)據(jù)塊中將出現(xiàn)系統(tǒng)分配給變量的絕對地址,即偏移量。絕對定制訪問時,需要寫清全局數(shù)據(jù)塊的編號、變量的類型及偏移量地址。比如DB8.DBD4,DBD*代表為雙字類型,DBW*為字類型,DBX*.*為布爾型。1、用戶程序結(jié)構(gòu)(4)數(shù)據(jù)塊的保持性用戶可以在全局數(shù)據(jù)塊中添加、刪除、改變變量類型、初始值、當前值。數(shù)據(jù)塊中變量的保持性是指,在CPU斷電重啟,或者STOP后重啟,數(shù)據(jù)塊DB中變量將保持最后一掃描周期的數(shù)值。如果不激活保持行屬性,系統(tǒng)將讀取對應(yīng)的初始值。數(shù)據(jù)塊DB中變量是否需要保持必須以實際功能需要為依據(jù)。數(shù)據(jù)塊中變量的保持性在數(shù)據(jù)塊中可以進行修改,訪問方式不同時其保持性設(shè)置的特性是不同的。當激活“優(yōu)化的塊訪問”,僅以符號訪問時可以單獨定義變量的保持性;而使用絕對地址方式訪問時,無法單獨設(shè)置某個變量的保持性,修改時整個數(shù)據(jù)塊的所有變量統(tǒng)一改變。2、全局數(shù)據(jù)塊的實際應(yīng)用(1)控制要求利用全局數(shù)據(jù)塊編寫計算式運算程序。2、全局數(shù)據(jù)塊的實際應(yīng)用脈沖信號控制步驟(1)創(chuàng)建全局功能塊(DB)

2、全局數(shù)據(jù)塊的實際應(yīng)用脈沖信號控制步驟(2)創(chuàng)建FB,定義局部變量并編寫程序

2、全局數(shù)據(jù)塊的實際應(yīng)用脈沖信號控制步驟(3)OB調(diào)用主程序,并調(diào)試運行

3、全局數(shù)據(jù)塊的任務(wù)實施

3、全局數(shù)據(jù)塊的任務(wù)實施(2)創(chuàng)建全局功能塊(DB)

雙擊項目樹中添加新塊,點擊DB塊,在名稱欄中填寫“一元二次方程求解程序設(shè)計”,點擊確定,創(chuàng)建DB1功能塊,右鍵單擊數(shù)據(jù)塊的屬性,關(guān)閉“優(yōu)化的塊訪問”功能。

在項目樹中雙擊添加的新塊DB1塊,在數(shù)據(jù)塊中生成靜態(tài)變量,在名稱列中添加“a”,數(shù)據(jù)類型選擇為“Real”。用同樣的方法將其他的靜態(tài)變量添加到數(shù)據(jù)塊中。3、全局數(shù)據(jù)塊的任務(wù)實施(3)全局數(shù)據(jù)塊DB1一元二次方程求解程序的設(shè)計在任意功能塊FB、功能FC或組織塊OB1中,編寫程序,完成求解過程3、全局數(shù)據(jù)塊的任務(wù)實施3、全局數(shù)據(jù)塊的任務(wù)實施(4)任務(wù)小結(jié)通過本任務(wù)的學習與設(shè)計,讓讀者理解并掌握全局數(shù)據(jù)塊的創(chuàng)建及應(yīng)用,其基本步驟如下:

生成全局數(shù)據(jù)塊(DB1)→確定數(shù)據(jù)塊的訪問方式→在數(shù)據(jù)塊中創(chuàng)建所需的變量→在相關(guān)功能、功能塊中調(diào)用數(shù)據(jù)塊中的變量→完成整體程序編寫。脈沖信號的控制08任務(wù)8脈沖信號的控制控制要求:通過對循環(huán)中斷組織塊(Cyclicinterrupt)的使用,讓讀者理解各組織塊的運行規(guī)則,掌握各個組織塊的應(yīng)用方法。利用循環(huán)中斷組織塊產(chǎn)生0.5Hz的時鐘脈沖信號,在Q1.0地址輸出。1、用戶程序結(jié)構(gòu)S7系列PLC系統(tǒng)為用戶提供了不同類型的塊,用于完成各種功能的自動化控制程序。其中組織塊(OB)是系統(tǒng)預(yù)制特定功能,實現(xiàn)操作系統(tǒng)與用戶程序之間的接口作用。可以利用組織塊的編程實現(xiàn)PLC系統(tǒng)的一些特殊動作,比如對硬件故障進行響應(yīng),創(chuàng)建特定時間循環(huán)執(zhí)行的特殊程序等。1、用戶程序結(jié)構(gòu)按照組織塊控制操作的不同,S7-1200主要有以下七種組織塊:程序循環(huán)組織塊(Programcycle)、啟動組織塊(Startup)、延時中斷組織塊(Timedelayinterrupt)、循環(huán)中斷組織塊(Cyclicinterrupt)、硬件中斷組織塊(Hardwareinterrupt)、時間錯誤中斷組織塊(Timeerrorinterrupt)、診斷錯誤中斷組織塊(Diagnosticerrorinterrupt)。某些組織塊在啟動時,操作系統(tǒng)將輸出啟動信息,用戶編寫組織塊程序時,可根據(jù)這些啟動信息進行相應(yīng)處理。1、用戶程序結(jié)構(gòu)1.啟動組織塊(Startup)啟動組織塊在CPU從STOP模式切換到軟RUN模式期間執(zhí)行一次。輸入過程映像中的當前值對于啟動組織塊的程序是不可用的,也不能設(shè)置這些值。啟動組織塊執(zhí)行完畢后,將讀入輸入過程映像并啟動程序循環(huán)組織塊。啟動組織塊一般用于編寫初始化程序,如賦初始值等??梢允褂枚鄠€啟動組織塊,默認的啟動組織塊是OB100,其他啟動組織塊的編號應(yīng)從123開始,一般情況下只需要一個啟動塊。啟動例程的執(zhí)行沒有時間限制。1、用戶程序結(jié)構(gòu)2.程序循環(huán)組織塊(Programcycle)想要將用戶編寫的程序啟動起來,執(zhí)行項目中至少要有一個程序循環(huán)組織塊,如OB1。操作系統(tǒng)在每個掃描周期調(diào)用程序循環(huán)組織塊一次,從而啟動用戶程序的執(zhí)行??梢允褂枚鄠€程序循環(huán)組織塊,可以使用多個OB(OB的編號應(yīng)大于等于123)。使用多個程序循環(huán)OB時,將按照OB編號依次調(diào)用,首先調(diào)用OB編號最低的程序循環(huán)OB。程序循環(huán)組織塊的優(yōu)先等級為1,在所有組織塊中的優(yōu)先等級最低,其他任何類型的事件都可以中斷循環(huán)程序的執(zhí)行。程序循環(huán)組織塊沒有啟動信息。可通過在循環(huán)OB以及所調(diào)用的塊中編寫用戶程序,完成用戶所需

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論