PLC编程:IO(输入输出)控制方式
数据, 方式, 设备, 中断, 内存 设备管理的主要任务之一是控制设备和内存或处理机之间的数据传送,外围设备和内存之间的输入/输出控制方式有四种,下面分别介绍。程序直接控制方式如图5-1...
数据, 方式, 设备, 中断, 内存设备管理的主要任务之一是控制设备和内存或处理机之间的数据传送,外围设备和内存之间的输入/输出控制方式有四种,下面分别介绍。
程序直接控制方式
如图5-1(a)所示,计算机从外部设备读取数据到存储器,每次读一个字的数据。对读入的每个字,CPU需要对外设状态进行循环检查,直到确定该字已经在I/O控制器的数据寄存器中。在程序直接控制方式中,由于CPU的高速性和I/O设备的低速性,致使CPU的绝大部分时间都处于等待I/O设备完成数据I/O的循环测试中,造成了 CPU资源的极大浪费。在该方式中,CPU之所以要不断地测试I/O设备的状态,就是因为在CPU中没有釆用中断机构,使I/O设备无法向CPU报告它已完成了一个字符的输入操作。
程序直接控制方式虽然简单易于实现,但是其缺点也是显而易见的,由于cpu和I/O设备只能串行工作,导致CPU的利用率相当低。
中断驱动方式
中断驱动方式的思想是,允许I/O设备主动打断CPU的运行并请求服务,从而“解放”CPU,使得其向I/O控制器发送读命令后可以继续做其他有用的工作。如图5-1(b)所示,我们从I/O控制器和CPU两个角度分别来看中断驱动方式的工作过程:
从I/O控制器的角度来看,I/O控制器从CPU接收一个读命令,然后从外围设备读数据。一旦数据读入到该I/O控制器的数据寄存器,便通过控制线给CPU发出一个中断信号,表示数据已准备好,然后等待CPU请求该数据。I/O控制器收到CPU发出的取数据请求后,将数据放到数据总线上,传到CPU的寄存器中。至此,本次I/O操作完成,I/O控制器又可幵始下一次I/O操作。
图5-1 I/O控制方式
从CPU的角度来看,CPU发出读命令,然后保存当前运行程序的上下文(现场,包括程序计数器及处理机寄存器),转去执行其他程序。在每个指令周期的末尾,CPU检查中断。当有来自I/O控制器的中断时,CPU保存当前正在运行程序的上下文,转去执行中断处理程序处理该中断。这时,CPU从I/O控制器读一个字的数据传送到寄存器,并存入主存。接着, CPU恢复发出I/O命令的程序(或其他程序)的上下文,然后继续运行。
中断驱动方式比程序直接控制方式有效,但由于数据中的每个字在存储器与I/O控制器之间的传输都必须经过CPU,这就导致了中断驱动方式仍然会消耗较多的CPU时间。
DMA方式
在中断驱动方式中,I/O设备与内存之间的数据交换必须要经过CPU中的寄存器,所以速度还是受限,而DMA(直接存储器存取)方式的基本思想是在I/O设备和内存之间开辟直接的数据交换通路,彻底“解放” CPU。DMA方式的特点是:
基本单位是数据块。所传送的数据,是从设备直接送入内存的,或者相反。仅在传送一个或多个数据块的开始和结束时,才需CPU干预,整块数据的传送是在 DMA控制器的控制下完成的。
图5-2列出了 DMA控制器的组成。
图5-2 DMA控制器的组成
为了实现在主机与控制器之间成块数据的直接交换,必须在DMA控制器中设置如下四类寄存器:
命令/状态寄存器(CR):用于接收从CPU发来的I/O命令或有关控制信息,或设备的状态。
内存地址寄存器(MAR):在输入时,它存放把数据从设备传送到内存的起始目标地址;在输出时,它存放由内存到设备的内存源地址。
数据寄存器(DR):用于暂存从设备到内存,或从内存到设备的数据。
数据计数器(DC):存放本次CPU要读或写的字(节)数。
如图5-1(c)所示,DMA方式的工作过程是:CPU读写数据时,它给I/O控制器发出一条命令,启动DMA控制器,然后继续其他工作。之后CPU就把控制操作委托给DMA控制器,由该控制器负责处理。DMA控制器直接与存储器交互,传送整个数据块,每次传送一个字,这个过程不需要CPU参与。当传送完成后,DMA控制器发送一个中断信号给处理器。因此只有在传送开始和结束时才需要CPU的参与。DMA控制方式与中断驱动方式的主要区别是中断驱动方式在每个数据需要传输时中断CPU,而DMA控制方式则是在所要求传送的一批数据全部传送结束时才中断CPU;此外,中断驱动方式数据传送是在中断处理时由CPU控制完成的,而DMA控制方式则是在DMA 控制器的控制下完成的。
通道控制方式
I/O通道是指专门负责输入/输出的处理机。I/O通道方式是DMA方式的发展,它可以进一步减少CPU的干预,即把对一个数据块的读(或写)为单位的干预,减少为对一组数据块的读(或写)及有关的控制和管理为单位的干预。同时,又可以实现CPU、通道和I/O设备三者的并行操作,从而更有效地提高整个系统的资源利用率。
例如,当CPU要完成一组相关的读(或写)操作及有关控制时,只需向I/O通道发送一条I/O指令,以给出其所要执行的通道程序的首地址和要访问的I/O设备,通道接到该指令后,通过执行通道程序便可完成CPU指定的I/O任务,数据传送结束时向CPU发中断请求。I/O通道与一般处理机的区别是:通道指令的类型单一,没有自己的内存,通道所执行的通道程序是放在主机的内存中的,也就是说通道与CPU共享内存。
I/O通道与DMA方式的区别是:DMA方式需要CPU来控制传输的数据块大小、传输的内存位置,而通道方式中这些信息是由通道控制的。另外,每个DMA控制器对应一台设备与内存传递数据,而一个通道可以控制多台设备与内存的数据交换。
转发是最大的鼓励!谢谢您的支持!
小贴士
PLC专属资料: 含有从入门到高级所有PLC学习资料(三菱/西门子/欧姆龙) ,电气经典18本大全书,历年电气考试真题、电气必备实训仿真软件、电气自动化行业各类型技术手册!
免责声明:本文转自网络,版权归原作者所有,如涉及作品版权问题,请及时与我们联系删除,谢谢!
如何获取更多 电气热门资料?
操作指引如下!
电工:老师傅一步步教你入门PLC编程,这样你总可以学会了吧!
电力作业人员都知道,PLC的在工业生产和自动化发展中的应用越来越广泛,作为繁重的交流接触器配电柜和继电器控制柜的替代者,PLC具有体积小,反应快,能耗低,操作简单,维护方便,集中控制等优点。在实际的操作中,受到了广大电气人的喜爱,掌握PLC相关知识是电力作业人员的必备技能,但是还是有很多的电工师傅对于PLC不是很了解,甚至没有入门,其实想要入门学习PLC是很简单的。
为了能够更好的理解PLC控制过程,我们以最经典最简单的:电动机双重连锁正反转控制电路来分析说明,电动机控制电路图如下所示:
一,PLC工作电源的接入:PLC上有电源标识,按要求接入电源即可。
二,电动机双重连锁正反转PLC编程说明:
电路图中:SB1—停止按钮—X0—红按钮。
电路图中:SB2—正转按钮—X1—黄按钮。
电路图中:SB3—反转按钮—X2—蓝按钮。
PLC外部接线图如下图所示:
三,PLC编程的工作逻辑(和电路图逻辑一样)。
四,PLC的I/O点分配表及系统编程功能的逐步实现(熟练后可以直接写出来编程语言,不用一步步画和写)。
五,PLC编程的逐步实现。
六,最终PLC双重联锁正反转控制程序完成,输入PLC程序运行即可。
七,关于PLC常用的控制过程解析:
以上仅为PLC入门篇,说的不合适的地方还请见谅!PLC是电力作业人员的基本技能之一,入门简单,精通却不容易,需要坚持学习,不断练习,欢迎关注,一起交流学习电气电工知识!
相关问答
PLC中I/O点数,这个点数是什么意思?还有SFC是啥意思?
I/O点数,即为输入/输出通道的数量;SFC为一些日系PLC编程方法之一,也可能是一种通信方式,要看你问的是什么意思来定了。I/O点数,即为输入/输出通道的数量;SFC...
请教三菱PLC编程仿真软件,开始模拟后,在菜单启动下有一个叫做I/O系统设定,请问怎么使用?
这个就是模拟现场情况的,例如输出Y0几秒后到位信号X0有,就直接设置输出Y0几秒后X0ON这个就是模拟现场情况的,例如输出Y0几秒后到位信号X0有,就直接设置输出Y0...
plc已知I/O点,如何在程序上输入比如i1.0就知道这个点在程序的那里啊,是S7-200?
程序里面的代号和你输入点的编号是一一对应的关系,例如输入时I0.0.那么梯形图里面也是I0.0的!程序里面的代号和你输入点的编号是一一对应的关系,例如输入时I0...
PLC类比输入输出和I/O输入输出什么关系,_作业帮
[最佳回答]类比是一种通俗说法,其实就是模拟量输入输出,I/O输入输出是数字量输入输出
什么是I/O控制器(Input/Output)?
什么是I/O控制器?由于CPU无法直接控制I/O设备的机械部件,因此I/O设备还要有个电子部件作为CPU和I/O设备机械部件之间的“中介”,用于实现CPU对设备的控制,这...
plc点动和长动控制如何编程?
(1)调整时用点动按钮,运行时用长动按钮;(2)停止按钮优先,设为总停,不单停长动,也停点动;(3)点动按钮第二,设为能随时取替长动。2.I/O分配...(2)...
PLC模块中DI/DO/AI/AO还有IO是什么意思?_作业帮
[最佳回答]DI是指数字量输出模块DO是指数字量输出模块AI是模拟量输入模块AO是模拟量输出模块I/O应该是这个吧?即输出/输出DI是指数字量输出模块DO是指数字量...
I/O分线盒PLC怎么分配?
在I/O分线盒PLC的分配中,需要根据系统的实际需求和I/O设备的数量、类型等因素综合考虑。通常根据不同类型或不同功能分组,将I/O设备分布到各个分支盒中,并通...
plc的io输入和输出方式?
输入输出单元通常也叫I/O单元或I/O模块,是PLC与被控对象间传递输入输出信号的接口部件。输入部件是开关、按钮、传感器等,PLC通过输入接口可以检测被...plc...
I/O清单是什么,禁止复制,谢谢,请形象的讲下,谢谢?
I/O清单一般是PLC中编程的依据,I就是信号输入。in的简称。O就是输出即out输出。编程前都要列好I/O清单的,有疑问再交流I/O清单一般是PLC中编程的依据,I就...