第5章 S7-300指令系統(tǒng)_第1頁
第5章 S7-300指令系統(tǒng)_第2頁
第5章 S7-300指令系統(tǒng)_第3頁
第5章 S7-300指令系統(tǒng)_第4頁
第5章 S7-300指令系統(tǒng)_第5頁
已閱讀5頁,還剩184頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、南陽理工學院電子與電氣工程系電子與電氣工程系 電氣教研室電氣教研室電氣控制與PLC應(yīng)用技術(shù)電氣控制與PLC應(yīng)用技術(shù)可編程序控制器原理(第(第5-95-9章)章)第第5 5章章 S7-300S7-300指令系統(tǒng)指令系統(tǒng) 本本章章內(nèi)內(nèi)容容5.1 STEP-7 編程基礎(chǔ)5.2 指令及其結(jié)構(gòu)5.3 位邏輯指令5.4 定時器與計數(shù)器指令5.5 數(shù)據(jù)處理功能指令5.6 數(shù)據(jù)運算指令5.7 控制指令 思考與練習題教學目的教學目的掌握位邏輯指令的應(yīng)用掌握定時器和計數(shù)器指令的應(yīng)用 教學重點教學重點掌握位邏輯指令的應(yīng)用掌握定時器和計數(shù)器指令的應(yīng)用 教學難點教學難點定時器和計數(shù)器指令第第5 5章章 S7-300S7

2、-300指令系統(tǒng)指令系統(tǒng) 5.1 STEP 7 編程基礎(chǔ) 指令組成:操作碼指令組成:操作碼 + + 操作數(shù)操作數(shù)u 操作碼定義要執(zhí)行的功能;操作碼定義要執(zhí)行的功能;u 操作數(shù)為執(zhí)行該操作所需要的信息操作數(shù)為執(zhí)行該操作所需要的信息, ,由標識符和參由標識符和參 數(shù)組成數(shù)組成; ;u 有些語句指令不帶操作數(shù),它們操作的對象是唯有些語句指令不帶操作數(shù),它們操作的對象是唯一的一的; ; 5.2 5.2 指令及其結(jié)構(gòu)指令及其結(jié)構(gòu)5.2.1 5.2.1 指令的組成指令的組成 1. 1. 語句指令語句指令語句指令:語句指令: 操作碼操作碼 操作數(shù)操作數(shù)A A I0.1I0.1 / /對輸入繼電器對輸入繼電器

3、 I0.1I0.1 進行與操作進行與操作 L L MW10MW10 / /將字將字MW10MW10裝入累加器裝入累加器1 1 定義要執(zhí)行的功能定義要執(zhí)行的功能執(zhí)行該操作所需要的信息執(zhí)行該操作所需要的信息 NOT / NOT /對邏輯操作結(jié)果(對邏輯操作結(jié)果(RLORLO)取反)取反5.2.1 5.2.1 指令的組成指令的組成 1. 1. 語句指令語句指令例如: Q 4.0 ( )該指令中:( )可認為是操作碼,表示一個二進制賦值操作。Q 4.0是操作數(shù),表示賦值的對象。 5.2.1 5.2.1 指令的組成指令的組成2.2.梯形邏輯指令梯形邏輯指令u 梯形邏輯指令用圖形元素表示PLC要完成操作u

4、 其操作碼是用圖素表示的,該圖素形象表明CPU做什么u 其操作數(shù)的表示方法與語句指令相同操作數(shù): 標識符標識符 標識參數(shù)標識參數(shù)A I 0.1 L M W 10表示操作數(shù)在該存儲區(qū)域表示操作數(shù)在該存儲區(qū)域內(nèi)的具體位置內(nèi)的具體位置 主標識符:表示操作數(shù)所在的存儲區(qū)主標識符:表示操作數(shù)所在的存儲區(qū) 主要有:I(輸入映像區(qū)),Q(輸出映像區(qū)),M(位存儲區(qū)),PI(外部輸入),PQ(外部輸出),T(定時器),C(計數(shù)器),DB(數(shù)據(jù)塊),L(本地數(shù)據(jù))等 輔助標識符進一步說明操作數(shù)的位數(shù)長度輔助標識符進一步說明操作數(shù)的位數(shù)長度包括有:X(位),B(字節(jié)),W(字2字節(jié)),D(雙字4字節(jié)) 表示操作數(shù)

5、存放區(qū)域及操作數(shù)表示操作數(shù)存放區(qū)域及操作數(shù)位數(shù)(位、字節(jié)、字等)位數(shù)(位、字節(jié)、字等) 5.2.2 5.2.2 操作數(shù)操作數(shù)1.1.操作數(shù)的組成操作數(shù)的組成5.2.2 5.2.2 操作數(shù)操作數(shù)2. 2. 操作數(shù)的表示操作數(shù)的表示兩種表示方法:u 物理地址(絕對地址)表示法要明確指出操作數(shù)的所在存儲區(qū),該操作數(shù)的位數(shù)具體位置。例如:Q 4.0。符號名先定義后使用,不能重名。定義符號時,需指明操作數(shù)所在的存儲區(qū)、位數(shù)、具體位置及數(shù)據(jù)類型。u 符號地址表示法l 位邏輯指令處理兩個數(shù)字,“1”和“0”。這兩個數(shù)字“1”和“0”稱為二進制數(shù)字或二進制位。在接點與線圈領(lǐng)域,“1”表示動作或通電,“0”表示

6、未動作或未通電。l 位邏輯指令掃描信號狀態(tài)1和0,并根據(jù)布爾邏輯對它們進行組合。這些組合產(chǎn)生結(jié)果1或0,稱為“邏輯運算結(jié)果(RLO)”。5.3 5.3 位邏輯指令位邏輯指令u 位邏輯運算指令u 位操作指令u 位測試指令l 位邏輯指令主要包括:位邏輯運算指令是位邏輯運算指令是l “與”(AND)l “或”(OR)l “異或”(XOR)指令l 組合5.3.1 5.3.1 位邏輯運算指令位邏輯運算指令1. “與”和“與非”(A,AN)指令 用語句表指令完全表示為:A I0.0 A Q 4.1AN M10.1 Q4.0 ( )I0.0 Q4.1 M10.1 Q4.0 5.3.1 5.3.1 位邏輯運算

7、指令位邏輯運算指令 2. “或”和“或非”(O,ON)指令 O I1.1 ON M2.0 O Q4.0 Q4.1 5.3.1 5.3.1 位邏輯運算指令位邏輯運算指令 I1.1 I1.1 M2.0 M2.0 Q4.0 Q4.0 ( )Q4.1Q4.1用語句表指令完全表示為: 3. “異或”和“異或非”(X,XN)指令 X I0.0 X I0.1 Q4.05.3.1 5.3.1 位邏輯運算指令位邏輯運算指令用語句表指令完全表示為:5.3.1 5.3.1 位邏輯運算指令位邏輯運算指令I(lǐng)0.0( )I0.2M10.0M0.3M10.1Q4.0( a )I0.0( )I0.2M10.0M0.3M10.

