第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ù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

南陽理工學院——電子與電氣工程系電氣教研室電氣控制與PLC應用技術電氣控制與PLC應用技術可編程序控制器原理(第5-9章)下篇第5章S7-300指令系統(tǒng)本章內容5.1STEP-7編程基礎5.2指令及其結構5.3位邏輯指令5.4定時器與計數(shù)器指令5.5數(shù)據處理功能指令5.6數(shù)據運算指令5.7控制指令思考與練習題教學目的掌握位邏輯指令的應用掌握定時器和計數(shù)器指令的應用

教學重點掌握位邏輯指令的應用掌握定時器和計數(shù)器指令的應用

教學難點定時器和計數(shù)器指令第5章S7-300指令系統(tǒng)5.1STEP7編程基礎

■■■■■

指令組成:操作碼+操作數(shù) 操作碼定義要執(zhí)行的功能; 操作數(shù)為執(zhí)行該操作所需要的信息,由標識符和參 數(shù)組成;

有些語句指令不帶操作數(shù),它們操作的對象是唯 一的;5.2指令及其結構5.2.1指令的組成1.語句指令語句指令:操作碼操作數(shù)AI0.1//對輸入繼電器I0.1

進行與操作LMW10//將字MW10裝入累加器1定義要執(zhí)行的功能執(zhí)行該操作所需要的信息NOT//對邏輯操作結果(RLO)取反5.2.1指令的組成1.語句指令例如:

Q4.0

——()該指令中:——()可認為是操作碼,表示一個二進制賦值操作。Q4.0是操作數(shù),表示賦值的對象。

5.2.1指令的組成2.梯形邏輯指令

梯形邏輯指令用圖形元素表示PLC要完成操作其操作碼是用圖素表示的,該圖素形象表明CPU做什么其操作數(shù)的表示方法與語句指令相同操作數(shù):標識符

標識參數(shù)AI0.1

LMW10表示操作數(shù)在該存儲區(qū)域內的具體位置主標識符:表示操作數(shù)所在的存儲區(qū)主要有:I(輸入映像區(qū)),Q(輸出映像區(qū)),M(位存儲區(qū)),PI(外部輸入),PQ(外部輸出),T(定時器),C(計數(shù)器),DB(數(shù)據塊),L(本地數(shù)據)等輔助標識符進一步說明操作數(shù)的位數(shù)長度包括有:X(位),B(字節(jié)),W(字—2字節(jié)),D(雙字—4字節(jié))

表示操作數(shù)存放區(qū)域及操作數(shù)位數(shù)(位、字節(jié)、字等)5.2.2操作數(shù)1.操作數(shù)的組成5.2.2操作數(shù)2.操作數(shù)的表示兩種表示方法:物理地址(絕對地址)表示法要明確指出操作數(shù)的所在存儲區(qū),該操作數(shù)的位數(shù)具體位置。例如:Q4.0。符號名先定義后使用,不能重名。定義符號時,需指明操作數(shù)所在的存儲區(qū)、位數(shù)、具體位置及數(shù)據類型。

符號地址表示法

位邏輯指令處理兩個數(shù)字,“1”和“0”。這兩個數(shù)字“1”和“0”稱為二進制數(shù)字或二進制位。在接點與線圈領域,“1”表示動作或通電,“0”表示未動作或未通電。位邏輯指令掃描信號狀態(tài)1和0,并根據布爾邏輯對它們進行組合。這些組合產生結果1或0,稱為“邏輯運算結果(RLO)”。5.3位邏輯指令

位邏輯運算指令位操作指令位測試指令

位邏輯指令主要包括:位邏輯運算指令是

“與”(AND)

“或”(OR)

“異或”(XOR)指令組合5.3.1位邏輯運算指令1.“與”和“與非”(A,AN)指令用語句表指令完全表示為:AI0.0AQ4.1ANM10.1=Q4.0()I0.0Q4.1M10.1Q4.05.3.1位邏輯運算指令2.“或”和“或非”(O,ON)指令OI1.1ONM2.0OQ4.0=Q4.15.3.1位邏輯運算指令I1.1M2.0Q4.0()Q4.1用語句表指令完全表示為:3.“異或”和“異或非”(X,XN)指令XI0.0XI0.1

=Q4.05.3.1位邏輯運算指令用語句表指令完全表示為:5.3.1位邏輯運算指令4.串并聯(lián)組合表示法當邏輯串是復雜組合時,CPU的掃描順序是先“與”后“或”。A(OI0.0OI0.2)A(OM10.0OM0.3)AM10.1

=Q4.0先并后串梯形圖語句表5.3.1位邏輯運算指令A(AI0.0AM10.0OAI0.2AM0.3)AM10.1

=Q4.0先串后并梯形圖語句表【例】運動機械自動往復運動的PLC控制。

1.按下啟動按鈕SB1后,電動機驅動工作臺運動2.如果工作臺運動到極限位置時,由行程開關SQ1或SQ2檢測并發(fā)出停止前進指令,同時自動發(fā)出返回指令。3.只要不按停止按鈕SB2,工作臺將繼續(xù)這種自動往復運動。4.工作臺驅動電動機通過熱繼電器做過載保護。控制要求:

5.3.1位邏輯運算指令舉例4.校驗解題過程:

