0.1 PLC原理
1.PLC实现控制要点
入出信息变换和可靠物理实现,可以说是PLC实现控制的两个基本要点。
入出信息变换是把所检测到的输入量转换为输出量,以实现对系统的控制。办法是通过运行存储于PLC内存中的程序。PLC程序既有生产厂商开发的、内装在PLC中的系统程序(这程序又称监控程序,或操作系统),又有用户自行开发的、后装入PLC中的应用(用户)程序。系统程序为用户程序提供编辑与运行平台,同时,还进行必要的公共处理,如自检、I/O刷新、与外设、上位计算机或其它PLC通信等处理。用户程序由用户按照控制的要求设计。什么样的控制要求,就应有什么样的用户程序。
可靠物理实现主要靠输入(I,INPUT)电路检测输入量,靠输出(O,OUTPUT)电路输出控制量。PLC的I/O电路都是专门设计的。输入电路要对输入信号进行滤波,以去掉干扰,而且与内部微处理器电路是电隔离的,通过光的耦合建立联系。输出电路与内部也是电隔离的,用光或磁的耦合建立联系。输出电路还要进行功率放大,以足以带动一般的工业控制元器件,如电磁阀、接触器等。I/O电路是很多的。一般讲,每一输入点或输出点都要有1个I或O电路。有多少I/O点,也就有多少个这样电路。而且,总是把若干个这些电路集成在1个模块(或箱体)中,然后再由若干个模块(或箱体)集成为PLC完整的I/O系统(电路)。尽管这些模块相当多,占了PLC体积的大部分,但由于它们都是高度集成化的,所以,PLC的体积还是不大的。
输入电路时刻监视着输入点的状态(通、ON或断、OFF),并将此状态暂存于它的输入暂存器中。每一输入点都有一个与其对应的输入暂存器。
输出电路有输出锁存器。只要其控制输出没有新的改变,原有状态可锁存。同时,它还有相应的物理电路,可把这个状态传送给输出点。每一输出点都有一个与其对应的输出锁存器。
这里的输入暂存器及输出锁存器实际是PLCI/O口的寄存器。它们与PLC内存交换信息通过PLCI/O总线及运行PLC的系统程序实现。
把输入暂存器的信息读到PLC的内存中,称输入刷新。PLC内存有专门开辟的存放输入信息的映射区。这个区的每一对应位(bit)称为输入继电器,或称软触点,或称为过程映射输入寄存器(the process-imageinput register)。由于它的状态是由输入刷新得到的,所以,它反映的就是输入点的状态。
输出锁存器与PLC内存中的输出映射区也是对应的。一个输出锁存器也有一个内存位(bit)与其对应,这个位称为输出继电器,或称输出线圈,或称为过程映射输出寄存器(the process-imageoutput register)。通过PLCI/O总线及运行系统程序,输出继电器的状态将映射给输出锁存器。这个映射的完成也称输出刷新。
PLC除了有可接收开关信号的输入电路,有时,还有可接收模拟信号的输入电路(称模拟量输入单元或模块)。只是后者先要进行模、数转换,然后,再把转换后的数据存入PLC相应的内存单元中。
如要产生模拟量输出,则要配有模拟输出电路(称模拟量输出模块或单元)。靠它对PLC相应的内存单元的内容进行数、模转换,并产生输出。
这样,用户所要编的程序只是PLC输入有关的内存区到输出有关的内存区的变换。特别是怎么按输入的时序变换成输出的时序。这是一个数据及逻辑处理问题。由于PLC有强大的指令系统,编写出满足这个要求的程序是完全可能的。
图0-1对以上叙述做了说明。其中框图代表信息存储的地点,箭头代表信息的流向及实现信息流动的手段。此图既反映了PLC实现控制的两个基本要点,同时也反映了信息在PLC中的空间关系。
图0-1 PLC实现控制示意图
2.PLC实现控制过程
简单地说,PLC实现控制的过程一般是:输入刷新→运行用户程序→输出刷新,再输入刷新→再运行用户程序→再输出刷新……永不停止地循环反复地进行着。
图0-2所示的流程图反映的就是上述过程。它也反映了信息间的时间关系。
有了上述过程,用PLC实现控制显然是可能的。因为:有了输入刷新,可把输入电路监视得到的输入信息存入PLC的输入映射区;经运行用户程序,输出映射区将得到变换后的信息;再经输出刷新,输出锁存器将反映输出映射区的状态,并通过输出电路产生相应的输出。又由于这个过程是永不停止地循环反复地进行着,所以,输出总是反映输入的变化的,只是在响应的时间上略有滞后。当然,这个滞后不宜太大,否则,所实现的控制会不那么及时,也就失去了控制的意义。
提示:速度快、执行指令时间短,是PLC实现控制的基础。没有高速度也就没有PLC。
图0-2 PLC工作流程图
事实上,它的速度是很快的,执行一条指令,多的几微秒、几十微秒,少的才零点几或零点零几微秒。而且这个速度还在不断提高中。
图0-2所示的是简化的过程,实际的PLC工作过程还要复杂些。除了I/O刷新及运行用户程序外,还要做些公共处理工作,即循环时间监视、外设服务及通信处理等。
循环时间监视的目的是避免用户程序“死循环”,保证PLC能正常工作。避免用户程序“死循环”的办法是用“看门狗”(Watching dog),这也是一般微处理器系统常用的做法。具体的是设一个定时器,监测用户程序的运行时间,只要循环超时,即报警,或作相应处理。
外设服务是让PLC可接受编程器对它的操作,或通过接口向输出设备输出数据。
通信处理是实现与计算机或与其它PLC或与智能操作器、传感器进行信息交换。这也是增强PLC控制能力的需要。
也就是说,实际的PLC工作过程是:公共处理——I/O刷新——运行用户程序——再公共处理——……反复不停地重复着。
此外,如同普通计算机,PLC上电后,也要进行系统自检及内存的初始化工作,为PLC的正常运行提供保证。
3.PLC实现控制方式
用这种不断地重复运行程序实现控制,称扫描方式。此外,还有中断方式。在中断方式下,需处理的控制先请求中断,被响应后,PLC的CPU停止正在运行的程序,转而去处理有关的中断请求,运行有关的中断服务程序。待处理完中断,又返回运行原来程序。哪个控制需要处理,哪个控制就去请求中断。显然,中断方式与扫描方式是不同的。
中断方式也可称为事件触发方式。有了事件发生,即去处理有关的事件处理程序。否则,PLC处于待机状态。
在中断方式下工作,PLC的硬件资源能得到充分利用,紧急的任务也能得到及时处理。但是,如果在一个时间内同时有若干个中断触发,怎么办?为此,就要对中断划分等级。根据任务紧急或重要程度的不同,赋予不同的等级。显然,这就复杂了。特别是完全都用中断方式工作,就更复杂了。
较好的办法是用扫描加中断,在扫描方式为主的情况下,加对紧急任务的中断。即大量控制都用扫描方式处理,个别急需的用中断处理。这样,既可做到照顾全局,又可应急处理个别紧急或重要的事件。目前,PLC用的几乎都是这种方式。
此外,计算机操作系统的多任务机理目前也已在PLC中有所应用。这样的PLC可分时并行运行多个程序,而且不同的程序可赋以不同的循环运行时间间隔。这将提高PLC应对复杂工作控制的能力。
再就是还出现有多CPU的PLC。主控与工作协调由主CPU管理;专门工作,如通信、信息处理、运动控制等,由专门CPU管理。这样的PLC,其功能及性能都可全方位得以增强与提升。
除了中断、多任务、多CPU,还可用立即I/O刷新或主动I/O刷新的方法加速或主动实现信号响应。立即I/O刷新含义是:PLC在执行程序时,对个别需要即时读入的信号,及时读入,并把结果即时向外输出,不一定非等到I/O刷新时才作这种入、出转换。主动I/O刷新是指,如AB公司的PLC有的输入、输出可以设置为生产者或消费者,可按所设定时间间隔或条件变化由I/O模块主动刷新I/O数据。立即刷新往往与中断并用,可使输出得以更快响应输入;而主动刷新则是全新的I/O刷新机制,既可改善I/O刷新效果,还可减轻PLC CPU的负担。
提示:由于扫描加中断、多任务、多CPU与I/O刷新的进步,加上PLC工作速度的提高,当今较先进的PLC在毫秒内实现对外部信号的响应,检测与输出每秒几十、几百k甚至更高频率的脉冲信号,已是可能了。
PLC的实际工作过程比这里讲的还要复杂一些,但简单地讲,大体上就是:在空间上,由I/O电路进行入出变换、物理实现;在时间上,用扫描方式运行程序,并辅以中断、多任务、多CPU及立即或主动刷新。弄清楚这些问题,也就好理解PLC是怎样去实现控制的,也就好把握住PLC基本原理的要点了。
当然,由于PLC技术的快速发展,PLC的工作过程与方式也会有所变化,也是与时俱进!