8、1Q4.0( b)4. 串并聯(lián)組合表示法 當邏輯串是復雜組合時,CPU的掃描順序是先“與”后“或”。A( O I0.0 O I0.2 ) A( O M10.0 O M0.3 ) A M10.1 Q4.0 先并后串梯形圖語句表5.3.1 5.3.1 位邏輯運算指令位邏輯運算指令I(lǐng)0.0( )I0.2M10.0M0.3M10.1Q4.0( a )I0.0( )I0.2M10.0M0.3M10.1Q4.0( b )A( A I0.0 A M10.0 O A I0.2 A M0.3 ) A M10.1 Q4.0先串后并梯形圖語句表【例例】運動機械自動往復運動的PLC控制。 1.按下啟動按鈕SB1后,電

9、動機驅(qū)動工作臺運動2.如果工作臺運動到極限位置時,由行程開關(guān)SQ1或SQ2檢測并發(fā) 出停止前進指令,同時自動發(fā)出返回指令。3.只要不按停止按鈕SB2,工作臺將繼續(xù)這種自動往復運動。4.工作臺驅(qū)動電動機通過熱繼電器做過載保護。 控制要求: 5.3.1 5.3.1 位邏輯運算指令舉例位邏輯運算指令舉例4.校驗解題過程:解題過程: 邏輯串輸出指令又稱為賦值操作指令 該操作把狀態(tài)字中RLO的值賦給指定的操作數(shù)(位地址) 一個RLO可被用來驅(qū)動幾個輸出元件 在LAD中,輸出線圈是上下依次排列的 在STL中,這些輸出具有相同的優(yōu)先級5.3.2 5.3.2 位操作指令位操作指令1. 輸出指令A I0.0A

10、I0.1ON I0.2 Q4.0A I0.3 Q4.1多重輸出梯形圖 Q4.0( )I0.1I0.2I0.0Q4.1( )I0.3用語句表指令完全表示為:5.3.2 5.3.2 位操作指令位操作指令 置位復位指令根據(jù)RLO的值,來決定被尋址位的信 號狀態(tài)是否需要改變2 . 置位復位指令5.3.2 5.3.2 位操作指令位操作指令 若RLO的值為1,被尋址位的信號狀態(tài)被置1或清0 若RLO是0,則被尋址位的信號保持原狀態(tài)不變(b)置位指令操作網(wǎng)絡(luò)1AAONRI0.0I0.1I0.2Q4.0(R)Q4.0I0.0I0.1I0.2網(wǎng)絡(luò)1AAONSI0.0I0.1I0.2Q4.0(S)Q4.0I0.0

11、I0.1I0.2(a) 復位指令操作 5.3.2 5.3.2 位操作指令位操作指令 RS觸發(fā)器梯形圖方塊指令中標有一個置位輸入(S)端,一個 復位輸入(R)端,輸出端標為Q。3. RS觸發(fā)器5.3.2 5.3.2 位操作指令位操作指令 觸發(fā)器可以用在邏輯串最右端,結(jié)束一個邏輯串,也可用在 邏輯串中,影響右邊的邏輯操作結(jié)果。 RS觸發(fā)器分為置位優(yōu)先和復位優(yōu)先型兩種置位優(yōu)先型RS觸發(fā)器的R端在S端之上,當兩個輸入端都為1時,下面的置位輸入最終有效,既置位輸入優(yōu)先,如圖 A I0.0 R M0.0A I0.1S M0.0A M0.0 = Q4.0 置位優(yōu)先型RS觸發(fā)器 5.3.2 5.3.2 位操作

12、指令位操作指令根據(jù)I0.1和I0.2的時序圖畫出Q0.0的時序圖?!纠繒r序圖搶答器有三個輸入,分別為I0.0、I0.1和I0.2,輸出分別為Q4.0、Q4.1和Q4.2,復位輸入是I0.4。要求:三人中任意搶答,誰先按按鈕,誰的指示燈優(yōu)先亮,且只能亮一盞燈,進行下一問題時主持人按復位按鈕,搶答重新開始。 5.3.2 5.3.2 位操作指令舉例位操作指令舉例【例例】搶答器的設(shè)計4.校驗解題過程:解題過程:4. 對RLO的直接操作指令 這一類指令直接對RLO進行操作,改變狀態(tài)字中RLO位的狀態(tài)。5.3.2 5.3.2 位操作指令位操作指令當信號狀態(tài)變化時就產(chǎn)生跳變沿 從0變到1時,產(chǎn)生一個上升

13、沿(或正跳沿)5.3.3 5.3.3 位測試指令位測試指令 從1變到0時,產(chǎn)生一個下降沿(或負跳沿) 兩類跳變沿檢測指令,一是對RLO的跳變沿檢測的指令,另 一種是對觸點跳變沿直接檢測的梯形圖方塊指令RLO正跳沿檢測1 2 3 4 5 6 7 8 9OBI掃描周期Q4.0M1.0I1.0信號狀態(tài)圖Q4.0M1.0I1.0語句表AFPI1.0( P )M1.0( )Q4.0梯形圖5.3.3 5.3.3 位測試指令位測試指令【例例】設(shè)計一個閃爍電路,按動按鈕設(shè)計一個閃爍電路,按動按鈕I0.0I0.0,使燈泡使燈泡 亮,再按動按鈕,燈泡滅;重復。亮,再按動按鈕,燈泡滅;重復。 5.3.3 5.3.3

14、 位測試指令舉例位測試指令舉例負跳沿(下降沿)檢測指令5.3.3 5.3.3 位測試指令位測試指令觸點負跳沿檢測NEGI0.3QM_BITM0.0I0.2I0.1I0.0I0.4( )Q4.0如果下列條件同時成立,則輸出Q4.0為1:輸入I0.0、I0.1和I0.2的信號狀態(tài)為1。輸入I0.3有負跳沿。輸入I0.4的信號狀態(tài)為1。5.3.3 5.3.3 位測試指令位測試指令地址上升沿檢測指令示例5.3.3 5.3.3 位測試指令位測試指令【例例】若故障信號若故障信號I0.0I0.0為為1 1,使,使Q4.0Q4.0控制的指示燈以控制的指示燈以1Hz1Hz的的 頻率閃爍。操作人員按復位按鈕頻率閃

15、爍。操作人員按復位按鈕I0.1I0.1后,如果故障已經(jīng)消失,后,如果故障已經(jīng)消失, 則指示燈熄滅,若沒有消失,指示燈轉(zhuǎn)為常亮,直至故障消失。則指示燈熄滅,若沒有消失,指示燈轉(zhuǎn)為常亮,直至故障消失。5.3.3 5.3.3 位測試指令舉例位測試指令舉例1. 傳送帶控制 在傳送帶的起終點各有兩個按鈕開關(guān):用于START的S1和S3;S2和S4用于STOP。可以從任一端啟動或停止傳送帶。另外,當傳送帶上的物件到達末端時,傳感器S5使傳送帶停機。5.3.4 5.3.4 位邏輯指令編程舉例位邏輯指令編程舉例MOTOR_ONS1S2StartStopS3S4StartStopS5用于傳送帶系統(tǒng)符號編程的元素

16、用于傳送帶系統(tǒng)符號編程的元素 I/O分配表分配表控制傳送帶程序控制傳送帶程序“S1”( S )“MOTOR_ON”網(wǎng)絡(luò)1:按任何一個啟動開關(guān),接通電機“S3”網(wǎng)絡(luò)1:OOSS1S3MOTOR_ON“S2”( R )“MOTOR_ON”網(wǎng)絡(luò)2:按任何一個停止或打開傳送帶 末端的常閉接點,停止電機“S4”網(wǎng)絡(luò)2:OOONS2S4RMOTOR_ONS5“S5”2. 風機監(jiān)控程序 某設(shè)備有三臺風機,當設(shè)備處于運行狀態(tài)時,如果風機至少有兩臺以上轉(zhuǎn)動,則指示燈常亮;如果僅有一臺風機轉(zhuǎn)動,則指示燈以0.5 Hz的頻率閃爍;如果沒有任何風機動,則指示燈以2 Hz的頻率閃爍。當設(shè)備不運行時,指示燈不亮。5.3.

17、4 5.3.4 位邏輯指令編程舉例位邏輯指令編程舉例圖圖4.17 風機監(jiān)控程序風機監(jiān)控程序I0.0( )I0.0I0.1Q4.0Q4.1I0.2I0.1I0.2I0.0I0.1I0.2( # )M10.1 M9.3( # )M10.0M10.0 M10.1M9.7 注:輸入位注:輸入位I0.0I0.0,I0.1I0.1,I0.2I0.2分別為風機分別為風機1 1,2 2,3 3的反饋輸入端。的反饋輸入端。M9.3 M9.3 為為2 Hz2 Hz頻率頻率CPUCPU中的時鐘信號;中的時鐘信號;M9.7M9.7為為0.5 Hz0.5 Hz頻率信號。頻率信號。風機監(jiān)控程序 AN M10.0 AN M

18、10.1 A M9.7 ) A Q4.0 Q4.1風機狀態(tài)檢測的語句表程序,從中可看出中間輸出指令的用法:風機狀態(tài)檢測的語句表程序,從中可看出中間輸出指令的用法:A(A(A I0.0A I0.1OA I0.0A I0.2OA I0.1A I0.2) M10.0 A M10.0 O( AN I0.0 ANI0.1 ANI0.2 M10.1 A M10.1 A M9.3 ) O 風機監(jiān)控程序5.4 5.4 定時器與計數(shù)器指令定時器與計數(shù)器指令5.4.1 定時器指令u 脈沖定時器(SP)u 擴展定時器(SE)u 接通延時定時器(SD)u 帶保持的接通延時定時器(SS)u 斷電延時定時器(SF)。 S

19、7-300/400提供的定時器有:n 定時器的組成 定時器是一種由位和字組成的復合單元,定時器的觸點由位表示,其定時時間值存儲在字存儲器中。 在CPU的存儲器中留出了定時器區(qū)域,用于存儲定時器的定時時間值。每個定時器為2 B,稱為定時器字。 在S7-300中,最多允許使用256個定時器。 定時時間等于時基與定時值的乘積。 采用減計時,定時時間到后會引起定時器觸點的動作。5.4.1 5.4.1 定時器指令定時器指令定時器的第0位到第11位存放二進制格式的定時值,第12、13位存放二進制格式的時基。n 定時器字的表示方法圖圖4.18 累加器累加器1低字的內(nèi)容低字的內(nèi)容(定時值定時值127,時基,時

20、基l s)1112135.4.1 5.4.1 定時器指令定時器指令4.180150100001001001118707210,01s - 0,1s -1s -10s -00011011時間值: 0 . . . 999不用n 定時器時基5.4.1 5.4.1 定時器指令定時器指令n 設(shè)置定時時間的方法 其中,a:小時,bb:分鐘,cc:秒,ddd:毫秒,時基是自動選擇的,原則是能滿足定時范圍要求的最小時基。 其中,w為時基,取值為0,1,2或3,分別表示時基為10 ms,l00 ms,1 s或10 s;xyz為定時值,取值范圍為1999。l 使用S5中的時間表示法裝入定時數(shù)值 L S5T#aH_

21、bbM_ccS_dddMSl 直接裝入定時數(shù)值 L W#16#wxyz5.4.1 5.4.1 定時器指令定時器指令n-(SP)指令是產(chǎn)生指定時間寬度脈沖的定時器。 LAD參數(shù)數(shù)據(jù)類型存儲區(qū)說明TIMERT地址表示要起動的計時器號時間值S5TIMEI,Q,M,D,L定時時間值(S5TIME格式)1 1、脈沖定時器、脈沖定時器 -(SPSP)1 1、脈沖定時器、脈沖定時器 -(SPSP)1 1、脈沖定時器、脈沖定時器 -(SPSP)n 上圖程序?qū)?yīng)的時序圖如圖所示上圖程序?qū)?yīng)的時序圖如圖所示 1 1、脈沖定時器、脈沖定時器 -(SPSP)l T1接點控制Q0.0線圈,因此T1接點的狀態(tài)與Q0.0的

22、狀態(tài)一致l 脈沖定時器每次起動的條件是邏輯位有正跳沿發(fā)生,定時器 啟動計時,T1接點開始輸出高電平“1”。l -(SP)指令計時的過程中,邏輯位的狀態(tài)若變?yōu)椤?”,則定時 器停止計時,且輸出為“0”。l 脈沖定時器輸出的高電平的寬度小于或等于所定義的時間值。 LADLAD參數(shù)參數(shù)數(shù)據(jù)類數(shù)據(jù)類型型說明說明存儲區(qū)存儲區(qū)TIMER要啟動的計時器號如T0TSBOOL啟動輸入端I,Q,M,D,LTVS5TIME定時時間(S5TIME格式)RBOOL復位輸入端QBOOL定時器的狀態(tài)BIWORD當前時間(整數(shù)格式)BCDWORD當前時間(BCD碼格式)1 1、脈沖定時器、脈沖定時器 -(SPSP)n 脈沖定

23、時器的方框指令脈沖定時器的方框指令1 1、脈沖定時器、脈沖定時器 -(SPSP) 可從MW10和MW12中以不同的格式讀出定時器計時T1剩余的時間1 1、脈沖定時器、脈沖定時器 -(SPSP)上圖所示的程序?qū)?yīng)的時序圖【例例】用脈沖定時器設(shè)計一個周期振蕩電路,振用脈沖定時器設(shè)計一個周期振蕩電路,振 蕩周期為蕩周期為5s5s,占空比為,占空比為2:32:3。 1 1、脈沖定時器、脈沖定時器 -(SPSP)n-(SE)指令與-(SP)指令相似,但-(SE)指令具有保持功能。LAD參數(shù)數(shù)據(jù)類型存儲區(qū)說明TIMERT地址表示要起動的計時器號時間值S5TIMEI,Q,M,D,L定時時間值(S5TIME格

24、式)2 2、擴展脈沖定時器、擴展脈沖定時器 -(SESE)2 2、擴展脈沖定時器、擴展脈沖定時器 -(SESE)2 2、擴展脈沖定時器、擴展脈沖定時器 -(SESE)n 上圖所示的程序?qū)?yīng)的時序圖l一旦邏輯位(即I0.0的狀態(tài))有正跳沿發(fā)生,定時器T0啟動,同時輸出高電平“1”。2 2、擴展脈沖定時器、擴展脈沖定時器 -(SESE)l定時時間到后,輸出將自動變成低電平“0”。l如果定時時間尚未到達,邏輯位的狀態(tài)就由“1”變?yōu)椤?”,這時定時器仍然繼續(xù)運行,直到計時完成。這一點是-(SE)指令與-(SP)指令的不同之處。 LAD參數(shù)數(shù)據(jù)類型說明存儲區(qū)TIMER要啟動的計時器號如T0TSBOOL啟