邏輯串輸出指令又稱為賦值操作指令該操作把狀態(tài)字中RLO的值賦給指定的操作數(shù)(位地址)

一個RLO可被用來驅動幾個輸出元件在LAD中,輸出線圈是上下依次排列的在STL中,這些輸出具有相同的優(yōu)先級5.3.2位操作指令1.輸出指令AI0.0AI0.1ON I0.2= Q4.0AI0.3= Q4.1多重輸出梯形圖Q4.0()I0.1I0.2I0.0Q4.1()I0.3用語句表指令完全表示為:5.3.2位操作指令

置位/復位指令根據RLO的值,來決定被尋址位的信號狀態(tài)是否需要改變2.置位/復位指令5.3.2位操作指令

若RLO的值為1,被尋址位的信號狀態(tài)被置1或清0

若RLO是0,則被尋址位的信號保持原狀態(tài)不變(b)置位指令操作網絡1AAONRI0.0I0.1I0.2Q4.0(R)Q4.0I0.0I0.1I0.2網絡1AAONSI0.0I0.1I0.2Q4.0(S)Q4.0I0.0I0.1I0.2(a)復位指令操作5.3.2位操作指令RS觸發(fā)器梯形圖方塊指令中標有一個置位輸入(S)端,一個復位輸入(R)端,輸出端標為Q。3.RS觸發(fā)器5.3.2位操作指令

觸發(fā)器可以用在邏輯串最右端,結束一個邏輯串,也可用在邏輯串中,影響右邊的邏輯操作結果。RS觸發(fā)器分為置位優(yōu)先和復位優(yōu)先型兩種置位優(yōu)先型RS觸發(fā)器的R端在S端之上,當兩個輸入端都為1時,下面的置位輸入最終有效,既置位輸入優(yōu)先,如圖

AI0.0RM0.0AI0.1SM0.0AM0.0=Q4.0置位優(yōu)先型RS觸發(fā)器5.3.2位操作指令根據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位操作指令舉例【例】搶答器的設計4.校驗解題過程:4.對RLO的直接操作指令

這一類指令直接對RLO進行操作,改變狀態(tài)字中RLO位的狀態(tài)。5.3.2位操作指令當信號狀態(tài)變化時就產生跳變沿從0變到1時,產生一個上升沿(或正跳沿)5.3.3位測試指令

從1變到0時,產生一個下降沿(或負跳沿)

兩類跳變沿檢測指令,一是對RLO的跳變沿檢測的指令,另一種是對觸點跳變沿直接檢測的梯形圖方塊指令RLO正跳沿檢測5.3.3位測試指令【例】設計一個閃爍電路,按動按鈕I0.0,使燈泡亮,再按動按鈕,燈泡滅;重復。

5.3.3位測試指令舉例負跳沿(下降沿)檢測指令5.3.3位測試指令觸點負跳沿檢測5.3.3位測試指令地址上升沿檢測指令示例5.3.3位測試指令【例】若故障信號I0.0為1,使Q4.0控制的指示燈以1Hz的頻率閃爍。操作人員按復位按鈕I0.1后,如果故障已經消失,則指示燈熄滅,若沒有消失,指示燈轉為常亮,直至故障消失。5.3.3位測試指令舉例1.傳送帶控制在傳送帶的起終點各有兩個按鈕開關:用于START的S1和S3;S2和S4用于STOP??梢詮娜我欢藛踊蛲V箓魉蛶?。另外,當傳送帶上的物件到達末端時,傳感器S5使傳送帶停機。5.3.4位邏輯指令編程舉例MOTOR_ONS1S2StartStopS3S4StartStopS5用于傳送帶系統(tǒng)符號編程的元素I/O分配表控制傳送帶程序2.風機監(jiān)控程序某設備有三臺風機,當設備處于運行狀態(tài)時,如果風機至少有兩臺以上轉動,則指示燈常亮;如果僅有一臺風機轉動,則指示燈以0.5Hz的頻率閃爍;如果沒有任何風機動,則指示燈以2Hz的頻率閃爍。當設備不運行時,指示燈不亮。5.3.4位邏輯指令編程舉例圖4.17風機監(jiān)控程序

注:輸入位I0.0,I0.1,I0.2分別為風機1,2,3的反饋輸入端。M9.3為2Hz頻率CPU中的時鐘信號;M9.7為0.5Hz頻率信號。風機監(jiān)控程序AN M10.0AN M10.1A M9.7)A Q4.0

