800 likes | 1.02k Views
项目 4 PLC 基本指令的应用. 4.1 PLC 的结构与工作原理. PLC 的硬件系统 PLC 可编程序控制器: PLC 英文全称 Programmable Logic Controller ,中文全称为可编程逻辑控制器。 PLC 是一种以微处理器为核心的专用于工业控制的特殊计算机,由硬件和软件构成。 PLC 硬件配置与一般的微型计算机装置类似。 PLC 定义是:一种数字运算操作的电子系统,专为在工业环境应用而设计的。
E N D
4.1 PLC的结构与工作原理 • PLC的硬件系统 • PLC可编程序控制器:PLC英文全称Programmable Logic Controller,中文全称为可编程逻辑控制器。 • PLC是一种以微处理器为核心的专用于工业控制的特殊计算机,由硬件和软件构成。 • PLC硬件配置与一般的微型计算机装置类似。 • PLC定义是:一种数字运算操作的电子系统,专为在工业环境应用而设计的。 • 世界各国生产的可编程控制器外观各异,但作为工业控制计算机,其硬件结构都大体相同。主要由中央处理器(CPU)、存储器(RAM、ROM)、输入输出器件(I/O接口)、电源及编程设备几大部分构成。
中央处理器(CPU) • 中央处理器是可编程控制器的核心,他在系统程序的控制下,完成逻辑运算、数学运算、协调系统内部各部分工作等任务。 • 可编程控制器中采用的CPU一般有三大类。一类为通用微处理器,如80286、80386等,一类为单片机芯片,如8031、8096等,另外还有位处理器,如AMD2900、AMD2903等。 • 一般说来,可编程控制器的档次越高,CPU的位数越多,运算速度越快,指令功能越强。 • 现在常见的可编程机型一般多为8位或者16位机。 • 为了提高PLC的性能,也有一台PLC采用多个CPU的。
存储器 • 存储器是可编程控制器存放系统程序、用户程序及运算数据的单元。 • 可编程控制器的存储器有只读存储器(ROM)和随机读写存储器(RAM)两大类。 • 只读存储器是用来保存那些需永久保存,即使机器掉电后也需保存的程序的存储器。 • 一般为掩膜只读存储器和可编程电改写只读存储器。只读存储器用来存放系统程序。 • 随机读写存储器的特点是写入与擦除都很容易,但在掉电情况下存储的数据就会丢失,一般用来存放用户程序及系统运行中产生的临时数据。 • 为了能使用户程序及某些运算数据在可编程控制器脱离外界电源后也能保持,在实际使用中都为一些重要的随机读写存储器配备电池或电容等掉电保持装置。
输入输出接口 输入输出接口是可编程控制器和工业控制现场各类信号连接的部分。 输入接口用来接受生产过程的各种参数。 输出接口用来送出可编程控制器运算后得出的控制信息,并通过机外的执行机构完成工业现场的各类控制。 输入输出接口有两个主要的要求: • 接口有良好的抗干扰能力; • 接口能满足工业现场各类信号的匹配要求。 输入输出接口的分类有以下几种: • 开关量输入接口 • 开关量输出接口 • 模拟量输入接口 • 模拟量输出接口 • 智能输入输出接口
模拟量输入接口 模拟量信号输入后一般经运算放大器放大后进行A/D转换,再经光电耦合后为可编程控制器提供一定位数的数字量信号。
模拟量输出接口 模拟量输入输出接口一般安装在专门的模拟量工作单元上。
智能输入输出接口 • 为了适应较复杂的控制工作的需要,可编程控制器还有一些智能控制单元。如PID工作单元、高速计数器工作单元、温度控制单元等。 • 这类单元大多是独立的工作单元。它们和普通输入输出接口的区别在于带有单独的CPU,有专门的处理能力。 • 在具体的工作中,每个扫描周期智能单元和主机的CPU交换一次信息,共同完成控制任务。 • 从近期的发展来看,不少新型的可编程控制器本身也带有PID功能及高速计数器接口,但它们的功能一般比专用单元的功能弱。 电源 • 可编程控制器的电源包括为可编程控制器各工作单元供电的开关电源及为掉电保护电路供电的后备电源,其中后备电源一般为电池。
外部设备 (1)编程器 • 可编程控制器的编程设备一般有两类。一类是专用的编程器,有手持的,也有台式的,也有的可编程控制器机身上自带编程器,其中手持式的编程器携带方便,适合工业控制现场应用; • 另一类是计算机。在计算机上运行可编程控制器相关的编程软件即可完成编程任务。软件编程比较容易,编好后下载到可编程控制器中去运行。 • 编程器除了编程以外,还具有一定的调试及监视功能,可以通过键盘调取及显示PLC的状态、内部器件及系统参数,它经过接口(也属于输入输出口的一种)与处理器连机,完成人机对话操作。 (2)其他外部设备 • 盒式磁带机,用以记录程序或信息。 • 打印机,用以打印程序或制表。 • EPROM写入器,用以将程序写入用户EPROM中。 • 高分辨率大屏幕彩色图形监控系统,用以显示或监视有关部分的运行状态。
PLC的软件系统 PLC的软件包含系统软件及应用软件两大部分: • 系统软件含系统的管理程序,用户指令的解释程序,另外还包括一些供系统调用的专用标准程序块等。系统管理程序用以完成机内运行相关时间分配、存储空间分配管理及系统自检等工作。用户指令的解释程序用以完成用户指令变换为机器码的工作。系统软件在用户使用可编程控制器之前就已装人机内,并永久保存,在各种控制工作中并不需要做什么调整。 • 应用软件(又称用户软件) 是用户为达到某种控制目的,采用PLC厂家提供的编程语言自主编制的程序。使用PLC实现某种控制目的,用存储在计算机中的程序实现控制功能,就是人们所指的存储逻辑。应用程序是一定控制功能的表述。用户软件存人PLC后如需改变控制目的可多次改写。
4.2 PLC工作方式的研究 PLC的扫描工作方式 : PLC靠执行用户程序来实现控制要求。为了便于执行程序,在存储器中设置输入映像寄存器和输出映像寄存器区(或统称I/O映像区),分别存放执行程序之前的各输入状态和执行过中各结果的状态。PLC对用户程序的执行是以循环扫描方式进行的。所谓扫描,只不过是一种形象的说法,用来描述CPU对程序顺序、分时操作的过程。扫描从第0号存储地址所存放的第一条用户程序开始,在无中断或跳转控制的情况下,按存储地址号递增的方向顺序逐条扫描用户程序,也就是顺序执行程序,直到程序结束,即完成一个扫描周期,然后再从头开始执行用户程序,并周而复始地重复。由于CPU的运算处理速度很高,使得从外观上看,用户程序似乎是同时执行的 。
PLC的扫描工作过程 • PLC开始运行时,首先清除I/O映像区的内容,然后进行自诊断,自检CPU及I/O组件,确认正常后开始循环扫描。每个扫描过程分为三个阶段进行,即输入采样、程序执行、输出刷新。PLC重复执行上述三个阶段,每重复一次的时间就是一个工作周期(或扫描周期),如图所示。
扫描周期与输入/输出滞后 • 举例说明: • 如三菱公司FX2-40MR,配置开关量输入24点,开关量输出16点,用户程序1000步,不包含特殊功能指令,PLC运行时不连接上位计算机等外设。I/O的扫描速度为0.03ms/8点,用户程序的扫描速度为0.74µs/步,自诊断所需的时问为0.96ms,试计算一个扫描周期所需要的时间为多少? • 解:扫描40点I/O所需监的时间为: • Tl=0.03ms/8点×40点=0.12ms • 扫描1000步程序所需要的时间为: • T2=0.74µs/步×1000步=0.74ms • 自诊断所需要的时间为:T3=0.96 ms • 因PLC运行时,不与外设通信,所以通信时间为:T4=0 ms • 这样一个扫描周期T为: • T=T1+T2+T3+T4 • =0.12 ms+0.74 ms+0.96 ms+0 ms • =1.92 ms
4.3 FX2N PLC介绍 三菱PLC有如下系列:Q系列, AnS系列,QnA系列,A系列和FX系列 • 前三个系列的PLC为模块型 • FX系列PLC为主机连输入输出接点型 • Q4AR系列为双机热备系列,最大输入输出点数为8192点 • A系列PLC的最大输入输出点数为2048点 • F系列程控器的最大输入输出点数为256点 • 三菱小型 FX 系列程控器的输入输出点数为256点以下 • FX系列是日本三菱姬路制作所生产的 • 包括 FX 系列在內三菱已生产超过三百万台 FX系列 PLC • 目前FX系列PLC为中国内地销量最多的小型PLC
FX 系列PLC根据输入出点数不同及功能而分为多个不同的系列 • 输入出点数在30点以內可使用FX1S系列 • 输入出点数在128点以內可使用FX1N系列 • 输入出点数在256点以內可使用 FX2N系列
三菱 FX2N 系列PLC FX2N系列是FX家族中最先进的系列,最大范围地包容了标准特点、执行速度更快、通讯功能更齐全,为工厂自动化应用提供最大的灵活性和控制能力。
FX2N 系列 PLC 的特点 • 超高速的运算速度 0.08微秒。 比FX2的0.48微秒快六倍。 • FX2N是FX2的持续。 • 基本单元 (16~128点) 有继电器或晶体管输出。 • 最多可扩展到256点。 • 內置有8K步RAM (最多可扩展到16K步)。 • 容量极大8K步(最大16K步)。比FX2大四倍。 • 机体小型化。比FX2小50% 。 • 备有多种不同的FX2N扩展单元及特殊模块。 • 低成本IC板 BD。通讯功能扩展模块模板化。 • 更多通讯/网络功能。RS232, RS422, RS485。 • 可增加多一个通道。
4.4 FX系列PLC的编程元件 • FX系列PLC的用户数据结构 • 输入继电器和输出继电器 • 辅助继电器 • 状态继电器 • 定时器 • 计数器 • 数据寄存器 • 变址寄存器 • 指针(P/I) • 常数(K/H)
FX系列PLC的用户数据结构 • 位元件 位(bit)元件,它们只有两种不同的状态,即ON和OFF,可以分别用二进制数1和0表示这两种状态。位元件用来表示开关量的状态,如触点的闭合、断开,线圈的通电、断电。 • 字元件 8个连续的位组成一个字节(Byte),16个连续的位组成一个字(Word),32个连续的位组成一个双字(Double Word)。 • 位元件的组合 FX系列PLC用KnP的形式表示连续的位元件组,每组由4个连续的位元件组成,P为位元件的首地址,n为组数,32位操作数时n=1~8,16位操作数时n=1~4。
输入继电器和输出继电器 1. 输入继电器(X) 输入继电器是PLC接收外部输入的开关量信号的窗口。PLC通过光电耦合器,将外部信号的状态读入并存储在输入映像区中。输入端可以外接控制开关、按钮、限位开关、传感器、常开触点或常闭触点,也可以接多个触点组成的串并联电路。在梯形图中,可以无限次使用输入继电器的常开触点和常闭触点。 2. 输出继电器(Y) 输出继电器是PLC向外部负载发送信号的窗口。输出继电器用来将PLC的输出信号传送给输出模块,再由输出模块驱动外部负载。输出继电器的通断状态由程序执行结果决定,在PLC内部它有一个线圈和许多对应的常开触点、常闭触点,在编程时可以反复使用这些触点.
辅助继电器 • 1. 通用辅助继电器 FX2N系列PLC的通用辅助继电器的元件编号为M0~M499,共500点。 • 2. 失电保持辅助继电器 FX系列PLC的失电保持辅助继电器的元件编号为M500~M3071。 • 3. 特殊辅助继电器 FX系列PLC的特殊辅助继电器的元件编号为M8000~M8255,共256点。 (1)触点利用型:用户只能使用其触点的特殊辅助继电器。 (2)线圈驱动器型:线圈驱动器型特殊辅助继电器的线圈由用户程序驱动,使PLC执行其特定的操作,用户并不使用它们的触点。
状态继电器 • 1. 通用状态继电器 通用状态继电器的元件编号为S0~S499,共500点。 • 2. 锁存状态继电器 锁存状态继电器的元件编号为S500~S899,共400点。 • 3. 报警器用状态继电器 报警器用状态继电器的元件编号为S900~S999,共100点。
定时器 • 1. 通用定时器 FX系列PLC各系列的定时器个数和元件编号如表5.3所示。其中:T192~T199,T246~T249为子程序和中断服务程序专用的定时器。 • 2. 积算定时器 100ms积算定时器有T250~T255,具有断电保持功能,即其控制条件为逻辑“l”时开始定时,在定时过程中如果控制条件变为逻辑“0”或PLC断电,积算定时器停止定时且保持当前值,当控制条件再次为逻辑“1”或PLC通电,则继续定时,时间累计,直到定时时间到。 • 3. 定时器的定时精度 定时器的精度与程序的安排有关,如果定时器的触点在线圈之前,精度将会降低。
计数器 • 1. 16位增计数器 16位增计数器可以分为16位通用计数器和16位断电保持计数器。设定值为l~32767。16位通用计数器为C0~C99,共l00点;16位断电保持计数器为C100~C199,共l00点。 • 2. 32位增减计数器图5.10 32位增减计数器 32位增减计数器为C200~C234,共35点。设定值为-2147483648~+2147483647,其中C200~C219(共20点)为通用型,C220~C234(共15点)为断电保持型。 • 3. 高速计数器(HSC) 高速计数器为C235~C255,共21点,均为32位加/减计数器。分为一相高速计数器(C235~C240)、两相双向计数器(C246~C250),A-B相型双计数输人高速计数器(C25l~C255)三种。
数据寄存器 • 1. 通用数据寄存器:16位/32位数据通用数据寄存器在模拟量检测与控制、位置控制等场合用来存储数据和参数,数据寄存器元件编号采用十进制数编号。 • 2. 失电保持数据寄存器:与通用数据寄存器一样,除非改写,否则原有的数据不会变化。 • 3. 特殊寄存器:特殊寄存器是具有特殊用途的寄存器,元件编号为D8000~D8255,共256点。 • 4. 文件寄存器:文件寄存器实际上是一类专用数据寄存器,用于存储大量的数据,例如采集数据、统计计算数据、多组控制参数等。 • 5. 外部调整寄存器:FX1S和FX1N有两个内置的设置参数用的小电位器,调节电位器,可以改变指定的数据寄存器D8030或D803l的值(0~255)。
变址寄存器 • 变址寄存器用来改变编程元件的元件号、操作数、修改常数等。FX1S和FX1N有两个变址寄存器V和Z,FX2N和FX2NC有16个变址寄存器V0~V7和Z0~Z7,在32位操作时将V与Z合并使用,Z为低位,V为高位。变址寄存器可以用来改变编程元件的元件号。 • 例如,当V=11时,数据寄存器的元件号D5V相当于D16(11+5=16)。通过修改变址寄存器的值,可以改变实际的操作数。变址寄存器也可以用来修改常数。例如,当Z=23时,K35Z相当于常数58(23+35=58)。
指针(P/I) • 1. 分支用指针(P0~P127): FX2N有P0~P127共128点分支用指针。 • 2. 中断指针(I0□□~I8□□): 中断指针是用来指示某一中断程序的入口位置。执行中断后遇到IRET(中断返回)指令,则返回主程序。 (1)输入中断用指针(I00□~I50□) (2)定时器中断用指针(I6□□~I8□□) (3)计数器中断指针(I010~I060)
常数(K/H) • 常数也作为元件看待,它在存储器中占一定空间。PLC的程序进行数值处理时必须使用十进制或十六进制数。 • 十进制常数用K表示,如18,表示为K18,16位十进制数的表示范围为—32768~+32767,32位十进制数的表示范围为-2147483648~+2147483647。 • 十六进制常数用H表示,如18,表示为H12, 16位十六进制数的表示范围为0~FFFFH,32位十六进制数的表示范围为0~FFFFFFFFH。
4.5 FX系列PLC的基本指令 • LD、LDI、OUT指令 • AND、ANI指令 • OR、ORI指令 • ANB、ORB指令 • 栈操作指令 • 主控与主控复位指令 • 取反指令 • PLS与PLF指令 • 边沿触发器 • 置位与复位指令 • NOP与END指令
LD、LDI、OUT指令 • LD(Load):取指令。用于常开触点逻辑运算的开始,作用是将一常开触点接到母线上。另外,在分支接点处也可使用。LD指令能够操作的元件为X,Y,M,T,C和S。 • LDI (Load Inverse):取反指令。用于常闭触点逻辑运算的开始. • OUT(Out):输出指令。将运算结果输出到指定的继电器,是驱动线圈的输出指令。OUT指令能够操作的元件为Y,M,T,C和S。
说明: • LD与LDI指令对应的触点一般与左侧母线相连。在使用ANB,ORB指令时,用来定义与其他电路串并联的电路的起始触点。 • OUT指令不能用于输入继电器X,而且线圈和输出类指令应放在梯形图的最右边。OUT指令可以连续使用若干次,相当于线圈的并联。定时器和计数器的OUT指令之后应设置以字母K开始的十进制常数,常数占一个步序。定时器实际的定时时间与定时器的种类有关。 • 计数器的设定值用来表示计完多少个计数脉冲后,计数器的位元件变为“1”。
AND、ANI指令 • AND(And):与指令。用于一个常开触点同另一个触点的串联连接。 • ANI(And Inverse):与非指令。用于一个常闭触点同另一个触点的串联连接。 AND和ANI指令能够操作的元件为X,Y,M,T,C和S。
说明: • AND和ANI指令是用来描述单个触点与别的触点或触点组组成的电路的串联连接关系的。单个触点与左边的电路串联时,使用AND或ANI指令。AND和ANI指令能够连续使用,即几个触点串联在一起,且串联触点的个数没有限制。
OR、ORI指令 • OR(Or):或指令。用于一个常开触点同另一个触点的并联连接。 • ORI(Or Inverse):或非指令。用于一个常闭触点同另一个触点的并联连接。 OR与ORI指令能够操作的元件为X,Y,M,T,C和S。
说明: • OR和ORI指令是用来描述单个触点与别的触点或触点组组成的电路的并联连接关系的。用于单个触点与前面电路的并联,并联触点的左侧接到该指令所在的电路块的起始点LD处,右端与前一条指令的对应的触点的右端相连。OR和ORI指令能够连续使用,即几个触点并联在一起,且并联触点的个数没有限制。
ANB、ORB指令 ANB(And Block):块与指令。用于多触点电路块之间的串联连接。 ORB(Or Block):块或指令。用于多触点电路块之间的并联连接。
说明: • ANB和ORB指令都不带元件号。只对电路块进行操作。 • ANB指令将多触点电路块(一般是并联电路块)与前面的电路块串联。ANB指令相当于两个电路块之间的串联连接,该点也可以视为它右边的电路块的LD点。要串联的电路块的起始触点使用LD或LDI指令,完成了两个电路块的内部连接后,用ANB指令将它与前面的电路串联。ANB指令能够连续使用,串联的电路块个数没有限制。 • ORB指令将多触点电路块(一般是串联电路块)与前面的电路块并联。相当于电路块间左侧的一段垂直连接线。要并联的电路块的起始触点使用LD或LDI指令,完成电路块的内部连接后,用ORB指令将它与前面的电路并联。0RB指令能够连续使用,并联的电路块个数没有限制。
栈操作指令 • MPS(Push):进栈指令。即将该指令处以前的逻辑运算结果存储起来。 • MRD(Read):读栈指令。读出由MPS指令存储的逻辑运算结果。 • MPP(POP):出栈指令。读出并清除由MPS指令存储的逻辑运算结果。 • MPS,MRD,MPP实际上是用来解决如何对具有分支的梯形图进行编程的一组指令,用于多重输出电路。FX系列有11个存储中间运算结果的堆栈存储器。堆栈操作采用“先进后出”的数据存取方式。
说 明: • MPS指令用于存储电路中有分支处的逻辑运算结果,其功能是将左母线到分支点之间的逻辑运算结果存储起来,以备下面处理有线圈的支路时可以调用该运算结果。使用一次MPS指令,该时刻的逻辑运算结果推入堆栈的第一层,堆栈中原来的数据依次向下一层推移。 • MRD指令用在MPS指令支路以下、MPP指令以上的所有支路。其功能是读取存储在堆栈最上层的电路中分支点处的逻辑运算结果,将下一个触点强制性地连接在该点。读数后堆栈内的数据不会上移或下移。实际上是将左母线到分支点之间的梯形图同当前使用的MRD指令的支路连接起来的一种编程方式。 • MPP指令用在梯形图分支点处最下面的支路,也就是最后一次使用由MPS指令存储的逻辑运算结果,其功能是先读出由MPS指令存储的逻辑运算结果,同当前支路进行逻辑运算,最后将MPS指令存储的内容清除,结束分支点处所有支路的编程,使用MPP指令时,堆栈中各层的数据向上移动一层,最上层的数据在读出后从栈区内消失。
用编程软件生成梯形图程序后,如果将梯形图转换为指令表程序,编程软件会自动加入MPS,MRD和MPP指令。用编程软件生成梯形图程序后,如果将梯形图转换为指令表程序,编程软件会自动加入MPS,MRD和MPP指令。
主控与主控复位指令 • MC(Master Control):主控指令。或称公共触点串联连接指令。用于表示主控区的开始。MC指令能够操作的元件为Y和M(不包括特殊辅助继电器)。 • MCR(Master Control Reset):主控复位指令。用来表示主控区的结束。
说 明: • 在MC~MCR指令区内使用MC。指令称为嵌套, MC和MCR指令中包含嵌套的层数为N0~N7,N0为最高层,N7为最低层。没有嵌套结构时,通常用N0编程,N0的使用次数没有限制。有嵌套结构时,MCR指令将同时复位低的嵌套层。例如,指令MCR N2将复位2~7层。 • 应当指出,在主控指令的控制条件为逻辑“0”时,在MC与MCR之间的程序只是处于停控状态,PLC仍然扫描这一段程序,不能简单地认为PLC跳过了此段程序。另外,MC指令不能直接从左母线开始。在程序中MC与MCR指令总是成对出现的。
取反指令 • INV(Inverse):取反指令。该指令的功能是将该指令处的逻辑运算结果取反。
PLS与PLF指令 • PLS(Pulse Slanting):上升沿微分输出指令。当检测到控制触点闭合的一瞬间,输出继电器或辅助继电器的触点仅接通一个扫描周期。 • PLF(Pulse Falling):下降沿微分输出指令。当检测到控制触点断开的一瞬间,输出继电器或辅助继电器的触点仅接通一个扫描周期。 • PLS和PLF指令能够操作的元件为Y和M(不包括特殊辅助继电器)。本指令一般用于输入信号防干扰处理,利用某信号的状态改变产生一个触发信号。
说 明: • 应指出的是,PLS和PLF指令只有在检测到触点的状态发生变化时才有效,如果触点一直是闭合或者断开,PLS和PLF指令是无效的,即指令只对触发信号的上升沿和下降沿有效。PLS和PLF指令无使用次数的限制。当PLC从RUN到STOP,然后又由STOP进入RUN状态时,其输入信号仍然为ON,PLS M0指令将输出一个脉冲。然而,如果用失电保持辅助继电器代替M0,则其PLS指令在这种情况下不会输出脉冲。微分指令在实际编程应用中十分有用,利用微分指令可以模拟按钮的动作。
边沿触发器 • LDP指令是取脉冲上升沿指令,上升沿检出运算开始。 • LDF指令是取脉冲下降沿指令,下降沿检出运算开始。 • ANDP指令是与脉冲上升沿指令,上升沿检出串联连接。 • ANDF指令是与脉冲下降沿指令,下降沿检出串联连接。 • ORP指令是或脉冲上升沿指令,上升沿检出并联连接。 • ORF指令是或脉冲下降沿指令,下降沿检出并联连接。