西门子PLC模块全国供应商
西门子PLC模块全国供应商
PLC的工作原理
PLC是基于电子计算机的工业控制器,从PLC产生的背景来看,PLC系统与继电器控制系统有着极深的渊源,因此一个继电器控制系统必然包含:输入部分、逻辑电路部分和输出部分。输入部分的组成元件大体上是各类按钮、转换开关、行程开关、接近开关、光电开关等;输出部分则是各种电磁阀线圈、接触器、信号指示灯等执行元件。将输入与输出联系起来的就是逻辑电路部分,一般由继电器、计数器、定时器等器件的触点、线圈按照要求的逻辑关系连接而成,能够根据一定的输入状态输出所要求的控制动作。
PLC系统也同样包含这三部分,唯一的区别是,PLC的逻辑电路部分用软件来实现,用户所编制的控制程序体现了特定的输入/输出逻辑关系。举例来说,如图2所示为一个典型的起动/停止控制电路,由继电器元件组成。电路中有两个输入,分别为起动按钮(SB1)、停止按钮(SB2);1个输出为接触器KM。图中的输入/输出逻辑关系由硬件连线实现。
继电器起动/停止控制电路
当用PLC来完成这个控制任务时,可将输入条件接入PLC,而用PLC的输出单元驱动接触器KM,它们之间要满足的逻辑关系由程序实现。与图2等效的PLC等效电路。
两个输入按钮信号经过PLC的接线端子进入输入接口电路,PLC的输出经过输出接口、输出端子驱动接触器KM;用户程序所采用的编程语言为梯形图语言。两个输入分别接入X403和X407端口,输出所用端口为Y432,图中只画出8个输入端口和8个输出端口,实际使用时可任意选用。输入映像对应的是PLC内部的数据存储器,而非实际的继电器线圈。
图中的X400~X407、Y430~Y437分别表示输入、输出端口的地址,也对应着存储器空间中特定的存储位,这些位的状态(ON或者OFF)表示相应输入、输出端口的状态。每一个输入、输出端口的地址是唯一固定的,PLC的接线端子号与这些地址一一对应。由于所有的输入、输出状态都是由存储器位来表示的,它们并不是物理上实际存在的继电器线圈,所以常称它们为“软元件”,它们的常开、常闭触点可以在程序中无限次使用。
PLC的工作过程以循环扫描的方式进行,当PLC处于运行状态时,它的运行周期可以划分为3个基本阶段:输入采样阶段、程序执行阶段、输出刷新阶段。
1.输入采样阶段
在这个阶段,PLC逐个扫描每个输入端口,将所有输入设备的当前状态保存到相应的存储区,我们把专用于存储输入设备状态的存储区称为输入映像寄存器,图3中以线圈形式标出的X403、X407,实际上是输入映像寄存器的形象比喻。
输入映像寄存器的状态被刷新后,将一直保存,直至下一个循环才会被重新刷新,所以当输入采样阶段结束后,如果输入设备的状态发生变化,也只能在下一个周期才能被PLC接收到。
2.程序执行阶段
PLC将所有的输入状态采集完毕后,进入用户程序的执行阶段。所谓用户程序的执行,并非是系统将CPU的工作交由用户程序来管理,CPU所执行的指令仍然是系统程序中的指令。在系统程序的指示下,CPU从用户程序存储区逐条读取用户指令,经解释后执行相应动作,产生相应结果,刷新相应的输出映像寄存器,期间需要用到输入映像寄存器、输出映像寄存器的相应状态。
当CPU在系统程序的管理下扫描用户程序时,按照先上后下、先左后右的顺序依次读取梯形图中的指令。用户程序为例,CPU首先读到的是常开触点X403,然后在输入映像寄存器中找到X403的当前状态,接着从输出映像寄存器中得到Y432的当前状态,两者的当前状态进行“或”逻辑运算,结果暂存;CPU读到的下一条梯形图指令是X407的常闭触点,同样从输入映像寄存器中得到X407的状态,将X407常闭触点的当前状态与上一步的暂存结果进行逻辑“与”运算,*后根据运算结果得到输出线圈Y432的状态(“ON”或者“OFF”),并将其保存到输出映像寄存器中,也就是对输出映像寄存器进行了刷新。请注意,在程序执行过程中用到了Y432的状态,这个状态是上一个周期执行的结果。
当用户程序被完全扫描一遍后,所有的输出映像都被依次刷新,系统将进入下一个阶段,即输出刷新阶段。3.输出刷新阶段
在这个阶段,系统程序将输出映像寄存器中的内容传送到输出锁存器中,经过输出接口或输出端子输出,驱动外部负载。输出锁存器一直将状态保持到下一个循环周期,而输出映像寄存器的状态在程序执行阶段是动态的。
4.总结
根据上述过程的描述,可对PLC工作过程的特点总结如下:
1)PLC采用集中采样、集中输出的工作方式,这种方式减少了外界干扰的影响。
2)PLC的工作过程是循环扫描的过程,循环扫描时间的长短取决于指令执行速度、用户程序的长度等因素。
3)输出对输入的响应有滞后现象。PLC采用集中采样、集中输出的工作方式,当采样阶段结束后,输入状态的变化将要等到下一个采样周期才能被接收,因此这个滞后时间的长短又主要取决于循环周期的长短。此外,影响滞后时间的因素还有输入电路滤波时间、输出电路的滞后时间等。
4)输出映像寄存器的内容取决于用户程序扫描执行的结果。
5)输出锁存器的内容,由上一次输出刷新期间输出映像寄存器中的数据决定。
6)PLC当前实际的输出状态,由输出锁存器的内容决定。
需要补充说明的是,当系统规模较大、I/O点数众多、用户程序比较长时,单纯采用上面的循环扫描工作方式会使系统的响应速度明显降低,甚至会丢失、错漏高频输入信号,因此大多数大中型PLC在尽量提高程序指令执行速度的同时,也采取了一些其他措施来加快系统响应速度。例如采用定周期输入采样、输出刷新,直接输入采样、直接输出刷新,中断输入、输出,或者开发智能I/O模块,模块本身带有CPU,可以与主机的CPU并行工作,分担一部分任务,从而加快整个系统的执行速度。