第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ù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、南陽理工學(xué)院電子與電氣工程系電子與電氣工程系 電氣教研室電氣教研室電氣控制與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í)器與計(jì)數(shù)器指令5.5 數(shù)據(jù)處理功能指令5.6 數(shù)據(jù)運(yùn)算指令5.7 控制指令 思考與練習(xí)題教學(xué)目的教學(xué)目的掌握位邏輯指令的應(yīng)用掌握定時(shí)器和計(jì)數(shù)器指令的應(yīng)用 教學(xué)重點(diǎn)教學(xué)重點(diǎn)掌握位邏輯指令的應(yīng)用掌握定時(shí)器和計(jì)數(shù)器指令的應(yīng)用 教學(xué)難點(diǎn)教學(xué)難點(diǎn)定時(shí)器和計(jì)數(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í)行該操作所需要的信息, ,由標(biāo)識(shí)符和參由標(biāo)識(shí)符和參 數(shù)組成數(shù)組成; ;u 有些語句指令不帶操作數(shù),它們操作的對(duì)象是唯有些語句指令不帶操作數(shù),它們操作的對(duì)象是唯一的一的; ; 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 / /對(duì)輸入繼電器對(duì)輸入繼電器

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

4、 其操作碼是用圖素表示的,該圖素形象表明CPU做什么u 其操作數(shù)的表示方法與語句指令相同操作數(shù): 標(biāo)識(shí)符標(biāo)識(shí)符 標(biāo)識(shí)參數(shù)標(biāo)識(shí)參數(shù)A I 0.1 L M W 10表示操作數(shù)在該存儲(chǔ)區(qū)域表示操作數(shù)在該存儲(chǔ)區(qū)域內(nèi)的具體位置內(nèi)的具體位置 主標(biāo)識(shí)符:表示操作數(shù)所在的存儲(chǔ)區(qū)主標(biāo)識(shí)符:表示操作數(shù)所在的存儲(chǔ)區(qū) 主要有:I(輸入映像區(qū)),Q(輸出映像區(qū)),M(位存儲(chǔ)區(qū)),PI(外部輸入),PQ(外部輸出),T(定時(shí)器),C(計(jì)數(shù)器),DB(數(shù)據(jù)塊),L(本地?cái)?shù)據(jù))等 輔助標(biāo)識(shí)符進(jìn)一步說明操作數(shù)的位數(shù)長(zhǎng)度輔助標(biāo)識(shí)符進(jìn)一步說明操作數(shù)的位數(shù)長(zhǎng)度包括有: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 物理地址(絕對(duì)地址)表示法要明確指出操作數(shù)的所在存儲(chǔ)區(qū),該操作數(shù)的位數(shù)具體位置。例如:Q 4.0。符號(hào)名先定義后使用,不能重名。定義符號(hào)時(shí),需指明操作數(shù)所在的存儲(chǔ)區(qū)、位數(shù)、具體位置及數(shù)據(jù)類型。u 符號(hào)地址表示法l 位邏輯指令處理兩個(gè)數(shù)字,“1”和“0”。這兩個(gè)數(shù)字“1”和“0”稱為二進(jìn)制數(shù)字或二進(jìn)制位。在接點(diǎn)與線圈領(lǐng)域,“1”表示動(dòng)作或通電,“0”表示

6、未動(dòng)作或未通電。l 位邏輯指令掃描信號(hào)狀態(tài)1和0,并根據(jù)布爾邏輯對(duì)它們進(jìn)行組合。這些組合產(chǎn)生結(jié)果1或0,稱為“邏輯運(yùn)算結(jié)果(RLO)”。5.3 5.3 位邏輯指令位邏輯指令u 位邏輯運(yùn)算指令u 位操作指令u 位測(cè)試指令l 位邏輯指令主要包括:位邏輯運(yùn)算指令是位邏輯運(yùn)算指令是l “與”(AND)l “或”(OR)l “異或”(XOR)指令l 組合5.3.1 5.3.1 位邏輯運(yùn)算指令位邏輯運(yùn)算指令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 位邏輯運(yùn)算

7、指令位邏輯運(yùn)算指令 2. “或”和“或非”(O,ON)指令 O I1.1 ON M2.0 O Q4.0 Q4.1 5.3.1 5.3.1 位邏輯運(yùn)算指令位邏輯運(yùn)算指令 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 位邏輯運(yùn)算指令位邏輯運(yùn)算指令用語句表指令完全表示為:5.3.1 5.3.1 位邏輯運(yùn)算指令位邏輯運(yùn)算指令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)組合表示法 當(dāng)邏輯串是復(fù)雜組合時(shí),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 位邏輯運(yùn)算指令位邏輯運(yùn)算指令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先串后并梯形圖語句表【例例】運(yùn)動(dòng)機(jī)械自動(dòng)往復(fù)運(yùn)動(dòng)的PLC控制。 1.按下啟動(dòng)按鈕SB1后,電

