《可编程序控制器原理及应用第02章课件》由会员分享,可在线阅读,更多相关《可编程序控制器原理及应用第02章课件(107页珍藏版)》请在金锄头文库上搜索。
1、 PLC的硬件组成原理 PLC的工作原理 PLC的编程变量本章讲述的主要内容1 2024/7/212.1* PLC硬件系统的基本组成 2.2 PLC的软件系统 2.3* PLC的工作原理 2.4 * 西门子PLC的存储区与编程变量 2.5 S7-200/300/400 PLC的硬件模块构成 本章讲述的主要内容2 2024/7/21可编程控制器是一种工业控制装置,从装置的组成来说,可编程控制器是由硬件系统和软件系统组成的。 2.1.1 组成概述组成概述3 2024/7/21 可编程控制器的硬件系统主要由中央处理器(CPU)、存储器、输入单元、输出单元等部分组成如图2-1所示。其中,CPU是PLC
2、的核心;输入单元与输出单元是连接现场输入/输出设备与CPU之间的接口电路,也称为输入接口和输出接口。此外,可编程控制器的硬件系统还包括通信接口、扩展接口、编程器、电源等。 2.1.2 硬件组成硬件组成4 2024/7/212.1.2 硬件组成硬件组成图2-1 整体式的硬件组成5 2024/7/212.1.2 硬件组成硬件组成 整体式的PLC,其所有部件都装在同一机壳内; 对于模块式PLC,各部件封装成模块,各模块通过连接安装在机器或导轨上,其组成形式与整体式的PLC不同,如图2-2所示。 无论是那种结构类型的PLC,都可根据用户需要进行配置与组合。尽管整体式与模块式PLC的结构不太一样,但各部
3、分的功能作用是相同的,下面对PLC各组成部分进行简单介绍。 6 2024/7/212.1.2 硬件组成硬件组成图2-2 模块式PLC的硬件结构7 2024/7/212.1.2 硬件组成硬件组成1.中央处理单元(CPU) 同一般的微机一样,CPU是PLC的核心。一般认为PLC中的CPU有三类:通用微处理器(如Z80、8086等)、单片计算机(如8031、8096等)和专用微处理器。历史上,小型PLC大多采用8位通用微处理器和单片微处理器;大中型PLC大多采用16位通用微处理器和单片微处理器。 在PLC中的CPU又包含控制器和运算器,通过执行系统程序,指挥PLC进行工作,归纳起来主要有以下几个方面
4、作用:(1)接收从编程装置输入的程序和数据;(2)诊断电源、PLC内部电路的工作故障和编程中的语法错误等;(3)通过输入接口接收现场的状态或数据,并存入输入映像寄存器或数据寄存器中;(4)从存储器逐条读取用户程序,并执行程序;(5)根据执行的结果,更新有关标志位的状态和输出映像寄存器的内容,通过输出单元实现输出控制。有些PLC还具有制表打印或数据通信等功能。8 2024/7/212.1.2 硬件组成硬件组成2.存储器 存储器主要有两种:一种是可进行读写操作的随机存储器RAM,另一种是只读存储器ROM、PROM、EPROM和E2PROM。 在PLC中,存储器主要用于存放系统程序、用户程序及工作数
5、据。系统程序是由PLC的制造厂家编写的,和PLC的硬件组成有关,完成系统诊断、命令解释、功能子程序调用管理、逻辑运算、通信及各种参数设定等功能,提供PLC运行的平台。用户程序是随PLC的控制对象而定的,由用户根据对象生产工艺的控制要求而编制的应用程序。工作数据是PLC运行过程中经常变化、经常存取的一些数据。9 2024/7/212.1.2 硬件组成硬件组成3.输入/输出单元 输入/输出单元通常也叫I/O单元或I/O模块,是PLC与工业生产现场之间的连接部件。PLC通过输入接口可以检测被控对象的各种数据,以这些数据作为PLC对被控对象进行控制的依据;同时PLC又通过输出接口将处理结果送给被控制对
6、象,以实现控制目的。 由于外部输入设备和输出设备所需的信号电平是多种多样的,而PLC内部CPU的处理的信息只能是标准电平,所以I/O接口要实现这种转换。I/O接口一般都具有光电隔离和滤波功能,以提高PLC的抗干扰能力。另外,I/O接口上通常还有状态指示,工作状况直观,便于维护。 PLC提供了多种操作电平和驱动能力的I/O接口,有各种各样功能的I/O接口供用户选用。I/O接口的主要类型有:数字量(开关量)输入、数字量(开关量)输出、模拟量输入、模拟量输等。常用的开关量输入接口按其使用的电源不同有两种类型:直流输入接口和交流输入接口,其基本电路如图2-3和图2-4所示。10 2024/7/212.
7、1.2 硬件组成硬件组成图2-3直流输入接口原理图 11 2024/7/212.1.2 硬件组成硬件组成图2-4 交流输入接口原理图12 2024/7/212.1.2 硬件组成硬件组成 常用的开关量输出接口按输出器件不同有三种类型:继电器输出、晶体管输出和双向晶闸管输出,其基本原理电路如图2-5、图2-6和图2-7所示。继电器输出接口可驱动交直流负载,但其响应时间长,动作频率低;而晶体管输出和双向晶闸管输出接口的响应速度快,动作频率高,注意前者只能用于驱动直流负载,后者只能用于交流负载。13 2024/7/212.1.2 硬件组成硬件组成图2-5继电器输出接口原理图14 2024/7/21图2
8、-6晶体管输出接口原理图 2.1.2 硬件组成硬件组成15 2024/7/212.1.2 硬件组成硬件组成图2-7 双向晶闸管输出接口原理图16 2024/7/212.1.2 硬件组成硬件组成4.通信接口 PLC配有各种通信接口,这些通信接口都带有通信处理器。PLC通过这些接口可与计算机或其它PLC等设备实现通信。与人机界面连接,可将控制过程图像显示出来;与其它PLC连接,可组成多机系统或连接成网络,实现更大规模控制。 工业上普遍使用的远程I/O必须配备相应的通信接口模块。17 2024/7/212.1.2 硬件组成硬件组成5.智能接口模块 智能接口模块是一独立的计算机系统,它有自己的CPU、
9、系统程序、存储器以及与PLC系统总线相连的接口。它作为PLC系统的一个模块,通过总线与PLC相连,进行数据交换,并在PLC的协调管理下独立地进行工作。 PLC的智能接口模块种类很多,如高速计数模块、闭环控制模块、运动控制模块等。18 2024/7/212.1.2 硬件组成硬件组成6.编程装置 编程装置的作用是编辑、调试、输入用户程序,也可在线控制PLC内部状态和参数,与PLC进行人机对话。它是开发、应用、维护PLC不可缺少的工具。常见的编程装置有手持编程器和计算机编程。 计算机编程是现在的主流。它既可以编制、修改PLC的梯形图程序,又可以监视系统运行、打印文件、并可以进行程序仿真。 19 20
10、24/7/212.1.2 硬件组成硬件组成7.电源及其它外部设备 PLC配有开关电源,以供内部电路使用。与普通电源相比,PLC电源的稳定性好、抗干扰能力强。对电网提供的电源稳定度要求不高,一般允许电源电压在其额定值15%的范围内波动。一般PLC还向外提供直流24V稳压电源,用于对外部传感器供电。 除了上述的部件和设备外,PLC还有一些其它外部设备,如EPROM写入器、外存储器、人机接口装置等。 20 2024/7/212.1* PLC硬件系统的基本组成 2.2 PLC的软件系统 2.3* PLC的工作原理 2.4 * 西门子PLC的存储区与编程变量 2.5 S7-200/300/400 PLC
11、的硬件模块构成 本章讲述的主要内容21 2024/7/212.2.1 可编程控制器的软件结构可编程控制器的软件结构 PLC软件系统由系统程序、组态信息和用户程序三部分组成,如图2-8所示。系统程序包括监控程序、编译程序、诊断程序等,主要用于管理全机、将程序语言翻译成机器语言,诊断机器故障。系统软件是PLC这个计算机系统的操作系统。系统软件由PLC厂家在出厂前固化在ROM或EPROM中,用户不能干预。 组态信息和用户程序是用户根据现场控制要求,用PLC的组态和编程工具定义和编制的系统信息和应用程序。图2-8 PLC的软件系统组成与结构 22 2024/7/212.2.2编程语言概述编程语言概述
12、PLC的用户程序是设计人员根据控制系统的工艺控制要求,通过PLC编程语言的编制设计的。根据国际电工委员会制定的工业控制编程语言标准(IEC1131-3), PLC编程语言有5种形式:(1)顺序功能图语言(Sequential function chart ,SFC)(2)梯形图语言 (Ladder diagram ,LAD)(3)功能块图语言 (Function Block Diagram, FBD)(4)语句表 语言 (Statement List, STL)(5)结构文本语言 (Structured Text ,ST)23 2024/7/211. 梯形图语言(梯形图语言(LADLAD) 梯
13、形图语言是PLC程序设计中最常用的编程语言。它是与继电器线路类似的一种编程语言。由于电气设计人员对继电器控制较为熟悉,因此,梯形图编程语言得到了广泛的欢迎和应用。 梯形图语言是最常用的一种语言。它是一种图形语言,沿用传统控制图中的继电器触点、线圈、串联等术语和一些图形符号。左右的竖线称为左右母线,右边的母线经常省去。 梯形图中接点(触点)分为常开接点和常闭接点。接点可以属于PLC的输入继电器,也可以属于PLC的内部继电器或其它继电器。 梯形图中的接点可以任意串、并联,但线圈是并联的,不要串联。 内部继电器、计数器、定时器等均不能直接控制外部负载,只能做中间结果供CPU内部使用。24 2024/
14、7/211. 梯形图语言(梯形图语言(LAD) 另外梯形图编程语言与电气原理图相对应,具有直观性和对应性,与原有继电器控制相一致,电气技术人员易于掌握。 梯形图编程语言与原有的继电器控制的不同点是,梯形图中的能流不是实际意义的电流,内部的继电器也不是实际存在的继电器,应用时需要与原有继电器控制的概念区别对待。 图2-9是典型的交流异步电动机直接启动控制电路图,图2-10是采用PLC控制的程序梯形图。图2-9 电机直接启动电路图25 2024/7/211. 梯形图语言(梯形图语言(LAD) 图2-10 PLC的梯形图程序26 2024/7/212. 语句表语言(语句表语言(STLSTL) 语句表
15、编程语言是与汇编语言类似的一种助记符编程语言,和汇编语言一样由操作码和操作数组成。在无计算机的情况下,适合采用PLC手持编程器对用户程序进行编制。同时,语句表编程语言与梯形图编程语言一一对应,在PLC编程软件下一般可以相互转换。图2-11就是与图2-10PLC梯形图对应的指令表。 语句表编程语言的特点是:采用助记符来表示操作功能,具有容易书写的特点。但不够形象,不容易掌握;在手持编程器的键盘上采用助记符表示,便于操作,可在无计算机的场合用手持编程器进行编程设计;语句表与梯形图有对应关系。 语言表的使用需要较长时间的培训和练习,但有时可以实现某些梯形图不能实现的功能。 27 2024/7/212
16、.3.3 语句表语言(语句表语言(STLSTL)图2-11 PLC的语句表程序 28 2024/7/213. 功能块图语言(功能块图语言(FBDFBD) 功能块图语言是与数字逻辑电路类似的一种PLC编程语言。功能块图使用类似于布尔代数的图形逻辑符号来表示控制逻辑,一些复杂的功能用指令框表示,适合于有数字电路基础的编程人员使用。功能块图用类似于与门、或门的框图来表示逻辑运算关系,方框的左侧为逻辑运算的输入变量,右侧为输出变量,输入、输出端的小圆圈表示“非”运算,方框用“导线”连在一起,信号自左向右。采用功能块图的形式来表示模块所具有的功能,不同的功能模块有不同的功能。 功能模块图程序设计语言的特
17、点是:以功能模块为单位,分析理解控制方案简单容易;功能模块是用图形的形式表达功能,直观性强,对于具有数字逻辑电路基础的设计人员很容易掌握的编程;对规模大、控制逻辑关系复杂的控制系统,由于功能模块图能够清楚表达功能关系,使编程调试时间大大减少。29 2024/7/212.3.4 功能块图语言(功能块图语言(FBDFBD)图2-12 功能模块图30 2024/7/214. 顺序功能图语言(顺序功能图语言(SFCSFC) 顺序功能流程图语言是为了满足顺序逻辑控制而设计的编程语言。编程时将顺序流程动作的过程分成步和转换条件,根据转移条件对控制系统的功能流程顺序进行分配,一步一步的按照顺序动作。每一步代
18、表一个控制功能任务,用方框表示。在方框内含有用于完成相应控制功能任务的梯形图逻辑。这种编程语言使程序结构清晰,易于阅读及维护,大大减轻编程的工作量,缩短编程和调试时间。用于系统规模较大,程序关系较复杂的场合。图2-13是一个简单的顺序功能流程图编程语言的示意图。31 2024/7/214. 顺序功能图语言(顺序功能图语言(SFCSFC)图2-13 顺序功能图编程语言的示意图32 2024/7/214. 顺序功能图语言(顺序功能图语言(SFCSFC) 顺序功能流程图编程语言的特点:以功能为主线,按照功能流程的顺序分配,条理清楚,便于用户理解程序;避免梯形图或其他语言不能顺序动作的缺陷,同时也避免
19、了用梯形图语言对顺序动作编程时,由于机械互锁造成用户程序结构复杂、难以理解的缺陷;用户程序扫描时间也可能会缩短。33 2024/7/215. 结构化文本语言(结构化文本语言(STST) 结构化文本语言是用结构化的描述文本来描述程序的一种编程语言。它是类似于高级语言的一种编程语言,常采用结构化文本来描述控制系统中各个变量的关系,主要用于其他编程语言较难实现的用户程序编制。 大多数PLC制造商采用的结构化文本编程语言与BASIC语言、PASCAL语言或C语言等高级语言相类似,但为了应用方便,在语句的表达方法及语句的种类等方面都进行了简化。 结构化文本编程语言的特点:采用高级语言进行编程,可以完成较
20、复杂的控制运算;需要有一定的计算机高级语言的知识和编程技巧,对工程设计人员要求较高,直观性和操作性较差。34 2024/7/215.结构化文本语言(结构化文本语言(STST) 不同型号的PLC编程软件对以上五种编程语言的支持种类是不同的,早期的PLC仅仅支持梯形图编程语言和指令表编程语言。目前的PLC对梯形图(LAD)、语句表(STL)、功能块图(FBD)编程语言都以支持。比如西门子S7-200/300/400PLC。在PLC控制系统设计中,要求设计人员不但对PLC的硬件性能了解外,也要了解PLC对编程语言的支持情况。35 2024/7/212.1* PLC硬件系统的基本组成 2.2 PLC的
21、软件系统 2.3* PLC的工作原理 2.4 * 西门子PLC的存储区与编程变量 2.5 S7-200/300/400 PLC的硬件模块构成 本章讲述的主要内容36 2024/7/212.3.1 PLC的控制作用的控制作用 传统的电气控制通过继电器控制电路来实现,图2-14为电机正反转继电器控制电路,是一种典型的继电器控制电路,分为主电路(左边)和控制电路(右边)。图2-14 电机正反转继电器控制电路(左:主电路;右:控制电路)37 2024/7/212.3.1 PLC的控制作用的控制作用 图2-15为电机正反转PLC控制电路,与电气控制电路相比,其硬件连接简洁。当然,其控制作用不再通过硬件的
22、连接方式来实现,而是由图2-16所示的程序来实现的。图2-15 电机正反转PLC控制电路 38 2024/7/212.2.1 PLC的控制作用的控制作用图2-16 继电器控制电路向PLC程序的转换 通过电机正反转的例子,我们一方面要看到PLC控制是继电器控制的继承与发展,控制程序与继电器的硬件连接之间存在对应的逻辑关系;另一方面,也要看到,PLC是通过程序来实现控制作用的,具有更大的灵活性,控制作用的实现和改变都和程序相关。39 2024/7/212.3.2 PLCPLC的工作过程的工作过程 PLC一般有两种工作状态: RUN和STOP。RUN状态是PLC的运行状态; STOP(PRG)状态是
23、停止状态,也叫编程状态,下载程序时PLC必须处于停止状态 。PLC上有选择开关来决定PLC当前的状态,也可以通过上位机来设置PLC的状态。 PLC是按循环扫描工作方式工作的。如图2-17所示,PLC周期性完成内部处理、通信服务、输入采样、执行程序和输出刷新这5件工作。一个循环周期结束之后,再开始新的周期,每个循环周期的时间长度随PLC的性能和程序不同而有所差别,一般为10毫秒左右。在STOP状态下,只完成内部处理和通信服务。40 2024/7/212.3.2 PLCPLC的工作过程的工作过程图2-17 PLC的循环扫描41 2024/7/212.3.2 PLCPLC的工作过程的工作过程1.内部
24、处理 PLC在内部处理阶段,主要完成自检、自诊断等工作。2.通信服务 PLC在通信服务阶段主要负责通过网络和其它PLC或现场设备进行数据的交换。3.输入采样 在输入采样阶段,PLC按顺序对所有输入接口的输入状态进行采样,并存入输入映像寄存器中,此时输入映像寄存器被刷新。 输入映像寄存器中的变量,我们称为输入继电器,一般用I或X表示,如图2-18中的I0.0和I0.1等,其状态分为有输入(ON或1)和没有输入(OFF或0)两种,而且完全由外界的输入端决定,不能由程序改变其状态。 PLC在一个扫描周期内,对输入状态的采样只在输入采样阶段进行。当PLC进入程序执行阶段后,输入端将被封锁,直到下一个扫
25、描周期的输入采样阶段才对输入状态进行重新采样。这种方式称为集中采样。所谓集中采样是在一个扫描周期内,集中一段时间对输入状态进行采样。42 2024/7/212.3.2 PLCPLC的工作过程的工作过程图2-18 PLC的工作过程43 2024/7/214. 执行程序 如图2-18,在程序执行阶段,PLC按顺序对用户程序进行扫描执行。若程序用梯形图来表示,则总是按先上后下,先左后右的顺序进行。当遇到程序跳转指令时,则根据跳转条件是否满足来决定程序是否跳转。 当指令中涉及到输入、输出状态时,PLC从输入映像寄存器和元件映像寄存器中读出,根据用户程序进行运算,运算的结果再存入输出映像寄存器和元件映像
26、寄存器中。对于输出映像寄存器和元件映像寄存器来说,其内容会随程序执行的过程而变化。 在程序执行阶段,用户程序的执行和PLC的输入输出接口一般不直接发生关系,只处理和决定变量的状态。 2.3.2 PLCPLC的工作过程的工作过程44 2024/7/215输出刷新 在某一扫描周期内,当所有程序执行完毕后,进入输出刷新阶段。在这一阶段里,PLC将输出映像寄存器中的输出继电器状态,转存到输出锁存器中,并通过一定方式输出,驱动外部负载。 在用户程序中,一般只对输出继电器进行一次赋值,也就是说输出继电器的线圈只能出现一次。有些PLC允许对输出结果多次赋值,则最后一次有效,但对初学者一般不推荐对输出继电器多
27、次赋值。 在一个扫描周期内,只在输出刷新阶段才将输出状态从输出映像寄存器中输出,对输出接口进行刷新。在其它阶段里出状态一直保存在输出映象寄存器中。这种方式称为集中输出。 2.3.2 PLCPLC的工作过程的工作过程45 2024/7/21对于小型PLC,其I/O点数较少,用户程序较短,一般采用集中采样、集中输出的工作方式,虽然在一定程度上降低了系统的响应速度,但使PLC工作时大多数时间与外部输入输出设备隔离,从根本上提高了系统的抗干扰能力,增强了系统的总体响应速度。而对于大中型PLC,其I/O点数较多,控制功能强,用户程序较长,为提高系统响应速度,可以采用定期采样、定期输出方式,或中断输入、输
28、出方式以及采用智能I/O接口等多种方式。2.3.2 PLCPLC的工作过程的工作过程46 2024/7/212.3.3 PLCPLC的输出滞后问题的输出滞后问题 可编程控制器是根据输入的情况以及程序的内容,来决定输出。从PLC的输入信号发生变化到PLC输出端对该输入变化作出反应,需要一段时间,这种现象称为PLC输入/输出响应滞后。循环扫描的工作方式是PLC输出滞后的主要原因。PLC硬件中的输入滤波电路和输出继电器触点机械运动也是PLC输出滞后的重要原因。另外,程序编写的不当,也会增加PLC输出的滞后。 为了改善和减少PLC输出的滞后问题,有些PLC生产厂家对PLC的工作过程作了改进,增加每个扫
29、描周期中的输入采样和输出刷新的次数,或是增加立即读和立即写的功能,直接对输入和输出接口进行操作;另外,设计专用的特殊模块,用于运动控制等对时延要求苛刻的场合,也是一种很好的方案。 由于PLC输出滞后的存在,一般将PLC用于顺序控制系统和过程控制系统,有时也用于运动控制系统。滞后时间是设计PLC控制系统时应注意把握的一个参数。 47 2024/7/212.1* PLC硬件系统的基本组成 2.2 PLC的软件系统 2.3* PLC的工作原理 2.4 * 西门子PLC的存储区与编程变量 2.5 S7-200/300/400 PLC的硬件模块构成 本章讲述的主要内容48 2024/7/212.4.1
30、西门子西门子PLC存储区(存储区(S7-200) S7-200系列PLC的存储区分为程序存储区、变量存储区和参数存储区。 1.程序存储区 程序存储区主要用于存放用户程序,程序空间容量在不同的CPU中是不同的。另外CPU中的RAM区与内置E2PROM上都有程序存储器,它们互为映像,且空间大小一样。系统程序会进行自动调度,在程序执行时将程序从E2PROM映像到RAM中,以提高运行速度。系统程序也存放在程序空间,但对用户是不开放的,即用户不能访问和读写系统程序。49 2024/7/212.4.1 西门子西门子PLC存储区(存储区(S7-200)2.变量存储区 变量存储区存储各种编程变量。编程变量包括
31、输入继电器(输入映像)I、输出继电器(输出映像)Q、中间继电器M、定时器T和计数器C等。3.参数存储区 参数存储区是用于存放PLC组态参数有关的存储区域,如保护口令、PLC站地址、停电记忆保持区、软件滤波、强制操作的设定信息等,该存储器为E2PROM。 50 2024/7/21图2-19 用户程序、PLC组态参数和数据块下载示意图 2.4.1 西门子西门子PLC存储区(存储区(S7-200)51 2024/7/212.4.1 西门子西门子PLC存储区(存储区(S7-300/400) S7-300/400 PLC的存储区可以划分为四个区域:装载存储器(Load Memory)、工作存储器(Wor
32、k Memory)、系统存储器(System Memory)和保持存储区(Non-Volatile Memory),具体如图2-20和图2-21所示。 1.系统存储器 系统存储器用于存放输入输出过程映像区(PII,PIQ)、位存储器(M)、定时器(T)、计数器(C)、块堆栈和中断堆栈以及临时存储器(本地数据堆栈)。 2.工作存储器 工作存储器仅包含运行时使用的程序和数据。RAM 工作存储器集成在CPU中, RAM中的内容通过电源模块供电或后备电池保持。除了CPU417-4可以通过插入专用的存储卡来扩展工作存储器外,其他PLC的工作存储器都无法扩展。 52 2024/7/212.4.1 西门子西
33、门子PLC存储区(存储区(S7-300/400)3.装载存储器 装载存储器是用于存放不包含符号地址分配或注释(这些保留在编程设备的存储器中)的用户程序。装载存储器可以是存储器卡、内部集成的RAM或内部集成的EPROM. 现在的S7-300PLC必须配置Flash EPROM才能下载程序。4.保持存储器 保持存储器是非易失性的RAM,通过组态可以在PLC掉电后即使没有安装后备电池的情况下,保存一部分位存储器(M)、定时器(T)、计数器(C)和数据块(DB)。在设置CPU参数时一定要指定要保持的区域。 53 2024/7/21图2-20西门子S7-300PLC存储器 2.4.1 西门子西门子PLC
34、存储区(存储区(S7-300/400)54 2024/7/21图2-21 西门子S7-400PLC存储器 2.4.1 西门子西门子PLC存储区(存储区(S7-300/400)55 2024/7/212.4.2 西门子西门子PLC的编程变量的编程变量 编程变量是从程序变量的角度对存储区进行表述,是对存储区一种新的理解。在传统意义上,编程变量在PLC中称为编程元件。虽然将以下的输入继电器(输入映像)等称为编程元件比较直观,但是在本质上它们是PLC存储区中的变量。 西门子PLC编程变量包括输入继电器(输入映像)I,输出继电器(输出映像)Q,中间继电器M、定时器T、计数器C、局部数据L和累加器AC等。
35、 其中S7-200PLC还有全局变量存储器V、特殊中间继电器SM、模拟量输入输出AWI与AWQ; 而S7-300/400PLC还有数据块DB和外设输入输出PI与PQ。 一般变量可以以位、字节、字和双字的格式自由读取或写入,但特殊情况除外。56 2024/7/212.5.2 西门子西门子PLC的编程变量的编程变量1.输入映像寄存器(I) 输入映像寄存器(I)是以字节为单位的寄存器,它的每一位对应与一个数字量输入点,也经常以位、字节、字和双字的格式访问。在每个扫描周期开始,PLC依次对各个接触点采样,并把采样结果送入输入映像寄存器。PLC在执行用户程序过程中,不再理会物理输入接点的状态的变化,它所
36、处理的数据为输入映像寄存器中的值。 2.输出映像寄存器(Q) 输出映像寄存器(Q)是以字节为单位的存储器,它的每一位对应与一个数字输出量接点,也经常以位、字节、字和双字的格式访问。PLCPLC在执行用户程序的过程中,并不把输出信号随时在执行用户程序的过程中,并不把输出信号随时在执行用户程序的过程中,并不把输出信号随时在执行用户程序的过程中,并不把输出信号随时送到输出节点送到输出节点送到输出节点送到输出节点,而是,而是,而是,而是送到输出映像寄存器送到输出映像寄存器送到输出映像寄存器送到输出映像寄存器,只有到了每个扫描周期的末尾,才将输出映像寄存器的输出信号几乎同时送到各输出节点。 57 202
37、4/7/212.5.2 西门子西门子PLC的编程变量的编程变量3.中间继电器(M) 中间继电器(M)又称内部位存储器,它一般以位为单位使用,但也能以字节、字、双字为单位使用。中间继电器在程序中常常作为中间变量,也可以定义或组态为标志位。例如,S7-300/400可以通过CPU属性定义某些中间继电器为特殊标志。 而S7-200中的特殊标志也是中间继电器,称为特殊中间继电器(SM)。特殊中间继电器用来存储系统的状态变量和有关控制信息,正确使用之,则可以事半功倍。表2-1为S7-200中常用的特殊中间继电器。 58 2024/7/212.5.2 西门子西门子PLC的编程变量的编程变量4.定时器(T)
38、 定时器(T)类似于继电器电路中的时间继电器,但它的精度更高,定时精度分为1ms,10ms 和100ms三种,根据需要由编程者选用。定时器的类型有接通延时和断开延时等。定时器的数量随CPU型号不同而不同。 定时器除了有状态值(长度为位)之外,还有当前值(长度为字)。 5.计数器(C) 计数器(C)对脉冲进行计数,计数脉冲的有效沿是脉冲的上升沿,计数的方式有加1、减1和加减1三种方式。计数器的个数一般与各CPU的定时器个数相同。 和定时器一样,计数器除了有状态值(长度为位)之外,还有当前值(长度为字)。 高速计数器与一般计数器不同,计数脉冲频率更可高达2kHz/7kHz,计数容量大,一般计数器为
39、16位,而高速计数器为32位,一般计数器可读可写,而高速计数器一般只能进行读操作。 59 2024/7/212.5.2 西门子西门子PLC的编程变量的编程变量6.局部数据(L) 局部数据(L)是在块或子程序运行时使用的临时变量。局部变量使用前需要在块或子程序的变量声明表中声明。局部变量为块或子程序提供传送参数和存放中间结果的临时存储空间。块或子程序执行结束后,局部数据存储空间将可以重新分配,用于作为其它块或子程序的临时变量。7.累加器(AC或ACCU) 累加器(AC或ACCU)是程序运行中重要的寄存器,用它可把参数传给子程序或任何带参数的指令和指令块。此外,PLC在响应外部或内部的中断请求而调
40、用中断服务程序时,累加器中的数据是不会丢失的,即PLC会将其中的内容压入堆栈。但应注意,不能利用累加器进行主程序和中断服务子程序之间的参数传递。 60 2024/7/212.5.2 西门子西门子PLC的编程变量的编程变量8. 全局变量存储器(V) 全局变量存储器(V)是S7-200独有的存储空间,经常用来保存逻辑操作的中间结果。所有的V存储区域都是断电保持的。有时会用V区的部分空间存放一些系统参数,这时用户程序就不能再访问那些空间。在V区还可以创建数据块DB。 9. 数据块(DB) 数据块(DB)是用户自定义的变量。数据块存放程序数据信息,分为共享数据块DB(可被所有逻辑块公用)或背景数据块D
41、I(被功能块特定占用)。10.外设输入输出PI与PQ 外设输入输出PI与PQ是S7-300/400独有的。外设存储区允许直接访问现场设备(物理的或外部的输入和输出),外设存储区可以以字节、字和双字格式访问,但不可以以位方式访问。61 2024/7/212.5.2 西门子西门子PLC的编程变量的编程变量62 2024/7/212.5.2 西门子西门子PLC的编程变量的编程变量63 2024/7/212.4.3 西门子西门子PLC的数据类型的数据类型 西门子PLC的数据类型分以下三种:基本数据类型、复合数据类型和参数类型。S7-200和S7-300/400均支持基本数据类型,此外S7-300/40
42、0还支持复合数据类型和参数类型。1.基本数据类型 1)位(bit,简称b) 常称为BOOL(布尔型),只有两个值:0或1。如:I0.0,Q0.1,M0.0,V0.1等。 2)字节(Byte) 一个字节(Byte)等于8位(Bit),其中0位为最低位,7位为最高位。如:IB0(包括I0.0I0.7位),QB0(包括Q0.0Q0.7位),MB0,VB0等。范围:00FF(十进制的0255)。64 2024/7/212.5.3 西门子西门子PLC的数据类型的数据类型3)字(Word) 相邻的两字节(Byte)组成一个字(Word),来表示一个无符号数,因此,字为16位。如:MW0是由MB0和MB1组
43、成的,其中M是存储区域标识符,W表示字,0是字的起始字节。需要注意的是,字的起始字节(如上例中的“0”)一般是偶数。字的范围为十六进制的0000FFFF(即十进制的065536)。在编程时要注意,如果已经用了MW0,如再用M0.0等数据要特别注意它们的关系。4)双字(Double Word) 相邻的两个字(Word)组成一个双字,来表示一个无符号数。因此,双字为32位。如:MD100是由MW100和MW102组成的,其中M是区域标识符,D表示双字,100是双字的起始字节。需要注意的是,双字的起始字节(如上例中的“100”)和字一样,一般是偶数。双字的范围为十六进制的0FFFFFFFF(即十进制
44、的04294967295)。在编程时要注意,如果已经用了MD100,如再用MW100或MW102要特别加以小心。65 2024/7/212.5.3 西门子西门子PLC的数据类型的数据类型5)16位整数(INT,Integer) 整数为有符号数,最高位为符号位,1表示负数,0表示正数。范围为3276832767。6)32位整数(DINT,Double Integer) 32位整数和16位整数一样,为有符号数,最高位为符号位,1表示负数,0表示正数。范围为21474836482147483647。7)浮点数(R,Real) 浮点数为32位,可以用来表示小数。 8)常数的表示方法 常数可以是字节、字
45、或双字,CPU以二进制方式存储,也可以用十进制,十六进制ASCII码或浮点数形式来表示,如表2-9所示。 66 2024/7/212.5.3 西门子西门子PLC的数据类型的数据类型67 2024/7/212.5.3 西门子西门子PLC的数据类型的数据类型2.复合数据类型 用户通过复合基本数据类型而生成的数据的类型就是复合数据类型。复合数据类型包括以下几种: 1)数组(ARRAY): 将一组同一类型的数据组合在一起组成一个单位就是数组。 2)结构(STRUCT):将一组不同类型的数据组合在一起组成一个单位就是结构。 3)字符串(STRING):字符串是由最多254个字符组成的一维数组。 4)日期
46、和时间(DATE-AND-TIME) 用于存储年、月、日、时、分、秒、毫秒和星期的数据。占用8个字节,BCD编码。如:DT2004_07_15_12:30:15.200为2004年7月15日12时30分15.2秒68 2024/7/212.5.3 西门子西门子PLC的数据类型的数据类型5)用户定义的数据类型(UDT,User-Defined Data Types) 由用户将基本数据类型和复合数据类型组合在一起形成的数据类型。可以在数据块DB和变量声明表中定义复合数据类型。3.参数类型 参数类型是为在逻辑块之间传递参数的形参(Formal Parameter,形式参数)定义的数据类型。69 20
47、24/7/212.4.4 西门子西门子PLC的变量访问与寻址的变量访问与寻址 寻址是高级语言里面的概念,寻址分为立即数寻址、直接寻址和间接寻址。 1.立即数寻址:直接给出常数,这种获取操作数的方式称为立即数寻址; 2.直接寻址:直接给出数据存储器和数据对象的区域符(I、Q、M、V、T、C等)及器件的序号对数据进行访问的方式称为数据的直接寻址。 直接寻址简单说就是根据变量名直接获取数据,绝大部分的应用中均采用直接寻址。I0.0、IB0、MW0、MB100、T0、T33和C0等均是直接寻址。 70 2024/7/212.4.4 西门子西门子PLC的变量访问与寻址的变量访问与寻址 变量在存储器上是以
48、字节为基本单位,按字节的编号为顺序进行保存的。但当以字或双字为单位访问这些数据单元时,组成字或双字的字节顺序是不寻常的。以中间变量存储区MB0MB3为例,MW0包括了MB0和MB1,需要注意的是MW0的高8位为MB0,低8位为MB1;MD0包括了MB0MB3,从最高8位到最低8位的排列顺序为MB0 、MB1、MB2和MB3。 71 2024/7/212.4.4 西门子西门子PLC的变量访问与寻址的变量访问与寻址 3.间接寻址 在指令中给出地址指针,通过地址指针间接地访问想要访问的数据存储器或者数据对象区。间接寻址方式可寻址的区域有:输入映像存储区I、输出映像存储区Q、辅助继电器区M、全局变量存
49、储区V、定时器区(当前值)T、计数器区(当前值)C和数据块D。间接寻址首先要建立地址指针,然后根据指针获取数据。 72 2024/7/212.5.4 西门子可编程控制器的寻址西门子可编程控制器的寻址1)S7-200的间接寻址 在S7-200中用符号“&”表示取地址指针。可用作地址指针的数据空间有:L、AC1、AC2、AC3。有了指针之后,就可以根据指针取数据了,符号“*”号表示该操作数为指针。 例如:程序“MOVD &VW100,AC1;MOVW*AC1,AC0”表示用双字传送指令把VW100的地址装入AC1,即AC1中存放的是指针;然后使用AC1指针,用字传送指令把指针内容(VW100中的内
50、容)传送到AC0中。 2)S7-300/400的间接寻址 S7-300/400中,指针用P#表示。P#M2.0表示M2.0的地址。注意指针的位标号必须为0。有了地址就可以根据指针访问数据了。程序执行中可以增加和减小地址值,访问不同单元。73 2024/7/212.1* PLC硬件系统的基本组成 2.2 PLC的软件系统 2.3* PLC的工作原理 2.4 * 西门子PLC的存储区与编程变量 2.5 S7-200/300/400 PLC的硬件模块构成 本章讲述的主要内容74 2024/7/212.5.1 S7-200S7-200的的CPUCPU模块与硬件端子连接模块与硬件端子连接 SIMATIC
51、 S7-200属于西门子小型PLC系列产品,适用于各行各业、各种场合中的检测、监测及控制的自动化应用。S7-200系列功能表现在以下几个方面:极高的可靠性;极丰富的指令集;易于掌握;便捷的操作;丰富的内置集成功能;实时特性;强劲的通信能力;丰富的扩展模块。S7-200系列的强大功能使其无论在独立运行中,或相连成网络皆能实现复杂控制功能。S7-200系列具有极高的性能价格比。75 2024/7/212.5.1 S7-200S7-200的的CPUCPU模块与硬件端子连接模块与硬件端子连接图2-22 S7-200的CPU模块76 2024/7/212.5.1 S7-200S7-200的的CPUCPU
52、模块与硬件端子连接模块与硬件端子连接 S7-200系列PLC可提供4个不同的基本型号CPU221、CPU222、CPU224和CPU226。其技术指标如表2-5。77 2024/7/212.5.1 S7-200S7-200的的CPUCPU模块与硬件端子连接模块与硬件端子连接 PLC的输入输出端子的接线有工作电源、输入端子和输出端子三部分。另外一般PLC还提供一个24V的传感器输出电源,供周边的传感器使用,也可以用作本机的输入输出端子的电源。当PLC为DC/DC/DC时,传感器输出电源与工作电源并不是并联的,这时也可以直接用工作电源作为本机的输入输出端子的电源,但不可以再与传感器输出电源并在一起
53、。 不同的PLC的输入输出端子的接线可能不同,一定注意阅读手册。PLC的接线端子的电源一定不能接错,否则会造成PLC不能正常工作,甚至造成PLC硬件损坏。 CPU的工作电源、输入端子电源和输出端子电源一般为DC/DC/DC和AC/DC/RLY。图2-23和图2-24分别是CPU226DC/DC/DC和CPU226AC/DC/RLY端子接线示意图。78 2024/7/212.5.1 S7-200S7-200的的CPUCPU模块与硬件端子连接模块与硬件端子连接图2-23 CPU226DC/DC/DC端子接线示意图79 2024/7/212.5.1 S7-200S7-200的的CPUCPU模块与硬件
54、端子连接模块与硬件端子连接图2-24 CPU226AC/DC/RLY端子接线示意图80 2024/7/212.5.2 S7-200S7-200的信号扩展模块的信号扩展模块 S7-200PLC在应用中可以增加扩展模块,以扩展PLC的输入输出(I/O)点数和功能。扩展模块一般有信号模块(包括数字量和模拟量)、通信模块和其它模块。本节主要介绍扩展信号模块,通信模块在后续章节中介绍。 信号扩展模块包括数字量和模拟量扩展模块,参照教材表2-6所示。数字量扩展模块的输入电源一般为直流24V,而输出电源则有直流、交流和继电器三种形式。 数字量的扩展模块的接线和应用与CPU模块相同。在图2-25中,可以看到模
55、拟量输入输出模块EM235端子接线。需要注意任何一路模拟量可以是电压或电流,但不能同时是电压和电流。 扩展模块扩展了PLC的功能,并可以根据需要设计和生产新的模块,使S7-200这种整体式PLC具备了一定的灵活性和扩展性。81 2024/7/212.5.2 S7-200S7-200的信号扩展模块的信号扩展模块图2-25 模拟量输入输出模块EM235端子接线示意图82 2024/7/212.5.3 S7-300 PLCS7-300 PLC的模块的模块 西 门 子 可 编 程 控 制 器 S7-300主 要 由 导 轨(RACK)、电源模块(PS)、中央处理单元CPU模块、接口模块(IM)、信号模
56、块(SM)、功能模块(FM)和通信模块(CP)等组成,如图2-26所示。S7-300PLC的模块都有名称,同样名称的模块根据接口和功能不同,又有不同的规格,在PLC的硬件组态中,以定货号为准。 83 2024/7/21图2-26 西门子S7-300PLC模块组成2.5.3 S7-300 PLCS7-300 PLC的模块的模块84 2024/7/211.电源模块(PS) 电源模块(PS)为PLC系统提供24V工作电源,常用电源模块有PS 307 电源模块(2A),PS 307 电源模块(5A)和PS 307 电源模块(10A)。 电源模块在硬件组态时可以不组态,而且在控制柜中有符合规定的24V电
57、源时,也可以不用PS模块,而使用控制柜中的24V电源。电源模块(PS)的选择要考虑PLC系统的功率要求,一般选用2A或5A的PS模块。电源模块(PS)有一个开关按钮,当按钮拨为“ON”时给CPU及其它模块供电。 2.5.3 S7-300 PLCS7-300 PLC的模块的模块85 2024/7/212.CPU模块 CPU模块是PLC系统的核心,常见的S7-300CPU有CPU312、CPU313、CPU314、CPU315和CPU317系列等,此外还有带集成IO的CPU31xC系列等。需要说明的是,S7-300系列有20多种不同的CPU,每种CPU的前面板是不同的,但也是大同小异。在CPU模块
58、上,有一组LED指示灯,指示PLC当前的系统状态和系统信息,如表2-7所示。2.5.3 S7-300 PLCS7-300 PLC的模块的模块86 2024/7/21 在CPU模块上,设有模式选择开关。模式选择开关用来选择CPU的运行方式。模式选择开关各位置的含义如下:(1)RUNP(运行编程)位置:CPU不仅执行程序,还可以在线读出和修改程序及改变运行方式; (2)RUN(运行)位置:CPU执行程序,可以读出程序,但不能修改程序; (3)STOP(停机)位置:CPU不执行程序,可以读出和修改程序; (4)MERS(清除存储器)位置:按住MERS并保持,可以复位存储器,使CPU回到初始状态。此位
59、置不能保持,当松开后,又会回到STOP的位置。 2.5.3 S7-300 PLCS7-300 PLC的模块的模块87 2024/7/21。 不同型号的S7-300PLC的性能是不同的,表2-8列出了部分CPU模块性能指标2.5.3 S7-300 PLCS7-300 PLC的模块的模块88 2024/7/213.信号模块(SM) 信号模块是PLC的数字量和模拟量的接口。通过信号模块实现PLC的数字量和模拟量的输入输出。常见的信号模块如表2-9所示。 2.5.3 S7-300 PLCS7-300 PLC的模块的模块89 2024/7/21 在接线时,通过一个称为前连接器的接线装置,将传感器和执行元
60、件连接到信号模块。根据信号模块的类型不同,接线的方法有很大差别,请注意参考产品使用手册。 除信号模块外,常见模块还有接口模块(IM),用于扩展多个机架;功能模块(FM),用于实现高速计数、定位和闭环控制等功能的实现;通信模块(CP),用于实现工业通信。2.5.3 S7-300 PLCS7-300 PLC的模块的模块90 2024/7/212.5.4 S7-400 PLC的模块的模块 西门子S7-400可编程控制器主要由导轨(RACK)、电源模块(PS)、中央处理单元(CPU)模块、信号模块(SM)、功能模块(FM)和通信模块(CP)等组成,如图2-27所示。西门子S7-400PLC的CPU模块
61、如图2-28所示。 S7-400和S7-300的硬件组成和使用方法基本一致,S7-400的优势主要体现在运行速度、稳定性和功能全面等方面。在应用中经常用S7-400访问远程IO如ET200等。 91 2024/7/21图2-27 西门子S7-400PLC模块组成 2.5.4 S7-400 PLC的模块的模块92 2024/7/21图2-28 西门子S7-400PLC的CPU模块 2.5.4 S7-400 PLC的模块的模块93 2024/7/212.1* 可编程控制器的硬件组成 2.2*可编程控制器的工作原理 2.3 可编程控制器的编程语言 2.4 西门子PLC模块与端子连接 2.5* 西门子
62、PLC的存储区、数据类型与寻址 2.6 西门子可编程控制器软件结构2.7 小结本章讲述的主要内容94 2024/7/212.6.2 西门子西门子S7-200 PLC的系统块的系统块 西门子S7-200PLC的系统块包括通信端口、保留性范围、密码、输出表、输入过滤器、脉冲截取位和背景时间等多项设置。1.通信端口 通信端口的设置包括PLC地址和波特率等,如图2-29所示。S7-200PLC的通信端口为12个,需要分别设置。这里的通信指的是PPI通信。PLC地址是指CPU站地址 (1-126);最高地址是指网络中的最高站地址 (1-126);波特率设置可以从下拉列表中选择数据传输速率( 9.6 kb
63、ps、19.2 kbps或187.5 kbps );重试次数是指尝试建立通讯的重试次数(0-8);间隔更新系数是指在检查新的网络主设备前持有令牌的次数,对间隔更新系数的选择系基于您网络的配置和大小(1-100)。 95 2024/7/21图2-29 通信端口的设置 2.6.2 西门子西门子S7-200 PLC的系统块的系统块96 2024/7/212.6.2 西门子西门子S7-200 PLC的系统块的系统块2.保留性范围 保留性范围选择在电源断开后希望保留的内存区,如图2-30所示。在默认情况下,所有的V、M、T和C内存均被设为保留。用户可以重新定义保留范围,将一些内存设为非保留。CPU具有超
64、级电容,可在CPU断电后保存RAM数据。有些CPU型号支持延长可保留RAM数据时间的选用电池盒。电池盒只有在超级电容完全放电后才提供电源。97 2024/7/21图2-30 保留性范围的设置 2.6.2 西门子西门子S7-200 PLC的系统块的系统块98 2024/7/212.6.2 西门子西门子S7-200 PLC的系统块的系统块3.密码 密码授权进行存取操作。如果没有设置密码,S7-200提供不受限制的存取。受密码保护时,S7-200将限制所有限制性操作。密码不区分大小写字母。如果忘记PLC密码,您必须清除PLC内存,重新载入程序。 4.输出表 数字输出表可在RUN-to-STOP(运行
65、至停止)转换后将数字输出设置为安全状态,或保留在转换为STOP(停止)模式之前所存在的输出状态。模拟输出表可在RUN-to-STOP(运行至停止)转换后将模拟输出设置为安全数值,或保留在转换为STOP(停止)模式之前存在的输出数值。可以选择“将输出凝固在最后的状态”,就可在PLC进行RUN-to-STOP(运行至停止)转换时将所有数字输出或模拟输出凝固在其最后的状态。 99 2024/7/212.6.2 西门子西门子S7-200 PLC的系统块的系统块5.输入过滤器、 S7-200允许为某些或全部数字输入点选择输入过滤器,输入过滤器定义的延迟时间可从0.2毫秒至12.8毫秒。该延迟帮助过滤输入
66、布线上可能对输入状态造成不良改动的噪音。通过设置输入延迟时间,您可以过滤数字输入信号。6.脉冲截取位(捕获) S7-200为某些或全部局部数字输入点提供脉冲捕获功能。脉冲捕获功能允许捕获高位脉冲或低位脉冲,此类脉冲出现的时间极短,PLC在扫描循环开始读取数字输入时,可能无法始终看到此类脉冲。当为某一输入启用脉冲捕获时,输入状态改动被锁定,并保持至下一次输入循环更新。这样可确保延续时间很短的脉冲被捕获,并保持至S7-200读取输入。 100 2024/7/212.6.2 西门子西门子S7-200 PLC的系统块的系统块7.背景时间 用户可以配置专门用于处理与RUN(运行)模式编辑编译或执行状况有
67、关的通信请求的扫描循环时间百分比。增加专门用于处理通信请求的时间百分比时,亦会增加扫描时间,减慢控制进程的运行速度。专门用于处理通信请求的默认扫描时间百分比被设为10%,该设置可以保证编译处理和状态操作的进行,尽量减小通信对控制进程的影响。用户可以调整该设置,每次增加5%,最大为50%。101 2024/7/212.6.3 S7-300/400 PLC的硬件组态与的硬件组态与CPU属性属性 对硬件进行组态是模块化PLC使用的一个基本要求。通过硬件组态,并将其下载到CPU中,CPU将可以获取模块的组成和用户对模块的设置。西门子S7-300/400PLC的硬件组态在STEP7中完成,如图2-31所
68、示。详细过程请见附录。 CPU属性也是重要的组态信息,是用户对CPU的定义,包括多项设置,如图2-32所示。图2-33是CPU属性中循环/时钟存储器的设置,用户可以定义一组时钟脉冲。图2-34为保持存储器,定义断电后保持的存储单元。 102 2024/7/21图2-31 硬件组态 2.6.3 S7-300/400 PLC的硬件组态与的硬件组态与CPU属性属性103 2024/7/21图2-32 CPU属性 2.6.3 S7-300/400 PLC的硬件组态与的硬件组态与CPU属性属性104 2024/7/21图2-33 循环/时钟存储器 2.6.3 S7-300/400 PLC的硬件组态与的硬件组态与CPU属性属性105 2024/7/21图2-34保持存储器 2.6.3 S7-300/400 PLC的硬件组态与的硬件组态与CPU属性属性106 2024/7/212.1* 可编程控制器的硬件组成 2.2*可编程控制器的工作原理 2.3 可编程控制器的编程语言 2.4 西门子PLC模块与端子连接 2.5* 西门子PLC的存储区、数据类型与寻址 2.6 西门子可编程控制器软件结构2.7 小结本章讲述的主要内容107 2024/7/21