0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

中斷指令及程序的講解

vveeverything ? 來源:跟我學(xué)PLC吧 ? 2023-05-22 14:35 ? 次閱讀

首先要理解中斷,必須知道PLC程序的三大構(gòu)體,主程序、子程序、中斷程序,其中中斷就屬于程序控制中的一種,中斷主要執(zhí)行突發(fā)程序在返回主程序執(zhí)行過程,那么如何理解中斷并編程呢?下面帶大家來學(xué)習(xí)。

一、中斷概述

(1)S7-200SMARTPLC中的所有中斷事件可分為三大類:I/O中斷、通信中斷、時(shí)基中斷。

(2)當(dāng)多個(gè)中斷時(shí)間同時(shí)發(fā)出中斷請(qǐng)求時(shí),CPU對(duì)中斷響應(yīng)就有優(yōu)先次序。

(3)中斷優(yōu)先級(jí)由高到低依次是:通信中斷、I/O中斷、時(shí)基中斷。

(4)中斷是隨機(jī)發(fā)生且必須立即響應(yīng),引發(fā)中斷信號(hào)稱為中斷源。

(5)每個(gè)中斷源都分配一個(gè)編號(hào)來識(shí)別,這個(gè)編號(hào)我們稱之為中斷事件號(hào)。

二、中斷指令

(1)ENI(開啟中斷)

開放中斷指令,PLC在RUN模式下,是中斷禁止?fàn)顟B(tài),需由此開啟才能運(yùn)行。

0995832c-f766-11ed-90ce-dac502259ad0.png

(2)ATCH(中斷連接指令)

用于把中斷事件號(hào)(EVNT)與中斷程序(INT)進(jìn)行連接

09aa60f8-f766-11ed-90ce-dac502259ad0.png

(3)DISI(禁止所有中斷)

禁止所有中斷,當(dāng)指令執(zhí)行后,所有中斷都被禁止,即發(fā)生中斷事件,也不執(zhí)行中斷程序,但會(huì)產(chǎn)生中斷排隊(duì)事件,必須重新開允許中斷后才可以再次使用中斷功能。

09d32baa-f766-11ed-90ce-dac502259ad0.png

(4)RETI(中斷返回指令)

中斷返回指令,編寫在中斷程序內(nèi),一旦觸發(fā)后面程序不再執(zhí)行。

09e7b0d4-f766-11ed-90ce-dac502259ad0.png

09fed458-f766-11ed-90ce-dac502259ad0.png

(5)CEVENTEVNT(中斷排隊(duì)事件清除指令)

中斷排隊(duì)事件清除指令,主要用于禁止中斷后等待排隊(duì)的事件。

0a184df2-f766-11ed-90ce-dac502259ad0.png

(6)DTCH(中斷分離指令)

中斷分離指令,用于把中斷服務(wù)程序與中斷事件分離

0a32e220-f766-11ed-90ce-dac502259ad0.png

三、中斷程序在使用過程中注意事項(xiàng)

(1)中斷程序不是調(diào)用,而是配置中斷事件號(hào)和中斷服務(wù)程序。

(2)多個(gè)中斷事件號(hào)可以連接同一個(gè)中斷服務(wù)程序,一個(gè)中斷事件只能連接一個(gè)中斷服務(wù)程序

(3)中斷程序只需與中斷事件連接一次。

(4)中斷服務(wù)程序執(zhí)行到末尾會(huì)自動(dòng)返回,也可以由邏輯控制中途返回(RETI)。

(5)S7-200SMART中最多使用128個(gè)中斷程序,新建工程中默認(rèn)有一個(gè)中斷程序,中斷程序不能嵌套。(6)中斷程序應(yīng)短小而簡(jiǎn)單,執(zhí)行時(shí)對(duì)其他處理不要延時(shí)過長,即越短越好。

四、編寫中斷程序(利用中斷實(shí)現(xiàn)單按鈕啟停)

控制要求:按下I0.0輸出線圈Q0.0運(yùn)行,再次按下I0.0輸出Q0.0斷開。

