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

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

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

PLC I/O(輸入/輸出)控制方式講解

laidenongfhs ? 來(lái)源:中泰PLC自動(dòng)化教學(xué) ? 2023-03-14 09:06 ? 次閱讀

設(shè)備管理的主要任務(wù)之一是控制設(shè)備和內(nèi)存或處理機(jī)之間的數(shù)據(jù)傳送,外圍設(shè)備和內(nèi)存之間的輸入/輸出控制方式有四種,下面分別介紹。

程序直接控制方式

如圖5-1(a)所示,計(jì)算機(jī)從外部設(shè)備讀取數(shù)據(jù)到存儲(chǔ)器,每次讀一個(gè)字的數(shù)據(jù)。 對(duì)讀入的每個(gè)字,CPU需要對(duì)外設(shè)狀態(tài)進(jìn)行循環(huán)檢查,直到確定該字已經(jīng)在I/O控制器的數(shù)據(jù)寄存器中。 在程序直接控制方式中,由于CPU的高速性和I/O設(shè)備的低速性,致使CPU的絕大部分時(shí)間都處于等待I/O設(shè)備完成數(shù)據(jù)I/O的循環(huán)測(cè)試中,造成了 CPU資源的極大浪費(fèi)。 在該方式中,CPU之所以要不斷地測(cè)試I/O設(shè)備的狀態(tài),就是因?yàn)樵贑PU中沒(méi)有釆用中斷機(jī)構(gòu),使I/O設(shè)備無(wú)法向CPU報(bào)告它已完成了一個(gè)字符的輸入操作。

程序直接控制方式雖然簡(jiǎn)單易于實(shí)現(xiàn),但是其缺點(diǎn)也是顯而易見(jiàn)的,由于cpu和I/O設(shè)備只能串行工作,導(dǎo)致CPU的利用率相當(dāng)?shù)汀?/p>

中斷驅(qū)動(dòng)方式

中斷驅(qū)動(dòng)方式的思想是,允許I/O設(shè)備主動(dòng)打斷CPU的運(yùn)行并請(qǐng)求服務(wù),從而“解放”CPU,使得其向I/O控制器發(fā)送讀命令后可以繼續(xù)做其他有用的工作。 如圖5-1(b)所示,我們從I/O控制器和CPU兩個(gè)角度分別來(lái)看中斷驅(qū)動(dòng)方式的工作過(guò)程:

從I/O控制器的角度來(lái)看,I/O控制器從CPU接收一個(gè)讀命令,然后從外圍設(shè)備讀數(shù)據(jù)。 一旦數(shù)據(jù)讀入到該I/O控制器的數(shù)據(jù)寄存器,便通過(guò)控制線給CPU發(fā)出一個(gè)中斷信號(hào),表示數(shù)據(jù)已準(zhǔn)備好,然后等待CPU請(qǐng)求該數(shù)據(jù)。 I/O控制器收到CPU發(fā)出的取數(shù)據(jù)請(qǐng)求后,將數(shù)據(jù)放到數(shù)據(jù)總線上,傳到CPU的寄存器中。 至此,本次I/O操作完成,I/O控制器又可幵始下一次I/O操作。

9c5d4664-c1a5-11ed-bfe3-dac502259ad0.jpg

圖5-1 I/O控制方式

從CPU的角度來(lái)看,CPU發(fā)出讀命令,然后保存當(dāng)前運(yùn)行程序的上下文(現(xiàn)場(chǎng),包括程序計(jì)數(shù)器及處理機(jī)寄存器),轉(zhuǎn)去執(zhí)行其他程序。 在每個(gè)指令周期的末尾,CPU檢查中斷。 當(dāng)有來(lái)自I/O控制器的中斷時(shí),CPU保存當(dāng)前正在運(yùn)行程序的上下文,轉(zhuǎn)去執(zhí)行中斷處理程序處理該中斷。 這時(shí),CPU從I/O控制器讀一個(gè)字的數(shù)據(jù)傳送到寄存器,并存入主存。 接著, CPU恢復(fù)發(fā)出I/O命令的程序(或其他程序)的上下文,然后繼續(xù)運(yùn)行。

