安全研究之—西门子…

安全研究之—西门子…

时间: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程序: