PLC應(yīng)用技術(shù)(S7-1200機型)課件 項目三 流動彩燈系統(tǒng)的設(shè)計_第1頁
PLC應(yīng)用技術(shù)(S7-1200機型)課件 項目三 流動彩燈系統(tǒng)的設(shè)計_第2頁
PLC應(yīng)用技術(shù)(S7-1200機型)課件 項目三 流動彩燈系統(tǒng)的設(shè)計_第3頁
PLC應(yīng)用技術(shù)(S7-1200機型)課件 項目三 流動彩燈系統(tǒng)的設(shè)計_第4頁
PLC應(yīng)用技術(shù)(S7-1200機型)課件 項目三 流動彩燈系統(tǒng)的設(shè)計_第5頁
已閱讀5頁,還剩73頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

《可編程控制器技術(shù)應(yīng)用》單燈控制程序設(shè)計主講教師:×××Microbot目錄010203第一部分:任務(wù)描述第二部分:任務(wù)準備與實施第三部分:任務(wù)檢查與評價目錄第一部分任務(wù)描述本系統(tǒng)要求設(shè)計一個單燈的控制系統(tǒng),按下”啟動”按鈕后,HL1開始閃爍,頻率為0.5Hz,按下停止按鈕后熄滅。要求完成系統(tǒng)的接線并用博途軟件進行編程、下載、運行。一、任務(wù)描述1.任務(wù)目標(1)理解定時器功能塊參數(shù)的含義。(2)理解內(nèi)部變量的含義。(3)能使用梯形圖創(chuàng)建簡單的用戶自定義功能塊程序。(4)能繪制單燈閃爍PLC系統(tǒng)的外部接線圖。(5)能利用功能塊程序編寫單燈閃爍控制程序。一、任務(wù)描述2.實施條件(1)已經(jīng)安裝完畢的1200系列PLC系統(tǒng)一套,包含相應(yīng)的數(shù)字量輸入、輸出模塊、電源模塊。(2)已經(jīng)安裝好博途軟件的計算機一臺。3.安全提示(1)PLC所有模塊的安裝與接線必須在斷電的情況下操作。(2)在安裝接線完成后,必須由指導(dǎo)教師檢查后才能上電運行。(3)在通電的情況下,不能用手去觸摸任何金屬端子。(4)出現(xiàn)任何異常情況先斷電,并立即向指導(dǎo)教師報告。目錄第二部分任務(wù)準備與實施二、任務(wù)準備與實施任務(wù)實施過程如圖3-1所示。圖3-1任務(wù)實施過程二、任務(wù)準備與實施1.PLC控制系統(tǒng)硬件設(shè)計(1)單燈控制系統(tǒng)工作原理的分析按下”啟動”按鈕SB1,燈HL1點亮,同時定時器開始啟動計時,0.5s時間到后,燈HL1熄滅,再過0.5s后,燈HL1再次點亮,如此循環(huán)下去。(2)繪制PLC外部接線原理圖并接線根據(jù)繼電器-接觸器控制原理,如圖所示完成本控制任務(wù)需要有”啟動”按鈕SB1這個主令控制信號作為輸入設(shè)備;有執(zhí)行元件(燈)HL1作為輸出設(shè)備。雖然還有定時器進行定時控制,但這種控制屬于PLC內(nèi)部的程序控制,并不對外部產(chǎn)生輸出信號。所以本系統(tǒng)共有一個輸入設(shè)備、一個輸出設(shè)備。PLC外部接線原理圖如圖3-2所示。二、任務(wù)準備與實施1.PLC控制系統(tǒng)硬件設(shè)計圖3-2PLC外部接線原理圖二、任務(wù)準備與實施2.程序設(shè)計(1)程序結(jié)構(gòu)S7-1200程序主要分為OB塊(組織塊),F(xiàn)B塊(功能塊),F(xiàn)C塊(函數(shù))以及數(shù)據(jù)塊(DB)。a.OB塊(組織塊)組織塊是操作系統(tǒng)和用戶程序之間的接口。OB用于執(zhí)行具體的程序:在CPU啟動時;在一個循環(huán)或延時時間到達時;當發(fā)生硬件中斷時;當發(fā)生故障時;組織塊根據(jù)其優(yōu)先級執(zhí)行。二、任務(wù)準備與實施2.程序設(shè)計

