第1个回答 2011-11-22
PLC是在传统的顺序控制器的基础上引入了微电子技术、计算机技术、自动控制技术和通讯技术而形成的一代新型工业控制装置,目的是用来取代继电器、执行逻辑、记时、计数等顺序控制功能,建立柔性的程控系统。国际电工委员会(IEC)颁布了对PLC的规定:可编程控制器是一种数字运算操作的电子系统,专为在工业环境下应用而设计。它采用可编程序的存贮器,用来在其内部存贮执行逻辑运算、顺序控制、定时、计数和算术运算等操作的指令,并通过数字的、模拟的输入和输出,控制各种类型的机械或生产过程。可编程序控制器及其有关设备,都应按易于与工业控制系统形成一个整体,易于扩充其功能的原则设计。
PLC具有通用性强、使用方便、适应面广、可靠性高、抗干扰能力强、编程简单等特点。可以预料:在工业控制领域中,PLC控制技术的应用必将形成世界潮流
PLC程序既有生产厂家的系统程序,又有用户自己开发的应用程序,系统程序提供运行平台,同时,还为PLC程序可靠运行及信息与信息转换进行必要的公共处理。用户程序由用户按控制要求设计。
第二章PLC的结构及基本配置
一般讲,PLC分为箱体式和模块式两种。但它们的组成是相同的,对箱体式PLC,有一块CPU板、I/O板、显示面板、内存块、电源等,当然按CPU性能分成若干型号,并按I/O点数又有若干规格。对模块式PLC,有CPU模块、I/O模块、内存、电源模块、底板或机架。无任哪种结构类型的PLC,都属于总线式开放型结构,其I/O能力可按用户需要进行扩展与组合。PLC的基本结构框图如下:
接受 驱动
现场信号 受控元件
一、CPU的构成
PLC中的CPU是PLC的核心,起神经中枢的作用,每台PLC至少有一个CPU,它按PLC的系统程序赋予的功能接收并存贮用户程序和数据,用扫描的方式采集由现场输入装置送来的状态或数据,并存入规定的寄存器中,同时,诊断电源和PLC内部电路的工作状态和编程过程中的语法错误等。进入运行后,从用户程序存贮器中逐条读取指令,经分析后再按指令规定的任务产生相应的控制信号,去指挥有关的控制电路,
与通用计算机一样,主要由运算器、控制器、寄存器及实现它们之间联系的数据、控制及状态总线构成,还有外围芯片、总线接口及有关电路。它确定了进行控制的规模、工作速度、内存容量等。内存主要用于存储程序及数据,是PLC不可缺少的组成单元。
CPU的控制器控制CPU工作,由它读取指令、解释指令及执行指令。但工作节奏由震荡信号控制。
CPU的运算器用于进行数字或逻辑运算,在控制器指挥下工作。
CPU的寄存器参与运算,并存储运算的中间结果,它也是在控制器指挥下工作。
CPU虽然划分为以上几个部分,但PLC中的CPU芯片实际上就是微处理器,由于电路的高度集成,对CPU内部的详细分析已无必要,我们只要弄清它在PLC中的功能与性能,能正确地使用它就够了。
CPU模块的外部表现就是它的工作状态的种种显示、种种接口及设定或控制开关。一般讲,CPU模块总要有相应的状态指示灯,如电源显示、运行显示、故障显示等。箱体式PLC的主箱体也有这些显示。它的总线接口,用于接I/O模板或底板,有内存接口,用于安装内存,有外设口,用于接外部设备,有的还有通讯口,用于进行通讯。CPU模块上还有许多设定开关,用以对PLC作设定,如设定起始工作方式、内存区等。
二、I/O模块:
PLC的对外功能,主要是通过各种I/O接口模块与外界联系的,按I/O点数确定模块规格及数量,I/O模块可多可少,但其最大数受CPU所能管理的基本配置的能力,即受最大的底板或机架槽数限制。I/O模块集成了PLC的I/O电路,其输入暂存器反映输入信号状态,输出点反映输出锁存器状态。
三、电源模块:
有些PLC中的电源,是与CPU模块合二为一的,有些是分开的,其主要用途是为PLC各模块的集成电路提供工作电源。同时,有的还为输入电路提供24V的工作电源。电源以其输入类型有:交流电源,加的为交流220VAC或110VAC,直流电源,加的为直流电压,常用的为24V。
四、底板或机架:
大多数模块式PLC使用底板或机架,其作用是:电气上,实现各模块间的联系,使CPU能访问底板上的所有模块,机械上,实现各模块间的连接,使各模块构成一个整体。
五、PLC 的外部设备
外部设备是PLC系统不可分割的一部分,它有四大类
1. 编程设备:有简易编程器和智能图形编程器,用于编程、对系统作一些设定、监控PLC及PLC所控制的系统的工作状况。编程器是PLC开发应用、监测运行、检查维护不可缺少的器件,但它不直接参与现场控制运行。
2. 监控设备:有数据监视器和图形监视器。直接监视数据或通过画面监视数据。
3. 存储设备:有存储卡、存储磁带、软磁盘或只读存储器,用于永久性地存储用户数据,使用户程序不丢失,如EPROM、EEPROM写入器等。
4. 输入输出设备:用于接收信号或输出信号,一般有条码读人器,输入模拟量的电位器,打印机等。
六、PLC的通信联网
PLC具有通信联网的功能,它使PLC与PLC 之间、PLC与上位计算机以及其他智能设备之间能够交换信息,形成一个统一的整体,实现分散集中控制。现在几乎所有的PLC新产品都有通信联网功能,它和计算机一样具有RS-232接口,通过双绞线、同轴电缆或光缆,可以在几公里甚至几十公里的范围内交换信息。
当然,PLC之间的通讯网络是各厂家专用的,PLC与计算机之间的通讯,一些生产厂家采用工业标准总线,并向标准通讯协议靠拢,这将使不同机型的PLC之间、PLC与计算机之间可以方便地进行通讯与联网。
了解了PLC的基本结构,我们在购买程控器时就有了一个基本配置的概念,做到既经济又合理,尽可能发挥PLC所提供的最佳功能。
第三章 基本指令系统和编程方法
§1 基本指令系统特点
PLC的编程语言与一般计算机语言相比,具有明显的特点,它既不同于高级语言,也不同与一般的汇编语言,它既要满足易于编写,又要满足易于调试的要求。目前,还没有一种对各厂家产品都能兼容的编程语言。如三菱公司的产品有它自己的编程语言,OMRON公司的产品也有它自己的语言。但不管什么型号的PLC,其编程语言都具有以下特点:
1. 图形式指令结构:程序由图形方式表达,指令由不同的图形符号组成,易于理解和记忆。系统的软件开发者已把工业控制中所需的独立运算功能编制成象征性图形,用户根据自己的需要把这些图形进行组合,并填入适当的参数。在逻辑运算部分,几乎所有的厂家都采用类似于继电器控制电路的梯形图,很容易接受。如西门子公司还采用控制系统流程图来表示,它沿用二进制逻辑元件图形符号来表达控制关系,很直观易懂。较复杂的算术运算、定时计数等,一般也参照梯形图或逻辑元件图给予表示,虽然象征性不如逻辑运算部分,也受用户欢迎
2. 明确的变量常数:图形符相当于操作码,规定了运算功能,操作数由用户填人,如:K400,T120等。PLC中的变量和常数以及其取值范围有明确规定,由产品型号决定,可查阅产品目录手册。
3. 简化的程序结构:PLC的程序结构通常很简单,典型的为块式结构,不同块完成不同的功能,使程序的调试者对整个程序的控制功能和控制顺序有清晰的概念。
4. 简化应用软件生成过程:使用汇编语言和高级语言编写程序,要完成编辑、编译和连接三个过程,而使用编程语言,只需要编辑一个过程,其余由系统软件自动完成,整个编辑过程都在人机对话下进行的,不要求用户有高深的软件设计能力。
5. 强化调试手段:无论是汇编程序,还是高级语言程序调试,都是令编辑人员头疼的事,而PLC的程序调试提供了完备的条件,使用编程器,利用PLC和编程器上的按键、显示和内部编辑、调试、监控等,并在软件支持下,诊断和调试操作都很简单。
总之,PLC的编程语言是面向用户的,对使用者不要求具备高深的知识、不需要长时间的专门训练。
§2 编程语言的形式
本教材采用最常用的两种编程语言,一是梯形图,二是助记符语言表。采用梯形图编程,因为它直观易懂,但需要一台个人计算机及相应的编程软件;采用助记符形式便于实验,因为它只需要一台简易编程器,而不必用昂贵的图形编程器或计算机来编程。
虽然一些高档的PLC还具有与计算机兼容的C语言、BASIC语言、专用的高级语言(如西门子公司的GRAPH5、三菱公司的MELSAP),还有用布尔逻辑语言、通用计算机兼容的汇编语言等。不管怎么样,各厂家的编程语言都只能适用于本厂的产品。
编程指令:指令是PLC被告知要做什么,以及怎样去做的代码或符号。从本质上讲,指令只是一些二进制代码,这点PLC与普通的计算机是完全相同的。同时PLC也有编译系统,它可以把一些文字符号或图形符号编译成机器码,所以用户看到的PLC指令一般不是机器码而是文字代码,或图形符号。常用的助记符语句用英文文字(可用多国文字)的缩写及数字代表各相应指令。常用的图形符号即梯形图,它类似于电气原理图是符号,易为电气工作人员所接受。
指令系统:一个PLC所具有的指令的全体称为该PLC的指令系统。它包含着指令的多少,各指令都能干什么事,代表着PLC的功能和性能。一般讲,功能强、性能好的PLC,其指令系统必然丰富,所能干的事也就多。我们在编程之前必须弄清PLC的指令系统
程序:PLC指令的有序集合,PLC运行它,可进行相应的工作,当然,这里的程序是指PLC的用户程序。用户程序一般由用户设计,PLC的厂家或代销商不提供。用语句表达的程序不大直观,可读性差,特别是较复杂的程序,更难读,所以多数程序用梯形图表达。
梯形图:梯形图是通过连线把PLC指令的梯形图符号连接在一起的连通图,用以表达所使用的PLC指令及其前后顺序,它与电气原理图很相似。它的连线有两种:一为母线,另一为内部横竖线。内部横竖线把一个个梯形图符号指令连成一个指令组,这个指令组一般总是从装载(LD)指令开始,必要时再继以若干个输入指令(含LD指令),以建立逻辑条件。最后为输出类指令,实现输出控制,或为数据控制、流程控制、通讯处理、监控工作等指令,以进行相应的工作。母线是用来连接指令组的。下图是三菱公司的FX2N系列产品的最简单的梯形图例:
X000 X001 Y000
X010
它有两组,第一组用以实现启动、停止控制。第二组仅一个END指令,用以 结束程序。
梯形图与助记符的对应关系: 助记符指令与梯形图指令有严格的对应关系,而梯形图的连线又可把指令的顺序予以体现。一般讲,其顺序为:先输入,后输出(含其他处理);先上,后下;先左,后右。有了梯形图就可将其翻译成助记符程序。上图的助记符程序为:
地址 指令 变量
0000 LD X000
0001 OR X010
0002 AND NOT X001
0003 OUT Y000
0004 END
反之根据助记符,也可画出与其对应的梯形图。
梯形图与电气原理图的关系:如果仅考虑逻辑控制,梯形图与电气原理图也可建立起一定的对应关系。如梯形图的输出(OUT)指令,对应于继电器的线圈,而输入指令(如LD,AND,OR)对应于接点,互锁指令(IL、ILC)可看成总开关,等等。这样,原有的继电控制逻辑,经转换即可变成梯形图,再进一步转换,即可变成语句表程序。
有了这个对应关系,用PLC程序代表继电逻辑是很容易的。这也是PLC技术对传统继电控制技术的继承。
§3 编程器件
下面我们着重介绍三菱公司的FX2N系列产品的一些编程元件及其功能。
FX系列产品,它内部的编程元件,也就是支持该机型编程语言的软元件,按通俗叫法分别称为继电器、定时器、计数器等,但它们与真实元件有很大的差别,一般称它们为“软继电器”。这些编程用的继电器,它的工作线圈没有工作电压等级、功耗大小和电磁惯性等问题;触点没有数量限制、没有机械磨损和电蚀等问题。它在不同的指令操作下,其工作状态可以无记忆,也可以有记忆,还可以作脉冲数字元件使用。一般情况下,X代表输入继电器,Y代表输出继电器,M代表辅助继电器,SPM代表专用辅助继电器,T代表定时器,C代表计数器,S代表状态继电器,D代表数据寄存器,MOV代表传输等。
一、 输入继电器 (X)
PLC的输入端子是从外部开关接受信号的窗口,PLC 内部与输入端子连接的输入继电器X是用光电隔离的电子继电器,它们的编号与接线端子编号一致(按八进制输入),线圈的吸合或释放只取决于PLC外部触点的状态。内部有常开/常闭两种触点供编程时随时使用,且使用次数不限。输入电路的时间常数一般小于10ms。各基本单元都是八进制输入的地址,输入为X000 ~ X007,X010 ~X017,X020 ~X027 。它们一般位于机器的上端。
二、 输出继电器(Y)
PLC的输出端子是向外部负载输出信号的窗口。输出继电器的线圈由程序控制,输出继电器的外部输出主触点接到PLC的输出端子上供外部负载使用,其余常开/常闭触点供内部程序使用。输出继电器的电子常开/常闭触点使用次数不限。输出电路的时间常数是固定的 。各基本单元都是八进制输出,输出为Y000 ~Y007,Y010~Y017,Y020~Y027 。它们一般位于机器的下端。
三、 辅助继电器(M)
PLC内有很多的辅助继电器,其线圈与输出继电器一样,由PLC内各软元件的触点驱动。辅助继电器也称中间继电器,它没有向外的任何联系,只供内部编程使用。它的电子常开/常闭触点使用次数不受限制。但是,这些触点不能直接驱动外部负载,外部负载的驱动必须通过输出继电器来实现。如下图中的M300,它只起到一个自锁的功能。在FX2N中普遍途采用M0~M499,共500点辅助继电器,其地址号按十进制编号。辅助继电器中还有一些特殊的辅助继电器,如掉电继电器、保持继电器等,在这里就不一一介绍了。
X000 X001 M300
M300
四、 定时器(T)
在PLC内的定时器是根据时钟脉冲的累积形式,当所计时间达到设定值时,其输出触点动作,时钟脉冲有1ms、10ms、100ms。定时器可以用用户程序存储器内的常数K作为设定值,也可以用数据寄存器(D)的内容作为设定值。在后一种情况下,一般使用有掉电保护功能的数据寄存器。即使如此,若备用电池电压降低时,定时器或计数器往往会发生误动作。
定时器通道范围如下:
100 ms定时器T0~T199, 共200点,设定值:0.1~ 3276.7秒;
10 ms定时器T200~TT245,共46点,设定值:0.01~327.67秒;
1 ms积算定时器 T245~T249,共4点,设定值:0.001~32.767秒;
100 ms积算定时器T250~T255,共6点,设定值:0.1~3276.7秒;
定时器指令符号及应用如下图所示:
X000
K123 设定值(累积)
T200 Y000
当定时器线圈T200的驱动输入X000接通时,T200的当前值计数器对10 ms的时钟脉冲进行累积计数,当前值与设定值K123相等时,定时器的输出接点动作,即输出触点是在驱动线圈后的1.23秒(10 * 123ms = 1.23s)时才动作,当T200触点吸合后,Y000就有输出。当驱动输入X000断开或发生停电时,定时器就复位,输出触点也复位。
每个定时器只有一个输入,它与常规定时器一样,线圈通电时,开始计时;断电时,自动复位,不保存中间数值。定时器有两个数据寄存器,一个为设定值寄存器,另一个是现时值寄存器,编程时,由用户设定累积值。
如果是积算定时器,它的符号接线如下图所示:
X001
K345
X002
定时器线圈T250的驱动输入X001接通时,T250的当前值计数器对100 ms的时钟脉冲进行累积计数,当该值与设定值K345相等时,定时器的输出触点动作。在计数过程中,即使输入X001在接通或复电时,计数继续进行,其累积时间为34.5s(100 ms*345=34.5s)时触点动作。当复位输入X002接通 ,定时器就复位,输出触点也复位。
五、 计数器(C)
FX2N中的16位增计数器,是16位二进制加法计数器,它是在计数信号的上升沿进行计数,它有两个输入,一个用于复位,一个用于计数。每一个计数脉冲上升沿使原来的数值减1,当现时值减到零时停止计数,同时触点闭合。直到复位控制信号的上升沿输入时,触点才断开,设定值又写入,再又进入计数状态。
其设定值在K1~K32767范围内有效。
设定值K0与K1含义相同,即在第一次计数时,其输出触点就动作。
通用计数器的通道号:C0 ~C99,共100点。
保持用计数器的通道号:C100~C199,共100点。
通用与掉电保持用的计数器点数分配,可由参数设置而随意更改。
举个例子:
X010
X011
K 计数器
C 0
由计数输入X011每次驱动C0线圈时,计数器的当前值加1。当第10次执行线圈指令时,计数器C0的输出触点即动作。之后即使计数器输入X011再动作,计数器的当前值保持不变。
当复位输入X010接通(ON)时,执行RST指令,计数器的当前值为0,输出接点也复位。
应注意的是, 计数器C100~C199,即使发生停电,当前值与输出触点的动作状态或复位状态也能保持。
六、 数据寄存器
数据寄存器是计算机必不可少的元件,用于存放各种数据。FX2N中每一个数据寄存器都是16bit(最高位为正、负符号位),也可用两个数据寄存器合并起来存储32 bit数据(最高位为正、负符号位)。
1) 通用数据寄存器D 通道分配 D 0~D199,共200点。
只要不写入其他数据,已写入的数据不会变化。但是,由RUN→STOP时, 全部数据均清零。(若特殊辅助继电器M8033已被驱动,则数据不被清零)。
2) 停电保持用寄存器 通道分配 D200~D511,共312点,或D200~D999,共800点(由机器的具体型号定)。
基本上同通用数据寄存器。除非改写,否则原有数据不会丢失,不论电源接通与否,PLC运行与否,其内容也不变化。然而在二台PLC作点对的通信时, D490~D509被用作通信操作。
3) 文件寄存器 通道分配 D1000~D2999,共2000点。
文件寄存器是在用户程序存储器(RAM、EEPROM、EPROM)内的一个存储区,以500点为一个单位,最多可在参数设置时到2000点。用外部设备口进行写入操作。在PLC运行时,可用BMOV指令读到通用数据寄存器中,但是不能用指令将数据写入文件寄存器。用BMOV将 数据写入RAM后,再从RAM中读出。将数据写入EEPROM盒时,需要花费一定的时间,务必请注意。
4) RAM文件寄存器 通道分配 D6000~D7999,共2000点。
驱动特殊辅助继电器M8074,由于采用扫描被禁止,上述的数据寄存 器可作为文件寄存器处理,用BMOV指令传送数据(写入或读出)。
5)特殊用寄存器 通道分配 D8000~D8255,共256点。
是写入特定目的的数据或已经写入数据寄存器,其内容在电源接通时,写入初始化值(一般先清零,然后由系统ROM来写入)。