中斷驅(qū)動(dòng)方式比程序直接控制方式有效,但由于數(shù)據(jù)中的每個(gè)字在存儲(chǔ)器與I/O控制器之間的傳輸都必須經(jīng)過(guò)CPU,這就導(dǎo)致了中斷驅(qū)動(dòng)方式仍然會(huì)消耗較多的CPU時(shí)間。

DMA方式

在中斷驅(qū)動(dòng)方式中,I/O設(shè)備與內(nèi)存之間的數(shù)據(jù)交換必須要經(jīng)過(guò)CPU中的寄存器,所以速度還是受限,而DMA(直接存儲(chǔ)器存取)方式的基本思想是在I/O設(shè)備和內(nèi)存之間開(kāi)辟直接的數(shù)據(jù)交換通路,徹底“解放” CPU。 DMA方式的特點(diǎn)是:

基本單位是數(shù)據(jù)塊。

所傳送的數(shù)據(jù),是從設(shè)備直接送入內(nèi)存的,或者相反。

僅在傳送一個(gè)或多個(gè)數(shù)據(jù)塊的開(kāi)始和結(jié)束時(shí),才需CPU干預(yù),整塊數(shù)據(jù)的傳送是在 DMA控制器的控制下完成的。

圖5-2列出了 DMA控制器的組成。

9d2be488-c1a5-11ed-bfe3-dac502259ad0.png

圖5-2 DMA控制器的組成

為了實(shí)現(xiàn)在主機(jī)與控制器之間成塊數(shù)據(jù)的直接交換,必須在DMA控制器中設(shè)置如下四類寄存器:

命令/狀態(tài)寄存器(CR):用于接收從CPU發(fā)來(lái)的I/O命令或有關(guān)控制信息,或設(shè)備的狀態(tài)。

內(nèi)存地址寄存器(MAR):在輸入時(shí),它存放把數(shù)據(jù)從設(shè)備傳送到內(nèi)存的起始目標(biāo)地址; 在輸出時(shí),它存放由內(nèi)存到設(shè)備的內(nèi)存源地址。

數(shù)據(jù)寄存器(DR):用于暫存從設(shè)備到內(nèi)存,或從內(nèi)存到設(shè)備的數(shù)據(jù)。

數(shù)據(jù)計(jì)數(shù)器(DC):存放本次CPU要讀或?qū)懙淖郑ü?jié))數(shù)。

如圖5-1(c)所示,DMA方式的工作過(guò)程是:CPU讀寫數(shù)據(jù)時(shí),它給I/O控制器發(fā)出一條命令,啟動(dòng)DMA控制器,然后繼續(xù)其他工作。 之后CPU就把控制操作委托給DMA控制器,由該控制器負(fù)責(zé)處理。 DMA控制器直接與存儲(chǔ)器交互,傳送整個(gè)數(shù)據(jù)塊,每次傳送一個(gè)字,這個(gè)過(guò)程不需要CPU參與。 當(dāng)傳送完成后,DMA控制器發(fā)送一個(gè)中斷信號(hào)給處理器。 因此只有在傳送開(kāi)始和結(jié)束時(shí)才需要CPU的參與。

DMA控制方式與中斷驅(qū)動(dòng)方式的主要區(qū)別是中斷驅(qū)動(dòng)方式在每個(gè)數(shù)據(jù)需要傳輸時(shí)中斷CPU,而DMA控制方式則是在所要求傳送的一批數(shù)據(jù)全部傳送結(jié)束時(shí)才中斷CPU; 此外,中斷驅(qū)動(dòng)方式數(shù)據(jù)傳送是在中斷處理時(shí)由CPU控制完成的,而DMA控制方式則是在DMA 控制器的控制下完成的。

通道控制方式

I/O通道是指專門負(fù)責(zé)輸入/輸出的處理機(jī)。 I/O通道方式是DMA方式的發(fā)展,它可以進(jìn)一步減少CPU的干預(yù),即把對(duì)一個(gè)數(shù)據(jù)塊的讀(或?qū)懀閱挝坏母深A(yù),減少為對(duì)一組數(shù)據(jù)塊的讀(或?qū)懀┘坝嘘P(guān)的控制和管理為單位的干預(yù)。 同時(shí),又可以實(shí)現(xiàn)CPU、通道和I/O設(shè)備三者的并行操作,從而更有效地提高整個(gè)系統(tǒng)的資源利用率。

