西門子S7-300PLC的 RLO 置位、清零、保存指令及示例_第1頁
西門子S7-300PLC的 RLO 置位、清零、保存指令及示例_第2頁
西門子S7-300PLC的 RLO 置位、清零、保存指令及示例_第3頁
西門子S7-300PLC的 RLO 置位、清零、保存指令及示例_第4頁
西門子S7-300PLC的 RLO 置位、清零、保存指令及示例_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、西門子s7-300plc的 rlo 置位、清零、保存指令及示例置位指令符號: set 功能: rlo = 1復(fù)位指令符號: clr 功能: rlo = 0例3.1.17rlo保存指令符號: save 功能: (rlo) br說明:將rlo的狀態(tài)保存到狀態(tài)字寄存器中的br位中。西門子plc中的s與set的指令有什么區(qū)別s是根據(jù)rlo狀態(tài)來置位,set是將rlo狀態(tài)來置位。 1、s置位:如果rlo=1,則使用置位指令(s),可以將尋址位置位為“1” 例如: ai0.0 sq0.0/如果i0.0為1(rlo=1),則q0.0也為1;如果i0.0為0(rlo=0),則q0.0也為0.。 2、setrl

2、o置位:使用rlo置位(set)指令,可以將rlo的信號狀態(tài)置為“1”。 例如: set/將rlo置位 =m0.1/rlo為1,則m0.1也為1. 西門子梯形邏輯06/11/24(2006-11-24 09:23:57) 轉(zhuǎn)載分類: 工作日志 1.1 位邏輯指令概述說明位邏輯指令處理兩個數(shù)字,“1”和“0”。這兩個數(shù)字構(gòu)成二進制數(shù)字系統(tǒng)的基礎(chǔ)。這兩個數(shù)字“1”和“0”稱為二進制數(shù)字或二進制位。在接點與線圈領(lǐng)域,“1”表示動作或通電,“0”表示未動作或未通電。位邏輯指令掃描信號狀態(tài)1 和0,并根據(jù)布爾邏輯對它們進行組合。這些組合產(chǎn)生結(jié)果1或0,稱為“邏輯運算結(jié)果(rlo)”。由位邏輯指令觸發(fā)的邏

