05S7-300程序結(jié)構(gòu)與程序設(shè)計課件_第1頁
05S7-300程序結(jié)構(gòu)與程序設(shè)計課件_第2頁
05S7-300程序結(jié)構(gòu)與程序設(shè)計課件_第3頁
05S7-300程序結(jié)構(gòu)與程序設(shè)計課件_第4頁
05S7-300程序結(jié)構(gòu)與程序設(shè)計課件_第5頁
已閱讀5頁,還剩73頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第5章S7-300程序結(jié)構(gòu)

與程序設(shè)計電氣控制技術(shù)與PLC應(yīng)用第5章S7-300程序結(jié)構(gòu)

與程序設(shè)計電氣控制技術(shù)與PL5.1S7-300CPU中的程序S7-300CPU程序分操作系統(tǒng)和用戶程序:操作系統(tǒng):由PLC的生產(chǎn)廠家提供,完成PLC起動、刷新、調(diào)用用戶程序、中斷/診斷/通信處理等任務(wù)。用戶程序:用戶為完成特定的任務(wù)而編寫的應(yīng)用程序,由STEP7編寫,編譯后下載到PLC的CPU中。第5章S7-300程序結(jié)構(gòu)與程序設(shè)計25.1S7-300CPU中的程序第5章S7-3005.1.1用戶程序中的塊STEP7用文件塊的形式管理用戶編寫的程序及程序運(yùn)行所需的數(shù)據(jù),組成結(jié)構(gòu)化的用戶程序。結(jié)構(gòu)化編程可使程序組織明確、結(jié)構(gòu)清晰、易于閱讀和修改。STEP7用戶程序塊:組織塊(OB)功能塊(FB)功能(FC)數(shù)據(jù)塊(DB)邏輯塊35.1.1用戶程序中的塊邏輯塊31.組織塊OBOB1是主程序循環(huán)塊,在任何情況下都必須存在。OB100~OB102用于系統(tǒng)初始化——只上電執(zhí)行一次。OB10~OB17用于日期時間中斷——CPU屬性設(shè)置。OB30~OB38用于循環(huán)中斷——CPU屬性設(shè)置。OB10...17日期時間中斷OB80...87異步錯誤OB20...23延時中斷定期的程序執(zhí)行OB30...38循環(huán)中斷事件驅(qū)動的程序執(zhí)行OB40...47硬件中斷OB100OB101啟動OB102循環(huán)的程序執(zhí)行OB1OB121,122同步錯誤錯誤OB中斷OB41.組織塊OBOB10...17OB80...87OB20.2.功能塊FB和功能FCFB、FC是用戶“子程序”;FB帶“記憶”功能,數(shù)據(jù)記憶在FB帶有的背景數(shù)據(jù)塊DB(InstanceDataBlock)中;在FB塊結(jié)束時數(shù)據(jù)繼續(xù)保持,即被“記憶”。功能FC不帶“記憶”,沒有背景數(shù)據(jù)塊。3.系統(tǒng)功能塊SFB和系統(tǒng)功能SFCSFB和SFC集成在S7功能程序庫中;用戶可以直接調(diào)用,但不能修改。52.功能塊FB和功能FC54.數(shù)據(jù)塊DBDB是用戶定義的用于存取數(shù)據(jù)的存儲區(qū),可以被打開或關(guān)閉。DB可以是某個FB的背景數(shù)據(jù)塊;也可以是通用的全局?jǐn)?shù)據(jù)塊,用于FB或FC的數(shù)據(jù)存儲。數(shù)據(jù)塊分類:全局(共享)數(shù)據(jù)塊背景數(shù)據(jù)塊用戶定義數(shù)據(jù)塊。64.數(shù)據(jù)塊DB6775.FC和FB的區(qū)別FB帶自己的存儲區(qū)(背景數(shù)據(jù)塊);FC不帶存儲區(qū);調(diào)用FB可以通過背景數(shù)據(jù)塊傳遞參數(shù),因此必須指定一背景數(shù)據(jù)塊;調(diào)用FC必須通過實參和形參互傳參數(shù)。85.FC和FB的區(qū)別8塊調(diào)用的分層結(jié)構(gòu)9塊調(diào)用的分層結(jié)構(gòu)9STEP7的塊STEP7的塊5.1.2用戶程序設(shè)計方法:1.線性化編程把用戶程序全部放置在一個循環(huán)程序塊(OB1)中,塊中的程序按順序逐條執(zhí)行;CPU通過反復(fù)執(zhí)行OB1來實現(xiàn)自動化控制任務(wù)。這種結(jié)構(gòu)和PLC所代替的硬接線繼電器控制類似。2.模塊化編程(分部式)把整個程序按任務(wù)分成若干個部分,并分別放置在不同的功能(FC)、功能塊(FB)及組織塊中;在一個塊中可以進(jìn)一步分解成段。在組織塊OB1中包含按順序調(diào)用這些塊的指令,并控制程序執(zhí)行。115.1.2用戶程序設(shè)計方法:113.結(jié)構(gòu)化編程根據(jù)控制任務(wù),把過程要求類似或相關(guān)的功能進(jìn)行分類,分割為幾個通用的小任務(wù),這些小任務(wù)用相應(yīng)的程序段表示,稱為塊(FC或FB)。OB1通過調(diào)用這些程序塊來完成自動化控制任務(wù)。特點(diǎn):每個塊(FC或FB)在OB1中可能會被多次調(diào)用,以完成相同工藝要求但不同參數(shù)的控制對象。簡化程序設(shè)計過程、減小代碼長度、提高編程效率。適合較復(fù)雜的自動化控制任務(wù)的設(shè)計。123.結(jié)構(gòu)化編程125.2數(shù)據(jù)塊中的數(shù)據(jù)存儲5.2.1數(shù)據(jù)存儲區(qū)數(shù)據(jù)以變量形式存儲,且具唯一。數(shù)據(jù)可以存儲在PII、PIQ、M、L堆棧和DB中。數(shù)據(jù)可以基本數(shù)據(jù)類型、復(fù)雜數(shù)據(jù)類型或參數(shù)類型。全局變量——符號表或共享數(shù)據(jù)塊中聲明的變量。局部變量——