因此,組織塊的基本功能是調(diào)用用戶程序,同時還可以執(zhí)行自動化系統(tǒng)的啟動、循環(huán)程序的處理、中斷程序的執(zhí)行以及錯誤的處理等功能。OB組織塊分為三個優(yōu)先組,高優(yōu)先組中的組織塊可中斷低優(yōu)先組中的組織塊;如果同一個優(yōu)先組中的組織塊同時觸發(fā)將按其優(yōu)先級由高到低進行排隊依次執(zhí)行;如果同一個優(yōu)先級的組織塊同時觸發(fā)時,將按塊的編號由小到大依次執(zhí)行。編號設(shè)定如圖3-3所示。圖3-3組織塊編號設(shè)定二、任務(wù)準備與實施2.程序設(shè)計b.FB塊(功能塊)功能塊(FB)是使用背景數(shù)據(jù)塊保存其參數(shù)和靜態(tài)數(shù)據(jù)的代碼塊。FB具有位于數(shù)據(jù)塊(DB)或“背景”DB中的變量存儲器。背景DB提供與FB的實例(或調(diào)用)關(guān)聯(lián)的一塊存儲區(qū)并在FB完成后存儲數(shù)據(jù)??蓪⒉煌谋尘癉B與FB的不同調(diào)用進行關(guān)聯(lián)。通過背景DB可使用一個通用FB控制多個設(shè)備。通過使一個代碼塊對FB和背景DB進行調(diào)用,來構(gòu)建程序。然后,CPU執(zhí)行該FB中的程序代碼,并將塊參數(shù)和靜態(tài)局部數(shù)據(jù)存儲在背景DB中。FB執(zhí)行完成后,CPU會返回到調(diào)用該FB的代碼塊中。背景DB保留該FB實例的值。隨后在同一掃描周期或其它掃描周期中調(diào)用該功能塊時可使用這些值。圖3-4顯示了三次調(diào)用同一個FB的OB,方法是針對每次調(diào)用使用一個不同的數(shù)據(jù)塊。該結(jié)構(gòu)使一個通用FB,在每次調(diào)用時為各設(shè)備分配不同的背景數(shù)據(jù)塊。每個背景DB存儲單個設(shè)備的運行數(shù)據(jù)。我們在第一個任務(wù)用使用的計數(shù)器就是這樣的一種情況。圖3-4功能塊的多次調(diào)用圖3-4功能塊的多次調(diào)用圖3-4功能塊的多次調(diào)用二、任務(wù)準備與實施2.程序設(shè)計c.FC塊(功能)功能(FC)是通常用于對一組輸入值執(zhí)行特定運算的代碼塊。FC將此運算結(jié)果存儲在存儲器位置。例如,可使用FC執(zhí)行標準運算和可重復(fù)使用的運算(例如數(shù)學(xué)計算)或者執(zhí)行工藝功能(如使用位邏輯運算執(zhí)行獨立的控制)。FC也可以在程序中的不同位置多次調(diào)用。此重復(fù)使用簡化了對經(jīng)常重復(fù)發(fā)生的任務(wù)的編程。FC不具有相關(guān)的背景數(shù)據(jù)塊(DB)。對于用于計算該運算的臨時數(shù)據(jù),F(xiàn)C采用了局部數(shù)據(jù)堆棧。不保存臨時數(shù)據(jù)。二、任務(wù)準備與實施2.程序設(shè)計d.數(shù)據(jù)塊(DB)數(shù)據(jù)塊用于存儲程序數(shù)據(jù),分為全局數(shù)據(jù)塊和背景數(shù)據(jù)塊。數(shù)據(jù)塊就相當于其他的變量地址,訪問方式分為直接和間接尋址方式。在創(chuàng)建DB塊時,如果需要可以插入建好的。對于背景數(shù)據(jù)塊,它與函數(shù)塊相關(guān)聯(lián),存儲FB的輸入、輸出、輸入/輸出、靜態(tài)變量的參數(shù),其變量只能在FB中定義,不能在背景數(shù)據(jù)塊中直接創(chuàng)建,程序中調(diào)用FB時,可以分配一個創(chuàng)建的背景DB,也可以直接定義一個新的DB塊,該DB塊將自動生成并作為這個FB的背景數(shù)據(jù)塊。二、任務(wù)準備與實施2.程序設(shè)計e.用戶程序結(jié)構(gòu)根據(jù)實際應(yīng)用要求,可選擇線性結(jié)構(gòu)或模塊化結(jié)構(gòu)用于創(chuàng)建用戶程序。線性程序按順序逐條執(zhí)行用于自動化任務(wù)的所有指令。通常,線性程序?qū)⑺谐绦蛑噶疃挤湃胗糜谘h(huán)執(zhí)行程序的OB(OB1)中。我們前面所做的程序基本都是線性程序。如圖3-5所示。圖3-5線性程序結(jié)構(gòu)二、任務(wù)準備與實施2.程序設(shè)計e.用戶程序結(jié)構(gòu)模塊化程序調(diào)用可執(zhí)行特定任務(wù)的特定代碼塊。要創(chuàng)建模塊化結(jié)構(gòu),需要將復(fù)雜的自動化任務(wù)劃分為與過程的工藝功能相對應(yīng)的更小的次級任務(wù)。每個代碼塊都為每個次級任務(wù)提供程序段。通過從另一個塊中調(diào)用其中一個代碼塊來構(gòu)建程序。如圖3-6所示。圖3-6模塊化程序結(jié)構(gòu)二、任務(wù)準備與實施2.程序設(shè)計e.用戶程序結(jié)構(gòu)通過創(chuàng)建可在用戶程序中重復(fù)使用的通用代碼塊,可簡化用戶程序的設(shè)計和實現(xiàn)。使用通用代碼塊具有許多優(yōu)點:可為標準任務(wù)創(chuàng)建能夠重復(fù)使用的代碼塊,如用于控制泵或電機;也可以將這些通用代碼塊存儲在可由不同的應(yīng)用或解決方案使用的庫中。將用戶程序構(gòu)建到與功能任務(wù)相關(guān)的模塊化組件中,可使程序的設(shè)計更易于理解和管理。模塊化組件不僅有助于標準化程序設(shè)計,也有助于使更新或修改程序代碼更加快速和容易。通過將整個程序構(gòu)建為一組模塊化程序段,可在開發(fā)每個代碼塊時測試其功能。創(chuàng)建與特定工藝功能相關(guān)的模塊化組件,有助于簡化對已完成應(yīng)用程序的調(diào)試,并減少調(diào)試過程中所用的時間。二、任務(wù)準備與實施2.程序設(shè)計(2)定時器與西門子傳統(tǒng)的PLC不同,S7-1200系列PLC使用了IEC格式的定時器,它們都屬于功能塊(FB),有自己專用的存儲區(qū)(背景數(shù)據(jù)),定時器的指令保存在背景數(shù)據(jù)塊中。在插入定時器或者計數(shù)器指令時,要求創(chuàng)建一個16字節(jié)的IEC_Timer數(shù)據(jù)類型或者IEC_Counter的DB結(jié)構(gòu)(背景數(shù)據(jù)塊)。與傳統(tǒng)的定時器相比,減少了內(nèi)存使用,而且使用數(shù)量僅受CPU存儲容量大小限制。IEC定時器和計數(shù)器沒有編號,可以使用背景數(shù)據(jù)塊的名稱來做定時器或者計數(shù)器的標識符名稱。西門子1200定時器有4種不同類型,分別是脈沖定時器(TP)、延時導(dǎo)通定時器(TON)、延時斷開定時器(TOF)、時間累加器(TONR)。二、任務(wù)準備與實施2.程序設(shè)計a.脈沖定時器(TP)使用脈沖定時器(TP)的功能是將輸出Q置位保持到預(yù)設(shè)的時間。當輸入IN的邏輯運算結(jié)果(RLO)從0變?yōu)?時,啟動該指令。指令啟動時,預(yù)設(shè)的時間PT即開始計時。無論后續(xù)輸入信號的狀態(tài)如何變化,都將輸出Q置位直到PT指定的時間結(jié)束。如果IN輸入信號為1狀態(tài),則當前時間值保持不變,否則將變?yōu)?。PT為預(yù)設(shè)時間值,ET為定時開始后經(jīng)過的時間也就是當前時間,數(shù)據(jù)類型為32位的Time,單位為ms,可以不給Q和ET指定地址。各參數(shù)可以使用I、Q、M、D、L存儲區(qū),IN和PT也可以給定常量。如圖3-7所示,當I0.0得電,Q0.0輸出10S,其時序圖如圖XX所示。如果想中途斷開輸出,可以使用定時器復(fù)位線圈(RT)指令實現(xiàn)。二、任務(wù)準備與實施2.程序設(shè)計a.脈沖定時器(TP)

圖3-7脈沖定時器程序及波形圖二、任務(wù)準備與實施2.程序設(shè)計b.延時導(dǎo)通定時器(TON)如圖3-8所示。延時導(dǎo)通定時器(TON)的功能是將輸出Q的置位時間延時到PT指定的時間,當輸入IN的邏輯運算結(jié)果(RLO)從0變?yōu)?時,該指令啟動。當IN接通的時間大于等于PT,ET達到定時時間,輸出Q置位,IN斷開,Q復(fù)位;如果當IN接通的時間小于PT,當前時間ET被清零,輸出Q保持0狀態(tài)不變。延時導(dǎo)通定時器(TON)如圖XX所示,各參數(shù)可以使用I、Q、M、D、L存儲區(qū),IN和PT也可以給定常量。二、任務(wù)準備與實施2.程序設(shè)計b.延時導(dǎo)通定時器(TON)圖3-8延時導(dǎo)通定時器程序及波形圖二、任務(wù)準備與實施2.程序設(shè)計c.延時關(guān)斷定時器(TOF)延時關(guān)斷定時器(TOF)的功能是將輸出Q的關(guān)斷時間延時到PT指定的時間,當輸入IN的邏輯運算結(jié)果(RLO)從0變?yōu)?時,將輸出Q置位。當輸入IN處的信號狀態(tài)變回0時,預(yù)設(shè)的時間PT開始計時,達到定時時間輸出Q置位。如果當前時間未達到PT預(yù)設(shè)定的值,IN輸入信號變?yōu)?,當前時間ET被清零,輸出Q保持1狀態(tài)不變。延時關(guān)斷定時器(TOF),如圖3-9所示,各參數(shù)可以使用I、Q、M、D、L存儲區(qū),IN和PT也可以給定常量。二、任務(wù)準備與實施2.程序設(shè)計c.延時關(guān)斷定時器(TOF)圖3-9延時關(guān)斷定時器程序及波形圖二、任務(wù)準備與實施2.程序設(shè)計d.時間累加器(TONR)如圖3-10所示。時間累加器(TONR)的IN接通時開始計時,輸入斷開,累計的時間保持不變,當累計時間達到設(shè)定值,定時Q輸出變?yōu)?。時間累加器(TONR)除了具有失電保持功能外,其余功能和延時導(dǎo)通定時器完全一樣。其累加器復(fù)位清零是通過在復(fù)位輸入端(R)實現(xiàn)。二、任務(wù)準備與實施2.程序設(shè)計d.時間累加器(TONR)圖3-10時間累加器程序及波形圖二、任務(wù)準備與實施3.程序輸入和仿真(1)使用TON功能塊直接進行編程程序如圖3-11所示。利用timer(1s)的來控制周期的復(fù)位,用timer(0.5s)的來控制燈亮的時間。圖3-11線性編程二、任務(wù)準備與實施3.程序輸入和仿真(2)模塊化編程模塊化程序變量表如圖3-12所示。功能塊程序如圖3-13所示,主程序如圖3-14所示。圖3-12功能塊程序變量表二、任務(wù)準備與實施3.程序輸入和仿真(2)模塊化編程圖3-13功能塊程序圖二、任務(wù)準備與實施3.程序輸入和仿真(2)模塊化編程圖3-14主程序二、任務(wù)準備與實施3.程序輸入和仿真(3)程序的拓展若原系統(tǒng)的控制要求變?yōu)樾枰瑫r控制兩個燈的閃爍。對于使用了功能塊進行編程的程序來講,只要求增加一個數(shù)據(jù)DB塊就可以完成設(shè)計。具體程序如圖3-15所示。二、任務(wù)準備與實施3.程序輸入和仿真(3)程序的拓展