= Q4.1風機狀態(tài)檢測的語句表程序,從中可看出中間輸出指令的用法:A(A(A I0.0A I0.1OA I0.0A I0.2OA I0.1A I0.2)= M10.0AM10.0O(ANI0.0AN I0.1AN I0.2

= M10.1A M10.1A M9.3)O

風機監(jiān)控程序5.4定時器與計數(shù)器指令5.4.1定時器指令

脈沖定時器(SP)

擴展定時器(SE)

接通延時定時器(SD)

帶保持的接通延時定時器(SS)

斷電延時定時器(SF)。S7-300/400提供的定時器有:

定時器的組成定時器是一種由位和字組成的復合單元,定時器的觸點由位表示,其定時時間值存儲在字存儲器中。在CPU的存儲器中留出了定時器區(qū)域,用于存儲定時器的定時時間值。每個定時器為2B,稱為定時器字。在S7-300中,最多允許使用256個定時器。定時時間等于時基與定時值的乘積。采用減計時,定時時間到后會引起定時器觸點的動作。5.4.1定時器指令定時器的第0位到第11位存放二進制格式的定時值,第12、13位存放二進制格式的時基。

定時器字的表示方法圖4.18累加器1低字的內容(定時值127,時基ls)1112135.4.1定時器指令í?4.180150100001001001118707210,01s<--0,1s<--1s<--10s<--00011011時間值:0...999不用

定時器時基5.4.1定時器指令

設置定時時間的方法其中,a:小時,bb:分鐘,cc:秒,ddd:毫秒,時基是自動選擇的,原則是能滿足定時范圍要求的最小時基。其中,w為時基,取值為0,1,2或3,分別表示時基為10ms,l00ms,1s或10s;xyz為定時值,取值范圍為1~999。

使用S5中的時間表示法裝入定時數(shù)值

LS5T#aH_bbM_ccS_dddMS

直接裝入定時數(shù)值

LW#16#wxyz5.4.1定時器指令--(SP)指令是產生指定時間寬度脈沖的定時器。LAD參數(shù)數(shù)據類型存儲區(qū)說明<地址>TIMERT地址表示要起動的計時器號時間值S5TIMEI,Q,M,D,L定時時間值(S5TIME格式)1、脈沖定時器--(SP)1、脈沖定時器--(SP)1、脈沖定時器--(SP)

上圖程序對應的時序圖如圖所示1、脈沖定時器--(SP)T1接點控制Q0.0線圈,因此T1接點的狀態(tài)與Q0.0的狀態(tài)一致

脈沖定時器每次起動的條件是邏輯位有正跳沿發(fā)生,定時器啟動計時,T1接點開始輸出高電平“1”。--(SP)指令計時的過程中,邏輯位的狀態(tài)若變?yōu)椤?”,則定時器停止計時,且輸出為“0”。

脈沖定時器輸出的高電平的寬度小于或等于所定義的時間值。LAD參數(shù)數(shù)據類型說明存儲區(qū)<地址>TIMER要啟動的計時器號如T0TSBOOL啟動輸入端I,Q,M,D,LTVS5TIME定時時間(S5TIME格式)RBOOL復位輸入端QBOOL定時器的狀態(tài)BIWORD當前時間(整數(shù)格式)BCDWORD當前時間(BCD碼格式)1、脈沖定時器--(SP)

脈沖定時器的方框指令1、脈沖定時器--(SP)

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

上圖所示的程序對應的時序圖一旦邏輯位(即I0.0的狀態(tài))有正跳沿發(fā)生,定時器T0啟動,同時輸出高電平“1”。2、擴展脈沖定時器--(SE)定時時間到后,輸出將自動變成低電平“0”。如果定時時間尚未到達,邏輯位的狀態(tài)就由“1”變?yōu)椤?”,這時定時器仍然繼續(xù)運行,直到計時完成。這一點是--(SE)指令與--(SP)指令的不同之處。LAD參數(shù)數(shù)據類型說明存儲區(qū)<地址>TIMER要啟動的計時器號如T0TSBOOL啟動輸入端I,Q,M,D,LTVS5TIME定時時間(S5TIME格式)RBOOL復位輸入端QBOOL定時器的狀態(tài)BIWORD當前時間(整數(shù)格式)BCDWORD當前時間(BCD碼格式)2、擴展脈沖定時器--(SE)

擴展脈沖定時器的方框指令定時器應用舉例:使用--(SP)或--(SE)指令構成脈沖發(fā)生器:使用脈沖定時器如圖所示的程序可產生周期性變化的脈沖信號。上圖中的程序對應的時序圖如圖所示定時器應用舉例:程序又可寫成如圖所示的程序定時器應用舉例:【例】設計頻率監(jiān)視器,其特點是頻率低于下限,則指示燈Q4.0亮,“確認”按鈕I0.1使指示燈復位。監(jiān)控頻率為0.5Hz,由M10.0提供。定時器應用舉例:3、開通延時定時器--(SD)

開通延時定時器指令--(SD),相當于繼電器控制系統(tǒng)中的通電延時時間繼電器。LAD參數(shù)數(shù)據類型存儲區(qū)說明<地址>TIMERT地址表示要起動的計時器號時間值S5TIMEI,Q,M,D,L定時時間值(S5TIME格式)

如圖所示的程序:3、開通延時定時器--(SD)上圖所示的程序對應的時序圖如圖所示3、開通延時定時器--(SD)--(SD)對應的方框如表所示LAD參數(shù)數(shù)據類型說明存儲區(qū)<地址>TIMER要啟動的計時器號如T0TSBOOL啟動輸入端I,Q,M,D,LTVS5TIME定時時間(S5TIME格式)RBOOL復位輸入端QBOOL定時器的狀態(tài)BIWORD當前時間(整數(shù)格式)BCDWORD當前時間(BCD碼格式)3、開通延時定時器--(SD)