OB、FC和FB的變量聲明表中的變量。135.2數(shù)據(jù)塊中的數(shù)據(jù)存儲135.2.2數(shù)據(jù)塊1.數(shù)據(jù)塊的分類符號表:只為方便程序閱讀,用于給變量設(shè)定名稱;符號表中變量為全局變量,可在程序所有地方使用。全局(共享)數(shù)據(jù)塊:存儲全局?jǐn)?shù)據(jù),所有邏輯塊(OB、FC、FB)都可以訪問共享數(shù)據(jù)塊的數(shù)據(jù)。背景數(shù)據(jù)塊:私有存儲器區(qū),只用作FB的存儲器。背景數(shù)據(jù)塊中包含了FB的參數(shù)和靜態(tài)變量。背景數(shù)據(jù)塊由編輯器生成,不能由用戶編輯。用戶定義數(shù)據(jù)塊:以UDT為模板所生成的數(shù)據(jù)塊。145.2.2數(shù)據(jù)塊142.數(shù)據(jù)塊寄存器CPU有兩個數(shù)據(jù)塊寄存器:DB(共享數(shù)據(jù)塊):DBX、DBB、DBW、DBDDI(背景數(shù)據(jù)塊):DIX、DIB、DIW、DID可以同時被打開。152.數(shù)據(jù)塊寄存器155.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)165.2.3數(shù)據(jù)塊的數(shù)據(jù)結(jié)構(gòu)165.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)。175.2.4建立數(shù)據(jù)塊17方法1:用SIMATICManager創(chuàng)建數(shù)據(jù)塊。

18方法1:用SIMATICManager創(chuàng)建數(shù)據(jù)塊。18方法2:用S7程序編輯器創(chuàng)建數(shù)據(jù)塊。

輸入數(shù)據(jù)塊名稱點(diǎn)擊“新建”圖標(biāo)選擇項目類型選擇S7項目選擇數(shù)據(jù)塊類型19方法2:用S7程序編輯器創(chuàng)建數(shù)據(jù)塊。輸入數(shù)據(jù)塊名稱點(diǎn)擊“新建DB類型選擇窗口

