PLC 工作原理与内部存储器使用规则(一)
编前语:这是一篇对PLC的认识提出全新概念的、并把PLC工作原理解释得准确、清楚、明白的技术文章。其理论分析的方法,探讨问题的角度,与通常可见的书籍文章有较大的不同。现在推荐给《电子报》的读者,希望能对从事PLC项目策划、开发、编程与运行维护的人员有所帮助。大家阅读后有什么收获、感想或意见,可向“机电技术版”的《PLC技术》栏目反馈,对于此类反馈意见或稿件,哪怕是只言片语,本版将尽快、优先发表,以方便与PLC技术爱好者进行沟通与交流。
PLC工作原理与内部存储器使用规则(一)
许多工程技术人员在进行PLC硬件设计时经常错误地使用内部存储器,结果造成编写出来的用户程序不是运行错误就是无法运行,究其原因,主要是这些技术人员没有真正弄懂PLC的工作原理和不清楚PLC内部存储器使用规则而导致的。因此本人特撰此文,对PLC的工作原理和存储器使用规则进行全方位的解读,以求能对这些技术人员有所帮助。
一. PLC的内部构成
PLC内部结构的实物样式如图1所示。
从PLC内部电路的具体结构来看,PLC主要由单片机、存储器、I/O接口和电源四大部分构成,如图2所示。
1. 单片机
目前的PLC中,普遍釆用单片微型计算机作为PLC的控制中枢。
单片机主要由CPU和存储器构成,在图2中,单片机中的存储器被表示成了输入镜像寄存器、输出镜像寄存器和辅助镜像寄存器。
单片机中的存储器被表示成输入镜像寄存器、输出镜像寄存器和辅助镜像寄存器,是因为这些存储器被专门用来临时寄存一下CPU运算时所需要的数据,以及临时寄存一下CPU运算的结果,同时因为这些寄存器中的数据状态与PLC存储器中的数据状态始终保持着一种“镜像”关系,因此,单片机中的存储器就被人们俗称为“镜像寄存器”,并根据它们的不同用途又把镜像寄存器分别称作输入镜像寄存器、输出镜像寄存器和辅助镜像寄存器。
输入镜像寄存器、输出镜像寄存器和辅助镜像寄存器在PLC中的作用有两个—一是寄存信号状态(输入镜像寄存器专门寄存从输入存储器釆集来的信号状态,输出镜像寄存器专门寄存从输出存储器釆集来的信号状态以及经逻辑运算后需要送给输出存储器的运算结果,辅助镜像寄存器专门寄存从辅助存储器采集来的信号状态以及经逻辑运算后需要送给辅助存储器的运算结果);二是把它们的信号状态作为运算数据供CPU调用和运算。
CPU主要功能有两个,即执行系统程序(管理和控制PLC的运行、解释二进制代码所表示的操作功能、检査和显示PLC的运行状态)和执行用户程序(读取各个镜像寄存器的信号状态、对信号状态进行运算处理、输出数据的运算结果)。
2. 存储器
PLC中的存储器,包括输入存储器、输出存储器、辅助存储器、系统程序存储器和用户程序存储器五部分。
输入存储器、输出存储器和辅助存储器在PLC中具有双重作用—既是一种“执行元件”(输入存储器存储主令电器的信号状态、输出存储器存储被控电器的信号状态、辅助存储器存储运算结果的信号状态),同时又是一种“编程元件”(用存储器的“1”状态来代表被控电器线圈的得电、同时代表主令电器及被控电器的常闭触头断开和常开触头闭合,用存储器的“0”状态来代表被控电器线圈的失电、同时代表主令电器及被控电器的常开触头断开和常闭触头闭合;再用某种程序语言描述出由常开触头、常闭触头和线圈串并联连接而成的主令电器与被控电器之间的逻辑控制关系,就编制成了用户程序)。
系统程序存储器专门用来存放厂家写进去的系统程序。
用户程序存储器专门用来存放用户写进去的用户程序(也称应用程序或控制程序)。
3. I/O接口
输入/输出接口简称I/O接口。
输入接口是主令电器与PLC之间的联系桥梁。输入接口的主要作用有两个—一是把主令电器的接通状态或断开状态转换成高电平信号或低电平信号;二是把高电平信号或低电平信号存储进输入存储器,达到用输入存储器的“1”状态代表主令电器的接通、用输入存储器的“0”状态代表主令电器的断开的目的。
输出接口是PLC与被控电器之间的联系桥梁。输出接口的主要作用是把输出存储器的“1”状态转换成被控电器回路的接通信号、把输出存储器的“0”状态转换成被控电器回路的断开信号,达到用输出存储器的状态控制被控电器运行状态的目的。
4. 电源
电源是PLC的能源供给中心,它采用性能优良的开关稳压电源,将220V交流市电整流滤波稳压成各种直流电压,除为PLC内部各部分电路提供电源外,还可为PLC外部的电器提供24V的直流电源。
二. PLC的工作原理
实际上,只有从PLC系统程序的运行过程、PLC实现“万能虚拟接线网络”的原理和PLC用户程序的执行过程这三个视角对PLC进行全方位的解读,才能真正弄懂PLC的工作原理。
1. PLC系统程序的运行过程
PLC的系统程序是采用“顺序进行、不断循环”的扫描方式进行工作的,即首先进行内部处理、接着进行通信处理、然后进行信号处理、再进行程序处理、最后进行输出处理、再回过头来从内部处理开始……就这样周而复始地一直循环工作下去,如图3所示。
PLC有两种工作模式—RUN(运行)模式和STOP(编程)模式。(注:STOP原意是停止运行程序,但易被领会为停止工作,故我们将其改称为编程)。当PLC处于STOP(编程)模式时,PLC只进行内部处理和通信处理;当PLC处于RUN(运行)模式时,PLC不但要进行内部处理和通信处理,还要进行信号处理、程序处理和输出处理。
PLC进行内部处理时,CPU将对PLC内部的所有硬件进行自检,如果发现严重性故障,则强行停机并切断所有的输出;如果发现一般性故障,则进行报警但不停机;如果没有发现故障,则自动转入通信处理阶段。
PLC进行通信处理时,CPU将检测各通信接口的状态,如果有通信请求,则与编程器交换信息、与微机通信或与网络交换数据;如果没有通信请求,则自动转入信号处理阶段。
PLC进行信号处理时,CPU并不是单纯地只对输入信号进行采样,而是首先通过输入接口把各个主令电器的通断状态存储进对应的输入存储器,然后将同时进行三方面信号的处理—即将输入存储器当前的信号状态寄存到对应的输入镜像寄存器中、将辅助存储器当前的信号状态寄存到对应的辅助镜像寄存器中、将输出存储器当前的信号状态寄存到对应的输出镜像寄存器中。信号处理完成后,将自动转入程序处理阶段。
PLC进行程序处理时,CPU从第一条程序开始,首先对用户程序指定的输入镜像寄存器或者辅助镜像寄存器或者输出镜像寄存器的信号状态进行用户程序规定的逻辑运算,然后用所得的运算结果去改写相应的辅助镜像寄存器或者输出镜像寄存器的信号状态;接着进行第二条程序的运算,并再次用所得的运算结果去改写相应的辅助镜像寄存器或者输出镜像寄存器的信号状态;再进行第三条程序的运算……当运算到最后一条程序“END”时,程序处理结束,将自动转入输出处理阶段。
PLC进行输出处理时,CPU也不是单纯地只进行输出驱动处理,而是首先对辅助存储器和输出存储器的信号状态进行刷新,即把辅助镜像寄存器中的信号状态写到对应的辅助存储器中,把输出镜像寄存器中的信号状态写到对应的输出存储器中,以便于下一循环进行信号采集,然后才允许输出存储器把刷新后的信号状态通过输出接口去控制被控电器的运行。
(未完待续)
无锡 周秀明