定時器擴展定時器應用舉例:在S7-300中,單個定時器的最大計時范圍是999(2H_46M_30S),如果超過這個范圍,可以采用兩個或多個定時器級連的方法來擴展計時范圍。設計一個要求延時時間為5個小時的控制任務。使用--(SD)指令產生周期性變化的脈沖信號:定時器應用舉例:上圖所示的程序對應的時序圖如圖所示定時器應用舉例:【例】用接通延時定時器設計一個周期振蕩電路,振蕩周期為18s,占空比為1:2。定時器應用舉例:定時器應用舉例:使用--(SD)指令還可以用二分頻電路產生一個方波。程序如圖所示時序圖如圖所示定時器應用舉例:4、保持型開通延時定時器--(SS)保持型開通延時--(SS)與開通延時定時器--(SD)類似,但--(SS)指令有保持功能。LAD參數(shù)數(shù)據類型存儲區(qū)說明<地址>TIMERT地址表示要起動的計時器號時間值S5TIMEI,Q,M,D,L定時時間值(S5TIME格式)4、保持型開通延時定時器--(SS)上圖中的程序對應的時序圖如圖所示4、保持型開通延時定時器--(SS)保持型開通延時定時器的方框指令LAD參數(shù)數(shù)據類型說明存儲區(qū)<地址>TIMER要啟動的計時器號如T0TSBOOL啟動輸入端I,Q,M,D,LTVS5TIME定時時間(S5TIME格式)RBOOL復位輸入端QBOOL定時器的狀態(tài)BIWORD當前時間(整數(shù)格式)BCDWORD當前時間(BCD碼格式)4、保持型開通延時定時器--(SS)5、關斷延時定時器--(SF)關斷延時定時器--(SF)相當于繼電器控制系統(tǒng)中的斷電延時時間繼電器。也是定時器指令中唯一的一個由下降沿啟動的定時器指令。LAD參數(shù)數(shù)據類型存儲區(qū)說明<地址>TIMERT地址表示要起動的計時器號時間值S5TIMEI,Q,M,D,L定時時間值(S5TIME格式)如圖所示的程序5、關斷延時定時器--(SF)上圖中的程序對應的時序圖如圖所示5、關斷延時定時器--(SF)關斷延時計時器的方框指令如下表所示LAD參數(shù)數(shù)據類型說明存儲區(qū)<地址>TIMER要啟動的計時器號如T0TSBOOL啟動輸入端I,Q,M,D,LTVS5TIME定時時間(S5TIME格式)RBOOL復位輸入端QBOOL定時器的狀態(tài)BIWORD當前時間(整數(shù)格式)BCDWORD當前時間(BCD碼格式)5、關斷延時定時器--(SF)5種定時器的選擇原則5.4.2計數(shù)器指令

計數(shù)器置初值指令(SC)加法計數(shù)器線圈(CU)減法計數(shù)器線圈(CD)S7中的計數(shù)器用于:對RLO正跳沿計數(shù)。計數(shù)器是由表示當前計數(shù)值的字及狀態(tài)的位組成。

S7中有三種計數(shù)器:計數(shù)器組成在CPU中保留一塊存儲區(qū)作為計數(shù)器計數(shù)值存儲區(qū),每個計數(shù)器占用兩個字節(jié),計數(shù)器字中的第0~11位表示計數(shù)值(二進制格式),計數(shù)范圍是0~999。5.4.2計數(shù)器指令1.計數(shù)器置初值指令(SC)當邏輯位RLO有正跳沿時,計數(shù)器置初值線圈將預置值裝入指定計數(shù)器中。若RLO位的狀態(tài)沒有正跳沿發(fā)生,則計數(shù)器的值保持不變。LAD參數(shù)數(shù)據類型存儲區(qū)說明計數(shù)器號COUNTERC地址表示預置初值的計數(shù)器號預置值WORDI,Q,M,D,L預置值(必須是BCD碼格式,即為C#,例如C#23)2.加法計數(shù)器線圈LAD參數(shù)數(shù)據類型存儲區(qū)說明計數(shù)器號COUNTERC地址表示要執(zhí)行加法計數(shù)的計數(shù)器號

當邏輯位RLO有正跳沿時,加法計數(shù)器線圈使指定計數(shù)器的值加1,如果RLO位的狀態(tài)沒有正跳沿發(fā)生,或者計數(shù)器數(shù)值已經達到最大值999,則計數(shù)器的值保持不變。

3.減法計數(shù)器線圈

當邏輯位RLO有正跳沿時,減法計數(shù)器線圈使指定計數(shù)器的值減1

如果RLO位的狀態(tài)沒有正跳沿發(fā)生,或者計數(shù)器數(shù)值已經達到最小值0,則計數(shù)器的值保持不變。LAD參數(shù)數(shù)據類型存儲區(qū)說明計數(shù)器號COUNTERC地址表示要執(zhí)行減法計數(shù)的計數(shù)器號計數(shù)器指令的使用舉例

如圖所示當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ù)器值的關系如表所示計數(shù)器的計數(shù)值計數(shù)器的位狀態(tài)不等于0“1”(高電平)等于0“0”(低電平)計數(shù)器指令的使用舉例如圖所示,若I0.3的狀態(tài)為“1”,則計數(shù)器C0所計的數(shù)值立刻變?yōu)榱悖捎冢≧)指令是高電平執(zhí)行,因此若I0.3的狀態(tài)保持“1”,則計數(shù)器C0始終處于清零狀態(tài)而無法正常使用。用戶在使用指令時,應注意指令的執(zhí)行方式。計數(shù)器指令的使用舉例4.可逆計數(shù)器S_CUDLAD參數(shù)數(shù)據類型說明存儲區(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格式)前面例子中兩圖所示的程序可以由下圖所示的程序代替4.可逆計數(shù)器S_CUD可逆計數(shù)器方框指令可以完成計數(shù)器的加(CU)、減(CD)計數(shù)和置初值(S、PV)以及計數(shù)器值清零(R)等功能.4.可逆計數(shù)器S_CUD可以看到,還可以將計數(shù)器當前值以不同的格式輸出,整數(shù)格式(CV)和BCD格式(CV_BCD).計數(shù)器的狀態(tài)可以Q端輸出,也可以由計數(shù)器的觸點輸出.計數(shù)器指令的加、減計數(shù)輸入端以及預置值輸入端均為上升沿執(zhí)行,指令才會執(zhí)行。4.可逆計數(shù)器S_CUD使用計數(shù)器時應該注意下面幾點問題計數(shù)器預置的初始值及PV端的數(shù)據格式為BCD碼二~十進制格式,否則執(zhí)行程序時,CPU將會出錯。計數(shù)器觸點的狀態(tài)由計數(shù)器的值決定,如果計數(shù)值等于零,則計數(shù)器觸點的狀態(tài)為低電平“0”,如果計數(shù)值不等于零(無論等于幾),則計數(shù)器觸點的狀態(tài)為高電平“1”。1.脈沖發(fā)生器用定時器構成一個脈沖發(fā)生器,使其產生如圖所示的脈沖時序,脈沖信號的周期為3s,脈沖寬度為1s應用舉例2脈沖發(fā)生器程序2.頻率監(jiān)測器頻率監(jiān)測器用于監(jiān)測脈沖信號的頻率,若其低于下限,則指示燈亮,“確認”按鍵能使指示燈復位。為此,使用了一個擴展脈沖定時器,即每當頻率信號有一個上升沿就啟動一次定時器。如果超過了定時時間沒有啟動定時器,則表明兩個脈沖之間的時間間隔太長,即頻率太低了。應用舉例頻率監(jiān)測器時序頻率監(jiān)測梯形圖程序I0.0用于關閉監(jiān)測器