創(chuàng)建共享數(shù)據(jù)塊創(chuàng)建UDT數(shù)據(jù)塊指定相配套的UDT指定相配套的FB創(chuàng)建背景數(shù)據(jù)塊20新建DB類型選擇窗口創(chuàng)建共享數(shù)據(jù)塊創(chuàng)建UDT數(shù)據(jù)塊指定相編輯共享數(shù)據(jù)塊(變量定義)DB1原始窗口在DB1內(nèi)聲明變量21編輯共享數(shù)據(jù)塊(變量定義)DB1原始窗口在DB1內(nèi)聲明變量5.2.5訪問數(shù)據(jù)塊用戶程序有多個數(shù)據(jù)塊,在訪問數(shù)據(jù)塊時,必須指明數(shù)據(jù)塊的編號、數(shù)據(jù)類型與位置。如果訪問不存在的數(shù)據(jù)單元或數(shù)據(jù)塊,又沒有編寫錯誤處理OB塊,CPU將進(jìn)入STOP模式。225.2.5訪問數(shù)據(jù)塊22數(shù)據(jù)塊的尋址23數(shù)據(jù)塊的尋址231.打開數(shù)據(jù)塊然后訪問數(shù)據(jù)可用裝入L或傳送T指令訪問已經(jīng)打開的DB塊?!纠?-2-2】打開并訪問共享數(shù)據(jù)塊。241.打開數(shù)據(jù)塊然后訪問數(shù)據(jù)24【例5-2-3】打開并訪問背景數(shù)據(jù)塊。25【例5-2-3】打開并訪問背景數(shù)據(jù)塊。252.直接訪問數(shù)據(jù)塊指令中直接給出數(shù)據(jù)塊的編號和數(shù)據(jù)在數(shù)據(jù)塊中的地址??梢杂媒^對地址,也可用符號地址直接訪問數(shù)據(jù)塊。⑴用絕對地址直接訪問數(shù)據(jù)塊:⑵用符號地址直接訪問數(shù)據(jù)塊:262.直接訪問數(shù)據(jù)塊⑵用符號地址直接訪問數(shù)據(jù)塊:265.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)用。275.3邏輯塊(FC和FB)的結(jié)構(gòu)及編程275.3.1邏輯塊(FC和FB)的結(jié)構(gòu)邏輯塊由變量聲明表、代碼段及其屬性等部分組成。285.3.1邏輯塊(FC和FB)的結(jié)構(gòu)28FB的變量聲明表FC的變量聲明表29FB的變量聲明表FC的變量聲明表291.局部變量聲明表邏輯塊上部都有變量聲明表——局部變量聲明表。局部數(shù)據(jù)分為參數(shù)和局部變量。局部變量包括靜態(tài)變量和臨時變量。變量名類型說明輸入?yún)?shù)In由調(diào)用它的塊提供參數(shù),輸入給本邏輯塊輸出參數(shù)Out向調(diào)用它的塊返回參數(shù),即從本邏輯塊輸出數(shù)據(jù)I/O參數(shù)In_Out參數(shù)的值由被調(diào)用的塊提供,經(jīng)本塊運(yùn)算后再返回靜態(tài)變量Stat存儲在背景數(shù)據(jù)塊中,塊調(diào)用結(jié)束后其內(nèi)容被保留臨時變量Temp本塊執(zhí)行過程中暫存變量值,本塊結(jié)束變量值丟失301.局部變量聲明表局部數(shù)據(jù)分為參數(shù)和局部變量。變量名類型說數(shù)據(jù)塊數(shù)據(jù)的存儲:FB:帶有背景數(shù)據(jù)塊,內(nèi)部包含參數(shù)變量,F(xiàn)B的運(yùn)行結(jié)果保存在背景數(shù)據(jù)塊中。在調(diào)用FB時,若沒有提供實參,則功能塊使用背景數(shù)據(jù)塊中的數(shù)值。FC:不帶背景數(shù)據(jù)塊,不能使用靜態(tài)變量。在調(diào)用FC時,必須使用實參。OB:調(diào)用OB由操作系統(tǒng)管理的,用戶不能參與。31數(shù)據(jù)塊數(shù)據(jù)的存儲:312.邏輯塊局部變量的數(shù)據(jù)類型基本數(shù)據(jù)類型、復(fù)式數(shù)據(jù)類型、參數(shù)類型。參數(shù)類型包括定時器、計數(shù)器、塊的地址或指針等。322.邏輯塊局部變量的數(shù)據(jù)類型32局部變量的設(shè)置如下:33局部變量的設(shè)置如下:335.3.2邏輯塊(FC和FB)的編程對邏輯塊編程時必須編輯下列三個部分:變量聲明:定義形參、靜態(tài)變量(FC沒有)和臨時變量;選擇變量名(Name)、數(shù)據(jù)類型(DataType);如果需要,設(shè)置變量初始值(InitialValue)、加注釋(Comment)。局部變量的地址(Address)由STEP7自動產(chǎn)生。代碼段:用不同編程語言對PLC進(jìn)行編程。塊屬性:塊屬性包含一些附加信息。345.3.2邏輯塊(FC和FB)的編程341.臨時變量的定義和使用351.臨時變量的定義和使用352.形式參數(shù)的定義形式參數(shù)有3種:IN:只讀,輸入OUT:只寫,輸出IN_OUT:讀/寫,輸入/輸出362.形式參數(shù)的定義36選擇參數(shù)類型輸入?yún)?shù)名稱數(shù)據(jù)類型參數(shù)注解定義輸入?yún)?shù)定義輸出參數(shù)定義輸入/輸出參數(shù)數(shù)據(jù)類型下拉列表37選擇參數(shù)類型輸入?yún)?shù)名稱數(shù)據(jù)類型參數(shù)注解定義輸入?yún)?shù)定義輸出3.編寫控制程序編寫邏輯塊(FC和FB)程序時,可以用以下兩種方式使用局部變量:①使用變量名:變量名前加前綴“#”。②使用局部變量的地址,只適用于背景數(shù)據(jù)塊。在調(diào)用FB塊時,要指定背景數(shù)據(jù)塊。383.編寫控制程序38梯形圖編程的基本規(guī)則觸點(diǎn)只能與左母線相連,不能與右母線相連;線圈只能與右母線相連,不能直接與左母線相連,右母線可以省略;線圈可以并聯(lián),不能串聯(lián)連接;指令執(zhí)行順序:從左到右,從上到下。39梯形圖編程的基本規(guī)則39第5章S7-300程序結(jié)構(gòu)

