爱一夜夜爽 99久久无色_自拍视频精品一区二区三区_欧美日韩一区观看_欧美-级高清免费一片

S7-1500循環(huán)中斷組織塊,到底該怎么用?-神馬電影院午夜神福利不卡|刀手陳小春

S7-1500循環(huán)中斷組織塊,到底該怎么用?-神馬電影院午夜神福利不卡|刀手陳小春

循環(huán)中斷組織塊


圖片

1

循環(huán)中斷 OB·循環(huán)中斷OB干啥的

循環(huán)中斷OB啊,就好比是你手機里設的鬧鐘,每隔一段固定的時間就響一次,響了之后就去執(zhí)行這個中斷OB里寫好的程序。

S7-1500多能支持20個循環(huán)中斷OB,你創(chuàng)建每個循環(huán)中斷OB的時候,都得給它設定一個固定的間隔掃描時間,就像給每個鬧鐘定好響鈴的間隔。在CPU運行的時候,你還能用“SET_CINT”這個指令重新調整循環(huán)中斷的間隔掃描時間和相移時間;另外,用“”指令可以查看循環(huán)中斷當前的狀態(tài)。要注意,循環(huán)中斷OB的編號必須是30到38,或者大于等于123。


2

循環(huán)中斷OB相關指令

指令名稱功能說明SET_CINT設置指定的中斷 OB 的間隔掃描時間、相移時間,以開始新的循環(huán)中斷程序掃描過程。使用該指令查詢循環(huán)中斷的狀態(tài)。

3

循環(huán)中斷OB執(zhí)行過程


第一步:PLC啟動之后,就開始計時了,就像你按下秒表開始計時一樣。

第二步:等到了你設定的那個固定時間間隔,操作系統(tǒng)就會自動啟動對應的循環(huán)中斷OB,就好比鬧鐘到點了就響,然后你去干對應的事。

第三步:拿圖例來說,到了固定的時間間隔后,循環(huán)中斷OB30會打斷程序循環(huán)OB1,優(yōu)先執(zhí)行,就像你正在看書,突然鬧鐘響了,你得先放下書去處理鬧鐘提醒的事。

循環(huán)中斷具體是怎么執(zhí)行的,可以參考下面這張圖。


圖片

圖1. 循環(huán)中斷 OB 執(zhí)行圖例


4

循環(huán)中斷OB使用示例


舉個例子:用循環(huán)中斷來實現Q0.0輸出500毫秒為1、500毫秒為0,也就是輸出一個周期為1秒的方波。具體怎么做呢?往下看:

第一步:按照下面的步驟創(chuàng)建循環(huán)中斷OB30,就像圖2那樣。


圖片

圖2. 創(chuàng)建循環(huán)中斷 OB30

第二步:在OB30里編寫程序,如圖3所示,這樣當循環(huán)中斷執(zhí)行的時候,Q0.0就會以方波的形式輸出。


圖片

圖3. OB30 中編程

第三步:在OB1里編程調用“SET_CINT”指令,可以重新設置循環(huán)中斷的時間,比如設成CYCLE=1s(這樣周期就是2s);調用“”指令可以查詢中斷狀態(tài)。這些指令在“指令->擴展指令->中斷->循環(huán)中斷”里面都能找到,如圖4所示。


圖片

圖4. 調用循環(huán)中斷指令

OB1里面的編程見圖5。


圖片

圖5. OB1 中的編程

“SET_CINT”指令的參數說明如下:

EN:=%M100.0https://當 EN 端出現上升沿時,設置新參數OB_NR:=30https://需要設置的 OB 的編號CYCLE:=1000000https://時間間隔(微秒)PHASE:=0https://相移時間(微秒)RET_VAL:=%MW0https://狀態(tài)返回值(詳細信息請查看在線幫助)

“”這個指令啊,就是用來查詢循環(huán)中斷參數的。它就像你去問PLC:‘嘿,你現在循環(huán)中斷是咋設置的?間隔多久?相移多少?’PLC就會把這些信息告訴你。參數說明就是告訴你這個指令需要填哪些東西,比如要查哪個中斷,查到的結果放哪兒等等。

OB_NR:=30https://需要查詢的 OB 的編號RET_VAL:=%MW2https://狀態(tài)返回值(詳細信息請查看在線幫助)CYCLE:=%MD4https://查詢結果:時間間隔(微秒)PHASE:=%MD8https://查詢結果:相移時間(微秒)STATUS:=%MW12https://循環(huán)中斷的狀態(tài)(詳細信息請查看在線幫助)