例如,當(dāng)CPU要完成一組相關(guān)的讀(或?qū)懀┎僮骷坝嘘P(guān)控制時(shí),只需向I/O通道發(fā)送一條I/O指令,以給出其所要執(zhí)行的通道程序的首地址和要訪問(wèn)的I/O設(shè)備,通道接到該指令后,通過(guò)執(zhí)行通道程序便可完成CPU指定的I/O任務(wù),數(shù)據(jù)傳送結(jié)束時(shí)向CPU發(fā)中斷請(qǐng)求。 I/O通道與一般處理機(jī)的區(qū)別是:通道指令的類型單一,沒(méi)有自己的內(nèi)存,通道所執(zhí)行的通道程序是放在主機(jī)的內(nèi)存中的,也就是說(shuō)通道與CPU共享內(nèi)存。

I/O通道與DMA方式的區(qū)別是:DMA方式需要CPU來(lái)控制傳輸?shù)臄?shù)據(jù)塊大小、傳輸?shù)膬?nèi)存位置,而通道方式中這些信息是由通道控制的。 另外,每個(gè)DMA控制器對(duì)應(yīng)一臺(tái)設(shè)備與內(nèi)存?zhèn)鬟f數(shù)據(jù),而一個(gè)通道可以控制多臺(tái)設(shè)備與內(nèi)存的數(shù)據(jù)交換。

審核編輯:湯梓紅

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

    關(guān)注

    112

    文章

    16111

    瀏覽量

    177087
  • plc
    plc
    +關(guān)注

    關(guān)注

    5007

    文章

    13114

    瀏覽量

    461487
  • 控制方式
    +關(guān)注

    關(guān)注

    0

    文章

    55

    瀏覽量

    10720
  • 中斷
    +關(guān)注

    關(guān)注

    5

    文章

    895

    瀏覽量

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

    關(guān)注

    116

    文章

    3762

    瀏覽量

    80757

原文標(biāo)題:PLC I/O(輸入/輸出)控制方式