9、動(dòng)機(jī)驅(qū)動(dòng)工作臺(tái)運(yùn)動(dòng)2.如果工作臺(tái)運(yùn)動(dòng)到極限位置時(shí),由行程開關(guān)SQ1或SQ2檢測(cè)并發(fā) 出停止前進(jìn)指令,同時(shí)自動(dòng)發(fā)出返回指令。3.只要不按停止按鈕SB2,工作臺(tái)將繼續(xù)這種自動(dòng)往復(fù)運(yùn)動(dòng)。4.工作臺(tái)驅(qū)動(dòng)電動(dòng)機(jī)通過熱繼電器做過載保護(hù)。 控制要求: 5.3.1 5.3.1 位邏輯運(yùn)算指令舉例位邏輯運(yùn)算指令舉例4.校驗(yàn)解題過程:解題過程: 邏輯串輸出指令又稱為賦值操作指令 該操作把狀態(tài)字中RLO的值賦給指定的操作數(shù)(位地址) 一個(gè)RLO可被用來驅(qū)動(dòng)幾個(gè)輸出元件 在LAD中,輸出線圈是上下依次排列的 在STL中,這些輸出具有相同的優(yōu)先級(jí)5.3.2 5.3.2 位操作指令位操作指令1. 輸出指令A(yù) 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 位操作指令位操作指令 置位復(fù)位指令根據(jù)RLO的值,來決定被尋址位的信 號(hào)狀態(tài)是否需要改變2 . 置位復(fù)位指令5.3.2 5.3.2 位操作指令位操作指令 若RLO的值為1,被尋址位的信號(hào)狀態(tài)被置1或清0 若RLO是0,則被尋址位的信號(hào)保持原狀態(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) 復(fù)位指令操作 5.3.2 5.3.2 位操作指令位操作指令 RS觸發(fā)器梯形圖方塊指令中標(biāo)有一個(gè)置位輸入(S)端,一個(gè) 復(fù)位輸入(R)端,輸出端標(biāo)為Q。3. RS觸發(fā)器5.3.2 5.3.2 位操作指令位操作指令 觸發(fā)器可以用在邏輯串最右端,結(jié)束一個(gè)邏輯串,也可用在 邏輯串中,影響右邊的邏輯操作結(jié)果。 RS觸發(fā)器分為置位優(yōu)先和復(fù)位優(yōu)先型兩種置位優(yōu)先型RS觸發(fā)器的R端在S端之上,當(dāng)兩個(gè)輸入端都為1時(shí),下面的置位輸入最終有效,既置位輸入優(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的時(shí)序圖畫出Q0.0的時(shí)序圖。【例例】時(shí)序圖搶答器有三個(gè)輸入,分別為I0.0、I0.1和I0.2,輸出分別為Q4.0、Q4.1和Q4.2,復(fù)位輸入是I0.4。要求:三人中任意搶答,誰先按按鈕,誰的指示燈優(yōu)先亮,且只能亮一盞燈,進(jìn)行下一問題時(shí)主持人按復(fù)位按鈕,搶答重新開始。 5.3.2 5.3.2 位操作指令舉例位操作指令舉例【例例】搶答器的設(shè)計(jì)4.校驗(yàn)解題過程:解題過程:4. 對(duì)RLO的直接操作指令 這一類指令直接對(duì)RLO進(jìn)行操作,改變狀態(tài)字中RLO位的狀態(tài)。5.3.2 5.3.2 位操作指令位操作指令當(dāng)信號(hào)狀態(tài)變化時(shí)就產(chǎn)生跳變沿 從0變到1時(shí),產(chǎn)生一個(gè)上升

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

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

15、爍。操作人員按復(fù)位按鈕I0.1I0.1后,如果故障已經(jīng)消失,后,如果故障已經(jīng)消失, 則指示燈熄滅,若沒有消失,指示燈轉(zhuǎn)為常亮,直至故障消失。則指示燈熄滅,若沒有消失,指示燈轉(zhuǎn)為常亮,直至故障消失。5.3.3 5.3.3 位測(cè)試指令舉例位測(cè)試指令舉例1. 傳送帶控制 在傳送帶的起終點(diǎn)各有兩個(gè)按鈕開關(guān):用于START的S1和S3;S2和S4用于STOP??梢詮娜我欢藛?dòng)或停止傳送帶。另外,當(dāng)傳送帶上的物件到達(dá)末端時(shí),傳感器S5使傳送帶停機(jī)。5.3.4 5.3.4 位邏輯指令編程舉例位邏輯指令編程舉例MOTOR_ONS1S2StartStopS3S4StartStopS5用于傳送帶系統(tǒng)符號(hào)編程的元素

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

