关注作者了解更多
我的其他CSDN专栏
关注作者了解更多
资料来源于网络,如有侵权请联系编者
目录
可编程控制器的结构多种多样,但其组成的一般原理基本相同,都是以微处理器为核心的结构,其功能的实现不仅基于硬件的作用,更要靠软件的支持,实际上可编程控制器就是一种新型的工业控制计算机。
第一节 可编程控制器的组成
第二节 可编程控制器的编程语言
第三节 可编程控制器的工作原理
第一节 可编程控制器的组成
可编程控制器主要由中央处理单元(CPU)、存储器(RAM、ROM)、输入输出单元(I/O)、电源和编程器等几部分组成,其结构框图如图2-l所示。
一、中央处理单元(CPU)
可编程控制器中常用的CPU主要采用通用微处理器、单片机和双极型位片式微处理器三种类型。通用微处理器(如8080、8086、80286、80386等)、单片机(如8031、8096等)、位片式微处理器(如AM2900、AM 2901、AM2903等)。可编程控制器的档次越高,CPU的位数也越多,运算速度也越快,功能指令越强,FX2系列可编程控制器使用的微处理器是l6位的8096单片机。
二、存储器
可编程控制器配有两种存储器:系统存储器用户存储器。系统存储器存放系统管理程序。用户存储器存放用户编制的控制程序。小型可编程控制器的存储器容量一般在8K字节以下。
常用的存储器有CMOS RAM和EPROM、EEPROM。CMOS RAM是一种可进行读写操作的随机存储器存放用户程序,生成用户数据区,存放在RAM中的用户程序可方便地修改:CMOS RAM存储器是一种高密度、低功耗、价格便宜的半导体存储器,可用锂电池作备用电源。掉电时,可以有效地保持存储的信息。锂电池的寿命一般为(5~10)年,若经常带负载可维持(2~5)年。
EPROM、EEPOM都是只读存储器。往往用这些类型存储器固化系统管理程序和用户程序。EKPROM存储器又可写成E2PROM,它是一种电可擦除可编程的只读存储器,既可按字节进行擦除,又有可整片擦除的功能。
三、输入输出单元(I/O单元)
实际生产过程中的信号电平是多种多样的,外部执行机构所需的电平也是干差万别的,而可编程控制器的CPU所处理的信号只能是标准电平,正是通过输入输出单元实现了这些信号电平的转换。I/O单元实际上是PLC与被控对象间传递输入输出信号的接口部件。I/O单元有良好的电隔离和滤波作用。接到PLC输入接口的输入器件是各种开关、按钮、传感器等。PLC的各种输出控制器件往往是电磁阀、接触器、继电器,而继电器有交流型和直流型,高电压型和低电压型、电压型和电流型之分
(一)输入接口电路
各种PLC的输入电路大都相同,通常有三种类型一种是直流(12~24)V输入,另一种是交流(100~120)V、(200~240)V输入,第三种是交直流(12~24)V输入。外界输入器件可以是无源触点或者有源传感器的集电极开路的晶体管,这些外部输入器件是通过门工输入端子与PLC相连的。PLC输人电路中有光锅合器隔离,并设有RC滤波器,用以消除输入触点的抖动和外部噪声干扰。当输入开关闭合时,一次电路中流过电流,输入指示灯亮.光精合器被激励,三极管从截止状态变为饱和导通状态,这是一个数据输入过程。图2-2是一个直流输入端内部接线图。
(二)输出接口电路
PLC的输出有三种形式:继电器输出、晶体管输出、晶闸管输出。图2-3给出了PLC的输出电路图。继电器输出型最常用。当CPU有输出时.接通或断开输出电路中继电器的线圈,继电器的接点闭合或断开,通过该接点控制外部负载电路的通断。很显然,继电器输出是利用了继电器的接点和线圈将PLC的内部电路与外部负载电路进行了电气隔离。晶体管输出型是通过光锅合使晶体管截止或饱和以控制外部负载电路、并同时对PLC内部电路和输出晶体管电路进行了电气隔离。第三种是双向晶间管输出型,采用了光触发型双向晶闸管。三种输出形式以继电器型响应最慢。
图2-3 PLC的输出电路图 a)继电器输出
b)晶体管输出
晶闸管输出
输出电路的负载电源由外部提供。负载电流一般不超过2A。实际应用中,输出电流额定值与负载性质有关。例如FX2型PLC继电器输出的负载能力,电源电压在250V AC以下时,对电阻负载为2A/点;对感性负载为80V·A;对灯负载为l00W。
通常,PLC的制造厂商为用户提供多种用途的I/O单元。从数据类型上看有开关量和模拟量从电压等级上看有直流和交流;从速度上看有低速和高速,从点数上看有多种类型;从距离上看可分为本地I/O和远程I/O。远程I/O单元通电电缆与CPU单元连接,可放在距离CPU单元数百米远的地方。
四、电源单元
PLC的供电电源是一般市电,也有用直流24V供电的。PLC对电源稳定度要求不高,一般允许电源电压额定值在+10%~l5%的范围内波动。PLC内有一个稳压电源用于对PLC的CPU单元和I/O单元供电,小型PLC电源往往和CPU单元合为一体,中大型PLC都有专门电源单元。有些PLC电源部分还有24VDC输出、用于对外部传感器供电,但电流往往是毫安级。
五、编程器
编程器是PLC的最重要外围设备。利用编程器将用户程序送人PLC的存储器,还可以用编程器检查程序。修改程序;利用编程器还可以监视PLC的工作状态。编程器一般分简易型编程器和智能型编程器。小型PLC常用简易型编程器,大中型PLC多用智能型CRT编程器。除此以外,在个人计算机上:添加适当的硬件接口和软件包,即可用个人计算机对PLC编程,利用微机作为编程器,可以直接编制并显示梯形图。
第二节 可编程控制器的编程语言
PLC是一种工业控制计算机,不光有硬件,软件也必不可少,提到软件就必然和编程语言相联系。不同厂家,甚至不同型号的PLC的编程语言只能适应自己的产品。目的PLC常用的编程语言有四种,梯形图编程语言、指令语句表编程语言、功能图编程语言、高级编程功能语言。
梯形图编程语言形象直观,类似电气控制系统中继电器控制电路图,逻辑关系明显;指令语句表编程语言虽然不如梯形图编程语言直观,但有键入方便的优点;功能图编程语言和高级编程语言需要比较多的硬件设备。
一、梯形图编程语言
该语言习惯上叫梯形图。梯形图沿袭了继电器控制电路的形式,也可以说,梯形图编程语言是在电气控制系统中常用的继电器、接触器逻辑控制基础上简化了符号演变而来的,形象、直观、实用,电气技术人员容易接受,是目前用得最多的一种PLC编程语言。继电器接触器电气控制电路图和PLC梯形图示于图2-4中,由图可见两种控制电路图逻辑含义是一样的,但具体表达方法却有本质区别,PLC梯形图中的继电器、计数器不是物理继电器、物理定时器、物理计数器,这些器件实际上是存储器中的存储位,因此称为软器件。相应位为“1”状态,表示继电器线圈通电或常开接点闭合或常闭接点断开。
图2-4 两种控制图 a)电器控制电路图
b)PLC梯形图
PLC的梯形图是形象化的编程语言,梯形图左右两端的母线是不接任何电源的。梯形图中并没有真实的物理电流流动,而仅仅是概念电流(虚电流),或称为假想电流。把PLC梯形中左边母线假想为电源相线,而把右边母线假想为电源地线。假想电流只能从左向右流动,层次改变只能先上后下。假想电流是执行用户程序时满足输出执行条件的形象理解。
PLC梯形图中每个网络由多个梯级组成,每个梯级由一个或多个支路组成,并由一个输出元件构成,但右边的元件必须是输出元件。例如图2-4b中梯形图由两个梯级组成,梯级①中有4个编程元件(X1、X2、Y1和Y1),最右边的Y1是输出元件。
梯形图中每个编程元件应按一定的规则加标字母数字串,不同编程元件常用不同的字母符号和一定的数字串来表示,不同厂家的PLC使用的符号和数字串往往是不一样的。
二、指令语句表编程语言
这种编程语言是一种与计算机汇编语言相类似的助记符编程方式,用一系列操作指令组成的语句表将控制流程描述出来,并通过编程器送到PLC中去。需要指出的是,不同厂家的PLC指令语句表使用的助记符并不相同,因此,一个相同功能的梯形图,书写的语句表并不相同。表2-1是三菱电机公司FX型PLC指令语句完成图2-4b功能编写的程序。
指令语句表是由若干条语句组成的程序。语句是程序的最小独立单元。每个操作功能由一条或几条语句来执行。PLC的语句表达形式与微机的语句表达式相类似,也是由操作码和操作数两部分组成。操作码用助记符表示(如LD表示取、OR表示或等),用来执行要执行的功能,告诉CPU该进行什么操作,例如逻辑运算的与、或、非;算术运算的加、减、乘、除;时间或条件控制中的计时、计数、移位等功能。
操作数一般由标识符和参数组成。标识符表示操作数的类别,例如表明是输入继电器、输出继电器、定时器、计数器、数据寄存器等。参数表明操作数的地址或一个顶先设定值。
三、功能图编程语言
这是一种较新的编程方法。它是用像控制系统流程图一样的功能图表达一个控制过程,目前国际电工协会(IEC)正在实施发展这种新式的编程标准。不同厂家的PLC对这种编程语言所用的符号和名称也不一样。三菱PLC叫功能图编程语言,而西门子PLC叫控制系统流程图编程语言。图2-5是一个先“与”后“或”操作的功能图编程语言图。
四、高级语言编程
近几年推出的PLC,尤其是大型PLC,已开始用高级语言进行编程。有的PLC采用类似PASCAL语言的专用语言,系统软件具有这种专用语言的自动编译程序。采用高级语言编程后,用户可以像使用普通微型计算机一样操作PLC。除了完成逻辑功能外,还可以进行PID调节、数据采集和处理以及与上位机通信等。
第三节可编程控制器的工作原理
一、PLC的编程器件概述
PLC内部有许多具有不同功能的器件,实际上这些器件是由电子电路和存储器组成的。例如输入继电器X是由输入电路和映像输入接点的存储器组成;输出继电器Y是由输出电路和映像输出接点的存储器组成;定时器T、计数器C、辅助继电器M、状态器S、数据寄存器D、变址寄存器V/Z等都是由存储器组成的。为了把它们与通常的硬器件区分开,我们通常把上面的器件称为软器件,是等效概念抽象模拟的器件,并非实际的物理器件。从工作过程看,我们只注重器件的功能,按器件的功能给名称,例如输人继电器X、输出继电器Y等,而且每个器件都有确定的地址编号,这对编程十分重要。
需要特别指出的是,不同厂家、甚至同一厂家的不问型号的PLC编程器件的数量和种类都不一样,下面我们以FX2小型PLC为蓝本,介绍编程器件。
二、FX2系列PLC编程器件
(一)输入继电器(X0~X177)
输入继电器与PLC的输入端相连。是PLC接收外部开关信号的接口。与输人端子连接的输入继电器是光电隔离的电子继电器,其线圈、常开接点、常闭接点与传统硬继电器表示方法一样,如图2-6左边所示。这里常开接点、常闭接点的使用次数不限,这些接点在PLC内可以自由使用。FX2型PLC输入继电器采用八进制地址编号,X0~X177最多可达128点。输人继电器必须有外部信号来驱动。不能用程序驱动。
(一)输入继电器(X0~X177)
(二)输出继电器Y0~Y177
输出继电器的外部输出接点连接到PLC的输出端子上,输出继电器是PLC是用来传送信号到外部负载的元件,如图2-6右边所示。每一个输出继电器有一个外部输出的常开接点。而内部的软接点,不管是常开还是常闭,都可以无限次的自由使用。输出继电器的地址编号也是八进制,YO~Y177、最多可达l28点。
(三)辅助继电器M
PLC内部有很多辅助继电器.它的常开常闭接点在PLC内部编程时可以无限次的自由使用。但是这些接点不能直接驱动外部负载,外部负载必须由输出继电器的外部接点来驱动。 在逻辑运算中经常需要-些中间继电器作为辅助运算用,这些器件往往用作状态暂存、移位等运算。另外,辅助继电器还具有一些特殊功能。下面是几种常见的辅助继电器。
1.通用辅助继电器M0~M499
通用辅助继电器按十进制地址编号M0~M499共500点(在FX型PLC中除了输入输出继电器外,其它所有器件都是十进制编号)。
2.断电保持辅助继电器M500~M1023(524点)
2.断电保持辅助继电器M500~M1023(524点) PLC在运行中若发生停电,输出继电器和通用辅助继电器全部成为断开状态。上电后,除了PLC运行时被外部输入信号接通的以外,其它仍断开。不少控制系统要求保持断电瞬间状态。断电保持辅助继电器就是用于此场合,断电保持是由PLC内装锂电池支持的。
3.特殊辅助继电器M8000~8255(256点)
3.特殊辅助继电器M8000~8255(256点) PLC内有256个特殊辅助继电器,这些特殊辅助继电器各自具有特定的功能。通常分为下面两大类。
①只能利用其接点的特殊辅助继电器。线圈由PLC自动驱动,用户只可以利用其接点。例如: M8000为运行监控用,PLC运行时M8000接通。 M8002为仅在运行开始瞬间接通的初始脉冲特殊辅助继电器。 M8012为产生100ms时钟脉冲的特殊辅助继电器。
②可驱动线圈型特殊辅助继电器,用户激励线圈后,PLC作特定动作,例如: M8030为锂电池电压指示灯特殊辅助继电器,当锂电池电压跌落时,M8030动作,指示灯亮,提醒PLC维修人员,需要赶快调换锂电池了。 M8033为PLC停止时输出保持特殊辅助继电器。 M8034为禁止全部输出特殊辅助继电器。 M8039为定时扫描特殊辅助继电器。 需要说明的是未定义的特殊辅助继电器不可在用户程序中使用。 辅助继电器的常开常闭接点在PLC内部可无限次的自由使用
(四)状态器S
状态器S是构成状态转移图的重要软器件,它与步进顺控指令配合使用。通常状态器软器件有下面五种类型: ①初始状态器So~S9共10点。 ②回零状态器S10~S1 9共10点。 ③通用状态器S20~S499共480点。 ④保持状态器S500~S899共400点。 ⑤报警用状态器S900~S999共l00点。这100个状态器器件可用作外部故障诊断输出。 状态器的常开和常闭接点在PLC内可以自由使用,且使用次数不限。不用步进顺控指令时,状态器5可以作为辅助继电器M在程序中使用。
(五)定时器T
定时器在PLC中的作用相当于一个时间继电器,它有一个设定值寄存器(一个字长),一个当前值寄存器(一个字长)以及无限个接,点(一个位)。对于每一个定时器,这三个量使用同一地址编号名称,但使用场合不一样,其所指也不一样。通常在一个PLC中有几十至数百个定时器T。
1.定时器的动作及地址编号
1.定时器的动作及地址编号
在PLC内定时器是根据时钟脉冲累积计时的,时钟脉冲有1ms、10ms、l00ms三档,当所计时间到达设定值时,输出接点动作。定时器可以用用户程序存储器内的常数K作为设定值。这里使用的数据寄存器应有断电功能。定时器的地址编号、设定值是这样规定的:
(1)常规定时器T0-T245100ms定时器TO~Tl99共200点,每个设定值范围为0.1~3276.7为10ms定时器T200~T245共46点,每个设定值范围(O.O1~327.67)s。图2-7是定时器的工作原理图。当驱动输人X0接通时,地址编号为T200的当前值计数器对10ms时钟脉冲进行累积计数,当该值与设定值K123相等时,定时器的输出接点就接通,即输出接点是在驱动线圈后驱动线圈后的l23×0.01=1.23s时动作。驱动输入X0断开或发生断电时,计数器就复位,输出接点也复位。
(2)积算定时器丁246~T255
1ms积算定时器T246~T249共4点,每点设定值范围为(0.00l~32.767)s;100ms积算定时器T250~T255共6点,每点没定值范围 (O.1~3276.7)s。图2-8是积算定时器工作原理图。当定时器线圈250的驱动输入X1接通时,T250的当前值计数器开始累积l00ms的时钟脉冲的个数,当该值与设定值K 345相等时,定时器的输出接点接通。当计数中间驱动输入X1断开或停电时,当前值可保持。输入X1再接通或复电时,计数继续进行,当累积时间为(0.1×345)s=34.5s时。输出接点动作。当复位输入X2接通时,计数器就复位,输出接点也复位。
2.接点的动作时序
2.接点的动作时序 接点动作次序如图2-9所示。定时器在其线圈被驱动后开始计时,到达设定值后,在执行第一个线圈指令时,其输出接点动作。从驱动定时器线圈到其接点动作称为定时器接点动作精度时间t: 式中,T为定时器设市时间。单位为s;T0为扫描周期,单位为s;α为定时器的时钟周期,1ms、10ms、100ms的定时器对应为队0.001,0.01,0.1,单位为s。
如果编程时定时器接点指令写在线圈指令之前,在最坏的情况下,定时器输出接点动作误差为+2T0。当定时器的设走值为零时,在下一扫描周期执行线圈指令时输出接点动作。另外,1ms定时器在执行线圈指今后,以中断方式对1ms时钟脉冲计数
(六)计数器C
1.内部信号计数器
内部信号计数器是在执行扫描操作时对内部器件(如X、Y、M、S、T和C)的信号进行计数的计数器,其接通时间和断开时间应比PLC的扫描周期稍长。
①l6位递加计数器,设定值为1-32767。其中,C0-C99共100点是通用型,C100-C199共100点是断电保持型。图2-l0表示了递加计数器的动作过程。图2-10a是梯形图,图2-10b是时序表。X11是计数输入,每当X11接通一次,计数器当前值加1。当计数器的当前为10时(也就是说计数输入达到第十次时)、计数器C0的输出接点接通。之后即使输入X11再接通,计数器的当前值也保持不变。当复位输入X10接通时,执行RST复位指令,计数器当前值复位为0,输出接点也断开。计数器的设定值,除了可由常数K设定外,还可间接通过指定数据寄存器来设定。
②32位双向计数器,设定值为-2l47483648~+2l47483647,其中C200~C2l9共20点是通用型,C220~C234共15点是断电保持型计数器。 32位双向计数器是递加型还是递减型计数由特殊辅助继电器M8200-M8234设定。特殊辅助继电器接通(置1)时,为递减计数;特殊辅助继电器断开(置0)时,为递加计数。 与16位计数器一样,可直接用常数K或间接用数据寄存器D的内容作为设定值。间接设定时,要用器件号紧连在一起的两个数据寄存器。图2-11示出了递加,递减计数器的动作原理。用X14作为计数输入,驱动C200计数器线图进行计数操作。当计数器的当前值由-6→-5(增大)时,其接点接通(置1);当计数器的当前值由-5→-6(减小)时,其接点断开(置0)。
当复位输入X13接通时,计数器的当前值就为0,输出接点也复位。 使用断电保持计数器,其当前值和输出接点均能保持断电时的状态。 32位计数器可当作32位数据寄存器使用,但不能用作16位指令中的操作目标器件。
2.高速计数器
高速计数器共2l点,地址编号C235~C255。但适用高速计数器输入的PLC输入端只有6点X0~X5。如果这6个输人端中的一个已被某个高速计数器占用,它就不能再用于其它高速计数器(或其它用途)。也就是说,由于只有6个高速计数输入端,最多只能用6个高速计数器同时工作。
高速计数器的选择并不是任意的,它取决于所需计数器的类型及高速输入端子。高速计数器的类型如下: 1相无启动/复位端子高速计数器C235~C240 l相带启动/复位端子高速计数器C241~C245 1相2输入(双向)高速计数器C246~C250 2相输入(A-B相型)高速计数器C251~C25; 上面所列计数器均为32位递增/递减型计数器。表2-2给出了各个高速计数器对应输入端子的名称
X6和X7也是高速输人,但只能用作启动信号而不能用于高速计数。不同类型的计数器可同时使用,但它们的输入不能共用。
高速计数器是按中断原则运行的,因而它独立于扫描周期,选定计数器的线圈应以连续方式驱动,以表示这个计数器及其有关输入连续有效,其它高速处理不能再用其输入端子。图2-12表明了高速计数器的输入。当X20接通时,选中高速计数器C235,而由表2-2中可查出,C235对应的计数器输入端为X0,计数器输入脉冲应为XO而不是X20。当X20断开时,线圈C235断开,同时C236接通,选中计数器C236,其计数脉冲输入端为X1。特别注意,不要用计数器输入端接点作计数器线圈的驱动接点,下面分别对4类高速计数器加以说明。
(1)l相l输入无启动/复位端高速计数器C235~C240
计数方式及接点动作与前述普通32位计数器相同。递加计数器时,当计数值达到设定值时,接点动作并保持;作递减计数时,到达计数值则复位。1相1输入计数方向取决于其对应标志M8×××(×××为对应的计数器地址号),C235~C240高速计数器各有一个计数输入端,如图2-13所示。现以C235为例说明此类计数器的动作过程。X10接通,方向标志M8235置位,计数器C235递减计数;反之递加计数。当X11接通,C235复位为0,接点C235断开。当X12接通,C235选中,从表2-2可知。对应计数器C235的输入为X0,C235对X0输入的脉冲信号进行计数。
(2)1相带启动/复位高速计数器C241~C245
计数器各有一个计数输入和一个复位输入。计数器C244和C245还有一个启动输入。现以图2-l4所示的C245为例说明此类高速计数器的动作过程。当方向标志M8245为通时,C245递减计数;M8245为断时,C245递加计数。当X14接通,C245高速计数器像普通32位计数器样复位。从表2-2中可知,C245还能由外部输入X3复位。计数器C245还有外部启动输入端X7。X7接通,C245开始计数;X7断开,C245停止计数。当X15选通C245,对X2输入端的脉冲进行计数。需要说明的是对C245设置D0,实际上是设置D0 D1,因为计数器为32位。而外部控制启动X7和复位X3是立即响应的,它不受程序扫描周期的影响。
(3)l相2输入双向高速计数器C246~C250
关注作者了解更多
我的其他CSDN专栏
关注作者了解更多
资料来源于网络,如有侵权请联系编者