3、輯操作可執(zhí)行各種類型的功能??蓤?zhí)行下列功能的位邏輯指令: -| |- 常開接點(地址) -| / |- 常閉接點(地址) -(save) 將rlo 存入br 存儲器 xor 位異或 -( ) 輸出線圈 -( # )- 中間輸出 -|not|- 信號流反向下列指令當(dāng)rlo 為1 時起作用,執(zhí)行下列功能: -( s ) 線圈置位 -( r ) 線圈復(fù)位 sr 置位復(fù)位觸發(fā)器 rs 復(fù)位置位觸發(fā)器其它指令對上升沿和下降沿有反應(yīng),執(zhí)行下列功能: -(n)- rlo 下降沿檢測 -(p)- rlo 上升沿檢測 neg 地址下降沿檢測 pos 地址上升沿檢測 立即讀操作 立即寫操作1.2-| |- 常開接

4、點(地址)符號-| |-說明當(dāng)保存在指定中的位值等于“1”時,-| |-(常開接點)閉合。當(dāng)接點閉合時,梯形邏輯級中的信號流經(jīng)接點,邏輯運算結(jié)果(rlo)=“1”。相反,如果指定的信號狀態(tài)為“0”,接點打開。當(dāng)接點打開時,沒有信號流經(jīng)接點,邏輯運算結(jié)果(rlo)=“0”。串聯(lián)使用時,-| |- 通過“與(and)”邏輯鏈接到rlo 位。并聯(lián)使用時,-| |- 通過“或(or)”邏輯鏈接到rlo 位。1.3 -| / |- 常閉接點(地址)符號-| / |-說明當(dāng)保存在指定中的位值等于“0”時,-| / |-(常閉接點)閉合。當(dāng)接點閉合時,梯形邏輯級中的信號流經(jīng)接點,邏輯運算結(jié)果(rlo)=“1

5、”。相反,如果指定的信號狀態(tài)為“1”,接點打開。當(dāng)接點打開時,沒有信號流經(jīng)接點,邏輯運算結(jié)果(rlo)=“0”。串聯(lián)使用時,-| / |- 通過“與(and)”邏輯鏈接到rlo 位。并聯(lián)使用時,-| / |- 通過“或(or)”邏輯鏈接到rlo 位。1.4 xor 位異或符號對于xor 功能,常開接點和常閉接點程序段必須如下生成。說明如果兩個指定位的信號狀態(tài)不同,xor(位異或)將產(chǎn)生一個 rlo“1”。1.5 -|not|- 信號流反向符號-|not|-說明-|not|-(信號流反向指令)取rlo 位的非值。1.6 -( ) 輸出線圈符號-( )說明-( )(輸出線圈指令)象繼電器邏輯圖中的

6、線圈一樣作用。如果有電流流過線圈(rlo =1),位置處的位則被置為“1”。如果沒有電流流過線圈(rlo = 0),位置處的位則被置為“0”。輸出線圈只能放置在梯形邏輯級的右端。也可以有多個輸出元素(最多16 個)(見舉例)。使用 - |not|-(信號流反向)元素,可以生成求反輸出。1.7 -( # )- 中間輸出符號-( # )-說明-( # )-(中間輸出指令)是一個中間賦值元素,可以將rlo 位(信號流狀態(tài))保存到指定的 。這一中間輸出元素可以保存前一分支元素的邏輯結(jié)果。與其它接點并聯(lián)時,-( # )- 可以象一個接點那樣插入。-( # )- 元素絕不能連接到電源線上或直接連接到一個分

7、支連接的后面或一個分支的末尾。使用 - |not|-(信號流反向)元素,可以生成求反-( # )-。1.8 -( r ) 線圈復(fù)位符號-( r )說明-( r )(線圈復(fù)位指令)只有在前一指令的rlo為“1”時(電流流經(jīng)線圈),才能執(zhí)行。如果有電流流過線圈(rlo為“1”),元素的指定處的位則被復(fù)位為“0”。rlo 為“0”(沒有電流流過線圈)沒有任何作用,并且元素指定地址的狀態(tài)保持不變。也可以是一個定時器值被復(fù)位為“0”的定時器(t no.)或一個計數(shù)器值被復(fù)位為“0”的計數(shù)器(c no.)。1.9 -( s ) 線圈置位符號-( s )說明-( s )(線圈置位指令)只有在前一指令的rlo

8、 為“1”時(電流流經(jīng)線圈),才能執(zhí)行。如果rlo 為“1”時,元素的指定將被置為“1”。rlo = 0 沒有任何作用,并且元素指定地址的狀態(tài)保持不變。1.10 rs 復(fù)位置位觸發(fā)器符號說明如果在r 端輸入的信號狀態(tài)為“1”,在s 端輸入的信號狀態(tài)為“0”,則 rs(復(fù)位置位觸發(fā)器)復(fù)位。相反,如果在r 端輸入的信號狀態(tài)為“0”,在s 端輸入的信號狀態(tài)為1”,則 rs(復(fù)位置位觸發(fā)器)置位。如果在兩個輸入端rlo 均為“1”,則順序優(yōu)先,觸發(fā)器置位。在指定,復(fù)位置位觸發(fā)器首先執(zhí)行復(fù)位指令,然后執(zhí)行置位指令,以使該地址保持置位狀態(tài)程序掃描剩余時間。s(置位)和 r(復(fù)位)指令只有在rlo 為“1

9、”時才執(zhí)行。rlo“0”對這些指令沒有任何作用,并且指令中的指定地址保持不變。save clr的用法 經(jīng)常會看到一些程序中出現(xiàn)save和clr的組合使用,這兩個到底是怎么個用法啊,請各路神仙幫忙解析下。轉(zhuǎn)帖一個典型問題,看了這個答案就全明白了:a(lmt510.powder1btit#temp1setsaveclrabr)jnb_005l9t#temp10_005:nop0上面的那段代碼是由梯形圖轉(zhuǎn)換而來的,首先將mt510.powder1做bcd-i轉(zhuǎn)換并存于temp1,然后將9傳送到temp10,兩個指令串聯(lián)在一起?,F(xiàn)有如下問題向各位請教:1、bti指令執(zhí)行完成后br位自動置位嗎?還是需要

10、save?2、上段中的set、save及clr用途何在?3、在一個network中串聯(lián)執(zhí)行多個指令或并聯(lián)執(zhí)行多個指令時,該如何處理?回答:首先弄清br位:狀態(tài)字的第8位稱為二進制結(jié)果位。它將字處理程序與位處理聯(lián)系起來,在一段既有位操作又有字操作的程序中,用于表示字邏輯是否正確。將br位加入程序后,無論字操作結(jié)果如何,都不會造成二進制邏輯鏈中斷。1.因為上面的那段代碼是由梯形圖轉(zhuǎn)換而來的。出現(xiàn)了“set、save及clr”。就此而論,在做bcd-i轉(zhuǎn)換并存于temp1后,set與save兩指令。set即將狀態(tài)字rlo置位;save將rlo保存到狀態(tài)字的br位。此時表示功能被正確執(zhí)行,即br位為1

11、.2.clr/將狀態(tài)字rlo復(fù)位,以免影響下面的指令。abr/此時br位為1,rlo=0)jnb_005/若br=1且rlo=0,則跳轉(zhuǎn)到005。l9/此時br=1且rlo=1t#temp10_005:nop03.在一個network中串聯(lián)執(zhí)行多個指令或并聯(lián)執(zhí)行多個指令時,該如何處理?一般不要顧及用save指令保存rlo。在下面的情況可用:在一個邏輯塊中需檢另一查邏輯塊的br位。例如:在用戶編寫的fb/fc程序中,應(yīng)該對br位進行管理,功能塊正確執(zhí)行后,使br位為1,否則使其為0。使用save指令將rlo存入br中,從而達到管理br位目的。其他答案1、save將rlo保存到br位中。第一個校驗

12、位/fc不復(fù)位。因此,br位的狀態(tài)包括在下一程序段中的與邏輯運算內(nèi)。建議不要在同一個塊或二級塊中對br位使用save并執(zhí)行后續(xù)查詢,因為br位可能會被這兩個操作之間的大量指令改變。退出塊之前使用save指令的意義在于,此操作將eno輸出(=br位)設(shè)置為rlo位的值,從而可以將該塊的出錯處理添加至此。2、clr將rlo設(shè)置到信號狀態(tài)0。3、例程:a(l0tmb0setsaveclrabr)jnb_002l0tmb10_002:nop0此程序的含義就是對mb0和mb10分別置零,set對rlo置1,save把rlo的值暫存到bar緩沖位,換句話這兩條指令完成了對bar位的置1,保證下一條與指令的

13、正常執(zhí)行,clr對此地的rlo為清零,以免被傳遞下去引起誤操作。save clr的用法 經(jīng)常會看到一些程序中出現(xiàn)save和clr的組合使用,這兩個到底是怎么個用法啊,請各路神仙幫忙解析下。最佳答案 轉(zhuǎn)帖一個典型問題,看了這個答案就全明白了:a(lmt510.powder1btit#temp1setsaveclrabr)jnb_005l9t#temp10_005:nop0上面的那段代碼是由梯形圖轉(zhuǎn)換而來的,首先將mt510.powder1做bcd-i轉(zhuǎn)換并存于temp1,然后將9傳送到temp10,兩個指令串聯(lián)在一起?,F(xiàn)有如下問題向各位請教:1、bti指令執(zhí)行完成后br位自動置位嗎?還是需要sa

14、ve?2、上段中的set、save及clr用途何在?3、在一個network中串聯(lián)執(zhí)行多個指令或并聯(lián)執(zhí)行多個指令時,該如何處理?回答:首先弄清br位:狀態(tài)字的第8位稱為二進制結(jié)果位。它將字處理程序與位處理聯(lián)系起來,在一段既有位操作又有字操作的程序中,用于表示字邏輯是否正確。將br位加入程序后,無論字操作結(jié)果如何,都不會造成二進制邏輯鏈中斷。1.因為上面的那段代碼是由梯形圖轉(zhuǎn)換而來的。出現(xiàn)了“set、save及clr”。就此而論,在做bcd-i轉(zhuǎn)換并存于temp1后,set與save兩指令。set即將狀態(tài)字rlo置位;save將rlo保存到狀態(tài)字的br位。此時表示功能被正確執(zhí)行,即br位為1.2

15、.clr/將狀態(tài)字rlo復(fù)位,以免影響下面的指令。abr/此時br位為1,rlo=0)jnb_005/若br=1且rlo=0,則跳轉(zhuǎn)到005。l9/此時br=1且rlo=1t#temp10_005:nop03.在一個network中串聯(lián)執(zhí)行多個指令或并聯(lián)執(zhí)行多個指令時,該如何處理?一般不要顧及用save指令保存rlo。在下面的情況可用:在一個邏輯塊中需檢另一查邏輯塊的br位。例如:在用戶編寫的fb/fc程序中,應(yīng)該對br位進行管理,功能塊正確執(zhí)行后,使br位為1,否則使其為0。使用save指令將rlo存入br中,從而達到管理br位目的。在現(xiàn)場看到一斷程序如下 _ pzgnd clr rqih!

16、r = m 0.0 dj7akr andatafromhmi.dbx3_2 wrkupj2 a m 0.0 ?lge9i ccrotator ,1b4far& qj1%wwg _3 $f m0.0等于0 .pe.k3g & 這樣不是永遠都調(diào)用不到“rotator”這個功能 塊了嗎? roahki 如圖,是在fc10塊出現(xiàn)的,不明白什么意思。那位高手解釋一下這段程序的意思大致為:根據(jù)()內(nèi)的運行結(jié)果去決定是否調(diào)用fc40將變量in0去乘以1000,結(jié)果保存在temp2中,然后檢測前面的乘法運算是否結(jié)果溢出,ov為溢出標(biāo)志位,通過檢測ov是否為1來決定是否運算溢出。為什么要用an ov呢?如果您知

17、道三菱的話,那么西門子an相當(dāng)于ani,也就是歐姆龍的and not。因為后續(xù)的有用到save指令,該指令用于保存當(dāng)前的rlo到br位中去。而rlo結(jié)果則是根據(jù)當(dāng)前的指令運算結(jié)果。因此,這里使用an ov,此時如果沒有溢出發(fā)生,那么ov的值為0,由于an的存在,那么當(dāng)前的結(jié)果為rlo=1,執(zhí)行save后,那么br=1。如果有溢出發(fā)生,那么rlo=0,從而導(dǎo)致save指令不會被執(zhí)行,也就不會改變br位的結(jié)果。后面的clr指令用于將當(dāng)前的rlo結(jié)果清零(也可以稱作為復(fù)位)。a br用于檢測br位的狀態(tài),如果br位為1,通過a指令后,那么rlo狀態(tài)就會更改為1,否則為0.最后()內(nèi)的指令講解完畢,那

18、么()外的a就是用于檢測()內(nèi)的rlo運行結(jié)果。如果()內(nèi)的rlo為1,那么就執(zhí)行fc,否則,不執(zhí)行。引用第2樓cvlsam于2009-01-04 10:55發(fā)表的:這段程序的意思大致為:根據(jù)()內(nèi)的運行結(jié)果去決定是否調(diào)用fc40將變量in0去乘以1000,結(jié)果保存在temp2中,然后檢測前面的乘法運算是否結(jié)果溢出,ov為溢出標(biāo)志位,通過檢測ov是否為1來決定是否運算溢出。為什么要用an ov呢?如果您知道三菱的話,那么西門子an相當(dāng)于ani,也就是歐姆龍的and not。.對你的解釋有不同的看法歡迎討論。有異議的地方是這句:“最后()內(nèi)的指令講解完畢,那么()外的a就是用于檢測()內(nèi)的rlo

19、運行結(jié)果。如果()內(nèi)的rlo為1,那么就執(zhí)行fc,否則,不執(zhí)行?!笔紫萩all是無條件調(diào)用語句,也就是說不依賴任何條件進行處理,指定的塊總是被調(diào)用。(不包括ob)。那么你說的“如果()內(nèi)的rlo為1,那么就執(zhí)行fc,否則,不執(zhí)行。”因為fc的執(zhí)行不由在執(zhí)行它時rlo位的狀態(tài)決定,也就是無論如何fc40都是要執(zhí)行的,要想達到你說的用rlo位判斷是否執(zhí)行fc40,前面必需要有跳轉(zhuǎn)語句等。在西門子plc 的br位處理的問題中: a(. set save clr a br) 這樣的程序什么時候br位為零啊br位的處理是使用語句表編輯程序當(dāng)中很重要的方式,如果順序執(zhí)行的是setsaveclra br這樣

20、的語句,則br位永遠為1,因為set是不管以上任何條件將rlo置為1的,cave將當(dāng)前的rlo保存到br,clr清除的只是rlo位,a br是判斷br位是否是1,所以,如果這段程序被執(zhí)行,br位置就永遠為1了,只有通過跳轉(zhuǎn)或者之前的程序判斷,不執(zhí)行set指令的時候,br位才可能是0.中斷過程西門子s7-300plc組織塊ob及其應(yīng)用文章來源:不詳 作者:佚名 -該文章講述了中斷過程西門子s7-300plc組織塊ob及其應(yīng)用的原理和應(yīng)用 系統(tǒng)檢測到一個ob塊中斷時,則被中斷塊的累加器和寄存器上的當(dāng)前信息將被作為一個中斷堆棧存起來(i堆棧)。i堆棧中保存的內(nèi)容有:f 累加器及地址寄存器的內(nèi)容;f

21、數(shù)據(jù)塊寄存器的內(nèi)容;f 局部數(shù)據(jù)堆棧,狀態(tài)字,mcr寄存器和b堆棧指針。如果新的ob塊調(diào)用fb和fc,則每一個塊的處理數(shù)據(jù)將被存儲堆棧中(b堆棧)b堆棧中保存的內(nèi)容有:f db和di寄存器;f 臨時數(shù)據(jù)(l堆棧)的指針;f 塊的號碼及返回地址。 西門子s7-300plc的rlo邊沿信號識別指令及示例 點擊: 發(fā)布日期:2007-7-26 13:40:00 進入論壇 當(dāng)信號狀態(tài)變化時就產(chǎn)生跳變沿,當(dāng)從0變到1時,產(chǎn)生一個上升沿(或正跳沿);若從1變到0,則產(chǎn)生一個下降沿(或負跳沿)。跳變沿檢測的原理是:在每個掃描周期中把信號狀態(tài)和它在前一個掃描周期的狀態(tài)進行比較,若不同則表明有一個跳變沿。因此,

22、前一個周期里的信號狀態(tài)必須被存儲,以便能和新的信號狀態(tài)相比較。l 下降沿信號識別指令 若cpu檢測到輸入有一個負跳沿,將使得輸出線圈在一個掃描周期內(nèi)通電。對輸入掃描的rlo值存放在存儲位中。在ob1的掃描周期中,cpu掃描并形成rlo值,若該rlo值是0且上次rlo值是1,這說明fn指令檢測到一個rlo的負跳沿,那么fn指令把rlo位置1。如果rlo在相鄰的兩個掃描周期中相同(全為1或0),那么fn語句把rlo位清0。例 3.1.13 若cpu檢測到輸入i1.0有一個負跳沿,將使得輸出q4.0的線圈在一個掃描周期內(nèi)通電。對輸入i1.0常開觸點掃描的rlo值(在本例中,此rlo正好與輸入i1.0

23、的信號狀態(tài)相同)存放在存儲位m1.0中。在ob1的掃描周期中,cpu對i1.0信號狀態(tài)掃描并形成rlo值,若該rlo值是0且存放在m1.0中的上次rlo值是1,這說明fn指令檢測到一個rlo的負跳沿,那么fn指令把rlo位置1。如果rlo在相鄰的兩個掃描周期中相同(全為1或0),那么fn語句把rlo位清0。l 上升沿信號識別指令 若cpu檢測到輸入有一個正跳沿,將使得輸出線圈在一個掃描周期內(nèi)通電。對輸入掃描的rlo值存放在存儲位中。在ob1的掃描周期中,cpu掃描并形成rlo值,若該rlo值是1且上次rlo值是0,這說明fn指令檢測到一個rlo的正跳沿,那么fp指令把rlo位置1。如果rlo在

24、相鄰的兩個掃描周期中相同(全為1或0),那么fp語句把rlo位清0。例 3.1.14 若cpu檢測到輸入i1.0有一個正跳沿,將使得輸出q4.0的線圈在一個掃描周期內(nèi)通電。對輸入i1.0常開觸點掃描的rlo值(在本例中,此rlo正好與輸入i1.0的信號狀態(tài)相同)存放在存儲位m1.0中。在ob1的掃描周期中,cpu對i1.0信號狀態(tài)掃描并形成rlo值,若該rlo值是1且存放在m1.0中的上次rlo值是0,這說明fn指令檢測到一個rlo的正跳沿,那么fp指令把rlo位置1。如果rlo在相鄰的兩個掃描周期中相同(全為1或0),那么fp語句把rlo位清0。 set save = l 68.1 a #c

25、om_rst jcn a7d0 l #i_itlval t #sianteilalt l 0.000000e+000 t #lmn clr = #qlmn_hlm = #qlmn_llm t #lmn_p t #lmn_i t #lmn_d l w#16#0 t #lmn_per tak t #pv t #er t #sinvalt t #srestint t #srestdif t #srueck t #slmn = #sbarwhlmon = #sbarwllmon ju a7d1a7d0: l #cycle dtr l 1.000000e+003 /r t #rcycle l #pv_p

26、er itd dtr l 3.616898e-003 *r t #istwert l #pv_fac *r l #pv_off +r t #istwert clr a #pvper_on not jcn a7d2 l #pv_in t #istwerta7d2: l #istwert t #pv l #sp_int tak -r t #erkp l #deadb_w negr r jcn a7d5 l #erkp tak -r t #er ju a7d4a7d5: l 0.000000e+000 t #era7d4: l #er l #gain *r t #erkp l #ti dtr l 1.000000e+003 /r t #rti l #td dtr l 1.000000e+003 /r t #rtd l #tm_lag dtr l 1.000000e+003 /r t #rtmlag l #rcycle l 5.000000e-001 *r l #rti tak r jcn a7d7 l #rcycle l 5.000000e-0

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論