第2章 PLC的结构及编程软件的使用 学习内容 S7-200系列PLC的外部结构 S7-200系列PLC的性能 PLC的编程语言与程序结构 教学要求 了解S7-200系列PLC的外部结构、性能及编程语言 熟练掌握存储器数据类型及其特点(重点) 熟练掌握存储器的直接寻址方式(重点) 了解存储器的间接寻址方式
2.1 S7-200系列PLC的外部结构 整体式 特点:体积小,每一组I/O点的平均价格相对比较便宜,在小型PLC的控制系统中比较常用。
模块式 I/O模块 机架
输入输出接线 输入电路:直流双向光耦合输入电路 输出电路:继电器、场效应管输出电路
2.2 S7-200系列PLC的性能 S7-200发展概述 第一代可编程序控制器是德国西门子公司1975年投放市场的SIMATIC S3系列的控制系统。此后,SIMATIC系列产品迅速发展,不断推陈出新,几乎每一到两年甚至不到一年就推出一个新的品种或型号。 在1979年,微处理器技术被应用到可编程序控制器当中,产生了SIMATIC S5系列,取代了SIMATIC S3系列。 在每个系列中,其发展又经历了多个子系列。如S5系列产生后不久,便升级为U系列和由之而成的H系列,有的至今仍在广泛使用。 S5系列PLC的编程使用的是STEP5编程语言。
在上世纪末推出了S7系列产品。 2004年,西门子公司推出了S7-200的升级产品。 最新的SIMATIC产品为SIMATIC S7、M7和C7等几大系列。 S7系列可编程序控制器又分为S7-200、S7-300、S7-400等几个子系列,分别为它的小、中、大型系统。 本系列PLC的编程使用的是STEP7编程语言。 2004年,西门子公司推出了S7-200的升级产品。 新产品提高了运算速度,扩大了存储器,增加了模拟输入和模拟输出。 增加了S7-200在运动控制、过程控制、位置控制等方面的应用。
S7-200系列PLC的性能
2.3 PLC的编程语言与程序结构 PLC的编程语言 IEC61131-3标准规定的编程语言 顺序功能图(SFC) 梯形图(LD) 功能块图(FBD) 指令表(IL) 结构文本(ST)
1、顺序功能图 提供了一种组织程序的图形方法 是位于其他编程语言之上的图形语言,用来编制顺序控制的程序(如:机械手控制程序)。编写时,工艺过程被划分为若干个顺序出现的步,每步中包括控制输出的动作,从一步到另一步的转换由转换条件来控制,特别适合于生产制造过程。 在顺序功能图中可以使用其他的语言嵌套编程。 代表平台:西门子的S7-Graph
2、梯形图 提供使用最多的PLC编程语言。 属于图形编程语言,直观易懂,适用于数字量逻辑控制;不适合于编写大型的程序。 适合熟悉继电器–接触器电器控制的人员。 组成:
常闭触点 输出线圈 常开触点 功能块
梯形图中的概念 能流:从左向右流动 网络:触点和线圈构成的独立电路 网络1 注释 网络2 网络标号
3、功能块图 使用类似于数字逻辑门电路的图形逻辑符号来表示逻辑控制,一些复杂的功能用指令框表示,适合于有数字电路基础的编辑人员使用。 功能块图类似于用与门、或门的框图来表示逻辑运算关系,方框的左侧为逻辑运算的输入变量,右侧为输出变量,输入、输出的小圆圈来表示“非”运算。
4、指令表 S7系列PLC将指令表又称为语句表。 语句表是一种与计算机的汇编语言中的指令相似的助记符表达式,由指令组成语句表程序。
5、结构文本 6、编程语言的相互转换和选用
S7-200的程序结构 主程序 程序的主体,每个项目有且只有一个主程序。 主程序可以调用子程序和中断程序。 子程序 子程序仅在被其他程序调用时执行。 同一个子程序可以在不同的地方被多次调用。 中断程序 及时处理与用户程序的执行时序无关的操作,或者不能事先预测何时发生的中断事件。 中断程序由用户编写,在中断事件发生时由操作系统调用。
2.4 S7-200系列PLC的内存结构及寻址方式 内存结构 按存储器存储数据的长短分类: 字节存储器 字存储器 双字存储器
1、输入映像寄存器 用来接收用户设备发来的输入信号。 在程序中输入映像寄存器只有触点,而没有线圈。 输入映像寄存器地址的编号范围为I0.0~I15.7。
2、输出映像寄存器 用来存放CPU执行程序的数据结果,并在输出扫描阶段,将输出映像寄存器的数据结果传送给输出模块,再由输出模块驱动外部的负载。 输出映像寄存器的常开和常闭触点可以多次使用。 输出映像寄存器地址的编号范围为Q0.0~Q15.7。
3、变量存储器 4、位存储器 5、特殊存储器 用来在程序执行过程中存放中间结果,或者用来保存与工序或任务有关的其他数据。 用来存放中间操作状态或其他控制信息。 可以按字节、字、双字进行存取。 位存储器地址的编号范围为M0.0~M31.7。 5、特殊存储器 SM0.0:一直为1状态。 SM0.1:仅在执行用户程序的第一个扫描周期为1状态。
6、顺序控制继电器 7、局部变量存储器 8、定时器 9、计数器 相当于继电器系统中的时间继电器,用于延时控制。 定时器的地址编号范围为T0~T255。 9、计数器 用来累计输入脉冲个数。 计数器的地址编号范围为C0~C255。
10、累加器 11、高速计数器 12、模拟量输入映像寄存器 13、模拟量输出映像寄存器 用来暂存数据的存储器。 用来累计比CPU扫描速率更快的事件。 12、模拟量输入映像寄存器 用于接收模拟量输入模块转换后的16位数字量。 13、模拟量输出映像寄存器 用于暂存模拟量输出模块的输入值,该值经过模拟量输出模块(D/A)转换为现场所需要的标准电压或电流信号。
寻址方式 数据类型 位(b) 1:对应编程元件通电,其常开触点接通,常闭触点断开。 0:对应编程元件断电,其常开触点断开,常闭触点接通。 1B=8b 字节(B) 1W=2B 字(W) 1D=2W 双字(D)
直接寻址 按位寻址 格式为:Ax.y 必须指定寄存器标识符(元件名称)、字节地址、位地址(位号)
直接寻址 按字节寻址 格式为:ATX 按字节编址的形式在直接访问字节、字和双字数据时,也必须指明寄存器标识符(元件名称)、数据类型和存储区内的首字节地址。
间接寻址 (1)建立指针 指针为双字长,是所要访问的存储单元的32位的物理地址。 可用来作为指针的存储区有:变量存储器(V)、局部变量存储器(L)和累加器(AC)。 建立指针必须用双字传送指令(MOVD) MOVD &VB200,AC1 “&”为地址符号,与单元编号组合表示所对应单元的32位物理地址 VB200只是一个直接地址编号,并不是它的物理地址。
(2)利用指针存取数据 (3)修改指针 MOVW *AC1,AC0 由于地址指针是32位的,所以必须用双字指令来修改指针。 指令中在操作数的前面“*”表示该操作数为一个指针。 (3)修改指针 由于地址指针是32位的,所以必须用双字指令来修改指针。 根据所存取的数据长度正确调整指针: 当存取字节时,指针调整单位为1。 当存取一个字、定时器或计数器的当值时,指针调整单位为2。 当存取双字时,指针调整单位为4。