1.可编程序控制器的等效电路
PLC可看作一个执行逻辑功能的工业控制装置。其中,CPU完成逻辑运算功能,存储器用来保持逻辑功能。因此,可把图1-2转变成类似于继电器控制的等效电路图,如图1-3所示。
图1-3 PLC的等效电路
PLC的等效电路可分为三部分,即输入部分、内部控制电路和输出部分。
(1)输入部分
这部分的作用是收集被控设备的信息或操作命令。输入端子是PLC与外部开关(行程开关、转换开关、按钮开关等)、敏感元件等交换信号的端口。输入继电器(如图1-3中0.00、0.01等)由接到输入端的外部信号来驱动,其驱动电源可由PLC的电源组件提供(如DC24V),也可以由独立电源供给。等效电路中的一个输入继电器,实际对应于PLC输入端的一个输入点及其对应的输入电路。例如,一个PLC有16个输入点,那么它相当于有16个微型输入继电器置于PLC内部,并与输入端子相连,可作为PLC编程时使用的常开触点和常闭触点。
(2)内部控制电路
这部分控制电路由用户根据控制要求编制的程序组成,其作用是按用户程序的控制要求对输入信息进行运算处理,判断哪些信号需要输出,并将得到的结果输出给负载。
PLC内部有许多软器件,如定时器(TIM)、计数器(CNT)、辅助继电器(如图1-3中的20.00)等,它们在PLC内部都有各自成对的、用软件实现的常开触点(高电平状态)和常闭触点(低电平状态)。编写的梯形图是将这些软器件进行内部连线,完成被控对象的控制要求。梯形图是从继电器控制的电气原理图演变而来的,继电器控制电路的元件图如图1-4a所示;PLC梯形图所用器件与此类似,如图1-4b所示。
图1-4 PLC梯形图器件与继电器控制电路元件的对应关系
a)继电器原理图元件 b)PLC梯形图元件
(3)输出部分
这部分的作用是驱动外部负载。输出端子是PLC向外部负载输出信号的端子。如果一个PLC的输出点为8点,那么PLC就有8个输出继电器。PLC输出继电器(如图1-3中的5.00、5.01等)的触点与输出端子相连,通过输出端子驱动外部负载,如接触器的驱动线圈、信号灯、电磁阀等。
输出继电器除提供一个供实际使用的常开触点外,还提供PLC内部使用的许多对常开和常闭软触点,数量不限,便于编程。根据用户的负载要求可选用不同类型的负载电源。此外,PLC还有晶体管输出和晶闸管输出,前者一般用于直流输出,后者一般用于交流输出。但两者采用的都是无触点输出,运行速度快。
下面以三相鼠笼式异步电动机起/停控制电路为例,讲述PLC控制系统的基本工作过程,以使读者加深对上述等效电路的理解。
【例1-1】 利用PLC改造三相笼型异步电动机起/停继电器控制系统。
图1-5b给出了电动机的继电器控制电路,当按下起动按钮SB1时,交流接触器KM的线圈接通,其主触点闭合,电动机起动,同时KM的另一个辅助触点也闭合,SB1断开后接触器仍保持接通状态。当按下停车按钮SB2时,KM线圈断开,电动机停转。
图1-5 三相异步电动机起/停控制电路
a)主电路 b)控制电路
PLC的电动机起/停控制电路如图1-6所示。其电气线路的主电路如图1-5a所示。图1-6a中PLC的输入端0.00接起动按钮SB1,0.01接停车按钮SB2(常开触点);在PLC的输出端5.00接接触器线圈KM,输入输出公共端(COM)分别接电源。用编程设备将图1-6b中梯形图程序输入PLC内,PLC即可按照这一控制程序工作。当按下SB1时,输入继电器0.00线圈接通,内部控制电路中的常开触点0.00闭合,输出继电器线圈5.00接通,内部控制电路中的常开触点5.00闭合产生自保持,同时5.00输出端的输出继电器外部硬件常开触点接通,使接触器KM线圈通电,电动机运转。当按下SB2时,输入继电器0.01线圈接通,内部控制电路的常闭触点0.01断开,输出继电器线圈5.00断开,常开触点5.00断开,电动机停转。当负载(电动机)电流较小时,可将PLC输出点直接与负载相连。
图1-6 PLC控制电路
a)PLCI/O连线图 b)PLC梯形图
分析此例可以看到,继电器控制是将各自独立的器件及触点以固定接线方式来实现控制要求的,而PLC是将控制要求以程序形式(软件编程)存储在其内部,这些程序就相当于继电器控制的各种线圈、触点和接线,当需要改变控制要求时,只需修改程序,而不用改变接线,因此增加了控制的灵活性和通用性。PLC的编程语言及指令参见第3章。
2.可编程序控制器的工作方式
PLC与继电器控制的重要区别之一就是工作方式不同。继电器控制是按“并行”方式工作的,即同时执行的方式工作的,只要形成电流通路,就可能有几个电器同时动作。而PLC采用串行循环扫描的工作方式,所谓扫描,就是CPU从第一条指令开始执行程序,直到最后一条(结束指令)。扫描过程大致分为以下三个阶段。
(1)输入采样(刷新)阶段
在第n个扫描周期,首先进行的是读入现场信号,这一阶段即输入采样阶段,PLC依次读入所有输入状态和数据,并将它们存入输入映像寄存器区(存储器输入暂存区)中相应的单元内。输入采样结束后,如果输入状态和数据发生变化,PLC也不再响应,输入映像寄存器区中相应单元的状态和数据保持不变,要等到第n+1个扫描周期才能读入。
(2)用户程序执行阶段
各PLC生产厂家针对广大电气技术人员和电工熟悉继电器控制电路(电气控制原理图)的特点,开发了简单易学的PLC梯形图,这种编程语言具有形象和直观的特点。在用户程序执行阶段,CPU将指令逐条调出并执行,其过程是从梯形图的第一个梯级开始自上而下依次扫描用户程序,在每一个梯级,又总是按先左后右、先上后下的顺序扫描用户程序。梯形图指令是与梯形图上的条件相适应的指令。每个指令需要一行助记符代码,程序以助记符形式存储在存储器中。在执行指令时,从输入映像寄存器或输出映像寄存器中读取状态和数据,并依照指令进行逻辑运算和算术运算,运算的结果存入输出映像寄存器区中相应的单元。在这一阶段,除了输入映像寄存器的内容保持不变外,其他映像寄存器的内容会随着程序的执行而变化,排在上面的梯形图指令的执行结果会对排在下面的凡是用到状态或数据的梯形图起作用。
(3)输出刷新阶段
输出刷新阶段也称为写输出阶段,CPU将输出映像寄存器的状态和数据传送到输出锁存器,再经输出电路的隔离和功率放大,转换成适合于被控制装置接收的电压、电流或脉冲信号,驱动接触器、电磁铁、电磁阀及各种执行器,此时才是PLC真正的输出。
PLC的一个扫描过程除了完成上述三个阶段的任务外,还要完成内部诊断、通信、公共处理,以及输入/输出服务等辅助任务。普通继电器的动作时间大于100ms,一般PLC的一个扫描周期小于100ms,例如,欧姆龙公司的CJ1系列PLC执行30000步程序的扫描周期时间仅为1.2ms。
对于继电器控制电路,根据工艺要求,操作人员可以随时进行操作,因此,PLC只扫描一个周期是无法满足要求的,必须周而复始地进行扫描,这就是循环扫描。在扫描时间小于继电器动作时间的情况下,继电器硬逻辑电路的并行工作方式和PLC的串行工作方式的处理结果是相同的。但是,PLC的这种“串行”工作方式可以有效地避免继电器控制系统中易出现的触点竞争和时序失配的问题。下面以CP1HPLC为例,介绍其工作过程,如图1-7所示。
系统上电以后,CPU首先进行初始化工作,即检查系统中的I/O单元是否连接正确,然后检查系统硬件与程序存储器单元是否正常,如果正常则表示自检通过,可执行后续功能。若自检中有一项不通过,则要发出报警信号。(www.daowen.com)
图1-7 CP1H PLC的工作过程框图
CP1H PLC有两种报警情况,一种是CPU只发出报警信号,但不中止运行,此时CPU面板上的ALARM指示灯闪烁;另一种情况是导致CPU中止运行的严重错误,此时CPU面板上的ERROR指示灯常亮,直至用户排除故障为止。
CPU完成自检以后执行用户程序,从梯形图左母线开始由上至下,由左向右逐个扫描每个梯级的每个元素,进行运算,此时CPU只是与映像区进行数据交换,读取输入数据,送出输出信号。当CPU执行到END指令时,表示程序段结束,则此次扫描用户程序结束。
CPU计算扫描一次用户程序的时间是否超过预置的最小扫描周期,如果超限,系统将报警。
接着CPU执行I/O操作,这时才与外部I/O设备交换数据,从输入单元的端子上读取输入信号状态并刷新映像区的输入部分,把映像区中输出寄存器的输出信号输出到输出单元的端子上,控制外部设备。
最后,CPU还要执行外部设备服务,包括RS-232C串行端口数据交换,进行上位链接服务,读取并执行外设命令,以及通信单元的链接服务等工作。
3.扫描周期
PLC周而复始地扫描执行图1-7中①~⑤项内容,每一次执行的时间称为扫描周期,完成一个周期后又重新执行上述过程。扫描周期的长短取决于系统配置、I/O点数、所用的编程指令以及是否接有外设。当用户程序较长时,指令执行时间在扫描周期中将占相当大的比例。
扫描周期是PLC的重要指标之一。当CP1H处于运行模式时,利用CX-P编程软件的监视功能或利用手持编程器的监视操作,可以读出扫描周期的最大值和当前值。在PLC内部,监视定时器,俗称“看门狗”(Watch Dog Timer,WDT)用来检测扫描周期并和设定值进行比较,若扫描周期超出了监视定时器的设定值,CPU单元停止运行。此时,特殊辅助继电器的周期时间超时标志置为“1”(ON)。监视定时器一般是在系统上电时由系统程序设定的,但是用户可以根据需要利用WDT指令修改设定值,以适应较多I/O点数的系统。
扫描周期会因为中断处理、诊断和故障处理、测试和调试功能、通信等事件而延长。为了缩短周期时间,可以采用“将不执行的任务转为待机”或者“将不执行的程序区域插入JMP-JME指令跳过”的处理方法。
4.中断
在循环扫描过程中,有时会遇到必须对某个信息进行立即处理,以加快响应速度的情况,因此需引入中断功能,在循环扫描的各个阶段都可以响应中断信号。
(1)外部信号中断
外部信号中断是指来自现场的信号所引发的中断,用以保证某些设备的快速响应。在欧姆龙公司的CS1系列PLC中,外部I/O中断是指来自特殊I/O单元、CS1特殊单元及内插板的中断。中断控制指令包括设置中断屏蔽、读中断屏蔽、清除中断、禁止中断及允许中断等指令。
(2)定时中断
定时中断是通过CPU单元的内置定时器,在预定的时间产生中断。当内置定时器预定的时间到时,其定时信号使CPU中断循环扫描,转而去执行一个指定的程序段,执行结束后CPU从中断点处继续向下循环扫描。
(3)I/O中断
在模块式PLC中配有专用的中断单元,它可以实现中断功能,如欧姆龙公司的C200Hα系列、CS1系列,以及CJl系列PLC都有相应的中断输入单元。
(4)快速响应输入
有些小型PLC为了弥补循环扫描的不足,设计了快速响应输入功能。例如,欧姆龙公司的CP1系列PLC就设计了快速响应输入功能,0.00~0.03、1.00~1.03这8个输入端子为快速响应输入端子,PLC可以不受循环扫描的限制随时捕捉最小宽度为50μs的瞬间脉冲。
5.I/O响应时间
响应时间是指PLC接收到一个输入信号以后,到输出控制信号所需的时间。当CPU接收到对应于输入刷新周期的输入信号时,用于响应的时间取决于扫描周期。
(1)单个PLC的最小I/O响应时间
当PLC恰巧在更新输入的扫描阶段优先接收到一个输入信号时,响应最快。此时响应时间等于PLC的扫描时间加上输入ON延迟时间和输出ON延迟时间,如图1-8所示。
图1-8 最小I/O响应时间
(2)单个PLC的最大I/O响应时间
当PLC恰好在更新输入的扫描阶段之后收到输入信号,则响应时间最长。这是因为CPU要到下一次扫描的末尾才能读取输入信号,所以最大响应时间是输入ON延迟时间与输出ON延迟时间加两次扫描时间之和,如图1-9所示。
图1-9 最大I/O响应时间
由图1-9可知,输入采样(刷新)阶段和输出刷新阶段都是在一个扫描周期的适当期间进行的,而且是集中输入和集中输出,这就导致了输出信号对于输入信号响应的滞后,响应时间最长为2个扫描周期。以欧姆龙公司的C200Hα系列PLC为例,扫描30K步程序的周期是33.7ms(条件:基本指令占50%,MOV指令占30%,算术指令占20%),则最长响应时间是67.4ms。对于一般的工业系统,这种循环刷新所带来的滞后时间是能够接受的,但是对于要求快速响应的场合,则需要采取以下措施。
1)定时刷新。定时刷新是在用户程序执行阶段中,每隔一定时间对输入映像寄存器进行一次刷新,从而减少了滞后时间。
2)执行刷新指令。有些PLC使用专用指令对某个输入映像寄存器或输出映像寄存器进行刷新。例如,欧姆龙公司的C200Hα系列PLC的I/O刷新指令IORF(97),用户可随时刷新指定的I/O单元。
3)执行指令即时刷新。欧姆龙公司的CS1/CJ1系列PLC与CP1H PLC,常规的输入指令是LD、AND、OR、LD NOT、AND NOT及OR NOT,常规的输出指令是OUT及OUT NOT。常规的I/O刷新是指CPU的内存与I/O单元的状态和数据交换,而即时刷新是对指令所访问字(通道)的I/O单元进行状态和数据交换,一个即时刷新包括指定通道的8个位(最左或最右8位)。即时刷新梯形图如图1-10所示,图中支持即时刷新的指令为!LD和!OUT,第3章中将详细介绍。
图1-10 即时刷新梯形图示例
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。