I0.1用于確認頻率低

Q4.0用以控制指示燈

T1的定時時間為2s

即設置脈沖信M10.0

的頻率監(jiān)測下限為0.5Hz。應用舉例:交通信號燈的控制交通信號燈模型如圖所示控制要求如下:自動開關合上之后,東西綠燈亮8秒滅,黃燈亮3秒之后滅,紅燈亮10秒后閃2秒然后綠燈亮......循環(huán)對應東西綠黃燈亮時,南北紅燈亮9秒后閃2秒,接著綠燈亮9秒后閃秒滅,黃燈亮3秒,紅燈又亮....循環(huán)當斷開自動開關時,交通信號燈立刻停止工作交通信號燈的控制要求根據控制要求畫出交通信號燈的時序圖如圖所示交通信號燈的控制系統(tǒng)分析1.PLC硬件配置:控制系統(tǒng)中的硬件配置如下序號名稱型號說明數(shù)量1CPUCPU31312電源模塊PS30713開關量輸入模塊SM32114開關量輸出模塊SM32215前連接器20針2交通信號燈的控制2.分析控制要求進行輸入輸出點分配,并根據分配畫出外部接線圖。序號輸入信號名稱地址1自動開關QS(常開)I0.0序號輸出信號名稱地址1東西綠燈HL1Q4.02東西黃燈HL2Q4.13東西紅燈HL3Q4.24南北綠燈HL4Q4.35南北黃燈HL5Q4.46南北紅燈HL6Q4.5交通信號燈的控制輸入輸出模塊接線如圖所示交通信號燈的控制3.程序設計設計提示:可先采用SE指令,產生周期為23秒,占空比為11:12的矩形波。再將其分割成所需要的矩形波。交通信號燈的控制5.5數(shù)據處理功能指令