與程序設(shè)計電氣控制技術(shù)與PLC應(yīng)用第5章S7-300程序結(jié)構(gòu)

與程序設(shè)計電氣控制技術(shù)與PL5.1S7-300CPU中的程序S7-300CPU程序分操作系統(tǒng)和用戶程序:操作系統(tǒng):由PLC的生產(chǎn)廠家提供,完成PLC起動、刷新、調(diào)用用戶程序、中斷/診斷/通信處理等任務(wù)。用戶程序:用戶為完成特定的任務(wù)而編寫的應(yīng)用程序,由STEP7編寫,編譯后下載到PLC的CPU中。第5章S7-300程序結(jié)構(gòu)與程序設(shè)計415.1S7-300CPU中的程序第5章S7-3005.1.1用戶程序中的塊STEP7用文件塊的形式管理用戶編寫的程序及程序運(yùn)行所需的數(shù)據(jù),組成結(jié)構(gòu)化的用戶程序。結(jié)構(gòu)化編程可使程序組織明確、結(jié)構(gòu)清晰、易于閱讀和修改。STEP7用戶程序塊:組織塊(OB)功能塊(FB)功能(FC)數(shù)據(jù)塊(DB)邏輯塊425.1.1用戶程序中的塊邏輯塊31.組織塊OBOB1是主程序循環(huán)塊,在任何情況下都必須存在。OB100~OB102用于系統(tǒng)初始化——只上電執(zhí)行一次。OB10~OB17用于日期時間中斷——CPU屬性設(shè)置。OB30~OB38用于循環(huán)中斷——CPU屬性設(shè)置。OB10...17日期時間中斷OB80...87異步錯誤OB20...23延時中斷定期的程序執(zhí)行OB30...38循環(huán)中斷事件驅(qū)動的程序執(zhí)行OB40...47硬件中斷OB100OB101啟動OB102循環(huán)的程序執(zhí)行OB1OB121,122同步錯誤錯誤OB中斷OB431.組織塊OBOB10...17OB80...87OB20.2.功能塊FB和功能FCFB、FC是用戶“子程序”;FB帶“記憶”功能,數(shù)據(jù)記憶在FB帶有的背景數(shù)據(jù)塊DB(InstanceDataBlock)中;在FB塊結(jié)束時數(shù)據(jù)繼續(xù)保持,即被“記憶”。功能FC不帶“記憶”,沒有背景數(shù)據(jù)塊。3.系統(tǒng)功能塊SFB和系統(tǒng)功能SFCSFB和SFC集成在S7功能程序庫中;用戶可以直接調(diào)用,但不能修改。442.功能塊FB和功能FC54.數(shù)據(jù)塊DBDB是用戶定義的用于存取數(shù)據(jù)的存儲區(qū),可以被打開或關(guān)閉。DB可以是某個FB的背景數(shù)據(jù)塊;也可以是通用的全局?jǐn)?shù)據(jù)塊,用于FB或FC的數(shù)據(jù)存儲。數(shù)據(jù)塊分類:全局(共享)數(shù)據(jù)塊背景數(shù)據(jù)塊用戶定義數(shù)據(jù)塊。454.數(shù)據(jù)塊DB64675.FC和FB的區(qū)別FB帶自己的存儲區(qū)(背景數(shù)據(jù)塊);FC不帶存儲區(qū);調(diào)用FB可以通過背景數(shù)據(jù)塊傳遞參數(shù),因此必須指定一背景數(shù)據(jù)塊;調(diào)用FC必須通過實參和形參互傳參數(shù)。475.FC和FB的區(qū)別8塊調(diào)用的分層結(jié)構(gòu)48塊調(diào)用的分層結(jié)構(gòu)9STEP7的塊STEP7的塊5.1.2用戶程序設(shè)計方法:1.線性化編程把用戶程序全部放置在一個循環(huán)程序塊(OB1)中,塊中的程序按順序逐條執(zhí)行;CPU通過反復(fù)執(zhí)行OB1來實現(xiàn)自動化控制任務(wù)。這種結(jié)構(gòu)和PLC所代替的硬接線繼電器控制類似。2.模塊化編程(分部式)把整個程序按任務(wù)分成若干個部分,并分別放置在不同的功能(FC)、功能塊(FB)及組織塊中;在一個塊中可以進(jìn)一步分解成段。在組織塊OB1中包含按順序調(diào)用這些塊的指令,并控制程序執(zhí)行。505.1.2用戶程序設(shè)計方法:113.結(jié)構(gòu)化編程根據(jù)控制任務(wù),把過程要求類似或相關(guān)的功能進(jìn)行分類,分割為幾個通用的小任務(wù),這些小任務(wù)用相應(yīng)的程序段表示,稱為塊(FC或FB)。OB1通過調(diào)用這些程序塊來完成自動化控制任務(wù)。特點(diǎn):每個塊(FC或FB)在OB1中可能會被多次調(diào)用,以完成相同工藝要求但不同參數(shù)的控制對象。簡化程序設(shè)計過程、減小代碼長度、提高編程效率。適合較復(fù)雜的自動化控制任務(wù)的設(shè)計。513.結(jié)構(gòu)化編程125.2數(shù)據(jù)塊中的數(shù)據(jù)存儲5.2.1數(shù)據(jù)存儲區(qū)數(shù)據(jù)以變量形式存儲,且具唯一。數(shù)據(jù)可以存儲在PII、PIQ、M、L堆棧和DB中。數(shù)據(jù)可以基本數(shù)據(jù)類型、復(fù)雜數(shù)據(jù)類型或參數(shù)類型。全局變量——符號表或共享數(shù)據(jù)塊中聲明的變量。局部變量——