圖3-15雙燈控制程序二、任務(wù)準備與實施4.程序下載和運行程序下載到實體PLC并填寫下面表格當前狀態(tài)觀測對象變化啟動按鈕按下后M0.01s定時器0.5秒定時器M0.1燈停止按鈕按下后M0.01s定時器0.5秒定時器M0.1燈二、任務(wù)準備與實施5.6S整理在所有的任務(wù)都完成后,按照6S職業(yè)標準打掃實訓(xùn)場地。目錄第三部分任務(wù)檢查與評價三、任務(wù)檢查與評價評分點得分硬件能正確識別模塊,并了解模塊的主要功能(10)接線正確且符合中級維修電工工藝標準(10)安全操作(10)軟件CPU選型正確(10)變量表定義正確(10)編譯、上傳、下載程序正確(20)單燈控制系統(tǒng)的程序功能正確(20)職業(yè)素養(yǎng)課后整理等(10)《可編程控制器技術(shù)應(yīng)用》謝謝觀看!《可編程控制器技術(shù)應(yīng)用》流動彩燈控制系統(tǒng)的設(shè)計主講教師:×××Microbot目錄010203第一部分:任務(wù)描述第二部分:任務(wù)準備與實施第三部分:任務(wù)檢查與評價目錄第一部分任務(wù)描述有4盞彩燈HL1、HL2、HL3、HL4成一排。當”啟動”按鈕按下時,從HL1到HL4以1s為間隔依次循環(huán)點亮。當按下“停止”按鈕時,所有燈熄滅。要求完成系統(tǒng)的接線,并用博途軟件編程、下載、運行。一、任務(wù)描述1.任務(wù)目標(1)掌握SCL編程語言的語法。(2)理解傳送、移位四則運算、比較等指令的含義。(3)能繪制流動彩燈PLC系統(tǒng)的外部接線圖。(4)能利用傳送、移位四則運算、比較等指令編寫流動彩燈PLC控制程序。一、任務(wù)描述2.實施條件(1)已經(jīng)安裝完畢的1200系列PLC系統(tǒng)一套。(2)已安裝博途軟件的計算機一臺。一、任務(wù)描述3.安全提示(1)PLC所有模塊的安裝與接線必須在斷電的情況下操作。(2)在安裝接線完成后,必須由指導(dǎo)教師檢查后才能上電運行。(3)在通電的情況下,不能用手去觸摸任何金屬端子。(4)出現(xiàn)任何異常情況先斷電,并立即向指導(dǎo)教師報告。目錄第二部分任務(wù)準備與實施二、任務(wù)準備與實施任務(wù)實施過程如圖3-16所示。圖3-16任務(wù)實施過程二、任務(wù)準備與實施1.PLC控制系統(tǒng)硬件設(shè)計(1)多燈控制系統(tǒng)工作原理的分析按下”啟動”按鈕SB1時HL1亮,同時定時器開始啟動計時。1s后HL1滅,HL2亮;再過1s,HL2滅,HL3亮……即HL1~HL4每隔1s輪流點亮。按下“停止”按鈕SB2時所有燈滅。二、任務(wù)準備與實施1.PLC控制系統(tǒng)硬件設(shè)計(2)繪制PLC外部接線原理圖并接線根據(jù)繼電器-接觸器控制原理,如圖所示完成本控制任務(wù)需要有”啟動”按鈕SB1和”停止”按鈕SB2這兩個主令控制信號作為輸入設(shè)備;有4個執(zhí)行元件(燈)HL1~HL4作為輸出設(shè)備。雖然還有定時器進行定時控制,但這種控制屬于PLC內(nèi)部的程序控制,并不對外部產(chǎn)生輸出信號。所以本系統(tǒng)共有兩個輸入設(shè)備、4個輸出設(shè)備。PLC外部接線原理圖如圖3-17所示。圖3-17PLC外部接線原理圖二、任務(wù)準備與實施2.程序設(shè)計(1)SCL語言結(jié)構(gòu)化控制語言(SCL,StructuredControlLanguage)是用于SIMATICS7CPU的基于PASCAL的高級編程語言。SCL指令使用標準編程運算符,例如,用(:=)表示賦值,算術(shù)功能(+表示相加,-表示相減,*表示相乘,/表示相除)。SCL也使用標準的PASCAL程序控制操作,如IF-THEN-ELSE、CASE、REPEAT-UNTIL、GOTO和RETURN。SCL編程語言中的語法元素還可以使用所有的PASCAL參考。

