版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
項
目
分
析
相
關
知
識項
目
導
入項
目
實
施目錄Contents項
目
拓
展項目7十字路口交通信號燈的控制練
習
講
解項目導入當啟動按鈕接通時,交通信號燈系統(tǒng)開始工作:首先南北方向紅燈亮、東西方向綠燈亮,南北方向紅燈亮維持30s,在此期間東西方向綠燈亮維持25s,25s后東西方向綠燈閃爍,閃爍3s后熄滅,接著東西方向黃燈亮并維持2s,2s后東西方向黃燈熄滅、紅燈亮,同時南北方向紅燈熄滅、綠燈亮;東西方向紅燈亮維持30s,在此期間南北方向綠燈亮維持25s,25s后南北方向綠燈閃爍,閃爍3s后熄滅,接著南北方向黃燈亮并維持2s,2s后南北方向黃燈滅、紅燈亮,同時東西方向紅燈滅、綠燈亮,如此周而復始。按下停止按鈕后,全部燈熄滅。項目7十字路口交通信號燈的控制項目分析交通信號燈的順序控制過程狀態(tài)轉換如上圖,如運料小車的往返運動一樣,可采用以轉換為中心的順序控制設計法,置位/復位指令來實現(xiàn)順序控制的設計。項目7十字路口交通信號燈的控制本項目采用結構化程序設計的思路,由于東西方向和南北方向交通信號燈的運行情況相同,因此兩個方向的交通信號燈的運行采用同一個函數(shù)來實現(xiàn),在主程序中兩次調用該函數(shù)即可。在函數(shù)的設計中,由于遵循時間規(guī)則,因此可以采用比較指令或定時器指令來實現(xiàn)。相關知識--組織塊、函數(shù)、函數(shù)塊和數(shù)據(jù)塊項目7十字路口交通信號燈的控制塊塊包括組織塊(OB)、函數(shù)(FC)、函數(shù)塊(FB)和數(shù)據(jù)塊(DB),而數(shù)據(jù)塊又包括全局數(shù)據(jù)塊和背景數(shù)據(jù)塊。組織塊中可以包含全局數(shù)據(jù)塊,組織塊可以調用函數(shù)塊和函數(shù),而函數(shù)塊又可以調用函數(shù)塊或函數(shù)。相關知識--組織塊(OB)項目7十字路口交通信號燈的控制啟動組織塊當CPU的工作模式從STOP切換到RUN時,執(zhí)行一次啟動組織塊。執(zhí)行完啟動組織塊后,就開始執(zhí)行循環(huán)組織塊。由于啟動組織塊只執(zhí)行一次,因此一般用于初始化項目中的變量。一個項目的程序塊中可以添加多個啟動組織塊,默認的啟動組織塊為OB100。相關知識--組織塊(OB)項目7十字路口交通信號燈的控制循環(huán)組織塊每個掃描周期都會被執(zhí)行到的組織塊叫作循環(huán)組織塊,默認的循環(huán)組織塊為OB1。同樣,一個項目的程序塊中可以添加多個循環(huán)組織塊,CPU會按數(shù)字順序從主程序循環(huán)組織塊(默認為OB1)開始執(zhí)行每個程序循環(huán)組織塊。相關知識--組織塊(OB)項目7十字路口交通信號燈的控制中斷組織塊中斷組織塊包括延時中斷組織塊、循環(huán)中斷組織塊、硬件中斷組織塊、時間錯誤中斷組織塊和診斷錯誤中斷組織塊,用來對內部或外部事件做出快速響應,一旦出現(xiàn)中斷事件,操作系統(tǒng)執(zhí)行完當前的指令后立即響應中斷,中斷組織塊執(zhí)行結束后,返回到斷點處繼續(xù)執(zhí)行循環(huán)組織塊。相關知識--函數(shù)項目7十字路口交通信號燈的控制函數(shù)(FC)
函數(shù)是一種可以快速執(zhí)行的子程序塊,它包含用于完成特定任務的代碼和參數(shù),通常用于根據(jù)輸入?yún)?shù)執(zhí)行指令。
在程序中的不同點可以多次調用函數(shù),沒有分配給函數(shù)的背景數(shù)據(jù)塊,函數(shù)使用臨時堆棧臨時保存數(shù)據(jù),函數(shù)退出運行后,臨時堆棧中的數(shù)據(jù)將丟失。函數(shù)分為有參函數(shù)和無參函數(shù)兩大類,有參函數(shù)在調用時必須提供函數(shù)的實參。相關知識--函數(shù)塊項目7十字路口交通信號燈的控制函數(shù)塊(FB)
函數(shù)塊是一種使用參數(shù)進行調用的程序塊,其參數(shù)存儲在背景數(shù)據(jù)塊中,函數(shù)塊退出運行后,保存在背景數(shù)據(jù)塊中的參數(shù)不會丟失。函數(shù)塊可以多次調用,每次調用都可以分配一個獨立的背景數(shù)據(jù)塊,多個獨立的背景數(shù)據(jù)塊也可以組合成一個多重背景數(shù)據(jù)塊。與有參函數(shù)不同的是,函數(shù)塊的參數(shù)可以賦值,也可以不賦值。相關知識--數(shù)據(jù)塊項目7十字路口交通信號燈的控制數(shù)據(jù)塊(DB)
數(shù)據(jù)塊用于保存用戶數(shù)據(jù),數(shù)據(jù)塊的最大存儲空間由CPU的工作存儲器容量決定。數(shù)據(jù)塊分為全局數(shù)據(jù)塊和背景數(shù)據(jù)塊。全局數(shù)據(jù)塊可以被所有的程序塊訪問,即任何組織塊、函數(shù)、函數(shù)塊都可訪問全局數(shù)據(jù)塊中的數(shù)據(jù),全局數(shù)據(jù)塊的結構可自由選用。背景數(shù)據(jù)塊用于分配給特定的函數(shù)塊,背景數(shù)據(jù)塊的結構與相應的函數(shù)塊接口一致。還可以采用UDT(用戶自定義數(shù)據(jù)類型)創(chuàng)建全局數(shù)據(jù)塊模板。相關知識--數(shù)據(jù)指令--比較指令--關系比較指令項目7十字路口交通信號燈的控制關系比較指令
關系比較指令用于比較兩個相同類型數(shù)據(jù)的大小
關系比較符:“==”(等于)、“<>”(不等于)、“>”(大于)、“<”(小于)、“>=”(大于或等于)和“<=”(小于或等于)。
比較的數(shù)據(jù)類型:SInt、Int、DInt、USInt、UInt、UDInt、Real、LReal、String、Char、Time、Date、DTL和常數(shù)。
比較結果:邏輯值TRUE或FALSE。相關知識--數(shù)據(jù)指令--比較指令--關系比較指令項目7十字路口交通信號燈的控制等于不等于大于等于小于等于大于小于用接通延時定時器和關系比較指令組成占空比可調的脈沖發(fā)生器。高電平為2S,周期為3S的脈沖信號,脈沖信號從Q0.0輸出。項目7十字路口交通信號燈的控制應用舉例1相關知識--數(shù)據(jù)指令有一密碼鎖,SB1為開鎖確認鍵,SB4為復位鍵,SB5為報警鍵,開鎖條件為:按SB2鍵3次后,再按SB3鍵2次,再按確認鍵,鎖即被打開。當SB2、SB3鍵按鍵次數(shù)錯時,按確認鍵或直接按報警鍵時,即報警。按下SB4復位鍵,所被鎖上。項目7十字路口交通信號燈的控制應用舉例2相關知識--數(shù)據(jù)指令項目7十字路口交通信號燈的控制輸入輸出名稱地址名稱地址名稱地址SB1I0.0SB4I0.3開鎖Q0.0SB2I0.1SB5I0.4報警Q0.1SB3I0.2
地
址
分
配相關知識--數(shù)據(jù)指令相關知識--數(shù)據(jù)指令項目7十字路口交通信號燈的控制程序段1:
程序段2:
程序段5:程序段3:程序段4:
項目7十字路口交通信號燈的控制相關知識--數(shù)據(jù)指令--比較指令--圍內指令/范圍外指令范圍內指令和范圍外指令
范圍內(IN_RANGE)指令和范圍外(OUT_RANGE)指令可以等效為一個觸點,用于測試輸入值是在指定的范圍之內還是之外。如果比較結果為TRUE,則功能框輸出為TRUE。輸入?yún)?shù)MIN、VAL和MAX的數(shù)據(jù)類型必須相同
項目7十字路口交通信號燈的控制范圍內指令和范圍外指令當滿足以下條件時范圍內指令比較結果為真:MIN≤VAL≤MAX;當滿足以下條件時范圍外指令比較結果為真:VAL<MIN或VAL>MAX;比較的數(shù)據(jù)類型可以為SInt、Int、DInt、USInt、UInt、UDInt、Real、LReal和常數(shù)。范圍內范圍外相關知識--數(shù)據(jù)指令--比較指令--圍內指令/范圍外指令項目7十字路口交通信號燈的控制相關知識--數(shù)據(jù)指令--移動和塊移動指令移動和塊移動指令
使用移動指令將數(shù)據(jù)元素復制到新的存儲器地址,并從一種數(shù)據(jù)類型轉換為另一種數(shù)據(jù)類型,移動過程不會更改源數(shù)據(jù)。
MOVE將單個數(shù)據(jù)元素從IN參數(shù)指定的源地址復制到OUT參數(shù)指定的目標地址;
MOVE_BLK將數(shù)據(jù)元素塊復制到新地址的可中斷移動,在MOVE_BLK執(zhí)行期間排隊并處理中斷事件;
UMOVE_BLK將數(shù)據(jù)元素塊復制到新地址的不中斷移動,在UMOVE_BLK完成執(zhí)行前排隊但不處理中斷事件。
項目7十字路口交通信號燈的控制相關知識--數(shù)據(jù)指令--移動和塊移動指令MOVE_BLK指令和UMOVE_BLK指令的IN/OUT的數(shù)據(jù)類型有SInt、Int、DInt、USInt、UInt、UDInt、Real、Byte、Word、DWord;COUNT的數(shù)據(jù)類型為UInt。應用舉例3若SB1接到PLC的輸入端I0.0,一盞燈接到PLC的輸出端Q0.0。要求按一下SB1,燈按10s亮、5s滅的規(guī)律閃爍,再按一下SB1,燈熄滅,如此循環(huán),請設計梯形圖項目7十字路口交通信號燈的控制相關知識--數(shù)據(jù)指令項目7十字路口交通信號燈的控制相關知識--數(shù)據(jù)指令用計數(shù)器指令計數(shù),統(tǒng)計按鈕按下的次數(shù)計數(shù)器的自復位程序段1:程序段2:項目7十字路口交通信號燈的控制相關知識--數(shù)據(jù)指令建立第一次按鈕按下標志位按鈕第二次按下,復位第一次按鈕按下標志位程序段3:程序段4:項目7十字路口交通信號燈的控制相關知識--數(shù)據(jù)指令由定時器和比較指令構成的閃爍程序程序段5:程序段6:SWAP指令用于交換2字節(jié)和4字節(jié)數(shù)據(jù)元素的字節(jié)順序,但不改變每字節(jié)中的位順序,執(zhí)行SWAP指令之后,ENO始終為TRUE。SWAP指令交換的數(shù)據(jù)類型若為Word,則交換高低字節(jié);若為DWord,則交換4字節(jié)中數(shù)據(jù)的順序,交換的值保存到OUT指定的地址項目7十字路口交通信號燈的控制相關知識--數(shù)據(jù)指令--數(shù)據(jù)傳送指令FILL_BLK指令與UFILL_BLK指令
用于將源數(shù)據(jù)元素IN復制到通過參數(shù)OUT指定的初始地址。復制過程不斷重復并填充相鄰地址塊,直到復制數(shù)等于參數(shù)COUNT。IN和OUT必須是D或L(數(shù)據(jù)塊或塊的局部數(shù)據(jù))中的數(shù)組元素,COUNT為填充的數(shù)組元素的個數(shù),數(shù)據(jù)類型為DInt或常數(shù),IN可以是一個常數(shù)。
FILL_BLK指令與UFILL_BLK指令的功能基本相同,其區(qū)別在于后者的填充操作不會被中斷事件中斷。項目7十字路口交通信號燈的控制相關知識--數(shù)據(jù)指令--數(shù)據(jù)傳送指令CONV指令
用于將數(shù)據(jù)元素從一種數(shù)據(jù)類型轉換為另一種數(shù)據(jù)類型。單擊功能框名稱下方的下拉按鈕,然后從下拉列表中選擇IN的數(shù)據(jù)類型和OUT的數(shù)據(jù)類型。選擇完轉換源的數(shù)據(jù)類型之后,轉換目標的下拉列表中將顯示可能的轉換項。例:與Bcd16進行轉換僅限于Int數(shù)據(jù)類型,與Bcd32進行轉換僅限于DInt數(shù)據(jù)類型。項目7十字路口交通信號燈的控制相關知識--數(shù)據(jù)指令--數(shù)據(jù)轉換指令項目7十字路口交通信號燈的控制相關知識--數(shù)據(jù)指令--數(shù)據(jù)轉換指令應用舉例4圖7-16轉換指令中,輸入BCD碼16#20,表示十進制的20,轉換為整數(shù)MW20中,對應16#14項目7十字路口交通信號燈的控制相關知識--數(shù)據(jù)指令取整和截取指令ROUND用于將實數(shù)轉換為整數(shù),實數(shù)的小數(shù)部分舍入為最接近的整數(shù)值(舍入為最接近值)。TRUNC用于將實數(shù)轉換為整數(shù),實數(shù)的小數(shù)部分被截成零CEIL用于將實數(shù)轉換為大于或等于該實數(shù)的最小整數(shù)FLOOR用于將實數(shù)轉換為小于或等于該實數(shù)的最大整數(shù)項目7十字路口交通信號燈的控制相關知識--數(shù)據(jù)指令--取整和截取指令TRUNC(+100.7)=100,TRUNC(-100.7)=-100。CEIL(100.2)=101,CEIL(-100.2)=-100FLOOR(100.2)=100,F(xiàn)LOOR(-100.2)=-101項目7十字路口交通信號燈的控制相關知識--數(shù)據(jù)指令--取整和截取指令ROUND(10.5)=10,ROUND(11.5)=12NORM_X指令用于將輸入的整數(shù)值VALUE(MIN≤VALUE≤MAX)線性轉換為0.0~1.0的實數(shù),并將轉換結果保存到OUT指定的地址。參數(shù)MIN、VALUE和MAX的數(shù)據(jù)類型必須相同。MIN、MAX、OUT的數(shù)據(jù)類型可以是SInt、Int、DInt、USInt、UInt、UDInt和Real,也可以是常數(shù)項目7十字路口交通信號燈的控制相關知識--數(shù)據(jù)指令--標定和標準化指令SCALE_X指令用于將輸入的浮點數(shù)VALUE(范圍為0.0~1.0)線性轉換為由參數(shù)MIN(下限)和MAX(上限)定義的數(shù)值范圍之間的整數(shù),并將轉換結果保存到OUT指定的地址。參數(shù)MIN、MAX和OUT的數(shù)據(jù)類型必須相同,可以是SInt、Int、DInt、USInt、UInt、UDInt和Real,MIN、MAX可以是常數(shù)。相關知識--數(shù)據(jù)指令--標定和標準化指令項目7十字路口交通信號燈的控制應用舉例5溫度傳感器測量范圍為0~100°C,轉換后輸出電壓為0~10V,接入1200PLC的模擬量輸入端0,其地址為IW64,轉換后數(shù)字量范圍為0~27648,將其還原為溫度信號,存入MD20單元。相關知識--數(shù)據(jù)指令項目7十字路口交通信號燈的控制移位指令
移位指令包括左移(SHL)指令和右移(SHR)指令,用于將輸入單元IN的值左移或右移N位,移位的結果保存到OUT單元中。對于無符號數(shù),移位后空出位填0;對于有符號數(shù),左移后空出位填0,右移后空出位為符號位,正數(shù)的符號位為0,負數(shù)的符號位為1。移位指令的數(shù)據(jù)類型包括SInt、Int、DInt、USInt、UInt、UDInt、Word、DWord、Byte,N的數(shù)據(jù)類型為UInt。項目7十字路口交通信號燈的控制相關知識--數(shù)據(jù)指令--移位指令項目7十字路口交通信號燈的控制以Word數(shù)據(jù)類型的SHL指令為例,輸入MW0為1110001010101101:第一次執(zhí)行指令,左移1位,輸出MW2的值為1100010101011010;第二次執(zhí)行指令,左移1位,輸出MW2的值為1000101010110100;第三次執(zhí)行指令,左移1位,輸出MW2的值為0001010101101000;第四次執(zhí)行指令,左移1位,輸出MW2的值為0010101011010000。相關知識--數(shù)據(jù)指令--移位指令左移右移數(shù)據(jù)類型循環(huán)移位指令
循環(huán)移位指令包括循環(huán)左移(ROL)指令和循環(huán)右移(ROR)指令,用于將參數(shù)IN的位序列循環(huán)左移或右移,結果分配給OUT。N表示要循環(huán)移位的位數(shù)。循環(huán)移位指令的數(shù)據(jù)類型包括Word、DWord、Byte。
項目7十字路口交通信號燈的控制相關知識--數(shù)據(jù)指令--循環(huán)移位指令項目7十字路口交通信號燈的控制相關知識--數(shù)據(jù)指令--循環(huán)移位指令以Word數(shù)據(jù)類型的ROR指令為例,輸入MW0為0100000000000001:第一次執(zhí)行指令,循環(huán)右移1位,輸出MW2的值為1010000000000000;第二次執(zhí)行指令,循環(huán)右移1位,輸出MW2的值為0101000000000000;第三次執(zhí)行指令,循環(huán)右移1位,輸出MW2的值為0010100000000000;第四次執(zhí)行指令,循環(huán)右移1位,輸出MW2的值為0001010000000000。循環(huán)左移循環(huán)右移數(shù)據(jù)類型應用舉例6當SA為高電平時,8盞彩燈的值逐位左移;當SA為低電平時,8盞彩燈的值逐位右移。相關知識--數(shù)據(jù)指令項目7十字路口交通信號燈的控制程序段1:初始化作用:給MB2、MB3賦初始值,分別表示循環(huán)左移和循環(huán)右移的初值程序段2:根據(jù)SA的狀態(tài),選擇是循環(huán)左移還是循環(huán)右移相關知識--數(shù)據(jù)指令項目7十字路口交通信號燈的控制程序段3:程序段4:程序段3、4,將位存儲單元的值輸出到輸出過程映像寄存器相關知識--數(shù)據(jù)指令項目7十字路口交通信號燈的控制項目7十字路口交通信號燈的控制項目實施--硬件設計--地址分配輸入輸出序號名稱代號地址序號名稱代號地址1啟動SB1I0.01東西紅燈東西RQ0.02停止SB2I0.12東西綠燈東西YQ0.1
3東西黃燈東西GQ0.2
4南北紅燈南北RQ0.3
5南北綠燈南北YQ0.4
6南北黃燈南北GQ0.5地
址
分
配項目7十字路口交通信號燈的控制項目實施--硬件設計--控制電路接線圖項目7十字路口交通信號燈的控制根據(jù)設計要求,東西方向和南北方向交通信號燈的運行情況完全一致,因此可以首先設計一個當前方向的紅綠燈控制函數(shù)FC1。東西方向紅綠燈控制和南北方向紅綠燈控制各調用一次該函數(shù)項目實施--軟件設計項目7十字路口交通信號燈的控制項目實施--軟件設計--I/O變量定義項目7十字路口交通信號燈的控制項目實施--軟件設計--編輯函數(shù)FC項目7十字路口交通信號燈的控制項目實施--軟件設計--函數(shù)FC的梯形圖程序段1程序段2程序段3注意:定時器指令的背景數(shù)據(jù)塊是在接口參數(shù)中定義的“#TIMERDB”,而不能用“%DB1”這樣的全局數(shù)據(jù)塊。項目7十字路口交通信號燈的控制項目實施--軟件設計--添加兩個IEC_TIMER數(shù)據(jù)塊項目7十字路口交通信號燈的控制項目實施--軟件設計--主程序的梯形圖程序段1程序段2“啟—?!!笨刂凭W(wǎng)絡,M0.0為程序運行標志位M2.1產生周期為60s、占空比為50%的周期信號項目7十字路口交通信號燈的控制項目實施--軟件設計--主程序的梯形圖程序段3程序段4實參%DB1和%DB2,與形參TIMERDB,數(shù)據(jù)類型一致項目7十字路口交通信號燈的控制項目實施--軟件設計--仿真調試將項目下載到仿真器中,打開仿真器的項目視圖并新建仿真項目。在SIM表格_1的“地址”欄中依次輸入交通信號燈的輸入/輸出地址,在“名稱”欄中輸入“南北紅數(shù)據(jù)塊”.ET和“東西紅數(shù)據(jù)塊”.ET,表示南方方向和東西方向的定時器已消耗的時間,停止按鈕是常閉,因此,仿真時I0.1需首先打勾。項目拓展在上述項目的基礎上,對交通信號燈的控制要求進行適當修改,具體描述如下:按下啟動按鈕,交通信號燈開始工作,首先南北方向紅燈亮并維持30s,在此期間東西方向綠燈亮25s,之后閃爍3s,接著黃燈亮2s;然后東西方向紅燈亮并維持50s,在此期間南北方向綠燈亮45s,之后閃爍3s,接著黃燈亮2s。如此循環(huán),按下停止按鈕,當前方向的燈熄滅后,方可停止工作。采用函數(shù)調用的方式完成設計。項目7十字路口交通信號燈的控制項目7十字路口交通信號燈的控制項目拓展--紅綠燈控制函數(shù)FC的設計由于東西方向和南北方向紅燈和綠燈點亮的時間不同,因此,在設計功能時,紅燈和綠燈點亮的時間不能直接寫入功能中,必須引入接口參數(shù),在OB1中調用功能時,再給接口參數(shù)賦值。項目7十字路口交通信號燈的控制項目拓展--紅綠燈控制函數(shù)FC的設計由于按下停止按鈕,當前方向運行的紅綠燈不能立即熄滅,故用3個脈沖定時器接通紅燈、黃燈、綠燈,定時器的背景數(shù)據(jù)塊只能用接口參數(shù)。M0.5只能串聯(lián)在T_GF指令的后面,不能串聯(lián)在T_
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 專業(yè)機房維護服務項目招標
- 征收補償安置協(xié)議填寫指南
- 工程清潔服務合同模板
- 水果連鎖加盟購銷協(xié)議
- 盾構掘進勞務分包合同格式
- 學會寫有行動力的上學保證書
- 外墻涂料拆除合同
- 土建工程泥工分包合同
- 檢測檢驗服務合同
- 專業(yè)物流配送合同
- 配網(wǎng)規(guī)劃建設匯報
- 電氣自動化專業(yè)職業(yè)生涯目標規(guī)劃書范例及步驟
- 2024-2025學年上學期天津六年級英語期末模擬卷1
- 餐飲行業(yè)智能點餐與外賣系統(tǒng)開發(fā)方案
- 2024-2025學年九年級數(shù)學上學期期末考試卷
- 水利工程特點、重點、難點及應對措施
- 物業(yè)經理轉正述職
- 24秋國家開放大學《企業(yè)信息管理》形考任務1-4參考答案
- 2024年共青團團課培訓考試題庫及答案
- 2024年共青團入團考試測試題庫及答案
- 工程項目管理-001-國開機考復習資料
評論
0/150
提交評論