25、動輸入端I,Q,M,D,LTVS5TIME定時時間(S5TIME格式)RBOOL復位輸入端QBOOL定時器的狀態(tài)BIWORD當前時間(整數(shù)格式)BCDWORD當前時間(BCD碼格式)2 2、擴展脈沖定時器、擴展脈沖定時器 -(SESE)擴展脈沖定時器的方框指令定時器應(yīng)用舉例:n使用-(SP)或-(SE)指令構(gòu)成脈沖發(fā)生器:使用脈沖定時器如圖所示的程序可產(chǎn)生周期性變化的脈沖信號。n上圖中的程序?qū)?yīng)的時序圖如圖所示 定時器應(yīng)用舉例:n程序又可寫成如圖所示的程序 定時器應(yīng)用舉例:【例例】設(shè)計頻率監(jiān)視器,其特點是頻率低于下限,則設(shè)計頻率監(jiān)視器,其特點是頻率低于下限,則 指示燈指示燈Q4.0Q4.0亮,

26、亮,“確認確認”按鈕按鈕I0.1I0.1使指示燈復位。監(jiān)使指示燈復位。監(jiān)控頻率為控頻率為0.5Hz0.5Hz,由,由M10.0M10.0提供提供。定時器應(yīng)用舉例:3 3、開通延時定時器、開通延時定時器-(SDSD)n 開通延時定時器指令-(SD),相當于繼電器控制系統(tǒng) 中的通電延時時間繼電器。 LAD參數(shù)數(shù)據(jù)類型存儲區(qū)說明TIMERT地址表示要起動的計時器號時間值S5TIMEI,Q,M,D,L定時時間值(S5TIME格式)n 如圖所示的程序: 3 3、開通延時定時器、開通延時定時器-(SDSD)n上圖所示的程序?qū)?yīng)的時序圖如圖所示 3 3、開通延時定時器、開通延時定時器-(SDSD)n-(SD

27、SD)對應(yīng)的方框如表所示)對應(yīng)的方框如表所示 LAD參數(shù)數(shù)據(jù)類型說明存儲區(qū)TIMER要啟動的計時器號如T0TSBOOL啟動輸入端I,Q,M,D,LTVS5TIME定時時間(S5TIME格式)RBOOL復位輸入端QBOOL定時器的狀態(tài)BIWORD當前時間(整數(shù)格式)BCDWORD當前時間(BCD碼格式)3 3、開通延時定時器、開通延時定時器-(SDSD)n 定時器擴展定時器應(yīng)用舉例:在S7-300中,單個定時器的最大計時范圍是999(2H_46M_30S),如果超過這個范圍,可以采用兩個或多個定時器級連的方法來擴展計時范圍。設(shè)計一個要求延時時間為5個小時的控制任務(wù)。n使用-(SD)指令產(chǎn)生周期性

28、變化的脈沖信號:定時器應(yīng)用舉例:n上圖所示的程序?qū)?yīng)的時序圖如圖所示 定時器應(yīng)用舉例:【例例】用接通延時定時器設(shè)計一個周期振蕩電路,用接通延時定時器設(shè)計一個周期振蕩電路, 振蕩周期為振蕩周期為18s18s,占空比為,占空比為1 1:2 2。定時器應(yīng)用舉例:定時器應(yīng)用舉例:n使用 -(SD)指令還可以用二分頻電路產(chǎn)生一個方波。程序如圖所示 n時序圖如圖所示 定時器應(yīng)用舉例:4 4、保持型開通延時定時器、保持型開通延時定時器-(SSSS) n保持型開通延時-(SS)與開通延時定時器-(SD)類似,但-(SS)指令有保持功能。 LAD參數(shù)數(shù)據(jù)類型存儲區(qū)說明TIMERT地址表示要起動的計時器號時間值S

29、5TIMEI,Q,M,D,L定時時間值(S5TIME格式)4 4、保持型開通延時定時器、保持型開通延時定時器-(SSSS) n上圖中的程序?qū)?yīng)的時序圖如圖所示 4 4、保持型開通延時定時器、保持型開通延時定時器-(SSSS) n保持型開通延時定時器的方框指令LAD參數(shù)數(shù)據(jù)類型說明存儲區(qū)TIMER要啟動的計時器號如T0TSBOOL啟動輸入端I,Q,M,D,LTVS5TIME定時時間(S5TIME格式)RBOOL復位輸入端QBOOL定時器的狀態(tài)BIWORD當前時間(整數(shù)格式)BCDWORD當前時間(BCD碼格式)4 4、保持型開通延時定時器、保持型開通延時定時器-(SSSS) 5 5、關(guān)斷延時定時

30、器、關(guān)斷延時定時器-(SFSF)n關(guān)斷延時定時器-(SF)相當于繼電器控制系統(tǒng)中的斷電延時時間繼電器。也是定時器指令中唯一的一個由下降沿啟動的定時器指令。 LAD參數(shù)數(shù)據(jù)類型存儲區(qū)說明TIMERT地址表示要起動的計時器號時間值S5TIMEI,Q,M,D,L定時時間值(S5TIME格式)n如圖所示的程序 5 5、關(guān)斷延時定時器、關(guān)斷延時定時器-(SFSF)n上圖中的程序?qū)?yīng)的時序圖如圖所示5 5、關(guān)斷延時定時器、關(guān)斷延時定時器-(SFSF)n關(guān)斷延時計時器的方框指令如下表所示 LAD參數(shù)數(shù)據(jù)類型說明存儲區(qū)TIMER要啟動的計時器號如T0TSBOOL啟動輸入端I,Q,M,D,LTVS5TIME定時

