安全研究之—西门子…
时间:2020-09-25 作者:安帝科技
可编程逻辑控制器,英文Programmable Logic Controller(PLC)。它是一个以微处理器为核心的数字运算操作的电子系统装置,专为在工业现场应用而设计,它采用可编程序的存储器,用以在其内部存储执行逻辑运算、顺序控制、定时/计数和算术运算等操作指令,并通过数字式或模拟式的输入、输出接口,控制各种类型的机械或生产过程。
一、PLC的结构及各部分的作用
PLC的类型繁多,功能和指令系统也不尽相同,但结构与工作原理则大同小异,通常由主机、输入/输出接口、电源扩展器接口和外部设备接口等几个主要部分组成。PLC的硬件系统结构如下图所示:
1.1中央处理器(CPU)
主机部分包括中央处理器(CPU)、系统程序存储器和用户程序及数据存储器。CPU是PLC的核心,它用以运行用户程序、监控输入/输出接口状态、做出逻辑判断和进行数据处理,即读取输入变量、完成用户指令规定的各种操作,将结果送到输出端,并响应外部设备(如电脑、打印机等)的请求以及进行各种内部判断等。PLC的内部存储器有两类,一类是系统程序存储器,主要存放系统管理和监控程序及对用户程序作编译处理的程序,系统程序已由厂家固定,用户不能更改;另一类是用户程序及数据存储器,主要存放用户编制的应用程序及各种暂存数据和中间结果。
1.2存储器
存储器主要用于存放系统程序、用户程序及工作数据。存放系统软件的存储器称为系统程序存储器;存放应用软件的存储器称为用户程序存储器;存放工作数据的存储器称为数据存储器。常用的存储器有RAM、EPROM和EEPROM。RAM是一种可进行读写操作的随机存储器存放用户程序,生成用户数据区,存放在RAM中的用户程序可方便地修改。RAM存储器是一种高密度、低功耗、价格便宜的半导体存储器,可用锂电池做备用电源。掉电时,可有效地保持存储的信息。EPROM、EEPROM都是只读存储器。用这些类型存储器固化系统管理程序和应用程序。
1.3输入/输出(I/O)接口
I/O接口是PLC与输入/输出设备连接的部件。输入接口接受输入设备(如按钮、传感器、触点、行程开关等)的控制信号。输出接口是将主机经处理后的结果通过功放电路去驱动输出设备(如接触器、电磁阀、指示灯等)。I/O接口一般采用光电耦合电路,以减少电磁干扰,从而提高了可靠性。I/O点数即输入/输出端子数是PLC的一项主要技术指标,通常小型机有几十个点,中型机有几百个点,大型机将超过千点。
1.4电源
电源是指为CPU、存储器、I/O接口等内部电子电路工作所配置的直流开关稳压电源,通常也为输入设备提供直流电源。
1.5输入/输出扩展接口
I/O扩展接口用于将扩充外部输入/输出端子数的扩展单元与基本单元(即主机)连接在一起。
1.6外部设备接口
此接口可将HMI、PC、条码扫描仪,变频器等外部设备与主机相联,以完成相应的操作。
二、PLC的工作原理
PLC采用循环扫描的工作方式,在PLC中用户程序按先后顺序存放,CPU从第一条指令开始执行程序,直到遇到结束符后又返回第一条,如此周而复始不断循环。PLC的扫描过程分为内部处理、通信操作、程序输入处理、程序执行、程序输出几个阶段。全过程扫描一次所需的时间称为扫描周期。当PLC处于停状态时,只进行内部处理和通信操作服务等内容。
2.1输入处理
输入处理也叫输入采样。在此阶段,顺序读入所有输入端子的通断状态,并将读入的信息存入内存中所对应的映象寄存器。在此输入映象寄存器被刷新。接着进入程序执行阶段。在程序执行时,输入映象寄存器与外界隔离,即使输入信号发生变化,其映象寄存器的内容也不会发生变化,只有在下一个扫描周期的输入处理阶段才能被读入信息。
2.2 程序执行
根据PLC梯形图程序扫描原则,按先左后右先上后下的步序,逐句扫描,执行程序。遇到程序跳转指令,根据跳转条件是否满足来决定程序的跳转地址。从用户程序涉及到输入输出状态时,PLC从输入映象寄存器中读出上一阶段采入的对应输入端子状态,从输出映象寄存器读出对应映象寄存器,根据用户程序进行逻辑运算,存入有关器件寄存器中。对每个器件来说,器件映象寄存器中所寄存的内容,会随着程序执行过程而变化。
2.3 输出处理
程序执行完毕后,将输出映象寄存器,即输出映象寄存器中的状态,在输出处理阶段转存到输出锁存器,通过隔离电路,驱动功率放大电路,使输出端子向外界输出控制信号,驱动外部负载。
三、PLC的程序编制
3.1 编程元件
编程元件是指输入寄存器、输出寄存器、中间寄存器、定时器、计数器、临时寄存器、数据寄存器及特殊功能寄存器等。
1)与实际输入/输出信号相关的输入/输出映象区:
I:数字量输入(DI)。
Q:数字量输出(DO)。
AI:模拟量输入。
AQ:模拟量输出。
2)内部数据存储区
V:变量存储区,可以按位、字节、字或双字来存取V 区数据。
M:位存储区,可以按位、字节、字或双字来存取M区数据。
T:定时器存储区,用于时间累计。
C:计数器存储区,用于累计其输入端脉冲电平由低到高的次数。
HC:高速计数器,独立于 CPU 的扫描周期对高速事件进行计数,高速计数器的当前值是只读值,仅可作为双字(32 位)来寻址。
AC:累加器,可以像存储器一样使用的读/写器件,可以按位、字节、字或双字访问累加器中的数据。
SM:特殊存储器,提供了在 CPU 和用户程序之间传递信息的一种方法。可以使用这些位来选择和控制 CPU 的某些特殊功能, 可以按位、字节、字或双字访问 SM 位。
L:局部存储区,用于向子例程传递形式参数。
S:顺序控制继电器,用于将机器或步骤组织到等效的程序段中,实现控制程序的逻辑分段。可以按位、字节、字或双字访问 S 存储器。
3)存储器范围及特性
3.2 编程语言
PLC最常用的编程语言是梯形图语言和指令语句表语言,且两者常常联合使用。
梯形图:梯形图是一种从继电接触控制电路图演变而来的图形语言。它是借助类似于继电器的动合、动断触点、线圈以及串、并联等术语和符号,根据控制要求联接而成的表示PLC输入和输出之间逻辑关系的图形,直观易懂。
指令语句表:指令语句表是一种用指令助记符来编制PLC程序的语言,它类似于计算机的汇编语言,但比汇编语言易懂易学,若干条指令组成的程序就是指令语句表。
四、实例
4.1 PLC控制电动机正反转原理图
1)电气原理图:
2)PLC程序: