歐姆龍編程速成_第1頁
歐姆龍編程速成_第2頁
歐姆龍編程速成_第3頁
歐姆龍編程速成_第4頁
歐姆龍編程速成_第5頁
已閱讀5頁,還剩88頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、歐姆龍編程速成常用指令與編程現(xiàn)代PLC都具有豐富的指令系統(tǒng),利用這些指令編程,能夠容易地實現(xiàn)各種復雜的控制操作。對于PLC系統(tǒng),指令是最基礎(chǔ)的編程語言,掌握常用指令的功能及其應用方法,這對用好PLC及其系統(tǒng)設計極其重要。本章主要介紹CS1的各類指令,但由于該機型的指令數(shù)量較多,限于篇幅等因素,本書只對常用的指令進行介紹。按功能可將這些指令分為基本指令、數(shù)據(jù)操作指令、常用控制指令和 高級指令等。其他指令,可參考OMRON公司提供的編程手冊和操作手冊等資料。3.1基本指令可編程序控制器的基本指令主要包括順序輸入指令、順序輸出指令、順序控制指令、定時器和計數(shù)器指令等。這些指令用來執(zhí)行以位 (bit)

2、為單位的邏輯操作,它們是用PLC替代繼電器控制的基礎(chǔ)。 梯形圖中每個條件是否為 ON或OFF,取決于分配給它的操作數(shù)位的狀態(tài)。一般來說,當該操作 數(shù)位為1時,對應的繼電器線圈通電、常開條件變?yōu)镺N和常閉條件變?yōu)?OFF;反之,該操作數(shù)位為0,則對應的繼電器線圈斷電、常開條件為OFF和常閉條件為 ON。在梯形圖中,一條指令前面的常開、常閉等條件的邏輯組合產(chǎn)生了執(zhí)行條件,執(zhí)行條件是否具備,決定于指令的狀態(tài)。對于繼電器線 圈類指令,當執(zhí)行條件 ON (具備)時,則對應的繼電器線圈得電;當執(zhí)行條件為OFF (不具備)時,對應的繼電器線圈斷電。 對于功能類指令,當執(zhí)行條件為ON時,該功能指令執(zhí)行;當執(zhí)行

3、條件為OFF 時,則該功能指令不執(zhí)行。指令行上的邏輯組合可以分成幾個部分,每一部分均為一個邏輯塊。利用 邏輯塊能夠更有效地編程。3.1.1順序輸入指令常用順序輸入指令包括加載、基本邏輯運算、邏輯塊,主要用于對繼電器進行最基本的輸入操作,如表3-1所示。表3-1順序輸入指令表指令名稱助記符操作數(shù)典型梯形圖一般功能操作數(shù)范圍備注加載ill mi nn i lira mi ihh iiiiLD 繼電器號!1A1 將常開觸點(A)接到母線上, 在每個行或塊的起點處使用, 常用于創(chuàng)建一個ON/OFF執(zhí)行 條件。CIO區(qū)、W區(qū)、H區(qū)、A區(qū)、 T區(qū)、C區(qū)、任 務標志區(qū)、條 件標志、時鐘 脈沖、使用變 址寄存

4、器間接 尋址。特定功能加載非1-LDNOTIII IIM JllfiMII |IUH.| iq,繼電器號LJ1-If將常閉觸點(A)接到母線上, 其他同上。與mij心j1A1 A2Hhh將常開觸點(A1)與常開觸點(A2)串聯(lián)。與非1ANDNOTm11 “11 311U繼電器號;i hitsni miiimi rrA1 A2將(常開或常閉)觸點(A1)與 常閉觸點(A2)串聯(lián)。或“l(fā).OR.j 繼電器號A1A2將常開觸點(A1)和常開觸點(A2)并聯(lián)。104 / 76指令名稱或非邏輯塊與邏輯塊或條件通助記符:ORLDNOT件比斤11IIIII| DOWN典型梯形圖ORNOT 繼電器號NOT(5

5、20)UP(521)DOWN(522)一般功能將(常開或常閉)觸點(A1)和常閉觸點(A2)并聯(lián)。將觸點組(塊)A和觸點組(塊)B串聯(lián)。將觸點組(A塊)和觸點組(B 塊)并聯(lián)。每個循環(huán)將執(zhí)行條件取反,在 非指令的右側(cè)需接指令(執(zhí)行 條件)。當輸入條件從OFF - ON 時,UP(521)把執(zhí)行條件在一 個周期內(nèi)變ON。當輸入條件從ON - OFF 時,DOWN(522)把執(zhí)行條件 在一個周期內(nèi)變ON。操作數(shù)范圍同上。備注同上指令名稱位測試位測試位測試助記符操作數(shù):LDTST1SNAND TSTOR TST典型梯形圖一般功能LD TST(350) ,AND TST(350)和 OR TST(35

6、0)指 令在程序中的用途類似于LD、AND和OR指令,當指 定字S中的指定位N為ON時, 執(zhí)行條件變?yōu)镺N ,反之執(zhí) 行條件變?yōu)镺FF。同上操作數(shù)范圍CIO區(qū)、W區(qū)、H 區(qū)、A區(qū)、T區(qū)、 C區(qū)、Dl區(qū)、無 區(qū)號EM區(qū)、有 區(qū)號EM區(qū)、二 進制間接DM/EM地 址、 BCD間接 DM/EM 地址、數(shù)據(jù)寄 存器、使用變 址寄存器間接 尋址。操作數(shù)N 還可以是常數(shù)#0000 #000F,即 &0 &15。備注無LD TSTNLD TSTN(351), ANDTSTN(351)和 OR TSTN(351) 指令在程序中的用途類似于LD NOT、ANT NOT 和 ORNOT指令,當指定字S中的指AND

7、 TSTN定位N為ON時,執(zhí)行條件為OFF ,反之執(zhí)行條件為ONOR TSTN2. 幾點說明上表中指令除了列出的一般功能外,有些指令還加注前綴符號,下面分別加以說明。(1) 操作數(shù)位上表中順序輸入指令的操作數(shù),以位為單位進行操作,且不影響標志位。(2) 指令的特定功能表中的特定功能是指這些指令具有微分和刷新功能等,其中上升沿微分的前綴標志為“ ”下降沿微分的前綴標志為“ %”刷新的前綴標志為“ !”它們還可以組合成前綴標志為“!”和“ !”如加載 LD指令,有LD,%LD,!LD,!LD,!%LD。因此,上表中的特定功能指這些指令具有 ,%,!,!,!%所規(guī)定的功能,在后面章節(jié)里,有一些只標明

8、了其中一種,說明它只具有其中的 某一種特定功能。在指令符號前沒有加前綴“”和“ ”及其組合標志的指令,稱為微分型指令。當執(zhí)行條件為ON時,指令在每個循環(huán)周期都將執(zhí)行。而對于微分型指令,當執(zhí)行條件為OFF t ON (上升沿)或ONtOFF (下降沿)變化時,該指令只執(zhí)行一次。在梯形圖中,上升沿和下降沿微分指令中,通常采 用f和J符號表示,例如 LDA的梯形圖可用1 表示。(3) 輸入指令中的 UP和DOWN指令與上述上升沿微分或下降沿微分的輸入指令有相似功能。當UP(521)所接收的執(zhí)行條件從 OFF變?yōu)镺N時,使下一個指令的執(zhí)行條件變ON 個循環(huán)。當DOWN(522)說接收的執(zhí)行條件 ON變

9、為OFF時,使下一個指令的執(zhí)行條件變ON 個循環(huán)。(4) 在下面的順序輸出指令中的DIFU和DIFD指令也有微分功能,且可以和刷新指令相結(jié)合。(5) 下降沿微分()僅LD、AND、OR和REST指令有效。為建立其他指令的下降沿微分變化, 可用DIRU(014)或DOWN(522)控制工作位來控制指令的執(zhí)行。(6) 對于操作數(shù)中的可用數(shù)據(jù)區(qū)CIO、W、H、A、T、C等,如果沒有特別說明,均指這些區(qū)中所有的位。而任務標志區(qū)為TK0000TK0031 ;時鐘脈沖有 0.02s、0.1s、0.2s、1s、1min時鐘脈沖。DM 區(qū)為 D00000 D32767 ,無區(qū)號 EM區(qū)為 E00000E327

10、67;有區(qū)號 EM區(qū)為 En_00000En_32767(n=0 C)。二進制間接 DM/EM地址為 D00000 D32767、E00000E32767、En_00000En_32767(n=0 C)。 數(shù)據(jù)寄存器為 DR(DR15 BCD間接 DM/EM地址為 * D00000*D32767、*E00000*E32767、*En_00000 * En_32767(n=0 C)。(7) 常見的條件標志,如 表3-2所示。表3-2常見的條件標志條件標志編程器標志CX-P標志錯誤標志ERP-ER訪問錯誤標志AERP-AER進位標志CYP-CY大于標志P-GT等于標志=P-EQ小于標志VP-LT負

11、標志NP-N上溢岀標志OFP-OF下溢岀標志UFP-UF大于或等于標志 =P-GE不等于標志VP-NE本書后面出現(xiàn)的特定功能以上述為參考,不再累述。歐姆龍編程速成特定功能3.1.2順序輸出指令1順序輸出指令表常用順序輸出指令,包括輸出和輸出非、各種置位和復位以及保持指令等,如表3-3所示。表3-3常用的順序輸岀指令表指令名稱助記符典型梯形圖一般功能輸出OUT輸岀指令,將把執(zhí)行運算的結(jié)果(執(zhí)行條件)輸岀到 !OUT 指定的繼電器(位),是繼電器線圈的驅(qū)動指令。輸出非OUT NOTA保持KEEP上升沿微分DIFU輸出非指令,將把執(zhí)行運算的結(jié)果(執(zhí)行條件)取反!OUT NOT 后,再輸岀到指定的繼電

12、器(位),也是繼電器線圈的驅(qū)動指令。用于將輸出繼電器置為 ON并保持。當置位端S為!KEEPON時,KEEP (011)使B為ON,直到復位端 R為ON。當S和R同時為ON時,R端輸入優(yōu)先。當檢測到執(zhí)行條件從 OFF - ON (上升沿)變化瞬間,!DIFU 繼電器觸點B (位)僅接通一個掃描周期。下降沿微分DIFDDIFD(014)當檢測到執(zhí)行條件從 ON-OFF (下降沿)變化瞬間,!DIFD 繼電器觸點B (位)僅接通一個掃描周期。注:DIFU和DIFD指令對使用次數(shù)不加限制。置位SETSET當執(zhí)行條件為ON時,把操作位B變?yōu)镺N,并且當是執(zhí)行條件為OFF時,不影響操作數(shù)的狀態(tài)。簡單講

13、就是將輸岀繼電器置為 ON狀態(tài),簡稱置位。復位RSETRSET當執(zhí)行條件為ON時,把操作位B置為OFF,并且 是 當執(zhí)行條件為 OFF時,不再影響操作數(shù)的狀態(tài)。簡 單講是將輸岀繼電器置為 OFF狀態(tài),簡稱復位。105 / 76歐姆龍編程速成多位置位SETA將指定連續(xù)位的數(shù)都置為 ON。其中D為起始字,N1 SETA 為起始位, N2為位數(shù)。即 SETA(530)將從D的N1位開始連續(xù)到N2位的數(shù)都變?yōu)镺N ,其他位保持 不變。指令名稱多位復位助記符RSTA典型梯形圖一般功能特定功能RSTA( 531)各個表示和 SETA( 530)一致,只是RSTA結(jié)果相反,使從D的N1位開始連續(xù)到 N2位的

14、數(shù)都變?yōu)镺FF,其他位保持不變。單位置位SETB當執(zhí)行條件為 ON時,SETB( 532)將指定字中的某 位N置為ON。當執(zhí)行條件為 OFF時,該位狀態(tài)保 持不變。它與 SET指令不同,SETB( 532)可用在 一個DM或EM字中將某一位置為 ON。其中,D為 字地址,N為位(015)號。SETB!SETB單位復位RSTBRSTB( 533)這條指令用法和SETB大致相同,不同的是當執(zhí)行條RSTB件為ON時,SETB( 532)將指定字中的某位 N置為 OFF。單位輸出OUTBOUTB( 354)將指令執(zhí)行條件的狀態(tài)輸出給指定位。OUTB與OUT不同的是OUTB( 534)能控制DM區(qū)或EM

15、 !OUTB 區(qū)。當執(zhí)行條件為 ON時,OUTB( 534)使字D的 第N位變?yōu)镺N;當執(zhí)行條件為 OFF時,OUTB( 534) 使字D第N位變?yōu)镺FF。108 / 762.可用數(shù)據(jù)區(qū)的說明(1) OUT、OUT NOT指令可用的數(shù)據(jù)區(qū)有 CIO區(qū)、W區(qū)、H區(qū)、A區(qū)、TR區(qū)以及可使用變址 寄存器間接尋址。(2) KEEP、DIFU、DIFD、SET和RESET指令可用的數(shù)據(jù)區(qū)有 CIO區(qū)、W區(qū)、H區(qū)、A區(qū)、使用變址寄存器間接尋址,沒有TR區(qū)。(3) SETA/RSTA、SETB/RSTB、OUTB指令可用的數(shù)據(jù)區(qū)有 CIO區(qū)、W 區(qū)、H區(qū)、T區(qū)、C區(qū)、DM 區(qū)、無區(qū)號 EM區(qū)、有區(qū)號 EM區(qū)

16、、二進制間接 DM/EM 地址、BCD間接DM/EM 地址、數(shù)據(jù)寄 存器、使用變址寄存器間接尋址。特別是SETA/RSTA、SETB/RSTB、OUTB指令的操作數(shù) D在A區(qū)為A448A959 , N或N1、N2在A區(qū)為A000A959。SETB/RSTB、OUTB指令N的操作數(shù)也可以 是常數(shù),其值為 015。SETA/RSTA的操作數(shù)N1的范圍為015,操作數(shù)N2的范圍為065535。順序輸入和順序輸出指令是最基本的指令,也是最常用的指令,這些指令在所有程序中幾乎都會 用到。除此之外,還有順序控制、定時器和計數(shù)器指令,它們也是PLC程序中常用的指令,下面分別加以介紹。3.1.3順序控制指令1

17、順序控制指令表順序控制指令包括聯(lián)鎖與解鎖、跳轉(zhuǎn)、循環(huán)以及結(jié)束指令等,如表3-4所示。表3-4順序控制指令表指令空操作助記符NOP(OOO)典型梯形圖一般功能此指令不執(zhí)行任何操作,簡稱空操作。在編程時插入該 指令便于程序的檢查和修改。結(jié)束聯(lián)鎖與 聯(lián)鎖解除跳轉(zhuǎn)與跳轉(zhuǎn)結(jié)束END(001)IL(002)ILC(003)JMP(004)JME(005) 表示主程序結(jié)束。程序最后結(jié)束時若無此指令,執(zhí)行時END(001)將視為錯誤。聯(lián)鎖IL(002)和聯(lián)鎖解除ILC(003)指令用于互鎖IL(002)和ILC(003)之間的所有輸出,它們總是一起使 用,用于成組控制IL(002)和ILC(003)之間的指令

18、, 解決分支點執(zhí)行條件的存儲問題。條件跳轉(zhuǎn)CJP(510)JMP(004)是根據(jù)一個指定條件,可跳過程序中的某一個 程序段。當執(zhí)行條件為 ON時,則程序和沒有跳轉(zhuǎn)指令 一樣運行;當條件為OFF時,則程序立即跳轉(zhuǎn)到跳轉(zhuǎn)結(jié) 束指令之后的程序繼續(xù)執(zhí)行,JMP(004)與JME(005)之間維持上一掃描周期的執(zhí)行結(jié)果。CJP(510)CJP(510)的用法和JMP(004)相反。當CJP(510)的執(zhí)行條 件為ON時,程序直接跳轉(zhuǎn)至CJP(510)指令相同編號N 的第一個JME(005)去執(zhí)行。CJP(510)與JME(005)總是成 對使用。條件跳轉(zhuǎn)CJPN(511)CJPN(511)CJPN(51

19、1)用法幾乎等同于JMP(004)。當CJPN(511)的執(zhí)行條件為OFF時,程序直接跳轉(zhuǎn)至與CJPN(511)指令相同編號 N 的第一個 JME(005)。CJPN(511)和 JME(005)總是成JMP0( 515)歐姆龍編程速成對使用。多路跳轉(zhuǎn)與 跳轉(zhuǎn)結(jié)束JMP0(515)JME0(516)當JMP0(515)的執(zhí)行條件為OFF時,從JMP0(515)至下一 個JME0(516)的所有指令都被當作是空操作 NOP(OOO)。 JMP0(515)和JME0(516)也是成對使用。在程序中使用的 對數(shù)無任何限制。循環(huán)FOR-NEXTFOR(512)NEXT(513)對FOR(512)和NE

20、XT(513)之間的指令,重復執(zhí)行指定的 次數(shù)N。R然后繼續(xù)執(zhí)行 NEXT后面的程序,可用BREAK(512)指令退出循環(huán)。FOR(512)和 NEXT(513)成 對使用。退出循環(huán)BREAK(514)BREAK(514)在FOR-NEXT (513)循環(huán)中編程,BREAK(514)指令對 所給的執(zhí)行條件取消循環(huán)執(zhí)行。循環(huán)中余下的指令作為 空操作處理。2. 可用數(shù)據(jù)區(qū)的說明(1) END、IL/ILC、JMPO/JMEO、NEXT 和 BREAK 指令無操作數(shù)。(2) JMP、CJP、CJPN、FOR指令可用的數(shù)據(jù)區(qū)為 CIO區(qū)、W區(qū)、H區(qū)、A區(qū)、T區(qū)、C區(qū)、DM 區(qū)、有區(qū)號 EM區(qū)、無區(qū)號

21、EM區(qū)、二進制間接 DM/EM 地址、BCD間接DM/EM 地址、常數(shù),數(shù)據(jù) 寄存器使用變址寄存器間接尋址。當這些指令的操作數(shù)為常數(shù)時,取值范圍為#0000#03FF,即&0&1023。(3) JME指令的操作數(shù)只能為常數(shù),范圍為#0000#03FF,即&0&1023?!纠?.1】分支電路的編程方法分支電路如圖3-1 (a)所示。圖中A點為分支點,右側(cè)分為三條支路,且每條支路都有觸點控制,這種連接方式既不同于觸點與觸點的連接或邏輯塊與邏輯塊的連接,也不同于連續(xù)輸出,因此用前面 介紹的輸入或邏輯等指令都不能編程,此時需要用到聯(lián)鎖和聯(lián)鎖解除指令。分析該圖的功能可以看出,當 000000 為 OFF

22、 時,000210、000211、000212 都處于斷電狀態(tài); 當 000000 為 ON 時,000210、000211、 000212的狀態(tài)取決于各自支路上的控制觸點。所以,將圖(a)用聯(lián)鎖和聯(lián)鎖解除指令時,梯形圖可修改為圖(b)所示,000000用于控制IL和ILC之間的聯(lián)鎖程序執(zhí)行。當000000為ON時,IL (002)和ILC (003)之間的程序正常執(zhí)行,相當于沒有這對指令存在一樣;當000000為OFF時,在IL和ILC之間的所有程序互鎖,則三條支路都處于斷開狀態(tài),每個線圈都處于斷電狀態(tài)??梢姡瑘D(a)與圖(b )的功能完全一樣,這種電路又稱為復合輸出。(a)(b)圖3-1

23、IL/ILC在分支電路中的應用幾點說明: 不論IL前面的條件是 ON或OFF,PLC都要對IL ILC之間的聯(lián)鎖程序段處理,因此使 用該指令需要占用掃描時間;當條件 000000由ON變?yōu)镺FF時,IL與ILC指令之間的所有輸出 都被復位。 IL和ILC指令可以成對使用,也可以用多個 IL指令只配一個ILC指令,但不允許嵌套使用(如IL IL ILC ILC)。在圖3-2中,圖(a)聯(lián)鎖程序?qū)崿F(xiàn)的功能和圖(b) 一樣,圖(c) 是用助記符編寫的同一程序。當多個IL指令配一個ILC指令使用時,程序檢查時雖然會有出錯信息顯示,但不影響程序的正常執(zhí)行。(a)0000210TIO0.0 v.00021

24、1HFrHIO000004 000212HIOLD000000LD000001OUT000210 LD000002IL(02)LD000003OUT000211LD0tXW4OUT000212|ILC(c)圖3-2IL/ILC的應用舉例(b)處理分支的梯形圖還有另一種辦法,即使用暫存繼電器TR,暫存繼電器 TR共有16位,分別為TR00TR15。TR位可用來暫時存儲執(zhí)行結(jié)果,如果一個TR位被設置于一個分支點處,則當前的執(zhí)行結(jié)果就會被存儲在指定的TR位中。例如圖3-3 (a)中梯形圖存在一個分支點,用TR位來處理,其等效電路如圖3-3 (b)所示,與圖(a)的功能完全一樣,助記符見圖的中間所示。

25、一般情況下,用TR位處理,比用聯(lián)鎖指令處理的程序要長一些。0OOOWVtTnni 0000010002100 000211HI0000003 000212Tl0LDOUTANDOUTLDANDOUT LDANDOUT0 丁00X 000210:沁00 -00021100 107 / 76000212TR00TlTR00 Ih-i- 0000001 0002100 ; 0002110 000212TlO歐姆龍編程速成(a)原電路(b)等效電路圖3-3用TR位處理分支的編程舉例幾點說明: TR位只有16位,在使用次數(shù)上雖然沒有限制,但在在同一程序段中,TR號不能重復使用; TR不是獨立的編程指令,

26、只能和LD或OUT等基本指令一起使用; TR位不能用編程器或其他設備進行監(jiān)視; 直接用梯形圖編程時,則不用TR,該程序能夠自動執(zhí)行圖(a)的梯形圖;如果梯形圖用圖(b)表示時,則會提示“會和地址混淆,TR00不允許作為符號名”。所以,圖(b)是對應于圖(a)的一種等效,只是為了說明問題方便。【例3.2跳轉(zhuǎn)指令的編程方法如圖3-4所示為JMP(004)和JME(005)指令的應用示例0:. ;JMP00 000001Pr-IF-000003 0Lt 一0 - 000212000210000211_ 900013 |I” JME00 000000LD000000JMP (004) 00LDOUTL

27、DNOTOUTLDOUT000001000210000002000211000003000212JME (005) 00(a)( b)(c)圖3-4 JMP ( 004)和JME (005 )指令的應用示例上例中,000000作為JMP00指令的條件,當 000000為ON時,JMP和JME指令之間的程序順序連續(xù)執(zhí)行,相當于沒有這對指令一樣,不會發(fā)生跳轉(zhuǎn);當000000為OFF時,跳過JMP和JME指令之間的程序,即輸出000210、000211和000212保持原來狀態(tài)(當前值),轉(zhuǎn)到JME00之外的程序去執(zhí)行。在程序的梯形圖中使用圖(b )形式進行編程。使用JMP和JME指令時,需注意以下

28、幾點: 在一個程序中可以有多組JMP和JME指令,用跳轉(zhuǎn)號對其進行編號,跳轉(zhuǎn)號的范圍為001023。若跳轉(zhuǎn)號不在此范圍時,ER將出錯(ON )。 跳轉(zhuǎn)號00是專用跳轉(zhuǎn)號。當 JMP00指令的輸入條件 OFF時,在JMP00和JME00指令之間 的程序?qū)⒈粧呙璧遣槐粓?zhí)行。因此,它將占用掃描時間,而其他跳轉(zhuǎn)號的跳轉(zhuǎn)指令在相同條件下,相應程序段不被掃描; 在一個程序中,JMP00和JME00指令可以多次使用,而其他跳轉(zhuǎn)號的跳轉(zhuǎn)指令只能使用一次,故JMP00和JME00指令可以不成組使用,即“ JMPJMPJME ”格式。雖然這種格式在程序 檢查時會提示出錯,但程序能夠正常執(zhí)行。 JME(005)-

29、JMP(004)可做循環(huán)用,在JMP(004)前用JME(005),只要JMP(004)的執(zhí)行條件 OFF,109 / 76歐姆龍編程速成在JME(005)和JMP(004)間的指令會重復執(zhí)行,如果執(zhí)行條件不變ON或在最大循環(huán)時間內(nèi)不執(zhí)行結(jié)束指令END( 001)會產(chǎn)生循環(huán)時間太長錯誤。 不同的任務塊之間不允許相互跳轉(zhuǎn),即JMP(004)和JME(005)必須在同一任務塊中使用,否則ERR會出錯(ON )?!纠?.3】循環(huán)指令的編程方法FOR(512)和NEXT(513)循環(huán)可以嵌套使用,且多至 15級,如圖 3-5( a)所示為 FOR(512)和 NEXT(513)循環(huán)調(diào)用的舉例。 在這個

30、例子中, 程序段A、B和C按A宀B宀B宀C , AB宀C和A t Bt Bt C的順序循環(huán)執(zhí)行 3次。使用一個BREAK(514),則從一個FOR-NEXT循環(huán)中退出;若需要從嵌套循環(huán)中退出,則需要多個BREAK(514)指令,BREAK (514)后循環(huán)中余下的指令作空操作處理。如圖3-5( b)所示為BREAK(514)在多個FOR-NEXT循環(huán)指令中的運用。圖3-5 (c)為循環(huán)的一個簡單例子,循環(huán)程序段中將D00100的內(nèi)容傳給 D00200中所示的地址里,然后,D00200中的內(nèi)容+1。循環(huán)程序段循環(huán)了 3次。(a)(b)FOR#3NEXT重復3次)退出循環(huán),執(zhí)行循環(huán)外的程序。(c)

31、000002000003111 / 76圖3-5FOR(512)和NEXT(513)循環(huán)指令的應用示例使用循環(huán)指令FOR-NEXT時,應注意以下問題。 當FOR-NEXT的嵌套循環(huán)數(shù)超過15個時,錯誤標志ER為ON ; FOR-NEXT循環(huán)一定要編在同一個任務中,如果這些指令不在同一個任務中,則不執(zhí)行重復; JMP(004)跳轉(zhuǎn)指令可以在FOR-NEXT循環(huán)中執(zhí)行,但它不能跳出FOR-NEXT循環(huán); 塊編程指令、多重跳轉(zhuǎn)和結(jié)束指令、步定義和步開始指令不能用在FOR-NEXT循環(huán)指令中?!纠?.4KEEP指令的應用利用KEEP指令可以設計報警輸出,如圖3-6所示,圖中000000、000001和

32、000002為異常輸入信號。當控制電路發(fā)生異常情況時,繼電器380000工作,使輸出繼電器 000200得電,可接通報警信號燈進行報警,直至復位(R)輸入時報警才能解除。000000KEEP(011)TS000001R380000380000000200I歐姆龍編程速成116 / 76圖3-6 應用KEEP指令的梯形圖程序利用SETB(532)/RSTB(533)也可以和KEEP指令一樣直接對操作數(shù)的位進行置位或復位,但使用時也有不同點。KEEP指令的置位和復位輸入必須與這個指令一起被編入程序,而SETB(532)/RSTB(533)完全可以獨立編程,并可任意次使用。3.1.4定時器和計數(shù)器指

33、令定時器和計數(shù)器的指令主要包括普通定時器、高速定時器、1ms定時器、累積定時器、長定時器、多路輸出定時器和普通計數(shù)器、 可逆計數(shù)器以及復位定時器 /計數(shù)器。除長定時器、多路輸出定時器的 指令外,其他的指令都有一個定時器 /計數(shù)器(編)號N。其中,1ms定時器號為00000015之間,其他 的定時器號為00004095之間。在編程時,定時器號不能重疊。計數(shù)器號為00004095,計數(shù)器號也不能重疊。與小型機不同, CS1系列的定時器號和計數(shù)器號是各自獨立編號的。在定時方式上,除了累積定時器和多路輸出定時器是遞增方式之外,其他的都為遞減方式。在刷新方法上,除了可以用 BCD碼之外,還可以用二進制數(shù)

34、設置。用二進制數(shù)時,只要在 BCD碼 指令助記符的后綴加“ X”字母即可。如普通定時器 TIM,輸入是BCD碼;而TIMX(550)輸入為二進制 數(shù)。輸入BCD碼的設定值(SV)為09999,而二進制數(shù)的SV為065535。當使用二進制數(shù)指令進行計 算時,其中間結(jié)果也可以直接用于定時器/計數(shù)器的SV (值)。1. 普通定時器和高速定時器(1)普通定時器指令TIM/TIMX(550)普通定時器TIM/TIMX(550)是單位為0.1s的遞減計數(shù)器,其梯形圖如圖3-7所示。圖3-7普通定時器的梯形圖N為定時器號,TIM和TIMX( 550)的定時器號都為 04095 ; SV為設定值,TIM 的S

35、V為09999, 定時精度為0.1s,則定時的時間范圍為 0999.9S ; TIMX(550)的SV為065535,定時精度是0.1s,故 定時范圍為 06553.5s。在CIO區(qū)、W區(qū)、H區(qū)、A區(qū)、定時器區(qū)、DM區(qū)、無區(qū)號 EM區(qū)和有區(qū)號 EM區(qū)的字可以作為 SV的操作數(shù);二進制間接 DM/EM地址、BCD間接DM/EM地址、常數(shù)數(shù)據(jù)寄存器、使用變址寄存器間接尋址 這些數(shù)據(jù)以及常數(shù)也可以作為SV的操作數(shù)。當SV為常數(shù)時,若輸入用 BCD碼表示,應加前綴#符號;用二進制數(shù)表示時,其前綴符號和數(shù)的范圍為&0000&65535,而用十六進制表示為 #0000#FFFF。N操作數(shù)只能是定時器區(qū)和使

36、用寄存器區(qū)的間接尋址數(shù)據(jù)。關(guān)于SV和N的設置涉及到標志問題,如果N通過變址寄存器間接尋址,但變址寄存器中的地址不是定時器PV的地址;或者在 BCD莫式下,而SV不包含BCD數(shù)據(jù)時,則ER標志都變?yōu)镺N等于標 志(=)、負標志(N 為OFF。其他情況下的 ER標志為 OFF。當定時器輸入為 OFF時,指定的定時器N被復位,即定時器當前值(PV)恢復為SV,并且完成標志 位變?yōu)镺FF當定時器輸入(條件)從 OFF到ON時,定時器開始從 PV=SV遞減,只要定時器輸入保持 為ON則當前值每間隔 0.1s就自動減1,且連續(xù)遞減;直到 PV減為0000時,定時器的完成標志才 變?yōu)镺N此后,PV值和完成標

37、志狀態(tài)將保持,直到重新啟動定時器,即定時器輸入由 OFF再變ON時,PV恢復為SV重新進入定時。定時器的時序關(guān)系如 圖3-8所示。ON定時器輸入OFFON定時器當前值OFFON完成標志OFFK : :: X : :: ?: X : :: ?: ?:: ?: .: :?.圖3-8普通定時器的時序圖(2) 高速定時器指令 TIMH(015)/TIMHX(551)高速定時器TIMH(015)/TIMHX(551)的梯形圖如圖3-9所示。圖3-9高速定時器的梯形圖高速定時器TIMH(015)和定時器TIM的符號含義相同,N是定時器號,其范圍為 04095, SV為 設定值,設定范圍為 09999。它們

38、的主要差異是定時精度不同。高速定時器TIMH(015)/TIMHX(551)的定時精度為 0.01s,所以TIMH(015)的定時范圍為 099.99s,而TIMHX(551)的定時范圍為 0655.35s。高速定時器TIMH(015)的SV和N值的操作數(shù)、功能和注意事項與普通定時器基本一致,這里不再累述。2. 其他定時器指令(1) 1ms定時器指令 TMHH(540)1ms定時器指令是單位為 1ms的遞減定時器,其梯形圖如 圖3-10所示。1ms定時器的梯形圖這里的N與前面的定時器號不同, 只能在十進制的00000015之間選擇。SV的設定值為09999 , 則定時時間為 09.999s;

39、TMHHX(552)的SV為065535,所以它的定時范圍為 065.535s。1ms定時器指令的基本功能與TIM指令一致,但定時器的精度為0.001s,即1ms。1ms定時器指令的操作數(shù) SV與TIM指令一致;操作數(shù) N也在定時器區(qū)和可使用變址寄存器間 接尋址,只是范圍不一樣。1ms定時器指令的注意事項也與TIM指令一致。(2 )累積定時器指令 TTIM (087)累積定時器TTIM(087)/TTIMX(555)是單位為0.1S的遞增定時器,其梯形圖如圖3-11所示。復位輸入定時器輸入圖3-11累積定時器的梯形圖N的范圍為04095 , TTIM(087)的設定值SV必須為#0000#99

40、99。所以,其累積時間為 0999.9s。 TTIMX(555) 的設定值 SV必須為&0&65535,用十六進制表示為#0000#FFFF,其累積時間為06553.5s。當定時器輸入(條件)為 ON , TTIM(087)開始從當前值遞增。當定時器輸入為OFF,定時器當前值會停止遞增,但維持原值。當定時器輸入又為ON,定時器在原值的基礎(chǔ)上繼續(xù)遞增計時。當前值PV到達設定值SV時,則定時器完成標志變?yōu)镺N。其時序關(guān)系如 圖3-12所示。定時器輸入定時器PV值SVI:王r.r.r.r.r.完成標志位復位輸入0ONOFFON OFF圖3-12累積定時器的時序圖累積定時器與其他定時器的最大區(qū)別在于其

41、輸入為OFF時,PV值會維持原值,在輸入再次為ON時,PV值會繼續(xù)遞增。這種功能可應用于許多間斷定時的控制程序,可防止意外如斷電時能夠記 憶前段的計時時間。例如在傳送帶操作過程中意外斷電,當繼續(xù)上電后,在累積定時器的控制下,傳 送物品可以準時傳送。(3) 長定時器 TIML(542)/ TIMLX(534)長定時器TIML(542)是單位為0.1S的遞減定時器,其梯形圖如圖3-13所示。O圖3-13長定時器的梯形圖D1為完成標志,其中 0位作為TIML ( 542)的完成標志,其他位不用;D2為PV字,由D2和D2+1兩個字的BCD碼組成,D2和D2+1必須在同一數(shù)據(jù)區(qū);SV字由S和S+1兩個

42、字的BCD碼組成,SV和SV+1必須在同一數(shù)據(jù)區(qū),TIML(542)的SV范圍為099999999,而TIML(542)的SV范圍 為#0#99999999。因此,TIML ( 542)最長的定時時間可達到115天,而TIMLX(534)最長的定時時間可達49710天。上述三者操作數(shù)可用的數(shù)據(jù)區(qū)為CIO區(qū)、W 區(qū)、H區(qū)、A區(qū)、DM區(qū)、無區(qū)號 EM 區(qū)、有區(qū)號EM區(qū)。在這些區(qū)里,D1操作數(shù)為這些區(qū)里所有的單元,而D2和SV這些區(qū)的最高單元不可用,如D1的操作是在 CIO區(qū)為00006143,而D2和SV則為00006142。另外采用二進制間接 (尋址)DM/EM 區(qū)、BCD間接DM/EM區(qū)和使用

43、變址寄存器間接尋址時,都可作為這三者的操作數(shù)。對于SV,定時器區(qū)、計數(shù)器區(qū)的單元和常數(shù)也可以用作操作數(shù)。注意:D2和D2+1中包含的PV值或SV和SV+1中包含的SV值,如果它們不是 BCD碼,則長 定時器的錯誤標志(ER)為ON,其他情況都為 OFF。(4) 多路輸出定時指令 MTIM(543)/ MTIMX(544)多路輸出定時器指令 MTIM ( 543)/ MTIMX (544)是一個具有8個獨立的SV和完成標志,單位 為0.1s的遞增定時器,梯形圖如圖 3-14所示。1MTIM(543)D1D2圖3-14多路輸岀定時器的梯形圖D1為完成標志字,包括了8位完成標志、暫停和復位(位),其

44、中前8位即第0位到第7位為完成標志位,第 8、9位為復位和暫停位。D2為PV字,其數(shù)值范圍為#0000#9999。S為具有8個獨立的SV字,其中S0S+7的每個S字分別對應一個完成標志位,即S0對應D1中的第0位完成標志位,S+1對應D1中的第1位完成標志位,依此類推,S+7對應D1字中的第7位完成標志位。每個 SV的BCD碼范圍為#0000#9999o MTIMX (544)指令僅與 MTIM ( 543)的SV范圍不同而已,為&0&65535 , 用十六進制表示為 #0#FFFF。D1、D2和S的操作數(shù)可用的數(shù)據(jù)區(qū)為CIO區(qū)、W區(qū)、H區(qū)、A區(qū)、DM區(qū)、無區(qū)號 EM區(qū)、有區(qū)號EM區(qū)、定時器區(qū)

45、、計數(shù)器區(qū)。D1和D2為上述區(qū)中所有的字,而 S為這些區(qū)除后面7個字的所有字。如在CIO區(qū),D1和D2為00006143,而S為00006136。另外二進制間接 DM/EM 地址,BCD 間接DM/EM 地址、使用變址寄存器間接尋址也可作為這三者的操作數(shù)。特別提醒的是數(shù)據(jù)寄存器 DR0DR15可作為D2的操作數(shù),而常數(shù)不能作為這三者的操作數(shù)。當執(zhí)行條件為 ON,而復位和暫停位為 OFF時,MTIM(543)在D2中PV值遞增(加);如果復位為OFF和暫停位為ON時,定時器則暫時停止遞加 PV值,并保持原值;當暫停位再次變?yōu)?OFF時, MTIM ( 543)恢復定時,即在原來定時器定時的 (保

46、持值)基礎(chǔ)上繼續(xù)遞加 PV值。每次MTIM ( 543) 執(zhí)行后,PV( D2中的內(nèi)容)會與 S0S+7中的8個SV相比較。如果其中一些小于或等于 PV值,相 應完成標志(D1位0007)會變?yōu)镺N。當PV遞增到達最大值9999時,貝U PV自動復位到0000,并 且所有的完成標志位都變?yōu)?OFF。當復位為ON時,不管暫停位如何,PV都復位到0000,所有的標志位都變?yōu)镺FF,并且PV不會被更新。如果 D1指定為CIO區(qū)域中的字,則可用 SET和RSST指令來控制暫停和復位(位狀態(tài))。當使用少于8個SV時,則對應最后一個被用的SV后面的字應設置為 0000, MTIM(543)會忽略為SV值為