31、時間(S5TIME格式)RBOOL復位輸入端QBOOL定時器的狀態(tài)BIWORD當前時間(整數(shù)格式)BCDWORD當前時間(BCD碼格式)5 5、關(guān)斷延時定時器、關(guān)斷延時定時器-(SFSF)5 5種定時器的選擇原則種定時器的選擇原則5.4.2 5.4.2 計數(shù)器指令計數(shù)器指令 計數(shù)器置初值指令(計數(shù)器置初值指令(SCSC) 加法計數(shù)器線圈(加法計數(shù)器線圈(CUCU) 減法計數(shù)器線圈(減法計數(shù)器線圈(CDCD)n S7 S7中的計數(shù)器用于中的計數(shù)器用于: :對對RLORLO正跳沿計數(shù)。正跳沿計數(shù)。n 計數(shù)器是由表示當前計數(shù)值的字及狀態(tài)的位組成。計數(shù)器是由表示當前計數(shù)值的字及狀態(tài)的位組成。n S7S

32、7中有三種計數(shù)器中有三種計數(shù)器: : 1011120304150607180901001112131415BCD碼7BCD碼2BCD碼1無關(guān):當計數(shù)器置數(shù)時這四位被忽略計數(shù)器組成計數(shù)器組成 在在CPUCPU中保留一塊存儲區(qū)作為計數(shù)器計數(shù)值存儲區(qū),每個計中保留一塊存儲區(qū)作為計數(shù)器計數(shù)值存儲區(qū),每個計數(shù)器占用兩個字節(jié),計數(shù)器字中的第數(shù)器占用兩個字節(jié),計數(shù)器字中的第0 01111位表示計數(shù)值位表示計數(shù)值( (二進制格式二進制格式) ),計數(shù)范圍是,計數(shù)范圍是0 0999999。5.4.2 5.4.2 計數(shù)器指令計數(shù)器指令 1 1計數(shù)器置初值指令(計數(shù)器置初值指令(SCSC)n當邏輯位RLO有正跳沿時

33、,計數(shù)器置初值線圈將預置值裝入指定計數(shù)器中。若RLO位的狀態(tài)沒有正跳沿發(fā)生,則計數(shù)器的值保持不變。LAD參數(shù)數(shù)據(jù)類型存儲區(qū)說明計數(shù)器號COUNTERC地址表示預置初值的計數(shù)器號預置值WORDI,Q,M,D,L預置值(必須是BCD碼格式,即為C#,例如C#23)2 2加法計數(shù)器線圈加法計數(shù)器線圈 l 當邏輯位RLO有正跳沿時,加法計數(shù)器線圈使指定計數(shù) 器的值加1,l 如果RLO位的狀態(tài)沒有正跳沿發(fā)生,或者計數(shù)器數(shù)值已經(jīng) 達到最大值999,則計數(shù)器的值保持不變。 3 3減法計數(shù)器線圈減法計數(shù)器線圈 l 當邏輯位RLO有正跳沿時,減法計數(shù)器線圈使指定計數(shù)器 的值減1l 如果RLO位的狀態(tài)沒有正跳沿發(fā)

34、生,或者計數(shù)器數(shù)值已經(jīng) 達到最小值0,則計數(shù)器的值保持不變。 LAD參數(shù)數(shù)據(jù)類型存儲區(qū)說明計數(shù)器號COUNTERC地址表示要執(zhí)行減法計數(shù)的計數(shù)器號計數(shù)器指令的使用舉例計數(shù)器指令的使用舉例 n 如圖所示如圖所示n當I0.0的狀態(tài)由“0”變?yōu)椤?”時,(SC)指令將數(shù)值23裝入計數(shù)器C0中,當I0.1的狀態(tài)由“0”變?yōu)椤?”時,計數(shù)器C0的值將減1,當I0.2的狀態(tài)由“0”變?yōu)椤?”時,計數(shù)器C0的值將加1。計數(shù)器的位狀態(tài)與計數(shù)器值的關(guān)系如表所示 計數(shù)器的計數(shù)值計數(shù)器的位狀態(tài)不等于0“1”(高電平)等于0“0”(低電平)計數(shù)器指令的使用舉例計數(shù)器指令的使用舉例 n如圖所示,若I0.3的狀態(tài)為“1”

35、,則計數(shù)器C0所計的數(shù)值立刻變?yōu)榱悖捎冢≧)指令是高電平執(zhí)行,因此若I0.3的狀態(tài)保持“1”,則計數(shù)器C0始終處于清零狀態(tài)而無法正常使用。用戶在使用指令時,應(yīng)注意指令的執(zhí)行方式。 計數(shù)器指令的使用舉例計數(shù)器指令的使用舉例 4 4可逆計數(shù)器可逆計數(shù)器S_CUDS_CUDLAD參數(shù)數(shù)據(jù)類型說明存儲區(qū)COUNTER計數(shù)器標識號CCUBOOL加計數(shù)輸入I,Q,M,D,LCDBOOL減計數(shù)輸入SBOOL計數(shù)器預置輸入PVWORD計數(shù)器預置值(C#格式)RBOOL復位輸入QBOOL計數(shù)器狀態(tài)CVWORD計數(shù)器當前值(整數(shù)格式)CV_BCDWORD計數(shù)器當前值(BCD格式)n前面例子中兩圖所示的程序可以由

36、下圖所示的程序代替 4 4可逆計數(shù)器可逆計數(shù)器S_CUDS_CUD可逆計數(shù)器方框指令可以完成計數(shù)器的加(CU)、減(CD)計數(shù)和置初值(S、PV)以及計數(shù)器值清零(R)等功能.4 4可逆計數(shù)器可逆計數(shù)器S_CUDS_CUD可以看到, 還可以將計數(shù)器當前值以不同的格式輸出,整數(shù)格式(CV)和BCD格式(CV_BCD). 計數(shù)器的狀態(tài)可以Q端輸出,也可以由計數(shù)器的觸點輸出.p計數(shù)器指令的加、減計數(shù)輸入端以及預置值輸入端均為上升沿執(zhí)行,指令才會執(zhí)行。4 4可逆計數(shù)器可逆計數(shù)器S_CUDS_CUD使用計數(shù)器時應(yīng)該注意下面幾點問題 p計數(shù)器預置的初始值及PV端的數(shù)據(jù)格式為BCD碼二十進制格式,否則執(zhí)行程

37、序時,CPU將會出錯。p計數(shù)器觸點的狀態(tài)由計數(shù)器的值決定,如果計數(shù)值等于零,則計數(shù)器觸點的狀態(tài)為低電平“0”,如果計數(shù)值不等于零(無論等于幾),則計數(shù)器觸點的狀態(tài)為高電平“1”。1. 1. 脈沖發(fā)生器脈沖發(fā)生器用定時器構(gòu)成一個脈沖發(fā)生器,使其產(chǎn)生如圖所示的脈沖時序,用定時器構(gòu)成一個脈沖發(fā)生器,使其產(chǎn)生如圖所示的脈沖時序,脈沖信號的周期為脈沖信號的周期為3 s3 s,脈沖寬度為,脈沖寬度為1 s1 s2s1sQ4.0I0.0應(yīng)用舉例應(yīng)用舉例網(wǎng)絡(luò)12I0.0T1(SD)T2S5T#2S網(wǎng)絡(luò)13T2(SD)T1S5T#1S( )Q4.02脈沖發(fā)生器程序脈沖發(fā)生器程序 2. 2. 頻率監(jiān)測器頻率監(jiān)測器

38、 頻率監(jiān)測器用于監(jiān)測脈沖信號的頻率,若其低于下限,則頻率監(jiān)測器用于監(jiān)測脈沖信號的頻率,若其低于下限,則指示燈亮,指示燈亮,“確認確認”按鍵能使指示燈復位。為此,使用了一個按鍵能使指示燈復位。為此,使用了一個擴展脈沖定時器,即每當頻率信號有一個上升沿就啟動一次定擴展脈沖定時器,即每當頻率信號有一個上升沿就啟動一次定時器。如果超過了定時時間沒有啟動定時器,則表明兩個脈沖時器。如果超過了定時時間沒有啟動定時器,則表明兩個脈沖之間的時間間隔太長,即頻率太低了。之間的時間間隔太長,即頻率太低了。應(yīng)用舉例應(yīng)用舉例tt*定時器再觸發(fā)確認頻率低I0.1頻率低指示Q4.0定時器響應(yīng)T1脈沖信號M10.0t定時時

39、間頻率監(jiān)測器時序頻率監(jiān)測器時序 頻率監(jiān)測梯形圖程序頻率監(jiān)測梯形圖程序M10.0(SE)T1S5T#2SI0.0( S )Q4.0T1( R )Q4.0I0.0I0.1 I0.0用于關(guān)閉監(jiān)測器用于關(guān)閉監(jiān)測器 I0.1用于確認頻率低用于確認頻率低 Q4.0用以控制指示燈用以控制指示燈 T1的定時時間為的定時時間為2 s 即設(shè)置脈沖信即設(shè)置脈沖信M10.0 的頻率監(jiān)測下限為的頻率監(jiān)測下限為0.5 Hz。應(yīng)用舉例:交通信號燈的控制交通信號燈模型如圖所示 紅 1 黃 1 綠 1黃 1紅 1綠 1綠 2黃 2紅 2紅 2黃 2綠 2北南西東控制要求如下:l自動開關(guān)合上之后,東西綠燈亮8秒滅,黃燈亮3秒之后

40、滅,紅燈亮10秒后閃2秒然后綠燈亮.循環(huán)l對應(yīng)東西綠黃燈亮時,南北紅燈亮9秒后閃2秒,接著綠燈亮9秒后閃秒滅,黃燈亮3秒,紅燈又亮.循環(huán)l當斷開自動開關(guān)時,交通信號燈立刻停止工作交通信號燈的控制要求n根據(jù)控制要求畫出交通信號燈的時序圖如圖所示 交通信號燈的控制系統(tǒng)分析 n1PLC硬件配置:控制系統(tǒng)中的硬件配置如下 序號名稱型號說明數(shù)量1CPUCPU31312電源模塊PS30713開關(guān)量輸入模塊SM32114開關(guān)量輸出模塊SM32215前連接器20針2交通信號燈的控制n2分析控制要求進行輸入輸出點分配,并根據(jù)分配畫出外部接線圖。序號輸入信號名稱地址1自動開關(guān)QS(常開)I0.0序號輸出信號名稱地

41、址1東西綠燈HL1Q4.02東西黃燈HL2Q4.13東西紅燈HL3Q4.24南北綠燈HL4Q4.35南北黃燈HL5Q4.46南北紅燈HL6Q4.5交通信號燈的控制n輸入輸出模塊接線如圖所示 交通信號燈的控制n3程序設(shè)計 設(shè)計提示:可先采用SE指令,產(chǎn)生周期為23秒,占空 比為11:12的矩形波。再將其分割成所需要的矩形波。交通信號燈的控制5.5 5.5 數(shù)據(jù)處理功能指令數(shù)據(jù)處理功能指令l 裝入(L)和傳送(T)指令可以在存儲區(qū)之間或存儲區(qū)與過程輸 入、輸出之間交換數(shù)據(jù)。5.5.1 裝入和傳送指令l CPU執(zhí)行這些指令不受邏輯操作結(jié)果RLO的影響。l L指令將源操作數(shù)裝入累加器1中,而累加器原有

42、的數(shù)據(jù)移入 累加器2中,累加器2中原有的內(nèi)容被覆蓋。l T指令將累加器1中的內(nèi)容寫入目的存儲區(qū)中,累加器的內(nèi)容 保持不變。L 5 L MW 10 L IBDID 8 T MW 20 T MWAR1,P#10.0 對累加器1的裝入和傳送指令/將立即數(shù)5裝入累加器1中/將MW10中的值裝入累加器1中/將由數(shù)據(jù)雙字DID8指出的輸入字節(jié)裝入累加器1中/將累加器1中的內(nèi)容傳送給存儲字MW20 /將累加器1中的內(nèi)容傳送給由地址寄存器1加偏/移量確定的存儲字中5.5.1 裝入和傳送指令 L STW / L STW /將狀態(tài)字中將狀態(tài)字中0 08 8位裝入累加器位裝入累加器1 1中,累加器中,累加器 9 9

43、3l3l位被清位被清0 0 T STW / T STW /將累加器將累加器1 1中的內(nèi)容傳送到狀態(tài)字中中的內(nèi)容傳送到狀態(tài)字中 5.5.1 裝入和傳送指令2. 2. 讀取或傳送狀態(tài)字讀取或傳送狀態(tài)字L T1 /將定時器T1中二進制格式的時間值直接裝入累加器1的低字中 LC T1 /將定時器T1的時間值和時基以BCD碼裝入累加器1的低字中L C1 /將計數(shù)器C1中二進制格式的計數(shù)值直接裝入累加器1的低字中LC C1 /將計數(shù)器C l中的計數(shù)值以BCD碼格式裝入累加器1的低字中 3. 3. 裝入時間值或計數(shù)值裝入時間值或計數(shù)值5.5.1 裝入和傳送指令5.5.1 裝入和傳送指令4. 4. 地址寄存器

44、裝入和傳送地址寄存器裝入和傳送對于地址寄存器,可以不經(jīng)過累加器1而直接將操作數(shù)裝入或送,或?qū)蓚€地址寄存器的內(nèi)容直接交換。LAD參數(shù)數(shù)據(jù)類型說明存儲區(qū)ENBOOL允許輸入I,Q,M,D,LENOBOOL允許輸出IN長度為8位、16位、32位的所有數(shù)據(jù)類型源數(shù)據(jù)OUT長度為8位、16位、32位的所有數(shù)據(jù)類型目的地地址5.5.1 裝入和傳送指令5. 5. 梯形圖方塊傳送指令梯形圖方塊傳送指令MOVEENINENOOUTDBW12( )Q4.0MW10I0.0 A A I0.0I0.0 JNB JNB _0001 _0001 L L MW10MW10 T T DBW12DBW12SET SET /使