OB、FC和FB的變量聲明表中的變量。525.2數(shù)據(jù)塊中的數(shù)據(jù)存儲135.2.2數(shù)據(jù)塊1.數(shù)據(jù)塊的分類符號表:只為方便程序閱讀,用于給變量設(shè)定名稱;符號表中變量為全局變量,可在程序所有地方使用。全局(共享)數(shù)據(jù)塊:存儲全局?jǐn)?shù)據(jù),所有邏輯塊(OB、FC、FB)都可以訪問共享數(shù)據(jù)塊的數(shù)據(jù)。背景數(shù)據(jù)塊:私有存儲器區(qū),只用作FB的存儲器。背景數(shù)據(jù)塊中包含了FB的參數(shù)和靜態(tài)變量。背景數(shù)據(jù)塊由編輯器生成,不能由用戶編輯。用戶定義數(shù)據(jù)塊:以UDT為模板所生成的數(shù)據(jù)塊。535.2.2數(shù)據(jù)塊142.數(shù)據(jù)塊寄存器CPU有兩個數(shù)據(jù)塊寄存器:DB(共享數(shù)據(jù)塊):DBX、DBB、DBW、DBDDI(背景數(shù)據(jù)塊):DIX、DIB、DIW、DID可以同時被打開。542.數(shù)據(jù)塊寄存器155.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)555.2.3數(shù)據(jù)塊的數(shù)據(jù)結(jié)構(gòu)165.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)。565.2.4建立數(shù)據(jù)塊17方法1:用SIMATICManager創(chuàng)建數(shù)據(jù)塊。