47、0000及余下的所有SV。多路輸出定時器的 PV值及完成標志都在 MTIM(543)執(zhí)行時刷新。多路輸出定時器用在IL ( 002) 和ILC (003)、JMP ( 004)和JME ( 005)程序時,其 PV值都會被保持。用 MTIM(543)時要確定完 成標志和PV (D1和D2)所指定的字沒有被其他指令所用,否則,定時器可能導致定時不準確。3. 普通計數(shù)器和可逆計數(shù)器指令(1) 普通計數(shù)器 CNT/ CNTX(546)普通計數(shù)器CNT是遞減計數(shù)器,其梯形圖如圖3-15所示。計數(shù)輸入圖3-15 普通計數(shù)器的梯形圖圖中,N為計數(shù)器號,十進制數(shù)范圍為04095, 般不能重疊,如果有兩個計數(shù)

48、器使用相同的計數(shù)器號,但并不同時使用,在程序檢查時會產(chǎn)生一條重復錯誤,但不影響計數(shù)器的正常操作;SV為設置值,CNT的SV范圍為00019999,而CNTX的SV范圍為&0&65535。SV操作數(shù)可用的數(shù)據(jù)區(qū)規(guī)定為 CIO區(qū)、W區(qū)、H區(qū)、A區(qū)、T區(qū)、DM區(qū)、EM區(qū)的所有字,都可以 作為SV的操作數(shù);另外,二進制間接 DM/EM地址、BCD間接DM/EM地址、常數(shù)數(shù)據(jù)寄存器、使用變址 寄存器間接尋址這些數(shù)據(jù)也可以作為SV的操作數(shù)。計數(shù)器為遞減計數(shù)。當復位端R為OFF,在CP端執(zhí)行條件從 OFF變ON (相當于上升沿)時,計數(shù)器從PV=SV直開始依次減計數(shù);當計數(shù)器的當前值PV計到零時,計數(shù)器的完

49、成標志變?yōu)镺N并一直保持ON直到復位為止。計數(shù)器具有斷電保持功能,當電源斷電時,計數(shù)器的當前值保持不變。當SV不是BCD數(shù)或間接尋址的 DM通道不存在時,ER標志位置為ON (出錯)。(2) 可逆計數(shù)器指令 CNTR( 012) / CNTRX(012)可逆計數(shù)器指令的梯形圖,如圖3-16所示,N和SV的操作數(shù)規(guī)定與 CNT指令一致。增量輸入CNTR(012)增量輸入CNTRX(012)減量輸入減量輸入N復位輸入SV復位輸入SV歐姆龍編程速成圖3-16可逆計數(shù)器指令的梯形圖可逆計數(shù)器CNTR ( 012)有加計數(shù)端、減計數(shù)端和復位端。當加計數(shù)端有上升沿脈沖輸入時,計 數(shù)器當前值加1 ;當?shù)竭_預

50、置值時,計數(shù)器完成標志變?yōu)镺N,此時若再輸入一個脈沖,則計數(shù)器復位到0000,同時標志位為 OFF。當減計數(shù)端有上升沿脈沖輸入時,計數(shù)器和普通計數(shù)器CNT 一樣,作遞減計數(shù)。若加計數(shù)端和減計數(shù)端同時加上升沿脈沖時,則計數(shù)值不變。該計數(shù)器指令的功能表如表3-5所示。表3-5可逆計數(shù)器的功能表增量輸入減量輸入復位輸入計數(shù)器功能完成標志位上升沿OFFOFF加計數(shù)加到預置數(shù),置 ON再加1,置OFF,計數(shù)器復位到0000。OFF上升沿OFF減計數(shù)減到0000時,置ON再減1,置OFF計數(shù)器置設定值。上升沿上升沿0FF不計數(shù)不變。任意任意ON預置數(shù)OFF4. 復位定時器/計數(shù)器CNR(545)/ CNR

51、X(547)復位定時器/計數(shù)器CNR(545)的功能主要用于對指定的定時器或計數(shù)器進行復位,其梯形圖如 圖3-17所示。復位定時器/計數(shù)器的梯形圖(a)梯形圖(b)助記符(c)時序圖圖中,N1和N2都是定時器或計數(shù)器范圍內(nèi)的編號,N1為指定的定時器或計數(shù)器中的第一個號,N2為最后一個號。除此之外,使用變址寄存器間接尋址也可以做N1和N2的操作數(shù)。如果 N1和N2通過變址寄存器間接尋址,但是變址寄存器的地址不是計數(shù)器的PV的地址是,錯誤標志 ER為ON。CNR(545)的功能比較簡單,即復位從N1N2所指定的所有定時器或計數(shù)器全部復位,同時所有PV值都被設置為最大值(對 BCD碼是9999),只

52、在下一次定時器或計數(shù)器的指令執(zhí)行時再設置為 SV值。除了長定時器TIML(550)、多路輸出定時器 MTIM(543)和CNR(545)本身,不能被 CNR(545)指 令復位之外,其他定時器和所有計數(shù)器都可以用上述指令來復位。如果N1和N2被指定為N1 N2,僅定時器/計數(shù)器的完成標志被復位。CNR ( 545)指令與直接復位指令效果不一樣。如TIM指令,如果被直接復位時,它們的PV值被設置為SV值;而定時器用 CNR(545)復位時,PV被設置為最大值 9999。115 / 76利用定時器指令,可實現(xiàn)延時接通和延時斷開的控制,如圖3-18所示。當000000為ON , TIM 0001開始計時,延時 5s后,000200為ON。當000000為OFF時,

溫馨提示

  • 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

提交評論