第4點,測試結果是這樣的:你把程序下載到PLC里,然后看CPU上那個Q0.0輸出指示燈,它會一亮一滅,亮0.5秒、滅0.5秒,跟眨眼睛似的。然后呢,當M100.0這個變量從0變成1的時候,程序里用“SET_CINT”指令把循環(huán)間隔時間改成了1秒。這時候你再瞅那個指示燈,它就變成亮1秒、滅1秒了,節(jié)奏慢了一半。這就說明改循環(huán)間隔時間起作用了。

5

相移時間功能

當你要用好幾個循環(huán)中斷,而且它們的時間間隔都一樣的時候,如果同時觸發(fā),可能會打架。這時候就可以設置‘相移時間’,讓這些中斷錯開一點執(zhí)行,就像排隊一樣,你等一會兒我再上。下面兩張圖就是幫你理解相移時間到底是個啥概念的。

看下面這張圖,沒有設置相移時間,兩個OB(就是兩個中斷程序)用同樣的時間間隔調用。結果呢,優(yōu)先級低的那個OB就慘了,它沒法固定每隔t時間就執(zhí)行一次。為啥?因為高優(yōu)先級的OB如果還沒執(zhí)行完,低優(yōu)先級的就得等著,所以啥時候執(zhí)行得看高優(yōu)先級OB的臉色。具體看圖6。


圖片

圖6. 沒有相移的循環(huán) OB 調用

再看下面這張圖,低優(yōu)先級的OB這回可以固定每隔t時間執(zhí)行了。秘訣就是設置了相移時間。這個相移時間得比高優(yōu)先級OB的執(zhí)行時間還長,這樣才能保證低優(yōu)先級OB在輪到自己的時候,高優(yōu)先級OB已經干完活了,不會擋道。具體看圖7。


圖片

圖7. 有相移的循環(huán) OB 調用

小結一下:如果你用相同的時間間隔調用高優(yōu)先級和低優(yōu)先級的循環(huán)中斷OB,那么低優(yōu)先級的OB必須等高優(yōu)先級的OB處理完了才能執(zhí)行。所以低優(yōu)先級OB的起始時間會被高優(yōu)先級OB的處理時間拖后。如果你想讓低優(yōu)先級OB也能固定間隔執(zhí)行,那就得給它設置一個相移時間,而且這個相移時間要大于高優(yōu)先級OB的執(zhí)行時間。

那怎么設置相移時間呢?

看下面的圖,有步驟。注意啊,如果你在程序里用“SET_CINT”指令設置了相移時間,那就以程序里設的為準,硬件配置里的就不算數了。


圖片

圖8. 相移的設置步驟


6

常見問題:·循環(huán)中斷注意啥


第一,循環(huán)中斷加上延時中斷,總數不能超過20個。就像你家里插座有限,不能同時插太多大功率電器。

第二,循環(huán)間隔時間可以設1到60000毫秒,也就是1毫秒到1分鐘。如果你用“SET_CINT”指令設錯了時間,比如超范圍了,PLC就會報錯,錯誤代碼是16#8091。

第三,CPU在運行的時候,你可以隨時用“SET_CINT”指令來改循環(huán)中斷的間隔時間和相移時間,不用停機。

第四,如果“SET_CINT”指令的使能端EN是用脈沖信號觸發(fā)的,那么當CPU從STOP模式切換到RUN模式時,會執(zhí)行一次這個指令。這包括兩種情況:一種是啟動模式就是RUN,然后上電;另一種是執(zhí)行STOP到RUN的切換命令。這時候,循環(huán)中斷間隔時間會被復位成OB塊屬性里設置的那個數值。

5、要是循環(huán)中斷跑完一次花的時間,比設定的間隔時間還長,那就像你定了個鬧鐘每5分鐘響一次,但每次起床關鬧鐘再躺下要花6分鐘,鬧鐘就會越響越亂,時間就對不上了,后導致時間錯誤。


供應商

查看商鋪
公司
廣東湘恒智能科技有限公司
電話
18820221592
手機
18820221592
聯系人
謝苗
地址
惠州大亞灣澳頭石化大道中480號太東天地花園2棟二單元9層01號房

公司新聞

更多

相關s7新聞