文章出處:【微信號(hào):中泰PLC自動(dòng)化教學(xué),微信公眾號(hào):中泰PLC自動(dòng)化教學(xué)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    PLC I/O接口的作用及選擇

    PLC作為一種工業(yè)控制計(jì)算機(jī),其控制對(duì)象是工業(yè)過(guò)程。它與工業(yè)生產(chǎn)過(guò)程的聯(lián)系就是通過(guò)輸入/輸出(I
    發(fā)表于 09-01 10:10 ?1w次閱讀

    模塊輸入輸出I/O)知識(shí)

    模塊輸入輸出I/O)知識(shí)   我覺(jué)得有必要談一下模塊的輸入輸出口的梳理,一般我們可以分為IO的功能劃分和IO規(guī)范。前者的目
    發(fā)表于 11-21 14:06 ?2681次閱讀

    德州儀器PLC/DCS I/O模塊的模擬數(shù)字輸入輸出解決方案

    本內(nèi)容提供了德州儀器PLC/DCS I/O模塊的模擬數(shù)字輸入輸出解決方案
    發(fā)表于 12-03 16:13 ?4221次閱讀

    輸入輸出設(shè)備I/O設(shè)備總結(jié)

    I/O設(shè)備又叫輸入輸出設(shè)備。對(duì)于I/O bus 包含數(shù)據(jù)總線、控制總線、地址總線;每一個(gè)
    發(fā)表于 11-24 09:28 ?3579次閱讀
    <b class='flag-5'>輸入輸出</b>設(shè)備<b class='flag-5'>I</b>/<b class='flag-5'>O</b>設(shè)備總結(jié)

    PLCI/O模塊如何選擇

    一般IO模塊的價(jià)格占PLC價(jià)格的一半以上。PLCIO模塊有開(kāi)關(guān)量
    發(fā)表于 05-19 08:54 ?9301次閱讀
    <b class='flag-5'>PLC</b>的<b class='flag-5'>I</b>/<b class='flag-5'>O</b>模塊如何選擇

    PLCI/O接口怎么選擇

    plc作為一種工業(yè)控制計(jì)算機(jī),其控制對(duì)象是工業(yè)過(guò)程。它與工業(yè)生產(chǎn)過(guò)程的聯(lián)系就是通過(guò)輸入輸出I
    發(fā)表于 07-17 16:34 ?4480次閱讀

    PLC輸入輸出的連接方式

    開(kāi)關(guān)量輸入就是0和1,接入的方法也是比較簡(jiǎn)單,無(wú)論PLC是漏型還是源型,純開(kāi)關(guān)型輸入兩根線一根接入I/O點(diǎn),一根接入電源。
    發(fā)表于 08-12 16:41 ?5871次閱讀
    <b class='flag-5'>PLC</b><b class='flag-5'>輸入輸出</b>的連接<b class='flag-5'>方式</b>

    通過(guò)PLCI/O接線圖學(xué)習(xí)梯形圖

    梯形圖和指令語(yǔ)句表進(jìn)行。 可編程控制器的輸入輸出連接是主電路和可編程控制器梯形圖之間的紐帶。(初學(xué)者可以結(jié)合PLC視頻教程來(lái)學(xué)習(xí)) 1)根據(jù)電器(如電機(jī)、電磁閥、電加熱器等)主電路
    發(fā)表于 01-10 16:11 ?5126次閱讀

    PLC系統(tǒng)的I/O接口該如何選擇

    作為一臺(tái)工業(yè)控制計(jì)算機(jī),plc控制著工業(yè)過(guò)程。它與工業(yè)生產(chǎn)過(guò)程的連接是通過(guò)輸入輸出接口實(shí)現(xiàn)的。輸入輸出接口是
    發(fā)表于 01-17 09:48 ?3267次閱讀

    PLC輸入輸出端的工作原理和接線方法

      PLC輸入/輸出I/O)是指PLC系統(tǒng)用來(lái)連接輸入
    發(fā)表于 03-17 17:37 ?2.4w次閱讀

    plc控制系統(tǒng)梯形圖功能講解

    在沒(méi)有給出輸入/輸出設(shè)備定義和PLCI/O配置的情況下,應(yīng)根據(jù)PLC
    發(fā)表于 08-20 09:21 ?1219次閱讀

    Linux系統(tǒng)下I/O操作講解

    中所有的I/O設(shè)備都被映射稱為文件,所有的輸入輸出都被當(dāng)做相應(yīng)文件的讀和寫來(lái)執(zhí)行,所以內(nèi)核提供了系統(tǒng)級(jí)的I/O函數(shù)接口,使得所有
    的頭像 發(fā)表于 11-08 15:13 ?1119次閱讀
    Linux系統(tǒng)下<b class='flag-5'>I</b>/<b class='flag-5'>O</b>操作<b class='flag-5'>講解</b>

    PLCI/O點(diǎn)數(shù)是什么意思

    在工業(yè)自動(dòng)化領(lǐng)域中,可編程邏輯控制器(PLC)扮演著至關(guān)重要的角色。PLC以其高可靠性、易編程性和強(qiáng)大的控制功能,廣泛應(yīng)用于各種自動(dòng)化系統(tǒng)中。而在P
    的頭像 發(fā)表于 06-27 11:15 ?3236次閱讀

    簡(jiǎn)述計(jì)算機(jī)的I/O控制方式

    計(jì)算機(jī)的I/O輸入/輸出控制方式是計(jì)算機(jī)系統(tǒng)中至關(guān)重要的部分,它決定了CPU與外設(shè)之間數(shù)據(jù)交
    的頭像 發(fā)表于 08-20 10:55 ?572次閱讀

    plc控制屬于什么控制方式

    機(jī)械設(shè)備和生產(chǎn)過(guò)程的精確控制。 一、PLC控制的基本原理 1.1 PLC的組成 PLC主要由中央處理單元(CPU)、
    的頭像 發(fā)表于 08-25 10:15 ?436次閱讀