第一步:開中斷,中斷事件關(guān)聯(lián)為0,I0.0上升沿觸發(fā)中斷服務(wù)程序INT0

0a4ddcec-f766-11ed-90ce-dac502259ad0.png

第二步:在中斷程序中編寫控制程序

利用Q0.0線圈的常閉點(diǎn)來接通Q0.0線圈本身

0a6a9bb6-f766-11ed-90ce-dac502259ad0.png

以上即為中斷指令及程序的講解

審核編輯:彭靜
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • plc
    plc
    +關(guān)注

    關(guān)注

    5011

    文章

    13297

    瀏覽量

    463334
  • 編程
    +關(guān)注

    關(guān)注

    88

    文章

    3616

    瀏覽量

    93733
  • 程序
    +關(guān)注

    關(guān)注

    117

    文章

    3787

    瀏覽量

    81043

原文標(biāo)題:什么是中斷程序?如何快穩(wěn)準(zhǔn)理解中斷并完成程序編寫?

文章出處:【微信號(hào):跟我學(xué)PLC,微信公眾號(hào):跟我學(xué)PLC吧】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    PLC中斷指令程序越簡(jiǎn)單越好

    我們?cè)谌粘9ぷ髦?,按照正常的流程來工作,如中途發(fā)生緊急情況或相隔一定時(shí)間去兼顧另一項(xiàng)工作,就要先停下手頭工作去處理緊急事件或另一項(xiàng)工作,這個(gè)停下工作就叫中斷,所處理的緊急事件或另一項(xiàng)工作,就叫做中斷程序,處理完問題再回過來繼續(xù)原
    發(fā)表于 03-14 09:30 ?953次閱讀
    PLC<b class='flag-5'>中斷指令</b><b class='flag-5'>程序</b>越簡(jiǎn)單越好

    PLC中斷指令及例程

    我們?cè)谌粘9ぷ髦?,按照正常的流程來工作,如中途發(fā)生緊急情況或相隔一定時(shí)間去兼顧另一項(xiàng)工作,就要先停下手頭工作去處理緊急事件或另一項(xiàng)工作,這個(gè)停下工作就叫中斷,所處理的緊急事件或另一項(xiàng)工作,就叫做中斷程序,處理完問題再回過來繼續(xù)原
    發(fā)表于 05-09 11:10 ?1846次閱讀
    PLC<b class='flag-5'>中斷指令</b>及例程

    PLC中斷指令及例程

    我們?cè)谌粘9ぷ髦?,按照正常的流程來工作,如中途發(fā)生緊急情況或相隔一定時(shí)間去兼顧另一項(xiàng)工作,就要先停下手頭工作去處理緊急事件或另一項(xiàng)工作,這個(gè)停下工作就叫中斷,所處理的緊急事件或另一項(xiàng)工作,就叫做中斷程序,處理完問題再回過來繼續(xù)原
    發(fā)表于 06-07 09:58 ?1399次閱讀
    PLC<b class='flag-5'>中斷指令</b>及例程

    “kaby lake isa”有“INT n”中斷指令嗎?

    “kaby lake isa”有“INT n”中斷指令嗎?以上來自于谷歌翻譯以下為原文"kaby lake isa" have instruction of "INT n" interrupt?
    發(fā)表于 11-07 11:11

    由于用戶代碼中的中斷指令,目標(biāo)暫停

    用戶代碼中的中斷指令而導(dǎo)致目標(biāo)停止”是什么原因_我如何克服這個(gè)問題?Fyi,我使用的是MPLABX,在編譯器中沒有優(yōu)化,并且我使用了XC16編譯器的用戶指南中的以下代碼:易失性寄存器int result
    發(fā)表于 09-20 06:24

    STM8常用中斷指令有哪些?

    什么叫軟件中斷?什么是硬件中斷?什么是軟件優(yōu)先級(jí)?什么是硬件優(yōu)先級(jí)?STM8常用中斷指令有哪些?
    發(fā)表于 11-16 06:44

    ARM指令集中SWI中斷指令實(shí)現(xiàn)

    也是操作系統(tǒng)編寫者提前寫好的,因此用戶程序調(diào)用API時(shí)就是將操作權(quán)限交給了操作系統(tǒng),所以用戶程序還是不能隨意訪問硬件。軟件中斷指令(Software Interrupt, SWI)用于產(chǎn)生軟
    發(fā)表于 04-29 17:25

    在SWI軟中斷指令中LR中放的是異常模式下的返回地址求解

    請(qǐng)問:在 SWI 軟中斷指令中,LR 中放的是異常模式下的返回地址,而這個(gè)地址的低 8 位和低 24 位分別是 thumb 和 ARM指令下的立即數(shù),這種對(duì)應(yīng)的關(guān)系是如何來的 還有執(zhí)行 THUMB
    發(fā)表于 02-27 10:16

    關(guān)于FPGA中的PLL等價(jià)于MCU中的軟中斷指令

    FPGA幾乎都有PLL,而Altera和Xilinx的CPLD,幾乎都沒有PLL。PLL在可編程邏輯器件中的地位非常關(guān)鍵,它不僅僅是區(qū)分CPLD和FPGA的標(biāo)準(zhǔn),更類似MCU中的軟中斷指令,決定了
    發(fā)表于 09-20 18:15 ?0次下載

    Thumb指令集之異常中斷產(chǎn)生指令解析

    產(chǎn)生SWI異常中斷;斷點(diǎn)中斷指令BKPT主要用于產(chǎn)生軟件斷點(diǎn),供調(diào)試程序使用(只在ARMv5及以上版本中使用)。 11.7.1 軟中斷指令SWI (1)編碼格式 軟
    發(fā)表于 10-19 09:32 ?0次下載
    Thumb<b class='flag-5'>指令</b>集之異常<b class='flag-5'>中斷</b>產(chǎn)生<b class='flag-5'>指令</b>解析

    ZedBoard之中斷原理及過程詳解

    當(dāng)異常中斷發(fā)生時(shí),系統(tǒng)執(zhí)行完當(dāng)前指令后,將跳轉(zhuǎn)到相應(yīng)的異常中斷處理處執(zhí)行。當(dāng)異常中斷處理程序執(zhí)行完成后,
    發(fā)表于 12-16 08:57 ?4812次閱讀

    ARM異常中斷的原因及處理措施

    當(dāng)ARM異常中斷發(fā)生時(shí),系統(tǒng)執(zhí)行完當(dāng)前指令后,將跳轉(zhuǎn)到相應(yīng)的異常中斷處理程序處執(zhí)行。當(dāng)異常中斷處理程序
    的頭像 發(fā)表于 06-17 10:05 ?8093次閱讀

    關(guān)于PLC中斷指令詳細(xì)解析

    中斷的概念:中斷是計(jì)算機(jī)獨(dú)有的一種工作方式;在主程序執(zhí)行的過程中,中斷程序的執(zhí)行;在執(zhí)行子程序
    的頭像 發(fā)表于 04-27 15:01 ?2.3w次閱讀
    關(guān)于PLC<b class='flag-5'>中斷指令</b>詳細(xì)解析

    神級(jí)匯總,PLC中斷指令及例程

    PLC同樣也有中斷,CPU正常執(zhí)行程序,如中途發(fā)生的系統(tǒng)認(rèn)定的動(dòng)作或參數(shù)達(dá)到設(shè)定要求,則中斷程序執(zhí)行,去處理所設(shè)定的程序,完成后返回來繼續(xù)執(zhí)
    的頭像 發(fā)表于 02-10 14:28 ?2232次閱讀

    西門子200PLC中斷指令

    由設(shè)備或其他繼續(xù)處理的事件引起的,它使系統(tǒng)暫時(shí)中斷現(xiàn)在執(zhí)行的程序,轉(zhuǎn)到中斷程序來處理這些事件,處理完畢后再返回到原程序繼續(xù)執(zhí)行。 s7-2
    發(fā)表于 04-18 11:13 ?0次下載
    西門子200PLC<b class='flag-5'>中斷指令</b>