45、使RLORLO為為1 1SAVE SAVE /使使BRBR為為1 1 CLR CLR_0001_0001: A BRA BR Q4.0Q4.05.5.1 裝入和傳送指令n如圖所示程序 5.5.1 裝入和傳送指令 在在S7-300S7-300中,單個計數(shù)器的最大計數(shù)值是中,單個計數(shù)器的最大計數(shù)值是999999,如果要求,如果要求大于大于999999的計數(shù),就要進行擴展。結(jié)合應(yīng)用傳送指令和比的計數(shù),就要進行擴展。結(jié)合應(yīng)用傳送指令和比較指令,將兩個計數(shù)器級連,最大計數(shù)值可達較指令,將兩個計數(shù)器級連,最大計數(shù)值可達9999992 2,n n個個計數(shù)器級連,最大計數(shù)值可達計數(shù)器級連,最大計數(shù)值可達999

46、 999 n n。 【例例】計數(shù)器擴展計數(shù)器擴展應(yīng)用舉例應(yīng)用舉例兩個計數(shù)器級連擴展的程序 n用計數(shù)器和定時器進行級連,可以使計時范圍幾乎可以無限地進行擴展。n假定T1的延時時間為2H,C0的計數(shù)值為999,則C1動作一次的時間為99921998 小時(約83天)。如果再考慮計數(shù)器C1與C0進行級連,設(shè)C1的計數(shù)值為900,則C1動作一次需要83900=74700天,約204年。【例例】定時器擴展應(yīng)用舉例應(yīng)用舉例2個計數(shù)器和1個定時器進行級連n 能夠?qū)崿F(xiàn)的轉(zhuǎn)換操作有: * BCD碼和整數(shù)及長整數(shù)間的轉(zhuǎn)換 (BTI, ITB, ITD, BTD, DTB, DTR ) * 實數(shù)和長整數(shù)間的轉(zhuǎn)換(R

47、ND, TRUNC, RND+, RND- ) * 數(shù)的取反、取負等(INVI, INVD, NEGI, NEGD, NEGR )5.5.2 5.5.2 轉(zhuǎn)換指令轉(zhuǎn)換指令n 轉(zhuǎn)換指令首先將源數(shù)據(jù)按照規(guī)定的格式讀入累加器,然后 在累加器中對數(shù)據(jù)進行類型轉(zhuǎn)換,最后再將轉(zhuǎn)換的結(jié)果傳 送到目的地址。1. BCD1. BCD和整數(shù)間的轉(zhuǎn)換和整數(shù)間的轉(zhuǎn)換表表4.16 BCD和整數(shù)間的轉(zhuǎn)換和整數(shù)間的轉(zhuǎn)換指令說 明BTI將累加器1低字中的3位BCD碼轉(zhuǎn)換為16位整數(shù)BTD將累加器1低字中的7位BCD碼轉(zhuǎn)換為32位整數(shù)ITB將累加器1低字中的16位整數(shù)碼轉(zhuǎn)換為3位BCD碼ITD將累加器1低字中的16位整數(shù)碼轉(zhuǎn)換