a.SCL表達式的構(gòu)造SCL表達式是用于計算值的公式。表達式由操作數(shù)和運算符(如*、/、+或-)組成。操作數(shù)可以是變量、常量或表達式。表達式的計算按一定的順序進行,具體由以下因素決定:二、任務(wù)準備與實施2.程序設(shè)計(1)SCL語言●每個運算符均具有預(yù)定義的優(yōu)先級,首先執(zhí)行優(yōu)先級最高的運算?!癜磸淖笾劣业捻樞蛱幚韮?yōu)先級相同的運算符?!窨墒褂脠A括號指定要一起計算的一系列運算符。表達式的結(jié)果可用于將值分配給程序使用的變量、用作由控制語句使用的條件、用作其它SCL指令的參數(shù)或者用于調(diào)用代碼塊。作為一種高級編程語言,SCL使用標準語句實現(xiàn)基本任務(wù):●賦值語句::=二、任務(wù)準備與實施2.程序設(shè)計(1)SCL語言●算術(shù)功能:+、-、*和/●全局變量的尋址:"<變量名稱>"(變量名稱或數(shù)據(jù)塊名稱括在雙引號內(nèi))●局部變量的尋址:#<變量名稱>(在變量名稱前加“#”符號)以下示例顯示了用法不同的各種表達式:"C":=#A+#B;將兩個局部變量之和賦值給一個變量"Data_block_1".Tag:=#A;為數(shù)據(jù)塊變量賦值IF#A>#BTHEN"C":=#A;IF-THEN語句的條件"C":=SQRT(SQR(#A)+SQR(#B));SQRT指令的參數(shù)二、任務(wù)準備與實施2.程序設(shè)計(1)SCL語言算術(shù)運算符可以處理各種數(shù)值數(shù)據(jù)類型。結(jié)果的數(shù)據(jù)類型取決于最高有效操作數(shù)的數(shù)據(jù)類型。例如,使用INT操作數(shù)和REAL操作數(shù)的乘法運算會產(chǎn)生REAL結(jié)果值二、任務(wù)準備與實施2.程序設(shè)計(1)SCL語言

