版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
項(xiàng)
目
分
析
相
關(guān)
知
識項(xiàng)
目
導(dǎo)
入項(xiàng)
目
實(shí)
施目錄Contents項(xiàng)
目
拓
展項(xiàng)目4八路搶答器練
習(xí)
講
解項(xiàng)目4八路搶答器項(xiàng)目導(dǎo)入設(shè)計(jì)一個八路搶答器,SB0為出題按鈕,SB1~SB8為八個搶答器的按鈕,SB9為復(fù)位按鈕。當(dāng)按下出題按鈕后,對應(yīng)的出題指示燈按0.5S/0.5S閃爍,方可開始搶答。此后任何時刻按下一個搶答器的按鈕,數(shù)碼管上顯示相應(yīng)的數(shù)字1~8,出題指示燈滅,一旦搶答成功后,此時再按其余七個按鈕,搶答無效。答題結(jié)束,同時按SB9,對應(yīng)的數(shù)碼管滅,方可進(jìn)行新一輪搶。項(xiàng)目4八路搶答器用邏輯設(shè)計(jì)法進(jìn)行程序設(shè)計(jì)一般步驟:明確控制任務(wù)和控制要求通過分析控制過程,繪制出系統(tǒng)工作循環(huán)的輸入、輸出元件分布圖,確定輸入元件與輸出元件,并分配I/O點(diǎn)。詳細(xì)地繪制系統(tǒng)功能表根據(jù)對控制過程的分析,確定必要的中間線圈的開關(guān)邊界線,并據(jù)此設(shè)置中間線圈,作出輸入元件及輸出元件功能表。根據(jù)系統(tǒng)功能表進(jìn)行系統(tǒng)邏輯設(shè)計(jì)此步驟的工作主要是列寫中間記憶元件的邏輯函數(shù)式和執(zhí)行元件(輸出量)的邏輯函數(shù)式。將邏輯設(shè)計(jì)的結(jié)果轉(zhuǎn)化為PLC程序邏輯設(shè)計(jì)的結(jié)果(邏輯函數(shù)式)能夠很方便地過渡到PLC程序,特別是語句表形式,其結(jié)構(gòu)和形式都與邏輯函數(shù)式非常相似,很容易直接由邏輯函數(shù)式轉(zhuǎn)化而來;設(shè)計(jì)者可根據(jù)需要將邏輯設(shè)計(jì)的結(jié)果轉(zhuǎn)化為PLC梯形圖程序,也可直接由邏輯函數(shù)式得到PLC梯形圖程序。數(shù)碼管顯示的八路搶答器就采用邏輯設(shè)計(jì)方法,需要用到位指令,系統(tǒng)存儲器、時鐘存儲器等概念。項(xiàng)目導(dǎo)入項(xiàng)目4八路搶答器相關(guān)知識--S7-1200CPU模塊的接線CPU1214CAC/DC/繼電器相關(guān)知識--S7-1200CPU模塊的接線項(xiàng)目4八路搶答器CPU1214CDC/DC/繼電器CPU1214CDC/DC/繼電器相關(guān)知識--S7-1200CPU模塊的接線項(xiàng)目4八路搶答器CPU1214CDC/DC/DC三種CPU接線:輸入電路可以采用漏型/源型接線,將電源的“-”連接到“M”;也可以將電源極性反過來,將“+”連接到“M”相關(guān)知識--數(shù)字量擴(kuò)展模塊及接線項(xiàng)目4八路搶答器8點(diǎn)直流輸入8點(diǎn)繼電器輸出8點(diǎn)晶體管輸出相關(guān)知識--存儲器類型項(xiàng)目4八路搶答器裝載存儲器:非易失性地存儲用戶程序、數(shù)據(jù)和組態(tài)信息,該非易失性存儲器能夠在斷電后繼續(xù)保持,該存儲區(qū)位于存儲卡(如存在)或CPU中。項(xiàng)目被下載到CPU后,首先存儲在裝載存儲區(qū)中。存儲卡支持的存儲空間比CPU內(nèi)置的存儲空間更大。工作存儲器:工作存儲器是易失性存儲器,執(zhí)行用戶程序時存儲用戶項(xiàng)目的某些內(nèi)容。CPU會將一些項(xiàng)目內(nèi)容從裝載存儲器復(fù)制到工作存儲器中。該易失性存儲區(qū)將在斷電后丟失,而在恢復(fù)供電時由CPU恢復(fù)。斷電保持存儲器:保持性存儲區(qū)用于在斷電時存儲所選用戶存儲單元的值。發(fā)生掉電時,CPU留出了足夠的緩沖時間來保存幾個有限的指定單元的值。這些保持性值會隨后在上電時恢復(fù)。暖啟動后斷電保持存儲器中的數(shù)據(jù)保持不變,冷啟動時斷電保持存儲器的值被清除。相關(guān)知識--存儲器類型項(xiàng)目4八路搶答器存儲卡可選的SIMATIC存儲卡可用作存儲用戶程序的替代存儲器、傳送程序和固件更新。如果使用存儲卡,CPU將運(yùn)行存儲卡中的程序而不是自身存儲器中的程序。相關(guān)知識--系統(tǒng)和時鐘存儲器項(xiàng)目4八路搶答器注意:1、使用系統(tǒng)存儲器和時鐘存儲器時,必須在相應(yīng)的選項(xiàng)前打鉤2、一般采用默認(rèn)的系統(tǒng)和時鐘存儲器,用戶使用位存儲器時,從MB2開始使用。在CPU“屬性”項(xiàng)中,設(shè)置系統(tǒng)存儲器和時鐘存儲器,并可以修改系統(tǒng)或時鐘存儲器的字節(jié)地址。默認(rèn)的系統(tǒng)存儲器為MB1,時鐘存儲器為MB0。
相關(guān)知識--系統(tǒng)和時鐘存儲器項(xiàng)目4八路搶答器如果MB10設(shè)置為系統(tǒng)存儲器,用戶程序可通過以下變量名稱引用這四個位:
M10.0(首次掃描)默認(rèn)變量名稱為“FirstScan”,在啟動組織塊(OB)完成后的第一次掃描期間內(nèi),該位設(shè)置為1,(即執(zhí)行了第一次掃描后,從第二次掃描開始“首次掃描”位將設(shè)置為0),該位一般用于程序的初始化。M10.1(診斷狀態(tài)已更改)默認(rèn)變量名稱為“DiagStatusUpdate”,在CPU記錄了診斷事件后的一個掃描周期內(nèi),該位設(shè)置為1。M10.2(始終為1)默認(rèn)變量名稱“AlwaysTRUE”,該位始終設(shè)置為1。M10.3(始終為0)默認(rèn)變量名稱“AlwaysFALSE”,該位始終設(shè)置為0。相關(guān)知識--系統(tǒng)和時鐘存儲器項(xiàng)目4八路搶答器位M0.7M0.6M0.5M0.4M0.3M0.2M0.1M0.0周期(s)21.610.80.50.40.20.1頻率(Hz)0.50.62511.2522.5510時鐘存儲器各位對應(yīng)的時鐘周期與頻率相關(guān)知識--基本數(shù)據(jù)類型項(xiàng)目4八路搶答器變量類型符號位數(shù)取值范圍常數(shù)舉例位Bool11,0TRUE,FALSE或1,0字節(jié)Byte816#00~16#FF16#12,16#AB字Word1616#0000~16#FFFF16#ABCD,16#0001雙字DWord3216#00000000~16#FFFFFFFF16#02468ACE字符Char816#00~16#FF‘A’,‘t’,‘@’短整數(shù)(有符號字節(jié))SInt8-128~127123,-123整數(shù)Int16-32768~32767123,-123雙整數(shù)Dint32-2147483648~~2147483647123,-123無符號短整數(shù)(無符號字節(jié))USInt80~~255123無符號整數(shù)UInt160~~65535123無符號雙整數(shù)UDInt320~~4294967295123浮點(diǎn)數(shù)(實(shí)數(shù))Real32±1.175495*10-38~3.402823*103812.45,-3.4,-1.2E+3雙精度浮點(diǎn)數(shù)LReal64±2.2250738585072020*10-308~±~1.7976931348623157*1030812345.123456789,-1,2E+40時間Time32T#-24d20h31m23s648ms~T#24d20h31m23s648msT#1d_2h_15m_30s_45ms相關(guān)知識--基本數(shù)據(jù)類型--位項(xiàng)目4八路搶答器
位數(shù)據(jù)類型也稱為Bool數(shù)據(jù)類型,其值為“1”或“0”,位存儲單元由字節(jié)地址和位地址組成,地址的表達(dá)方式為“字節(jié).位”,首位字母表示存儲器標(biāo)識符,如I3.2,其中I表示輸入過程映像寄存器,3為字節(jié)地址,2為位地址相關(guān)知識--基本數(shù)據(jù)類型--字節(jié)項(xiàng)目4八路搶答器8位二進(jìn)制數(shù)為一個字節(jié)(Byte),如字節(jié)IB10表示I10.0~I(xiàn)10.7這8位,其中I表示輸入過程映像寄存器,B表示字節(jié)。Char表示單個ASCII字符,SInt表示短整型數(shù)據(jù),USInt表示無符號短整型數(shù)據(jù)相關(guān)知識--基本數(shù)據(jù)類型--字項(xiàng)目4八路搶答器相鄰兩個字節(jié)組成一個字,如字MW10是由MB10和MB11兩個字節(jié)組成的,其中M是區(qū)域標(biāo)識符,M表示存儲區(qū),W表示字,MB10是MW10的高8位,MB11是MW10的低8位相關(guān)知識--基本數(shù)據(jù)類型--雙字項(xiàng)目4八路搶答器2個字或4個字節(jié)組成雙字,如MD10是由MW10、MW12或MB10、MB11、MB12、MB13組成的,同樣是低字節(jié)在高位,高字節(jié)在低位相關(guān)知識--基本數(shù)據(jù)類型項(xiàng)目4八路搶答器假設(shè):MB10=1;MB11=2;MB12=3;MB13=4,
MW10=2#0000,0001,0000,0010=16#102=258;
MD10=2#0000,0001,0000,0010,0000,0011,0000,0100=16#1020304=16909060;相關(guān)知識--基本數(shù)據(jù)類型--整數(shù)項(xiàng)目4八路搶答器整數(shù)包括有符號整數(shù)和無符號整數(shù)兩大類,有符號整數(shù)又可以分為有符號短整數(shù)(SInt)、有符號整數(shù)(Int)和有符號雙整數(shù)(DInt);無符號整數(shù)又可以分為無符號短整數(shù)(USInt)、無符號整數(shù)(UInt)和無符號雙整數(shù)(UDInt)相關(guān)知識--基本數(shù)據(jù)類型--浮點(diǎn)數(shù)項(xiàng)目4八路搶答器32位的浮點(diǎn)數(shù)又稱為實(shí)數(shù)(Real),最高位(第31位)為浮點(diǎn)數(shù)的符號位,正數(shù)符號位為0,負(fù)數(shù)符號位為1,規(guī)定尾數(shù)的整數(shù)部分總是1,第0~22位為尾數(shù)的小數(shù)部分。8位指數(shù)加上偏移量127后(0~255),占第23~30位。長浮點(diǎn)數(shù)(LReal)為64位,最高位(第63位)為浮點(diǎn)數(shù)的符號位,尾數(shù)的整數(shù)部分總是1,第0~51位為尾數(shù)的小數(shù)部分,11位指數(shù)加上偏移量1023后(0~2047),占第52~62位。相關(guān)知識--數(shù)據(jù)塊項(xiàng)目4八路搶答器數(shù)據(jù)塊用于保存用戶數(shù)據(jù),分為全局?jǐn)?shù)據(jù)塊和背景數(shù)據(jù)塊兩種。用戶程序中的所有程序塊都可訪問全局?jǐn)?shù)據(jù)塊中的數(shù)據(jù)。位DB[數(shù)據(jù)塊編號].DBX[字節(jié)地址].[位地址]DB1.DBX4.1字節(jié)字雙字DB[數(shù)據(jù)塊編號].DB[大小][起始字節(jié)地址]DB1.DBB0DB1.DBW0DB1.DBD0相關(guān)知識--數(shù)據(jù)塊項(xiàng)目4八路搶答器相關(guān)知識--數(shù)據(jù)塊--優(yōu)化/非優(yōu)化(標(biāo)準(zhǔn))的塊訪問項(xiàng)目4八路搶答器標(biāo)準(zhǔn)DB優(yōu)化DB數(shù)據(jù)管理取決于變量的聲明,用戶可以生成用戶定義或一個內(nèi)存優(yōu)化的數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)被系統(tǒng)管理和優(yōu)化。用戶可以生成用戶定義的數(shù)據(jù)結(jié)構(gòu),系統(tǒng)進(jìn)行優(yōu)化以節(jié)省內(nèi)存空間。存儲方式每個變量的存儲地址在DB塊中每個變量的偏移地址可見每個變量的存儲地址由CPU自動分配,無偏移地址。訪問方式可通過符合地址,絕對地址以及指針方式尋址。僅可通過符號地址訪問下載無需初始化功能不支持支持訪問速度慢快數(shù)據(jù)保持性以整個DB塊為單位設(shè)置保持性DB塊內(nèi)的每個變量均可單獨(dú)設(shè)置保持性兼容性與S7-300/400PLC兼容與S7-300/400PLC不兼容出錯幾率絕對地址訪問(例如HMI或間接尋址),聲明修改后可能導(dǎo)致數(shù)據(jù)的不一致。缺省為符號訪問,不會造成數(shù)據(jù)的不一致,例如HMI只與符號名稱對應(yīng)。相關(guān)知識--數(shù)據(jù)塊--優(yōu)化/非優(yōu)化(標(biāo)準(zhǔn))的塊訪問項(xiàng)目4八路搶答器項(xiàng)目4八路搶答器相關(guān)知識--復(fù)雜數(shù)據(jù)類型--字符串(String)字符串最多可以存放254個字符,另外還包括第一個字節(jié)為字符串的最大字符長度,第二個字節(jié)是字符串當(dāng)前有效字符的個數(shù)。在定義字符串時,可以定義字符串的長度,來節(jié)約存儲器的空間。例如:定義字符串變量:MOTOR,數(shù)據(jù)類型為:String[30]。項(xiàng)目4八路搶答器相關(guān)知識--復(fù)雜數(shù)據(jù)類型--數(shù)組數(shù)組(Array)是有序的元素序列,若將有限個類型相同變量的集合命名,那么這個名稱為數(shù)組名。組成數(shù)組的各個變量稱為數(shù)組的元素。用于區(qū)分?jǐn)?shù)組的各個元素的數(shù)字編號稱為下標(biāo)。數(shù)組可以分為一維數(shù)組、二維組等,最多包含6維,并使用逗號隔開維度。PLC變量中,不能定義數(shù)組,可以在數(shù)據(jù)塊中,定義數(shù)組。項(xiàng)目4八路搶答器相關(guān)知識--復(fù)雜數(shù)據(jù)類型--數(shù)組數(shù)據(jù)塊“電機(jī)組控制”中,定義了一維數(shù)組電機(jī)電流,數(shù)據(jù)類型為:Array[0..10]ofReal,數(shù)組中共11個元素,數(shù)組的類型為實(shí)數(shù)項(xiàng)目4八路搶答器相關(guān)知識--復(fù)雜數(shù)據(jù)類型--結(jié)構(gòu)體結(jié)構(gòu)體是由一批數(shù)據(jù)組合而成的結(jié)構(gòu)型數(shù)據(jù)。組成結(jié)構(gòu)型數(shù)據(jù)的每個數(shù)據(jù)稱為結(jié)構(gòu)型數(shù)據(jù)的“成員”,其中每個成員可以具有不同的類型。結(jié)構(gòu)體通常用來表示類型不同但是又相關(guān)的若干數(shù)據(jù)。結(jié)構(gòu)體數(shù)據(jù)類型不能在PLC變量中定義,但可以在數(shù)據(jù)塊中定義。項(xiàng)目4八路搶答器相關(guān)知識--復(fù)雜數(shù)據(jù)類型--結(jié)構(gòu)體數(shù)據(jù)塊“電動機(jī)_結(jié)構(gòu)體”中,定義了“電動機(jī)1”和“電動機(jī)2”兩個結(jié)構(gòu)體,并在結(jié)構(gòu)體定義了四個成員,分別是“啟動”、“停止”、“運(yùn)行”和“電流”項(xiàng)目4八路搶答器相關(guān)知識--復(fù)雜數(shù)據(jù)類型--PLC數(shù)據(jù)類型重命名為電動機(jī)項(xiàng)目4八路搶答器相關(guān)知識--復(fù)雜數(shù)據(jù)類型--PLC數(shù)據(jù)類型項(xiàng)目4八路搶答器相關(guān)知識--位邏輯指令--常開觸點(diǎn)與常閉觸點(diǎn)指令常開觸點(diǎn):在賦的位值為1時,常開觸點(diǎn)將閉合(ON);在賦的位值為0時,常開觸點(diǎn)將斷開(OFF)。常閉觸點(diǎn):在賦的位值為0時,常閉觸點(diǎn)將閉合(ON);在賦的位值為1時,常閉觸點(diǎn)將斷開(OFF)。項(xiàng)目4八路搶答器相關(guān)知識--位邏輯指令--輸出線圈和反向輸出線圈指令輸出線圈:如果有能流通過輸出線圈,則輸出位設(shè)置為1。如果沒有能流通過輸出線圈,則輸出位設(shè)置為0。反向輸出線圈:如果有能流通過反向輸出線圈,則輸出位設(shè)置為0。如果沒有能流通過反向輸出線圈,則輸出位設(shè)置為1。項(xiàng)目4八路搶答器相關(guān)知識--位邏輯指令--“正-停-反”控制設(shè)計(jì)一個三相異步電動機(jī)的“正—?!础笨刂啤0聪抡D(zhuǎn)按鈕,電動機(jī)正轉(zhuǎn)啟動,按下停止按鈕(常閉),電動機(jī)立即停止。在正轉(zhuǎn)過程中,按下反轉(zhuǎn)按鈕無效,電動機(jī)仍然正轉(zhuǎn)。同樣,按下反轉(zhuǎn)按鈕,電動機(jī)反轉(zhuǎn),按下停止按鈕,電動機(jī)立即停止。在反轉(zhuǎn)過程中,按下正轉(zhuǎn)按鈕無效,電動機(jī)仍然反轉(zhuǎn)。其中正轉(zhuǎn)按鈕、反轉(zhuǎn)按鈕和停止按鈕都是常開觸點(diǎn)按鈕項(xiàng)目4八路搶答器相關(guān)知識--位邏輯指令--“正-停-反”控制--梯形圖項(xiàng)目4八路搶答器相關(guān)知識--位邏輯指令--置位/復(fù)位指令置位1位:S(置位)激活時,OUT地址處的數(shù)據(jù)值設(shè)置為1。S不激活時,OUT不變。復(fù)位1位:R(復(fù)位)激活時,OUT地址處的數(shù)據(jù)值設(shè)置為0。R不激活時,OUT不變。SET_BF激活時,為從地址OUT處開始的“n”位分配數(shù)據(jù)值1。SET_BF不激活時,OUT不變。RESET_BF為從地址OUT處開始的“n”位寫入數(shù)據(jù)值0。RESET_BF不激活時,OUT不變。項(xiàng)目4八路搶答器相關(guān)知識--位邏輯指令--置位/復(fù)位指令--“正-停-反”程序段1:程序段2:程序段3:項(xiàng)目4八路搶答器相關(guān)知識--位邏輯指令--RS和SR指令RS是置位優(yōu)先鎖存,其中置位優(yōu)先。如果置位(S1)和復(fù)位(R)信號都為真,則輸出地址OUT將為1。SR是復(fù)位優(yōu)先鎖存,其中復(fù)位優(yōu)先。如果置位(S)和復(fù)位(R1)信號都為真,則輸出地址OUT將為0。OUT參數(shù)指定置位或復(fù)位的位地址。OUT輸出,Q反映“OUT”地址的信號狀態(tài)。項(xiàng)目4八路搶答器相關(guān)知識--位邏輯指令--功能SR觸發(fā)器RS觸發(fā)器SR1輸出位S1R輸出位00保持前一狀態(tài)00保持前一狀態(tài)010010101101110111項(xiàng)目4八路搶答器相關(guān)知識--位邏輯指令--RS和SR指令--“正-停-反”程序段1:程序段2:項(xiàng)目4八路搶答器相關(guān)知識--位邏輯指令--雙線圈輸出注意:同一操作數(shù)的輸出線圈在一個程序中不能使用兩次,不同操作數(shù)的輸出線圈可以并行輸出。項(xiàng)目4八路搶答器在分配的“IN”位上檢測到正跳變(關(guān)到開)時,該觸點(diǎn)的狀態(tài)為TRUE。該觸點(diǎn)邏輯狀態(tài)隨后與能流輸入狀態(tài)組合以設(shè)置能流輸出狀態(tài)。P觸點(diǎn)可以放置在程序段中除分支、結(jié)尾外的任何位置在分配的輸入位上檢測到負(fù)跳變(開到關(guān))時,該觸點(diǎn)的狀態(tài)為TRUE。該觸點(diǎn)邏輯狀態(tài)隨后與能流輸入狀態(tài)組合以設(shè)置能流輸出狀態(tài)。N觸點(diǎn)可以放置在程序段中除分支、結(jié)尾外的任何位置。所有沿指令均使用存儲器位(M_BIT)存儲要監(jiān)視的輸入信號的前一個狀態(tài)。通過將輸入的狀態(tài)與存儲器位的狀態(tài)進(jìn)行比較來檢測沿。如果狀態(tài)指示在關(guān)注的方向上有輸入變化,則會在輸出寫入TRUE來報(bào)告沿。否則,輸出會寫入FALSE。相關(guān)知識--位邏輯指令--邊沿檢測指令項(xiàng)目4八路搶答器相關(guān)知識--位邏輯指令--邊沿檢測指令項(xiàng)目4八路搶答器相關(guān)知識--位邏輯指令--邊沿檢測線圈指令上升沿檢測線圈:在進(jìn)入線圈的能流中檢測到正跳變(關(guān)到開)時,分配的位“OUT”為TRUE。能流輸入狀態(tài)總是通過線圈后變?yōu)槟芰鬏敵鰻顟B(tài)。P線圈可以放置在程序段中的任何位置。下降沿檢測線圈:在進(jìn)入線圈的能流中檢測到負(fù)跳變(開到關(guān))時,分配的位“OUT”為TRUE。能流輸入狀態(tài)總是通過線圈后變?yōu)槟芰鬏敵鰻顟B(tài)。N線圈可以放置在程序段中的任何位置。邊沿檢測線圈不會影響邏輯運(yùn)算結(jié)果RLO,它對能流是暢通無阻的,其輸入的邏輯運(yùn)算結(jié)果被立即送給線圈的輸出端。項(xiàng)目4八路搶答器相關(guān)知識--位邏輯指令--邊沿檢測線圈指令項(xiàng)目4八路搶答器相關(guān)知識--位邏輯指令--R_TRIG和F_TRIG指令F_TRIG(檢測信號下降沿)指令,檢測到CLK下降沿,Q輸出一個掃描周期的信號R_TRIG(檢測信號上升沿)指令,檢測到CLK上升沿,Q輸出一個掃描周期的信號注意,這兩條指令,調(diào)用時,需要生成背景數(shù)據(jù)塊項(xiàng)目4八路搶答器相關(guān)知識--位邏輯指令--R_TRIG和F_TRIG指令分析圖中段的作用:按下I0.0,M3.0生成一個掃描周期的高電平,使Q0.0置位并保持;釋放I0.0,M3.1生成一個掃描周期的高電平,使Q0.0復(fù)位并保持。因此,這個程序段實(shí)現(xiàn)了“點(diǎn)動”功能。項(xiàng)目4八路搶答器相關(guān)知識--位邏輯指令--R_TRIG/F_TRIG指令SCL格式R_TRIG_DB_1、F_TRIG_DB_1為背景數(shù)據(jù)塊R_TRIG(檢測信號上升沿)指令:"R_TRIG_DB_1"(CLK:=_bool_in_,Q=>_bool_out_);F_TRIG(檢測信號下降沿)指令:"F_TRIG_DB_1"(CLK:=_bool_in_,Q=>_bool_out_);
應(yīng)用舉例有一個一維數(shù)組Value,數(shù)組有十個元素,數(shù)據(jù)類型為實(shí)數(shù),按下清零鍵SB1,對數(shù)組中的十個元素同時清零,采用SCL編程。項(xiàng)目4八路搶答器相關(guān)知識--位邏輯指令--R_TRIG/F_TRIG指令SCL格式首先,定義一個數(shù)據(jù)塊,名為“數(shù)組”,然后在數(shù)據(jù)塊“數(shù)組”中,定義一維數(shù)組Value。項(xiàng)目4八路搶答器相關(guān)知識--位邏輯指令--R_TRIG/F_TRIG指令SCL格式在OB1中,定義一個臨時變量#I,最為FOR循環(huán)的循環(huán)變量。"R_TRIG_DB_1"為指令的背景數(shù)據(jù)塊符號名,指令中省略了輸出Q。IF語句的條件"R_TRIG_DB_1".Q,也就是說,只有在"R_TRIG_DB_1".Q為“1”的一個掃描周期,才執(zhí)行FOR循環(huán),實(shí)現(xiàn)數(shù)據(jù)清零。如果IF語句的條件"SB1",那么,在SB1為“1”的每個掃描周期內(nèi),都要執(zhí)行FOR循環(huán),顯然,這是不必要的,希望讀者掌握這種編程思路。項(xiàng)目4八路搶答器項(xiàng)目實(shí)施--地址分配輸入信號搶答按鈕SB1~SB8I0.0~I0.7出題按鈕SB0I1.0復(fù)位按鈕SB9I1.1輸出信號七段數(shù)碼管Q0.0~Q0.6出題指示燈Q1.0項(xiàng)目4八路搶答器項(xiàng)目實(shí)施--控制電路接線圖項(xiàng)目4八路搶答器項(xiàng)目實(shí)施--程序設(shè)計(jì)--設(shè)置時鐘存儲器項(xiàng)目4八路搶答器項(xiàng)目實(shí)施--程序設(shè)計(jì)--數(shù)碼管
數(shù)碼管作為本項(xiàng)目中的顯示器件,一旦某一人搶到到,要顯示該人的編號1~8八個數(shù)字中的一個,數(shù)碼管的示意圖,采用共陰數(shù)碼管。設(shè)置八個存儲位M1.0~M1.7對應(yīng)于某一個人搶答到標(biāo)志位,依次與搶答輸入信號I0.0~I0.7相對應(yīng)。M1.0~M1.7為輸入,Q0.0~Q0.6為輸出,數(shù)碼管采用共陰極接法,根據(jù)數(shù)碼管的真值表如下。例如:如果1號選手搶答到,數(shù)碼管要顯示“1”,則Q0.0~Q0.6,對應(yīng)的數(shù)值為:0110000。項(xiàng)目4八路搶答器項(xiàng)目實(shí)施--程序設(shè)計(jì)--數(shù)碼管M1.0~M1.7是SB1~SB8的搶答標(biāo)志位,與輸出Q0.0~Q0.6之間的關(guān)系項(xiàng)目4八路搶答器項(xiàng)目實(shí)施--程序設(shè)計(jì)--數(shù)碼管Q0.0=flag1+flag2+flag4+flag5+flag6+flag7Q0.1=flag0+flag1+flag2+flag3+flag6+flag7Q0.2=flag0+flag2+flag3+flag4+flag5+flag6+flag7Q0.3=flag1+flag2+flag4+flag5+flag7Q0.4=flag1+flag5+flag7Q0.5=flag3+flag4+flag5+flag7Q0.6=flag1+flag2+flag3+flag4+flag5+flag7flag0~flag7是SB1~SB8的搶答標(biāo)志位,與輸出Q0.0~Q0.6之間的關(guān)系項(xiàng)目4八路搶答器項(xiàng)目實(shí)施--程序設(shè)計(jì)--變量定義項(xiàng)目4八路搶答器項(xiàng)目實(shí)施--程序設(shè)計(jì)--思路整個程序分成以下幾個部分1、初始化和復(fù)位處理(程序段1、程序段3);2、建立開始搶答標(biāo)志位(程序段2);3、建立任意一個人搶答到標(biāo)志位(程序段4~程序段11);4、出題指示燈顯示輸出(程序段12)5、譯碼顯示輸出(程序段13~程序段17);項(xiàng)目4八路搶答器項(xiàng)目實(shí)施--程序設(shè)計(jì)--梯形圖程序段1:程序段2:程序段3:項(xiàng)目4八路搶答器項(xiàng)目實(shí)施--程序設(shè)計(jì)--梯形圖程序段4:程序段5:程序段6:項(xiàng)目4八路搶答器項(xiàng)目實(shí)施--程序設(shè)計(jì)--梯形圖程序段7:程序段8:程序段9:項(xiàng)目4八路搶答器項(xiàng)目實(shí)施--程序設(shè)計(jì)--梯形圖程序段10:程序段11:程序段12:項(xiàng)目4八路搶答器項(xiàng)目實(shí)施--程序設(shè)計(jì)--梯形圖程序段13:程序段14:項(xiàng)目4八路搶答器項(xiàng)目實(shí)施--程序設(shè)計(jì)--梯形圖程序段15:程序段16:項(xiàng)目4八路搶答器項(xiàng)目實(shí)施--程序設(shè)計(jì)--梯形圖程序段17:程序段18:程序段19:項(xiàng)目4八路搶答器項(xiàng)目實(shí)施--程序狀態(tài)監(jiān)控
“啟用/禁止監(jiān)視”按鈕,即可進(jìn)入程序狀態(tài)監(jiān)控界面,程序編輯器標(biāo)題欄為橘紅色。項(xiàng)目4八路搶答器項(xiàng)目實(shí)施--程序狀態(tài)監(jiān)控項(xiàng)目4八路搶答器項(xiàng)目實(shí)施--仿真--啟動仿真S7-PLCSIM在V13SP1版本以上具有仿真功能,固件版本為V4.0及更高版本單擊工具欄上的“開始仿真”按鈕,即可啟動仿真項(xiàng)目4八路搶答器項(xiàng)目實(shí)施--仿真--生成仿真表單擊精簡視圖右上角的按鈕單擊項(xiàng)目視圖工具欄中的“新項(xiàng)目”按鈕可創(chuàng)建一個仿真項(xiàng)目,設(shè)置項(xiàng)目名稱為“八路搶答器”雙擊項(xiàng)目中的“SIM表格_1”,打開仿真表。在仿真表的“地址”欄中輸入輸入/輸出的絕對地址,其對應(yīng)的變量名稱會自動添加到仿真表中項(xiàng)目4八路搶答器項(xiàng)目實(shí)施--仿真--仿真調(diào)試項(xiàng)目4八路搶答器項(xiàng)目拓展項(xiàng)目設(shè)計(jì)要求修改如下:用PLC來設(shè)計(jì)一款八路搶答器,SB0為出題按鈕,SB1~SB8為八個搶答器的搶答按鈕,T1~T8為每個搶答器對應(yīng)的八只輸出指示燈,SB9為復(fù)位按鈕。當(dāng)按下出題按鈕后,對應(yīng)的出題指示燈按0.5S/0.5S閃爍,方可開始搶答。此后任何時刻按下一個搶答器的按鈕,搶答成功后,出題指示燈滅,對應(yīng)的輸出指示燈將以1S/1S閃亮;此后再按其余七個按鈕,搶答無效。答題結(jié)束,按SB9,閃爍的指示燈滅,方可進(jìn)行新一輪搶。項(xiàng)目4八路搶答器項(xiàng)目拓展項(xiàng)目4八路搶答器項(xiàng)目拓展項(xiàng)目4八路搶答器項(xiàng)目拓展項(xiàng)目4八路搶答器項(xiàng)目拓展項(xiàng)目4八路搶答器項(xiàng)目拓展項(xiàng)目4八路搶答器項(xiàng)目拓展項(xiàng)目4八路搶答器項(xiàng)目拓展項(xiàng)目4八路搶答器項(xiàng)目拓展--SCL語言編程--間接尋址S7-1200PLC的SCL間接尋址指令有PEEK(讀)和POKE(寫)兩大類包括:PEEK(讀字、字節(jié)和雙字)PEEK_BOOL(讀取存儲器位)POKE(寫入字節(jié)、字和雙字)POKE_BOOL(寫入存儲器位)POKE_BLK(寫入存儲區(qū))項(xiàng)目4八路搶答器項(xiàng)目拓展--SCL語言編程--PEEK指令PEEK指令用來讀取輸入映像寄存器(I)、輸出映像寄存器(Q)、位存儲器(M)和數(shù)據(jù)塊(DB)的值,PEEK指令獲得的數(shù)值以返回值的方式賦給對應(yīng)的變量。PEEK指令的格式:PEEK_BOOL讀位變量、PEEK_BYTE讀字節(jié)變量(_BYTE可以省略)PEEK_WORD讀字變量PEEK_DWORD讀雙字變量四種形式項(xiàng)目4八路搶答器項(xiàng)目拓展--SCL語言編程----PEEK指令讀位變量讀字節(jié)變量PEEK_BOOL(area:=_byte_in_,dbNumber:=_dint_in_,byteOffset:=_dint_in_,bitOffset:=_int_in_)PEEK(area:=_byte_in_,dbNumber:=_dint_in_,byteOffset:=_dint_in_)讀字變量讀雙字變量PEEK_WORD(area:=_byte_in_,dbNumber:=_dint_in_,byteOffset:=_dint_in_)PEEK_DWORD(area:=_byte_in_,dbNumber:=_dint_in_,byteOffset:=_dint_in_)項(xiàng)目4八路搶答器項(xiàng)目拓展--SCL語言編程----PEEK指令參數(shù)聲明數(shù)據(jù)類型存儲器說明areaInputBYTE
I/QM/DB可以選擇以下區(qū)域:16#81:輸入映像寄存器(I)16#82:輸出映像寄存器(Q)16#83:位存儲器(M)16#84:數(shù)據(jù)塊(DB)dbNumberInputDINTDB_ANY如果area是DB,則為數(shù)據(jù)塊序號否則為0byteOffsetInputDINT待讀取變量的地址bitOffsetInputSINT待讀取變量對應(yīng)的位地址項(xiàng)目4八路搶答器項(xiàng)目拓展--SCL語言編程----PEEK指令【例1】:"Tag_1":=PEEK_BOOL(area:=16#83,
dbNumber:=0,
byteOffset:=2,
bitOffset:=3);假設(shè)"Tag_1"為位變量M10.0,指令中:area:=16#83,為位存儲器M,dbNumber:=0,byteOffset:=2,為2字節(jié),bitOffset:=3為第三位,即為M2.3。指令執(zhí)行結(jié)果,將M2.3的值賦給位變量M10.0。項(xiàng)目4八路搶答器項(xiàng)目拓展--SCL語言編程----PEEK指令【例2】"Tag_2":=PEEK(area:=16#82,
dbNumber:=0,
byteOffset:=2);PEEK指令省略了_BYET,指令中area:=16#82,為輸出映像寄存器,dbNumber:=0,byteOffset:=2,首地址為0,偏移量為2,即QB2字節(jié)。指令執(zhí)行結(jié)果:將QB2的值賦給字節(jié)變量"Tag_2"。項(xiàng)目4八路搶答器項(xiàng)目拓展--SCL語言編程----PEEK指令【例3】"Tag_3":=PEEK_WORD(area:=16#84,
dbNumber:=1,
byteOffset:=20);假設(shè)"Tag_3"為字單元MW20,指令中area:=16#84,數(shù)據(jù)塊間接尋址,dbNumber:=1,代表DB1,byteOffset:=20代表DW20。即將DB1.DW20的值,賦給MW20。項(xiàng)目4八路搶答器項(xiàng)目拓展--SCL語言編程----POKE指令POKE指令用來向輸入映像寄存器(I)、輸出映像寄存器(Q)、存儲器(M)和數(shù)據(jù)塊(DB)寫入數(shù)值。POKEPOKE_BOOLPOKE_BLK項(xiàng)目4八路搶答器項(xiàng)目拓展--SCL語言編程----POKE指令位寫指令字節(jié)/字/雙字寫存儲區(qū)寫POKE_BOOL(area:=_byte_in_,dbNumber:=_dint_in_,byteOffset:=_dint_in_,bitOffset:=_int_in_,value:=_bool_in_);POKE(area:=_byte_in_,dbNumber:=_dint_in_,byteOffset:=_dint_in_,value:=_byte_in_);POKE_BLK(area_src:=_byte_in_,dbNumber_src:=_dint_in_,byteOffset_src:=_dint_in_,area_dest:=_byte_in_,dbNumber_dest:=_dint_in_,byteOffset_dest:=_dint_in_,count:=_dint_in_);項(xiàng)目4八路搶答器項(xiàng)目拓展--SCL語言編程----POKE指令
POKE和POKE_BOOL指令參數(shù)area、dbNumber、byteOffset、bitOffset含義同PEEK指令,value為待寫入的值。POKE_BLK指令參數(shù)含義:
①area_src:源數(shù)據(jù)區(qū),area_dest:目的數(shù)據(jù)區(qū),其取值同PEEK指令相同,16#81~16#84,分別代表輸入映像寄存器(I)、輸出映像寄存器(Q)、存儲器(M)和數(shù)據(jù)塊(DB)寫入數(shù)值;
②dbNumber_src:源數(shù)據(jù)塊,如果是DB,為數(shù)據(jù)塊序號,否則為0;和dbNumber_dest:目的數(shù)據(jù)塊,如果是DB,為數(shù)據(jù)塊序號,否則為0;
③count:要復(fù)制的字節(jié)數(shù);
④value:待寫入的數(shù)值項(xiàng)目4八路搶答器項(xiàng)目拓展--SCL語言編程----POKE指令【例4】POKE_BOOL
(area:=16#83,
dbNumber:=0,
byteOffset:=1,
bitOffset:=3,
value:=1);area:=16#83為位存儲器;byteOffset:=1為1字節(jié)MB1;bitOffset:=3,為第三位,即M1.3,寫入的值為1運(yùn)行結(jié)果:M1.3=1。項(xiàng)目4八路搶答器項(xiàng)目拓展--SCL語言編程----POKE指令【例5】POKE(area:=16#82,dbNumber:=0,
byteOffset:=0,
value:="Tag_3");"Tag_3"為MW20單元的值,指令中area:=16#82,為輸出映像寄存器
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年物業(yè)轉(zhuǎn)讓補(bǔ)充協(xié)議
- 2025版家庭裝飾維修與維護(hù)服務(wù)合同范本3篇
- 2024年金融科技產(chǎn)品創(chuàng)新研發(fā)合同
- 2024幼兒園蔬菜質(zhì)量保證供應(yīng)合同樣本3篇
- 2024年獼猴桃樹苗購銷合同樣本
- 2025版股權(quán)收購與知識產(chǎn)權(quán)轉(zhuǎn)讓協(xié)議范本3篇
- 2024年試用照明電器銷售合同規(guī)范范本3篇
- 2025年醫(yī)療器械產(chǎn)品注冊登記及市場準(zhǔn)入全權(quán)委托協(xié)議3篇
- 2024年物聯(lián)網(wǎng)技術(shù)研發(fā)與應(yīng)用服務(wù)承包合同
- 2025年度潲水無害化處理與資源化利用承包協(xié)議3篇
- 廣東省廣州市越秀區(qū)2022-2023學(xué)年八年級上學(xué)期期末物理試卷
- 統(tǒng)編版語文四年級上冊《期末作文專項(xiàng)復(fù)習(xí)》 課件
- 2024年黑龍江省機(jī)場集團(tuán)招聘筆試參考題庫含答案解析
- 食品從業(yè)人員安全學(xué)習(xí)培訓(xùn)記錄
- 內(nèi)科季度護(hù)理質(zhì)量分析課件
- 2024年安全生產(chǎn)月活動安全知識競賽題庫含答案
- 銷售回款專項(xiàng)激勵政策方案(地產(chǎn)公司)
- 孕產(chǎn)婦健康管理服務(wù)規(guī)范課件
- 生物系統(tǒng)建模與仿真課件
- 風(fēng)電項(xiàng)目核準(zhǔn)及開工行政審批流程(備案核準(zhǔn)、施工許可)
- ××市××學(xué)校鞏固中等職業(yè)教育基礎(chǔ)地位專項(xiàng)行動實(shí)施方案參考提綱
評論
0/150
提交評論