17、4 5.3.4 位邏輯指令編程舉例位邏輯指令編程舉例圖圖4.17 風(fēng)機(jī)監(jiān)控程序風(fēng)機(jī)監(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分別為風(fēng)機(jī)分別為風(fēng)機(jī)1 1,2 2,3 3的反饋輸入端。的反饋輸入端。M9.3 M9.3 為為2 Hz2 Hz頻率頻率CPUCPU中的時(shí)鐘信號(hào);中的時(shí)鐘信號(hào);M9.7M9.7為為0.5 Hz0.5 Hz頻率信號(hào)。頻率信號(hào)。風(fēng)機(jī)監(jiān)控程序 AN M10.0 AN M

18、10.1 A M9.7 ) A Q4.0 Q4.1風(fēng)機(jī)狀態(tài)檢測(cè)的語句表程序,從中可看出中間輸出指令的用法:風(fēng)機(jī)狀態(tài)檢測(cè)的語句表程序,從中可看出中間輸出指令的用法: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 風(fēng)機(jī)監(jiān)控程序5.4 5.4 定時(shí)器與計(jì)數(shù)器指令定時(shí)器與計(jì)數(shù)器指令5.4.1 定時(shí)器指令u 脈沖定時(shí)器(SP)u 擴(kuò)展定時(shí)器(SE)u 接通延時(shí)定時(shí)器(SD)u 帶保持的接通延時(shí)定時(shí)器(SS)u 斷電延時(shí)定時(shí)器(SF)。 S

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

37、序時(shí),CPU將會(huì)出錯(cuò)。p計(jì)數(shù)器觸點(diǎn)的狀態(tài)由計(jì)數(shù)器的值決定,如果計(jì)數(shù)值等于零,則計(jì)數(shù)器觸點(diǎn)的狀態(tài)為低電平“0”,如果計(jì)數(shù)值不等于零(無論等于幾),則計(jì)數(shù)器觸點(diǎn)的狀態(tài)為高電平“1”。1. 1. 脈沖發(fā)生器脈沖發(fā)生器用定時(shí)器構(gòu)成一個(gè)脈沖發(fā)生器,使其產(chǎn)生如圖所示的脈沖時(shí)序,用定時(shí)器構(gòu)成一個(gè)脈沖發(fā)生器,使其產(chǎn)生如圖所示的脈沖時(shí)序,脈沖信號(hào)的周期為脈沖信號(hào)的周期為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)測(cè)器頻率監(jiān)測(cè)器

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

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

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

41、址1東西綠燈HL1Q4.02東西黃燈HL2Q4.13東西紅燈HL3Q4.24南北綠燈HL4Q4.35南北黃燈HL5Q4.46南北紅燈HL6Q4.5交通信號(hào)燈的控制n輸入輸出模塊接線如圖所示 交通信號(hào)燈的控制n3程序設(shè)計(jì) 設(shè)計(jì)提示:可先采用SE指令,產(chǎn)生周期為23秒,占空 比為11:12的矩形波。再將其分割成所需要的矩形波。交通信號(hào)燈的控制5.5 5.5 數(shù)據(jù)處理功能指令數(shù)據(jù)處理功能指令l 裝入(L)和傳送(T)指令可以在存儲(chǔ)區(qū)之間或存儲(chǔ)區(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)容寫入目的存儲(chǔ)區(qū)中,累加器的內(nèi)容 保持不變。L 5 L MW 10 L IBDID 8 T MW 20 T MWAR1,P#10.0 對(duì)累加器1的裝入和傳送指令/將立即數(shù)5裝入累加器1中/將MW10中的值裝入累加器1中/將由數(shù)據(jù)雙字DID8指出的輸入字節(jié)裝入累加器1中/將累加器1中的內(nèi)容傳送給存儲(chǔ)字MW20 /將累加器1中的內(nèi)容傳送給由地址寄存器1加偏/移量確定的存儲(chǔ)字中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 /將定時(shí)器T1中二進(jìn)制格式的時(shí)間值直接裝入累加器1的低字中 LC T1 /將定時(shí)器T1的時(shí)間值和時(shí)基以BCD碼裝入累加器1的低字中L C1 /將計(jì)數(shù)器C1中二進(jìn)制格式的計(jì)數(shù)值直接裝入累加器1的低字中LC C1 /將計(jì)數(shù)器C l中的計(jì)數(shù)值以BCD碼格式裝入累加器1的低字中 3. 3. 裝入時(shí)間值或計(jì)數(shù)值裝入時(shí)間值或計(jì)數(shù)值5.5.1 裝入和傳送指令5.5.1 裝入和傳送指令4. 4. 地址寄存器