裝入(L)和傳送(T)指令可以在存儲區(qū)之間或存儲區(qū)與過程輸入、輸出之間交換數(shù)據。5.5.1裝入和傳送指令CPU執(zhí)行這些指令不受邏輯操作結果RLO的影響。L指令將源操作數(shù)裝入累加器1中,而累加器原有的數(shù)據移入累加器2中,累加器2中原有的內容被覆蓋。T指令將累加器1中的內容寫入目的存儲區(qū)中,累加器的內容保持不變。L+5 LMW10 LIB[DID8]TMW20 TMW[AR1,P#10.0] 對累加器1的裝入和傳送指令//將立即數(shù)+5裝入累加器1中//將MW10中的值裝入累加器1中//將由數(shù)據雙字DID8指出的輸入字節(jié)裝入累加器1中//將累加器1中的內容傳送給存儲字MW20

//將累加器1中的內容傳送給由地址寄存器1加偏//移量確定的存儲字中5.5.1裝入和傳送指令LSTW//將狀態(tài)字中0~8位裝入累加器1中,累加器

9~3l位被清0TSTW//將累加器1中的內容傳送到狀態(tài)字中5.5.1裝入和傳送指令2.讀取或傳送狀態(tài)字LT1//將定時器T1中二進制格式的時間值直接裝入累加器1的低字中LCT1//將定時器T1的時間值和時基以BCD碼裝入累加器1的低字中LC1//將計數(shù)器C1中二進制格式的計數(shù)值直接裝入累加器1的低字中LCC1//將計數(shù)器Cl中的計數(shù)值以BCD碼格式裝入累加器1的低字中3.裝入時間值或計數(shù)值5.5.1裝入和傳送指令5.5.1裝入和傳送指令4.地址寄存器裝入和傳送對于地址寄存器,可以不經過累加器1而直接將操作數(shù)裝入或送,或將兩個地址寄存器的內容直接交換。LAD參數(shù)數(shù)據類型說明存儲區(qū)ENBOOL允許輸入I,Q,M,D,LENOBOOL允許輸出IN長度為8位、16位、32位的所有數(shù)據類型源數(shù)據OUT長度為8位、16位、32位的所有數(shù)據類型目的地地址5.5.1裝入和傳送指令5.梯形圖方塊傳送指令MOVEENINENOOUTDBW12()Q4.0MW10I0.0A I0.0JNB _0001L MW10T DBW12SET //使RLO為1SAVE //使BR為1CLR_0001:ABR

=Q4.05.5.1裝入和傳送指令如圖所示程序5.5.1裝入和傳送指令

在S7-300中,單個計數(shù)器的最大計數(shù)值是999,如果要求大于999的計數(shù),就要進行擴展。結合應用傳送指令和比較指令,將兩個計數(shù)器級連,最大計數(shù)值可達9992,n個計數(shù)器級連,最大計數(shù)值可達999n?!纠坑嫈?shù)器擴展應用舉例兩個計數(shù)器級連擴展的程序

用計數(shù)器和定時器進行級連,可以使計時范圍幾乎可以無限地進行擴展。假定T1的延時時間為2H,C0的計數(shù)值為999,則C1動作一次的時間為999×2=1998小時(約83天)。如果再考慮計數(shù)器C1與C0進行級連,設C1的計數(shù)值為900,則C1動作一次需要83×900=74700天,約204年?!纠慷〞r器擴展應用舉例2個計數(shù)器和1個定時器進行級連

能夠實現(xiàn)的轉換操作有:

*BCD碼和整數(shù)及長整數(shù)間的轉換

(BTI,ITB,ITD,BTD,DTB,DTR)

*實數(shù)和長整數(shù)間的轉換(RND,TRUNC,RND+,RND-)

*數(shù)的取反、取負等(INVI,INVD,NEGI,NEGD,NEGR)5.5.2轉換指令

轉換指令首先將源數(shù)據按照規(guī)定的格式讀入累加器,然后在累加器中對數(shù)據進行類型轉換,最后再將轉換的結果傳送到目的地址。1.BCD和整數(shù)間的轉換表4.16BCD和整數(shù)間的轉換指令說明BTI將累加器1低字中的3位BCD碼轉換為16位整數(shù)BTD將累加器1低字中的7位BCD碼轉換為32位整數(shù)ITB將累加器1低字中的16位整數(shù)碼轉換為3位BCD碼ITD將累加器1低字中的16位整數(shù)碼轉換為32位整數(shù)DTB將累加器1中的32位整數(shù)碼轉換為7位BCD碼DTR將累加器1中的32位整數(shù)碼轉換為32位整數(shù)2.實數(shù)和長整數(shù)間的轉換指令說明RND將實數(shù)化整為最接近的整數(shù),四舍五入,如果小數(shù)部分等于5,則選擇偶數(shù)結果,例如:1002.5化整為1002,1003.5化整為1004RND+將實數(shù)化整為大于或等于該實數(shù)的最小整數(shù)RND-將實數(shù)化整為小于或等于該實數(shù)的最大整數(shù)TRUNC取實數(shù)的整數(shù)部分(截去小數(shù))3.數(shù)的取反、取負指令說明INVI對累加器1低字中的16位整數(shù)求反碼INVD對累加器1中的32位整數(shù)求反碼NEGI對累加器1低字中的16位整數(shù)求補碼NEGD對累加器1中的32位整數(shù)求補碼NEGR對累加器1中的32位實數(shù)的符號位求補碼【例】如果輸入I0.1為1,則將MD0的內容以7位BCD碼的格式(如果格式非法,則顯示系統(tǒng)錯誤)裝入累加器1,并將其轉換為長整數(shù),存放到MD10,如果轉換不執(zhí)行,則輸出Q4.0為1。

應用舉例1.比較指令表4.19比較指令5.5.3比較指令

傳送帶1將包裹運送至臨時倉庫區(qū)。傳送帶1靠近倉庫區(qū)一端安裝的光電傳感器確定已有多少包裹運送至倉庫區(qū)。傳送帶2將臨時庫區(qū)中的包裹運送至裝貨場,在這里貨物由卡車運送至顧客。傳送帶2靠近庫區(qū)一端安裝的光電傳感器確定已有多少包裹從庫區(qū)運送至裝貨場。含5個指示燈的顯示盤表示臨時倉庫區(qū)的占用程度。應用實例兩臺傳送帶的系統(tǒng),在兩臺傳送帶之間有一個倉庫區(qū):圖4.33裝有計數(shù)器和比較器的倉庫區(qū)應用實例4.校驗解題過程:【例】用比較和計數(shù)指令編寫開關燈程序,要求燈控按鈕I0.0按下一次,燈Q4.0亮,按下兩次,燈Q4.0,Q4.1

