【跟著我一起來(lái)學(xué)習(xí)s7-200】36中斷的使用
唐琳
發(fā)布于2015-12-16 16:13
9
0
標(biāo)簽:S7-200入門連載,PLC
前面先大致了解了中斷和中斷指令,那么今天就學(xué)習(xí)一下中斷的使用。
首先我們要知道使用中斷的步驟是怎樣的,我們使用中斷的一般步驟是,,在首次掃描時(shí)要設(shè)置與所連接的中斷事件相關(guān)的系統(tǒng)存儲(chǔ)區(qū),第二,使用ATCH指令將中斷事件(EVENT)和中斷服務(wù)程序號(hào)(INT)相聯(lián),簡(jiǎn)單的說(shuō)就是建立起中斷連接,第三,使用ENI指令允許全局中斷,也可以說(shuō)是激活中斷,第四,編寫(xiě)中斷服務(wù)程序。
對(duì)于中斷程序,平時(shí)是禁止執(zhí)行的,而執(zhí)行時(shí)它是只執(zhí)行一個(gè)掃描周期的。我們還要注意的是,上升沿指令、下降沿指令、定時(shí)器、計(jì)數(shù)器是不能在中斷程序中使用的,但是加1指令和減1指令就可以在中斷程序中使用。
那么在編程軟件里面是在哪里編寫(xiě)中斷程序呢,在我們的編程軟件,是默認(rèn)提供了一個(gè)空的中斷程序INT_0的,我們可以在里面編寫(xiě)中斷程序,我們還可以插入中斷程序,右鍵點(diǎn)擊“插入-中斷”就可以了。我們多可以插入128個(gè)中斷,不過(guò)肯定是用不完的,用這么多中斷就不得了了,因?yàn)橹袛鄷?huì)影響到掃描,所以一般中斷都是越少越好,中斷程序越短越好的,我們要注意一下。
對(duì)于中斷使用,還有一下注意事項(xiàng)是我們需要注意的,,在中斷程序中不能使用DISI、ENI、HDEF、LSCR、END指令;第二,知道程序只需要跟中斷事件連接一次,所以ATCH是用SM0.1來(lái)觸發(fā)的。
那么下面我們就具體的看一下中斷指令的使用吧。
以上的程序就是用到了I/O中斷,在網(wǎng)絡(luò)1中,SM0.1首次掃描,定義中斷事件1(I0.0的下降沿)中斷服務(wù)程序是INT_0,建立中斷連接,然后是ENI全局允許中斷。在網(wǎng)絡(luò)2中,SM5.0是如果出現(xiàn)任何I/O錯(cuò)誤,置為1,這里用SM5.0來(lái)觸發(fā)DTCH指令,也就是當(dāng)檢測(cè)到I/O錯(cuò)誤時(shí),禁止事件1的中斷。在網(wǎng)絡(luò)3中,是用SM5.0來(lái)驅(qū)動(dòng)DISI,也就是當(dāng)檢測(cè)到I/O錯(cuò)誤時(shí),禁止所有中斷。而后面的那個(gè)網(wǎng)絡(luò)1是屬于中斷程序,這條指令的意思是當(dāng)檢測(cè)到I/O錯(cuò)誤時(shí),從中斷服務(wù)程序中返回。
下面我們看一個(gè)定時(shí)中斷的程序。
以上的程序就是用到了定時(shí)中斷,在個(gè)網(wǎng)絡(luò)中,首先是SM0.1首次掃描,傳送200到特殊標(biāo)志位SMB34,因?yàn)槎〞r(shí)中斷0的特殊標(biāo)志位是SBM34,然后是建立中斷號(hào)0和中斷事件10的中斷連接,這里也就是設(shè)置定時(shí)中斷0的時(shí)間間隔為200ms并連接INT_0到事件10,然后全局允許中斷。后面的這個(gè)網(wǎng)絡(luò)是中斷程序,對(duì)VW100進(jìn)行加1操作,也就是說(shuō)每100ms VW100加1。
那么以上就是對(duì)中斷的一些基本使用。
作者:技成培訓(xùn)網(wǎng)(蔡慧滎) 【本文為原創(chuàng)作品。未經(jīng)同意,盜取必究!】
推薦相關(guān)學(xué)習(xí)視頻:
西門子S7-200PLC從入門到精通
西門子S7-200PLC高速脈沖及定位篇