44、裝入和傳送地址寄存器裝入和傳送對(duì)于地址寄存器,可以不經(jīng)過累加器1而直接將操作數(shù)裝入或送,或?qū)蓚€(gè)地址寄存器的內(nèi)容直接交換。LAD參數(shù)數(shù)據(jù)類型說明存儲(chǔ)區(qū)ENBOOL允許輸入I,Q,M,D,LENOBOOL允許輸出IN長(zhǎng)度為8位、16位、32位的所有數(shù)據(jù)類型源數(shù)據(jù)OUT長(zhǎng)度為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中,單個(gè)計(jì)數(shù)器的最大計(jì)數(shù)值是中,單個(gè)計(jì)數(shù)器的最大計(jì)數(shù)值是999999,如果要求,如果要求大于大于999999的計(jì)數(shù),就要進(jìn)行擴(kuò)展。結(jié)合應(yīng)用傳送指令和比的計(jì)數(shù),就要進(jìn)行擴(kuò)展。結(jié)合應(yīng)用傳送指令和比較指令,將兩個(gè)計(jì)數(shù)器級(jí)連,最大計(jì)數(shù)值可達(dá)較指令,將兩個(gè)計(jì)數(shù)器級(jí)連,最大計(jì)數(shù)值可達(dá)9999992 2,n n個(gè)個(gè)計(jì)數(shù)器級(jí)連,最大計(jì)數(shù)值可達(dá)計(jì)數(shù)器級(jí)連,最大計(jì)數(shù)值可達(dá)999

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

47、ND, TRUNC, RND+, RND- ) * 數(shù)的取反、取負(fù)等(INVI, INVD, NEGI, NEGD, NEGR )5.5.2 5.5.2 轉(zhuǎn)換指令轉(zhuǎn)換指令n 轉(zhuǎn)換指令首先將源數(shù)據(jù)按照規(guī)定的格式讀入累加器,然后 在累加器中對(duì)數(shù)據(jù)進(jìn)行類型轉(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ù)和長(zhǎng)整數(shù)間的轉(zhuǎn)換實(shí)數(shù)和長(zhǎng)整數(shù)間的轉(zhuǎn)換指令說 明RND將實(shí)數(shù)化整為最接近的整數(shù),四舍五入,如果小數(shù)部分等于5,則選擇偶數(shù)結(jié)果,例如:1002.5化整為1002,1003.5化整為1004RND+將實(shí)數(shù)化整為大于或等于該實(shí)數(shù)的最小整數(shù)RND-將實(shí)數(shù)化整為小于或等于該實(shí)數(shù)的最大整數(shù)TRUNC取實(shí)數(shù)的整數(shù)部分(截去小數(shù))3. 3. 數(shù)的取反、取負(fù)數(shù)的取反、取負(fù)指令說 明INVI對(duì)累加器1低字中的16位整數(shù)求反碼INVD對(duì)累加器1中的32位整數(shù)求反碼NEGI對(duì)累加器1低字中的16

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

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

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

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

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

54、4 移位和循環(huán)移位指令移位和循環(huán)移位指令1無符號(hào)數(shù)移位指令表表4.20 無符號(hào)數(shù)移位指令無符號(hào)數(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無符號(hào)數(shù)移位指令2. 有符號(hào)數(shù)移位指令 輸入輸入ININ帶符號(hào)右移帶符號(hào)右移4 4位位1 0 1 015870參數(shù)INN4位OUT空出位填入與符號(hào)位相同的信號(hào)狀態(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符號(hào)位2. 有符號(hào)數(shù)移位指令 3. 循環(huán)移位指令輸入輸入ININ循環(huán)左移循環(huán)左移3 3位位1 1 10 1 0 10 1 0 1310參數(shù)INN3位OUT移出3位的信號(hào)狀態(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)移位指令【例例】 走馬燈的實(shí)現(xiàn)。走馬燈的實(shí)現(xiàn)。 要求:運(yùn)用循環(huán)移位指令實(shí)現(xiàn)要求:運(yùn)用循環(huán)移位指令實(shí)現(xiàn)8 8個(gè)彩燈的循環(huán)左移和右移。個(gè)彩燈的循環(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í)行時(shí)累加器指令執(zhí)行時(shí)累加器1的變化的變化3116150原累加器1指令執(zhí)行后CAW3116150CAD5.5.5 累加器操作和地址寄存器指令 下面的例子說明了在有條件觸發(fā)的程序中INC指令是如何工作的。本例以存儲(chǔ)字節(jié)MB10作為循環(huán)次數(shù)計(jì)數(shù)暫存器,用INC指令修

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

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

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

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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論