b.控制語句控制語句是SCL表達式的一種專用類型,可用于執(zhí)行以下任務(wù):●程序分支●重復(fù)SCL編程代碼的某些部分●跳轉(zhuǎn)到SCL程序的其它部分●按條件執(zhí)行二、任務(wù)準備與實施2.程序設(shè)計(1)SCL語言SCL控制語句包括IF-THEN、CASE-OF、FOR-TO-DO、WHILE-DO、REPEATUNTIL、CONTINUE、GOTO和RETURN。一條語句通常占一行代碼??梢栽谝恍兄休斎攵鄺l語句,或者可將一條語句斷開成多行代碼以使代碼易于閱讀。分隔符(如制表符、換行符和多余空格)在語法檢查期間會被忽略。END語句可終止控制語句。以下示例顯示的是FOR-TO-DO控制語句。(兩種形式的代碼在語法上均有效。)FORx:=0TOmaxDOsum:=sum+value(x);END_FOR;FORx:=0TOmaxDOsum:=sum+value(x);END_FOR;二、任務(wù)準備與實施2.程序設(shè)計(2)移動指令數(shù)據(jù)移動指令(MOVE)的功能是將存儲在確定地址單元的數(shù)據(jù)復(fù)制到新的存儲單元。具體說明如表3-1所示。所能使用的數(shù)據(jù)類型如表3-2所示。LAD/LBDSCL說明out1:=in;將存儲在指定地址的數(shù)據(jù)元素復(fù)制到新地址或多個地址。表3-1移動指令二、任務(wù)準備與實施2.程序設(shè)計(2)移動指令

