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的种类
1、小型PLC
一体式结构、I/O点数:256点 (384点)、
多用于单机控制
如:FX1S、FX1N、FX2N、FX3U、FX3G整体化PLC,注:F1、F2、 FX1、FX2 、FX0N、FX0S均已停产。
2、中型系列PLC
模块化结构、 I/O点数:<2048点
用于较大规模控制
特点:L系列PLC体积小,功能强大; 如L02CPU,L26CPU等。
3、大型系列PLC
模块式结构、 I/O点数:4096点、运算速度快、网络功能强
满足大型控制系统要求
如: QnA系列PLC :Q3ACPU、Q4ACPU;Q系列PLC :Q00J 、Q00 Q001Q02HQ06HQ12HQ25HQ03UDQ04UD(E)HQ06UD (E) HQ13UD (E) HQ26UD (E) H
二,PLC的基本基本指令简介
助记符
节点命令
功能说明
LD
LDN
N
N
装载(开始的常开触点)
取反后装载(开始的常闭触点)
A
AN
N
N
与(串联的常开触点)
取反后与(串联的常闭触点)
O
ON
N
N
或(并联的常开触点)
取反后或(并联的常闭触点)
EU
ED
上升沿检测
下降沿检测
=
N
赋值
S
R
S_BIT,N
S_BIT,N
置位一个区域
复位一个区域
SHRB
DATA,S_BIT,N
移位寄存器
SRB
SLB
OUT,N
OUT,N
字节右移N位
字节左移N位
RRB
RLB
OUT,N
OUT,N
字节循环右移N位
字节循环左移N位
TON
TOF
Txxx,TP
Txxx,TP
通电延时定时器
断电延时定时器
CTU
CTD
Cxxx,PV
Cxxx,PV
加计数器
减计数器
END
程序的条件结束
STOP
切换到STOP模式
JMP
N
跳到指定的标号
ALD
OLD
电路块串联
电路块并联
PLC指令详解:
一、标准触点指令
LD动合触点指令,表示一个与输入母线相连的动合触点指令,即动合触点逻辑运算起始。
LDN动断触点指令,表示一个与输入母线相连的动断触点指令,即动断触点逻辑运算起始。
A 与动合触点指令,用于单个动合触点的串联。
AX 与非动断触点指令,用于单个动断触点的串联。
O 或动合触点指令,用于单个动合触点的并联。
ON 或非动断触点指令,用于单个动断触点的并联。
LD、LDN、A、AN、O、ON触点指令中变量的数据类型为布尔(BOOC)型。LD、LDN两条指令用于将接点接到母线上,A、AN、O、ON指令均可多次重复使用,但当需要对两个以上接点串联连接电路块的并联连接时,要用后述的OLD指令。
例子:
步序
指令
器件号
步序
指令
器件号
0
LD
I0.0
5
=
Q0.3
1
AN
I0.1
6
=
Q0.4
2
O
I0.2
7
AN
I0.5
3
A
I0.3
8
=
Q0.5
4
ON
I0.4
二、串联电路块的并联连接指令OLD
两个或两个以上的接点串联连接的电路叫串联电路块。串联电路块并联连接时,分支开始用LD、LDN指令,分支结束用OLD指令。OLD指令与后述的ALD指令均为无目标元件指令,而两条无目标元件指令的步长都为一个程序步。OLD有时也简称或块指令。
三、并联电路的串联连接指令ALD
两个或两个以上接点并联电路称为并联电路块,分支电路并联电路块与前面电路串联连接时,使用ALD指令。分支的起点用LD、LDN指令,并联电路结束后,使用ALD指令与前面电路串联。ALD指令也简称与块指令,ALD也是无操作目标元件,是一个程序步指令。
四、输出指令 =
1、= 输出指令是将继电器、定时器、计数器等的线圈与梯形图右边的母线直接连接,线圈的右边不允许有触点,在编程中,触点以重复使用,且类型和数量不受限制。
五、置位与复位指令S、 R
S为置位指令,使动作保持;R为复位指令,使操作保持复位。从指定的位置开始的N个点的寄存器都被置位或复位,N=1~255如果被指定复位的是定时器位或计数器位,将清除定时器或计数器的当前值。
六、跳变触点EU,ED
正跳变触点检测到一次正跳变(触点的入信号由0到1)时,或负跳变触点检测到一次负跳变(触点的入信号由1到0)时,触点接通到一个扫描周期.正/负跳变的符号为EU和ED,他们没有操作数,触点符号中间的”P”和”N”分别表示正跳变和负跳变。
七、空操作指令NOP
NOP指令是一条无动作、无目标元件的一个序步指令。空操作指令使该步序为空操作。用NOP指令可替代已写入指令,可以改变电路。在程序中加入NOP指令,在改动或追加程序时可以减少步序号的改变。
八、程序结束指令END
END是一条无目标元件的一序步指令。PLC反复进行输入处理、程序运算、输出处理,在程序的最后写入END指令,表示程序结束,直接进行输出处理。在程序调试过程中,可以按段插入END指令,可以按顺序扩大对各程序段动作的检查。采用END指令将程序划分为若干段,在确认处于前面电路块的动作正确无误之后,依次删去END指令。要注意的是在执行END指令时,也刷新监视时钟。
PLC的学习前期需要足够的了解PLC,了解他的工作方式,接受的逻辑语言,输入输出指令等。希望大家一起学习。
相关问答
o指令主体指什么意思?
在计算机领域,o指令主体是指操作系统内核线程或进程执行的指令序列。这些指令序列是由编程人员编写的,用于实现特定的任务和功能。o指令主体通常是操作系统的...
plc基本指令有哪些?
标准触点LD、A、O、LDN、AN、ON、LD,取指令。表示一个与输入母线相连的常开接点指令,即常开接点逻辑运算起始。LDN,取反指令。表示一个与输入母线相连的常...
plc里面A指令什么意思?
plc里面标准指令有LD、A、O、LDN、AN、ON等标准触点。详细解析如下:LD,取指令。表示一个与输入母线相连的常开接点指令,即常开接点逻辑运算起始。LDN,取反...
PLC模块中DI/DO/AI/AO还有IO是什么意思?
I/O是PLC中的输入输出单元,对于模块式的PLC来说,I/O单元以模块形式出现,所以又称I/O模块。I/O单元是PLC与现场的输入输出信号包括数字量模拟量两类,前者称为...
威纶触屏读取plci/o表状态?
你好,威纶触屏可以通过读取PLCI/O表的状态来实现对I/O设备的监控和控制。具体实现的步骤如下:1.在威纶触屏的程序中,添加一个用于读取PLCI/O表状态的函数...
PLC的一对I/O点怎么控制行程开关(气缸)、电磁阀,输入与输出...
[最佳回答]PLC输入有两种一种是原型输入一种是漏行输入原型输入就是电压信号流向PLC漏行输入是电压信号从外边流向PLC输出看你的公共端接的是什么如果是...
st语言常用指令?
回答如下,ST语言是一种针对可编程逻辑控制器(PLC)的编程语言,其常用指令包括输入输出(I/O)操作指令、计数器指令、比较指令、逻辑运算指令、定时器指令、移...
PLC里IO点数是什么意思啊?
i是指输入点比方说一个plc有10个i点,一般意思就是它能接10个开关,或其它输入信号。o是指输出点比方说一个plc有10个o点,一般意思就是它能驱动10个不同的负载...
PLC的I/O设备点数什么意思?
I就是inputo就是output也就是输入输出点数,这个决定了plc整个系统的大小。输入点接各种检测到的参数,参数输入PLC后根据程序计算,然后通过输出点控制被控设...
PLC步进顺控指令的编程原则?
(1)对状态进行编程处理,必须使用步进接点指令STL,它表示这些处理(包括驱动、转移)均在该状态接点形成的子母线上进行。(2)与STL步进接点相连的触点应使用LD...