48、為32位整數(shù)DTB將累加器1中的32位整數(shù)碼轉(zhuǎn)換為7位BCD碼DTR將累加器1中的32位整數(shù)碼轉(zhuǎn)換為32位整數(shù)2. 2. 實數(shù)和長整數(shù)間的轉(zhuǎn)換實數(shù)和長整數(shù)間的轉(zhuǎn)換指令說 明RND將實數(shù)化整為最接近的整數(shù),四舍五入,如果小數(shù)部分等于5,則選擇偶數(shù)結(jié)果,例如:1002.5化整為1002,1003.5化整為1004RND+將實數(shù)化整為大于或等于該實數(shù)的最小整數(shù)RND-將實數(shù)化整為小于或等于該實數(shù)的最大整數(shù)TRUNC取實數(shù)的整數(shù)部分(截去小數(shù))3. 3. 數(shù)的取反、取負數(shù)的取反、取負指令說 明INVI對累加器1低字中的16位整數(shù)求反碼INVD對累加器1中的32位整數(shù)求反碼NEGI對累加器1低字中的16

49、位整數(shù)求補碼NEGD對累加器1中的32位整數(shù)求補碼NEGR對累加器1中的32位實數(shù)的符號位求補碼【例例】如果輸入I0.1為1,則將MD0的內(nèi)容以7位BCD碼的格式(如果格式非法,則顯示系統(tǒng)錯誤)裝入累加器1,并將其轉(zhuǎn)換為長整數(shù),存放到MD10,如果轉(zhuǎn)換不執(zhí)行,則輸出Q4.0為1。 應(yīng)用舉例應(yīng)用舉例1. 比較指令比較指令表表4.19 比比 較較 指指 令令5.5.3 5.5.3 比較指令比較指令l 傳送帶1將包裹運送至臨時倉庫區(qū)。l 傳送帶1靠近倉庫區(qū)一端安裝的光電傳感器確定已有多少包裹運送至倉庫區(qū)。l 傳送帶2將臨時庫區(qū)中的包裹運送至裝貨場,在這里貨物由卡車運送至顧客。l 傳送帶2靠近庫區(qū)一端

50、安裝的光電傳感器確定已有多少包裹從庫區(qū)運送至裝貨場。l 含5個指示燈的顯示盤表示臨時倉庫區(qū)的占用程度。應(yīng)用實例應(yīng)用實例兩臺傳送帶的系統(tǒng),在兩臺傳送帶之間有一個倉庫區(qū):圖圖4.33 裝有計數(shù)器和比較器的倉庫區(qū)裝有計數(shù)器和比較器的倉庫區(qū)可裝100件包裹的臨時倉庫I0.0I0.1包裹運進包裹運出傳送帶1光電傳感器1光電傳感器2傳送帶2倉庫區(qū)裝滿(Q15.4)倉庫區(qū)裝入90%(Q15.3)倉庫區(qū)裝入50%(Q15.2)倉庫區(qū)不空(Q12.1)倉庫區(qū)空(Q12.0)顯示面板應(yīng)用實例應(yīng)用實例4.校驗解題過程:解題過程:【例例】用比較和計數(shù)指令編寫開關(guān)燈程序,要求燈控用比較和計數(shù)指令編寫開關(guān)燈程序,要求燈控

51、 按鈕按鈕I0.0I0.0按下一次,燈按下一次,燈Q4.0Q4.0亮,按下兩次,燈亮,按下兩次,燈Q4.0Q4.0,Q4.1 Q4.1 全亮,按下三次燈全滅,如此循環(huán)。全亮,按下三次燈全滅,如此循環(huán)。應(yīng)用實例應(yīng)用實例【例例】有一部電動小車供有一部電動小車供5 5個加工點使用,對小車的控制個加工點使用,對小車的控制 要求為:要求為:1 1)啟動按鈕)啟動按鈕I0.7I0.7按下時,車停在某個加工點(工位:按下時,車停在某個加工點(工位:1-51-5) 若沒有用車呼叫時,工位允許呼叫指示燈亮,表示各工位若沒有用車呼叫時,工位允許呼叫指示燈亮,表示各工位 可以呼車。可以呼車。2 2)某工位呼車時,工

52、位允許呼叫的指示燈滅,表示此后再呼)某工位呼車時,工位允許呼叫的指示燈滅,表示此后再呼 車均無效。車均無效。3 3)停車位呼車則小車不動,當呼車位號大于停車位號時,小)停車位呼車則小車不動,當呼車位號大于停車位號時,小 車自動向低位行駛;當呼車位號小于停車位號時,小車自車自動向低位行駛;當呼車位號小于停車位號時,小車自 動向高位行駛。當小車到達呼車位時自動停車。動向高位行駛。當小車到達呼車位時自動停車。4 4)小車到達呼車位時應(yīng)停留)小車到達呼車位時應(yīng)停留5s5s供該工位使用,不應(yīng)立即被其供該工位使用,不應(yīng)立即被其 他工位呼走他工位呼走試設(shè)計此系統(tǒng)。試設(shè)計此系統(tǒng)。應(yīng)用實例應(yīng)用實例4.校驗解題過