表3-2移動指令的數(shù)據(jù)類型參數(shù)數(shù)據(jù)類型說明IN、OUTSInt,Int,DInt,USInt,UInt,UDInt,Real,LReal,Byte,Word,DWord,Char,WChar,Array,Struct,DTL,Time,Date,TOD,IEC數(shù)據(jù)類型,PLC數(shù)據(jù)類型IN為源地址OUT為目標地址二、任務(wù)準備與實施2.程序設(shè)計(2)移動指令

舉例:

a.BOOL型數(shù)據(jù)的傳送LADSCL二、任務(wù)準備與實施2.程序設(shè)計(2)移動指令

b.數(shù)值的傳送LADSCL二、任務(wù)準備與實施2.程序設(shè)計(3)移位指令移位指令的功能是在使能端EN得電的時候,將輸入端IN的數(shù)據(jù)逐位右移或者左移若干位。移位指令的說明如表3-3所示,參數(shù)的數(shù)據(jù)類型如表3-4所示。LAD/LBDSCL說明out:=SHR(in:=_variant_in_,n:=_uint_in);out:=SHL(in:=_variant_in_,n:=_uint_in);使用移位指令(SHL和SHR)移動參數(shù)IN的位序列。結(jié)果將分配給參數(shù)OUT。參數(shù)N指定移位的位數(shù):?SHR:右移位序列?SHL:左移位序列表3-3移動指令的說明二、任務(wù)準備與實施2.程序設(shè)計(3)移位指令參數(shù)數(shù)據(jù)類型說明IN整數(shù)要移位的位序列NUSInt,UDint要移位的位數(shù)OUT整數(shù)移位操作后的位序列表3-4移動指令參數(shù)的數(shù)據(jù)類型●若N=0,則不移位。將IN值分配給OUT?!裼?填充移位操作清空的位位置。●如果要移位的位數(shù)(N)超過目標值中的位數(shù)(Byte為8位、Word為16位、DWord為32位),則所有原始位值將被移出并用0代替(將0分配給OUT)?!駥τ谝莆徊僮?,ENO總是為TRUE。二、任務(wù)準備與實施2.程序設(shè)計(3)移位指令舉例:自右插入零,使Word的位左移(N=1)IN1110001010101101首次移位前的OUT值:1110001010101101首次左移后:1100010101011010第二次左移后:1000101010110100第三次左移后:0001010101101000二、任務(wù)準備與實施2.程序設(shè)計(4)循環(huán)指令循環(huán)移位指令的功能是在使能端EN得電的時候,將輸入端IN的數(shù)據(jù)逐位循環(huán)右移或者循環(huán)左移。循環(huán)指令的說明如表3-5所示,參數(shù)的數(shù)據(jù)類型如表3-6所示。LAD/LBDSCL說明out:=ROL(in:=_variant_in_,n:=_uint_in);out:=ROR(in:=_variant_in_,n:=_uint_in);循環(huán)指令(ROR和ROL)用于將參數(shù)IN的位序列循環(huán)移位。結(jié)果分配給參數(shù)OUT。參數(shù)N定義循環(huán)移位的位數(shù)。?ROR:循環(huán)右移位序列?ROL:循環(huán)左移位序列表3-5循環(huán)指令說明二、任務(wù)準備與實施2.程序設(shè)計(4)循環(huán)指令參數(shù)數(shù)據(jù)類型說明IN整數(shù)要移位的位序列NUSInt,UDint要移位的位數(shù)OUT整數(shù)移位操作后的位序列自右插入零,使Word的位循環(huán)左移(N=1)IN1110001010101101首次移位前的OUT值:1110001010101101首次左移后:1100010101011011第二次左移后:1000101010110111第三次左移后:0001010101101111表3-6循環(huán)指令參數(shù)的數(shù)據(jù)類型舉例二、任務(wù)準備與實施2.程序設(shè)計(5)比較指令比較指令通常用來比較兩個數(shù)據(jù)之間的大小關(guān)系。比較指令的說明如表3-7所示,參數(shù)的數(shù)據(jù)類型如表3-8所示。LADFBDSCL說明out:=in1=in2;orIFin1=in2THENout:=1;ELSEout:=0;END_IF;比較數(shù)據(jù)類型相同的兩個值。該LAD觸點比較結(jié)果為TRUE時,則該觸點會被激活。如果該FBD功能框比較結(jié)果為TRUE,則功能框輸出為TRUE。表3-7比較指令的說明二、任務(wù)準備與實施2.程序設(shè)計(5)比較指令對于LAD和FBD:單擊指令名稱(如“==”),以從下拉列表中更改比較類型。單擊“???”并從下拉列表中選擇數(shù)據(jù)類型。參數(shù)數(shù)據(jù)類型說明IN1,IN2Byte,Word,DWord,SInt,Int,DInt,USInt,UInt,UDInt,Real,LReal,String,WString,Char,Char,Time,Date,TOD,DTL,常數(shù)要比較的值表3-8比較指令的參數(shù)數(shù)據(jù)類型二、任務(wù)準備與實施2.程序設(shè)計(6)數(shù)據(jù)四則計算指令四則計算通常用于兩個或兩個以上的數(shù)據(jù)進行四則計算。四則運算指令的說明如表3-9所示,參數(shù)的數(shù)據(jù)類型如表3-10所示。LAD/LBDSCL說明out:=in1+in2;out:=in1-in2;out:=in1*in2;out:=in1/in2;?ADD:加法(IN1+IN2=OUT)?SUB:減法(IN1-IN2=OUT)?MUL:乘法(IN1*IN2=OUT)?DIV:除法(IN1/IN2=OUT)整數(shù)除法運算會截去商的小數(shù)部分以生成整數(shù)輸出。表3-9四則運算指令說明二、任務(wù)準備與實施2.程序設(shè)計(6)數(shù)據(jù)四則計算指令對于LAD和FBD:單擊“???”并從下拉菜單中選擇數(shù)據(jù)類型。表3-10四則運算指令參數(shù)類型參數(shù)數(shù)據(jù)類型說明IN1,IN2SInt,Int,DInt,USInt,UInt,UDInt,Real,LReal,常數(shù)數(shù)學(xué)運算輸入OUTSInt,Int,DInt,USInt,UInt,UDInt,Real,LReal,數(shù)學(xué)運算輸出二、任務(wù)準備與實施2.程序設(shè)計(7)SCL控制語句結(jié)構(gòu)化控制語言(SCL,StructuredControlLanguage)提供三類用于結(jié)構(gòu)化用戶程序的程序控制語句:●選擇語句:選擇語句可將程序執(zhí)行轉(zhuǎn)移到備選語句序列?!裱h(huán):可以使用迭代語句控制循環(huán)執(zhí)行。迭代語句指定應(yīng)根據(jù)某些條件重復(fù)執(zhí)行的程序部分?!癯绦蛱D(zhuǎn):程序跳轉(zhuǎn)是指立刻跳轉(zhuǎn)到特定的跳轉(zhuǎn)目標,因而跳轉(zhuǎn)到同一塊內(nèi)的其它語句。a.IF-THEN語句IF-THEN語句是條件語句,可控制程序流,根據(jù)邏輯表達式的Bool值的結(jié)果決定是否執(zhí)行一組語句。還可以使用括號嵌套或結(jié)構(gòu)化多條IF-THEN

語句的執(zhí)行。IF-THEN語句的元素如表3-11所示。二、任務(wù)準備與實施2.程序設(shè)計(7)SCL控制語句SCL說明IF"condition"THENstatement_A;statement_B;statement_C;如果“condition”為TRUE或1,則執(zhí)行后面的語句,直到遇到END_IF語句為止。如果“condition”為FALSE或0,則跳轉(zhuǎn)到END_IF語句(除非程序包含可選的ELSIF或ELSE語句)。[EL

溫馨提示

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

評論

0/150

提交評論