全亮,按下三次燈全滅,如此循環(huán)。應用實例【例】有一部電動小車供5個加工點使用,對小車的控制要求為:1)啟動按鈕I0.7按下時,車停在某個加工點(工位:1-5)若沒有用車呼叫時,工位允許呼叫指示燈亮,表示各工位可以呼車。2)某工位呼車時,工位允許呼叫的指示燈滅,表示此后再呼車均無效。3)停車位呼車則小車不動,當呼車位號大于停車位號時,小車自動向低位行駛;當呼車位號小于停車位號時,小車自動向高位行駛。當小車到達呼車位時自動停車。4)小車到達呼車位時應停留5s供該工位使用,不應立即被其他工位呼走試設計此系統(tǒng)。應用實例4.校驗解題過程:

移位指令將輸入IN中的內容向左或向右逐位移動移動次數(shù)由輸入值N提供的數(shù)值確定移位后空出的位填以0或符號位(0代表正,1代表負)

被移動的最后一位保存在狀態(tài)字中的CCl里

CC0和OV被復位為0

可使用條件跳轉指令對CCl進行判斷。循環(huán)移位指令的空位填以從IN中移出的位。5.5.4移位和循環(huán)移位指令1.無符號數(shù)移位指令表4.20無符號數(shù)移位指令輸入IN左移5位1.無符號數(shù)移位指令2.有符號數(shù)移位指令輸入IN帶符號右移4位2.有符號數(shù)移位指令3.循環(huán)移位指令輸入IN循環(huán)左移3位3.循環(huán)移位指令【例】

走馬燈的實現(xiàn)。要求:運用循環(huán)移位指令實現(xiàn)8個彩燈的循環(huán)左移和右移。其中I0.0為起停開關,MD20為設定的初始值,MW12為移位位數(shù),輸出為Q0.0~Q0.7。3.循環(huán)移位指令舉例解題過程:5.5.5累加器操作和地址寄存器指令表4.23累加器操作指令1.累加器操作指令CAW、CAD指令執(zhí)行時累加器1的變化5.5.5累加器操作和地址寄存器指令

下面的例子說明了在有條件觸發(fā)的程序中INC指令是如何工作的。本例以存儲字節(jié)MB10作為循環(huán)次數(shù)計數(shù)暫存器,用INC指令修正循環(huán)次數(shù),循環(huán)體中的程序連續(xù)執(zhí)行5次。

LOOP:LMB10 //循環(huán)體開始,裝載存儲字節(jié)至累加器1INC1 //循環(huán)計數(shù)器加1TMB10 //保存循環(huán)次數(shù)

LB#16#5<=IJCLOOP //如果循環(huán)次數(shù)小于等于5次,則繼續(xù)循環(huán)

L1 //循環(huán)體外的操作,為下次循環(huán)做準備

TMB105.5.5累加器操作和地址寄存器指令2.地址寄存器指令5.5.5累加器操作和地址寄存器指令

在使用地址寄存器加指令時,應保證累加器l或指針常數(shù)的正確格式。下面的例子說明了把累加器1的內容加至地址寄存器指令的用法。在加之前應先為累加器1裝入一個指針常數(shù)。

LP#250.7 //裝載指針常數(shù)(250.7)至累加器1+ARl //把250.7加至地址寄存器1+AR2 //把250.7加至地址寄存器25.5.5累加器操作和地址寄存器指令3.數(shù)據塊指令5.5.5累加器操作和地址寄存器指令下面的例子說明如何使用共享數(shù)據塊裝入指令。當數(shù)據塊的長度大于50B時,程序跳轉到ERR標號處。ERR標號調用功能塊FC10做適當?shù)奶幚鞳PENDB40//打開共享數(shù)據塊DB40LDBLG//將共享數(shù)據塊的長度裝入累加器1L+50//將整數(shù)50裝入累加器1,累加器1原內容移入累加器2>=I//比較JCERR//如果數(shù)據塊長度大于50,則跳轉至ERR標號處AI0.0BEU//無條件結束當前塊ERR:CALLFC10//對于塊長度大于50的情況,調用FC10做相應的處理5.5.5累加器操作和地址寄存器指令4.顯示和空操作指令表4.26顯示和空操作指令5.5.5累加器操作和地址寄存器指令5.6數(shù)據運算指令

可以對整數(shù)、長整數(shù)和實數(shù)進行加、減、乘、除算術運算.

算術運算指令在累加器1和2中進行,累加器2中的值作為被減數(shù)或被除數(shù).

算術運算的結果保存在累加器1中,累加器1中原有的值被運算結果覆蓋.

算術運算指令對狀態(tài)字的CCl和CC0,OV,OS位將產生影響.可以用位操作指令或條件跳轉指令對狀態(tài)字中的標志位進行判斷操作.5.6.1算術運算指令1.基本算數(shù)運算指令(長整數(shù)運算)1.基本算數(shù)運算指令(實數(shù)運算)【例】求輸入雙字ID10的內容與常數(shù)32相除的余數(shù),結

果保存到MD20中。1.基本算數(shù)運算指令(實數(shù)運算)5.6.2字邏輯運算指令

對于LAD和FBD形式的字邏輯運算指令,由參數(shù)IN1和IN2

提供參與運算的兩個數(shù)據,運算結果保存在由OUT指定的存儲區(qū)中。