53、程:解題過程:l 移位指令將輸入移位指令將輸入ININ中的內(nèi)容向左或向右逐位移動中的內(nèi)容向左或向右逐位移動l 移動次數(shù)由輸入值移動次數(shù)由輸入值N N提供的數(shù)值確定提供的數(shù)值確定l 移位后空出的位填以移位后空出的位填以0 0或符號位或符號位(0(0代表正,代表正,1 1代表負代表負) )l 被移動的最后一位保存在狀態(tài)字中的被移動的最后一位保存在狀態(tài)字中的CClCCl里里l CC0CC0和和OVOV被復位為被復位為0 0l 可使用條件跳轉(zhuǎn)指令對可使用條件跳轉(zhuǎn)指令對CClCCl進行判斷。進行判斷。l 循環(huán)移位指令的空位填以從循環(huán)移位指令的空位填以從ININ中移出的位。中移出的位。5.5.4 5.5.

54、4 移位和循環(huán)移位指令移位和循環(huán)移位指令1無符號數(shù)移位指令表表4.20 無符號數(shù)移位指令無符號數(shù)移位指令輸入輸入ININ左移左移5 5位位 0 0 0 0 10 0 0 01 1 1 10 1 0 10 1 0 1158700 0 0 0參數(shù)INN1 0 1 01 1 1 06位OUT這5位丟失空出的位填入01 0 1 01無符號數(shù)移位指令2. 有符號數(shù)移位指令 輸入輸入ININ帶符號右移帶符號右移4 4位位1 0 1 015870參數(shù)INN4位OUT空出位填入與符號位相同的信號狀態(tài)這四位丟失1 1 1 10 0 0 01 0 1 01 1 1 11 0 1 01 1 1 11 0 1 00

55、0 0 0符號位2. 有符號數(shù)移位指令 3. 循環(huán)移位指令輸入輸入ININ循環(huán)左移循環(huán)左移3 3位位1 1 10 1 0 10 1 0 1310參數(shù)INN3位OUT移出3位的信號狀態(tài)插入空出位中最后移出位的狀態(tài)存在CC1中0 0 0 01 1 1 11 0 1 01 0 1 00 0 0 01 1 1 10 0 0 01 1 1 11 0 0 00 0 0 00 1 1 11 0 0 00 1 1 11 1 1 115163. 循環(huán)移位指令【例例】 走馬燈的實現(xiàn)。走馬燈的實現(xiàn)。 要求:運用循環(huán)移位指令實現(xiàn)要求:運用循環(huán)移位指令實現(xiàn)8 8個彩燈的循環(huán)左移和右移。個彩燈的循環(huán)左移和右移。 其中其中

56、I0.0I0.0為起停開關(guān),為起停開關(guān),MD20MD20為設(shè)定的初始值,為設(shè)定的初始值,MW12MW12為移位為移位 位數(shù),輸出為位數(shù),輸出為Q0.0Q0.7Q0.0Q0.7。 3. 循環(huán)移位指令舉例解題過程:解題過程:5.5.5 累加器操作和地址寄存器指令表表4.23 累加器操作指令累加器操作指令1. 累加器操作指令CAW、CAD指令執(zhí)行時累加器指令執(zhí)行時累加器1的變化的變化3116150原累加器1指令執(zhí)行后CAW3116150CAD5.5.5 累加器操作和地址寄存器指令 下面的例子說明了在有條件觸發(fā)的程序中INC指令是如何工作的。本例以存儲字節(jié)MB10作為循環(huán)次數(shù)計數(shù)暫存器,用INC指令修

57、正循環(huán)次數(shù),循環(huán)體中的程序連續(xù)執(zhí)行5次。 LOOP:L MB10 /循環(huán)體開始,裝載存儲字節(jié)至累加器循環(huán)體開始,裝載存儲字節(jié)至累加器1 INC 1 /循環(huán)計數(shù)器加循環(huán)計數(shù)器加1 T MB10 /保存循環(huán)次數(shù)保存循環(huán)次數(shù) L B#16#5 I /比較JC ERR /如果數(shù)據(jù)塊長度大于50,則跳轉(zhuǎn)至ERR標號處A I0.0BEU /無條件結(jié)束當前塊ERR:CALL FC10 /對于塊長度大于50的情況,調(diào)用FC10做相應(yīng)的處理5.5.5 累加器操作和地址寄存器指令4. 顯示和空操作指令表表4.26 顯示和空操作指令顯示和空操作指令5.5.5 累加器操作和地址寄存器指令5.6 5.6 數(shù)據(jù)運算指令數(shù)

58、據(jù)運算指令l 可以對整數(shù)、長整數(shù)和實數(shù)進行加、減、乘、除算術(shù)運算可以對整數(shù)、長整數(shù)和實數(shù)進行加、減、乘、除算術(shù)運算. .l 算術(shù)運算指令在累加器算術(shù)運算指令在累加器1 1和和2 2中進行,累加器中進行,累加器2 2中的值作為被減中的值作為被減 數(shù)或被除數(shù)數(shù)或被除數(shù). .l 算術(shù)運算的結(jié)果保存在累加器算術(shù)運算的結(jié)果保存在累加器1 1中,累加器中,累加器1 1中原有的值被運中原有的值被運算結(jié)果覆蓋算結(jié)果覆蓋. .l 算術(shù)運算指令對狀態(tài)字的算術(shù)運算指令對狀態(tài)字的CClCCl和和CC0CC0,OVOV,OSOS位將產(chǎn)生影響位將產(chǎn)生影響. .可可以用位操作指令或條件跳轉(zhuǎn)指令對狀態(tài)字中的標志位進行判斷以用

59、位操作指令或條件跳轉(zhuǎn)指令對狀態(tài)字中的標志位進行判斷操作操作. .5.6.1 5.6.1 算術(shù)運算指令算術(shù)運算指令1. 1. 基本算數(shù)運算指令(長整數(shù)運算)基本算數(shù)運算指令(長整數(shù)運算) 1. 1. 基本算數(shù)運算指令(實數(shù)運算)基本算數(shù)運算指令(實數(shù)運算) 【例例】求輸入雙字求輸入雙字ID10ID10的內(nèi)容與常數(shù)的內(nèi)容與常數(shù)3232相除的余數(shù),結(jié)相除的余數(shù),結(jié) 果保存到果保存到MD20MD20中。中。 1. 1. 基本算數(shù)運算指令(實數(shù)運算)基本算數(shù)運算指令(實數(shù)運算) 5.6.2 5.6.2 字邏輯運算指令字邏輯運算指令l 對于對于LADLAD和和FBDFBD形式的字邏輯運算指令,由參數(shù)形式的

60、字邏輯運算指令,由參數(shù)IN1IN1和和IN2IN2 提供參與運算的兩個數(shù)據(jù),運算結(jié)果保存在由提供參與運算的兩個數(shù)據(jù),運算結(jié)果保存在由OUTOUT指定指定 的存儲區(qū)中。的存儲區(qū)中。 l 字邏輯運算指令可對兩個字邏輯運算指令可對兩個1616位(位(WORDWORD)或)或3232位(位(DWORDDWORD) 的 二 進 制 數(shù) 據(jù) , 逐 位 進 行 邏 輯 與 、 邏 輯 或 、 邏的 二 進 制 數(shù) 據(jù) , 逐 位 進 行 邏 輯 與 、 邏 輯 或 、 邏 輯異或運算。輯異或運算。l 對于對于STLSTL形式的字邏輯運算指令,可對累加器形式的字邏輯運算指令,可對累加器1 1和累加器和累加器

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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

提交評論