57方法1:用SIMATICManager創(chuàng)建數(shù)據(jù)塊。18方法2:用S7程序編輯器創(chuàng)建數(shù)據(jù)塊。

輸入數(shù)據(jù)塊名稱點(diǎn)擊“新建”圖標(biāo)選擇項目類型選擇S7項目選擇數(shù)據(jù)塊類型58方法2:用S7程序編輯器創(chuàng)建數(shù)據(jù)塊。輸入數(shù)據(jù)塊名稱點(diǎn)擊“新建DB類型選擇窗口

創(chuàng)建共享數(shù)據(jù)塊創(chuàng)建UDT數(shù)據(jù)塊指定相配套的UDT指定相配套的FB創(chuàng)建背景數(shù)據(jù)塊59新建DB類型選擇窗口創(chuàng)建共享數(shù)據(jù)塊創(chuàng)建UDT數(shù)據(jù)塊指定相編輯共享數(shù)據(jù)塊(變量定義)DB1原始窗口在DB1內(nèi)聲明變量60編輯共享數(shù)據(jù)塊(變量定義)DB1原始窗口在DB1內(nèi)聲明變量5.2.5訪問數(shù)據(jù)塊用戶程序有多個數(shù)據(jù)塊,在訪問數(shù)據(jù)塊時,必須指明數(shù)據(jù)塊的編號、數(shù)據(jù)類型與位置。如果訪問不存在的數(shù)據(jù)單元或數(shù)據(jù)塊,又沒有編寫錯誤處理OB塊,CPU將進(jìn)入STOP模式。615.2.5訪問數(shù)據(jù)塊22數(shù)據(jù)塊的尋址62數(shù)據(jù)塊的尋址231.打開數(shù)據(jù)塊然后訪問數(shù)據(jù)可用裝入L或傳送T指令訪問已經(jīng)打開的DB塊?!纠?-2-2】打開并訪問共享數(shù)據(jù)塊。631.打開數(shù)據(jù)塊然后訪問數(shù)據(jù)24【例5-2-3】打開并訪問背景數(shù)據(jù)塊。64【例5-2-3】打開并訪問背景數(shù)據(jù)塊。252.直接訪問數(shù)據(jù)塊指令中直接給出數(shù)據(jù)塊的編號和數(shù)據(jù)在數(shù)據(jù)塊中的地址。可以用絕對地址,也可用符號地址直接訪問數(shù)據(jù)塊。⑴用絕對地址直接訪問數(shù)據(jù)塊:⑵用符號地址直接訪問數(shù)據(jù)塊:652.直接訪問數(shù)據(jù)塊⑵用符號地址直接訪問數(shù)據(jù)塊:265.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)用。665.3邏輯塊(FC和FB)的結(jié)構(gòu)及編程275.3.1邏輯塊(FC和FB)的結(jié)構(gòu)邏輯塊由變量聲明表、代碼段及其屬性等部分組成。675.3.1邏輯塊(FC和FB)的結(jié)構(gòu)28FB的變量聲明表FC的變量聲明表68FB的變量聲明表FC的變量聲明表291.局部變量聲明表邏輯塊上部都有變量聲明表——局部變量聲明表。局部數(shù)據(jù)分為參數(shù)和局部變量。局部變量包括靜態(tài)變量和臨時變量。變量名類型說明輸入?yún)?shù)In由調(diào)用它的塊提供參數(shù),輸入給本邏輯塊輸出參數(shù)Out向調(diào)用它的塊返回參數(shù),即從本邏輯塊輸出數(shù)據(jù)I/O參數(shù)In_Out參數(shù)的值由被調(diào)用的塊提供,經(jīng)本塊運(yùn)算后再返回靜態(tài)變量Stat存儲在背景數(shù)據(jù)塊中,塊調(diào)用結(jié)束后其內(nèi)容被保留臨時變量Temp本塊執(zhí)行過程中暫存變量值,本塊結(jié)束變量值丟失691.局部變量聲明表局部數(shù)據(jù)分為參數(shù)和局部變量。變量名類型說數(shù)據(jù)塊數(shù)據(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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論