字邏輯運算指令可對兩個16位(WORD)或32位(DWORD)的二進制數(shù)據,逐位進行邏輯與、邏輯或、邏輯異或運算。

對于STL形式的字邏輯運算指令,可對累加器1和累加器

2中的字或雙字數(shù)據進行邏輯運算,結果保存在累加器1中,

若不為0,則對狀態(tài)標志位CC1置“1”,否則對CC1置“0”。字邏輯運算指令格式5.6.2字邏輯運算指令1.運用算術運算指令完成下面的方程式運算:MW4=((IW0+DBW3)×15)/MW0數(shù)據運算指令應用舉例實現(xiàn)相同運算的語句表程序如下:

LIW0 //將輸入字IW0的內容裝入累加器1LDBW3 //將DBW3的內容裝入累加器1,累加器1原內容裝入累加器2+I//累加器2與累加器1相加,結果存在累加器1中

L+15//將常數(shù)15裝入累加器1,累加器l原內容(和)裝入累加器2*I//累加器2與累加器1相乘,結果為長整數(shù)放在累加器1中

LMW0 //將存儲雙字MD0的內容裝入累加器1,累加器1原內容裝入 累加器2/I//累加器2除累加器1,結果的整數(shù)部分存在累加器1中

TMW4 //將運算結果傳送至存儲雙字MD4數(shù)據運算指令應用舉例2.用位邏輯運算指令實現(xiàn)對信號的跳變沿檢測對輸入位I12.0~I13.7進行跳變沿檢測,并將正跳沿的檢測結果存入存儲位M14.0~M15.7的對應位中(1表示有跳變,0表示無跳變),負跳沿的結果存入M16.0~M17.7中。為此,在檢測正跳沿時,使用存儲位M10.0~M11.7存儲對應輸入位在前一個掃描周期時的狀態(tài);在檢測負跳沿時用M12.0~M13.7。相應的語句表程序如下:數(shù)據運算指令應用舉例網絡1:正跳沿檢測

LMW10 //將輸入位的上一個周期狀態(tài)裝入累加器1低字中

LIW12 //將輸入位的當前狀態(tài)裝入累加器1低字中,上一個周期狀態(tài) 被移入累加器2TMW10 //保存當前狀態(tài),供下一個掃描周期使用

XOW//異或運算后,當前狀態(tài)與以前不同的位在累加器1低字中被置為1LIW12 //重新裝入當前狀態(tài),累加器1原內容移入累加器2AW//與運算后,當前狀態(tài)為0的位被清0(負跳變被屏蔽)TMW14 //將正跳變檢測結果送入MW14數(shù)據運算指令應用舉例

網絡2:負跳沿檢測

LMW12 //將輸入位的上一個周期狀態(tài)寫入累加器1低字中

LIW12//將輸入位的當前狀態(tài)裝入累加器l低字中,上一個周期狀 態(tài)被移入累加器2TMW12//保存當前狀態(tài),供下一個掃描周期使用

XOW //異或運算后,當前狀態(tài)與以前不同的位在累加器1低字中 被置為1LIW12//重新裝入當前狀態(tài),累加器1原內容移入累加器2INVI//將當前狀態(tài)取反

AW //與運算后,當前狀態(tài)為1的位(上條指令中已被取反)被清 0(正跳變被屏蔽)TMW16 //將負跳變檢測結果送入MW16數(shù)據運算指令應用舉例【例】壓力計算公式為P=(10000

N)/27648(kPa) 運算時一定要先乘后除。假設A/D轉換后,AIW中的數(shù)據轉換為雙整數(shù),存放在MD6中,以kPa為單位的運算結果在MW10中。

數(shù)據運算指令應用舉例數(shù)字指令綜合應用【例】物品分選系統(tǒng)設計。傳送帶的主動輪由一臺交流電動機M拖動,該電動機的通斷由接觸器KM控制,從動輪上裝有脈沖發(fā)生器LS,每傳送一個物品,LS發(fā)出一個脈沖,作為物品發(fā)送的檢測信號,次品檢測在傳送帶的0號位進行,由光電檢測裝置PH1檢測,當次品在傳送帶上繼續(xù)往前走,到4號位置時應使電磁鐵YV通電,電磁鐵向前推,次品落下,當光電開關PH2檢測到次品落下時,給出信號,讓電磁鐵YV斷電,電磁鐵縮回,正品則到第9號位置時裝入箱中,光電開關PH3為正品裝箱計數(shù)檢測用。數(shù)字指令綜合應用原理與控制說明:解題過程:控制指令可控制程序的執(zhí)行順序,使得CPU能根據不同的情況執(zhí)行不同的程序??刂浦噶钣?類:邏輯控制指令梯形圖邏輯控制指令程序控制指令主控繼電器指令5.7控制指令5.7.1邏輯控制指令

邏輯控制指令是指邏輯塊內的跳轉和循環(huán)指令,這些指令可以中斷原有的線性程序掃描,并跳轉到目標地址處重新執(zhí)行線性程序掃描。目標地址由跳轉指令后面的標號指定,該地址標號指出程序要跳往何處,可向前跳轉,也可以向后跳轉,最大跳轉距離為-32768或32767字。無條件跳轉指令多分支跳轉指令條件跳轉指令循環(huán)指令1

溫馨提示

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

評論

0/150

提交評論