可编程控制器指令系统.ppt_第1页
可编程控制器指令系统.ppt_第2页
可编程控制器指令系统.ppt_第3页
可编程控制器指令系统.ppt_第4页
可编程控制器指令系统.ppt_第5页
已阅读5页,还剩292页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第四章可编程控制器的指令系统 第一节西门子S7 200PLC的概况4 1S系列PLC发展概述4 2S7 200PLC系统组成4 3编程元件及程序知识4 4相关设备4 5工业软件第二节西门子S7 200PLC的指令系统 本章学习目的 本章以西门子公司生产的S7 200系列小型可编程序控制器为例 介绍具体型号的PLC 内容包括 lS系列PLC发展概述lS7 200可编程序控制器的系统组成l编程元件及程序知识l相关设备l常用工业软件 返回本章首页 第一节S系列PLC发展概述 德国的西门子 SIEMENS 公司是欧洲最大的电子和电气设备制造商 生产的SIMATIC可编程序控制器在欧洲处于领先地位 其第一代可编程序控制器是1975年投放市场的SIMATICS3系列的控制系统 在1979年 微处理器技术被应用到可编程序控制器中 产生了SIMATICS5系列 取代了S3系列 之后在20世纪末又推出了S7系列产品 最新的SIMATIC产品为SIMATICS7 M7和C7等几大系列 返回本章首页 目前PLC技术的发展方向主要是朝着小型化 标准化 系列化 智能化 高速化 大容量化 及网络化的方向发展 这使得PLC功能更强 可靠性更高 西门子S7系列PLC技术充分体现了这一发展方向 SIMATIC主要包括S7PLCS M7自动化计算机 C7 SIMATICNET工业网络 SIMATICHMI操作界面 DP分布式I O设备 SIMATICPC及PCS7过程控制系统 4 1S系列PLC发展概述 SIMATICS7系列可编程逻辑控制器又分为微型PLC 如S7 200 小规模性能要求的PLC 如S7 300 和中 高性能要求的PLC 如S7 400 SIMATICM7PLC将AT兼容的计算机的性能引入到PLC 面向计算机用户 把PLC的功能容入到计算机世界 同时又保持了用户熟悉的编程环境 SIMATICC7系统是PLC S7 300 和人机操作面板的有机结合 HMI人机界面系列主要有文本操作面板TD200 OP3 OP7 OP17等 图形 文本操作面板OP27 OP37等 触摸屏操作面板TP7 TP27 6 TP27 10 TP37等 SIMATIC面板型PC670等 西门子工业软件分为三个不同的种类 1 编程和工程工具包括所有基于PLC或PC用于编程 组态 可集成Protool 模拟和维护的控制所需的工具 2 基于PC的控制软件包括基于PC而不是传统的PLC的解决方案 使用户的应用或过程自动化 3 人机接口 HMI 部分为用户自动化项目提供人机接口或SCADA系统 支持大范围的平台 一西门子S7 200PLCS7 200PLC是超小型化的PLC 它适用于各行各业 各种场合中的自动检测 监测及控制等 S7 200PLC的强大功能使其无论在独立运行 或相连成网络都能实现复杂控制功能 S7 200PLC在集散自动化系统中充分发挥其强大功能 使用范围可覆盖从替代继电器的简单控制到更复杂的自动化控制 S7 200PLC可提供4个不同的基本型号的8种CPU可供选择使用 西门子S7系列PLC简介 二 西门子S7 300PLCS7 300是模块化小型PLC系统 能满足中等性能要求的应用 各种单独的模块之间可进行广泛组合以用于扩展 1 系统组成S7 300PLC主要由下列模块组成 中央处理单元 CPU 信号模块 SM 功能模块 FM 负载电源模块 PS 接口模块 IM 2 主要功能S7 300PLC的主要功能有 高速 0 6 0 1 s 的指令处理 浮点数运算 一个带标准用户接口的软件工具 方便的人机界面服务 CPU的智能化的诊断系统 多级口令保护 3 通信功能S7 300PLC可通过STEP7的用户界面提供通信组态功能 这使得组态非常容易 简单 S7 300PLC具有多种不同的通信接口 并通过多种通信处理器来连接AS I总线接口和工业以太网总线系统 串行通信处理器用来连接点到点的通信系统 多点接口 MPI 集成在CPU中 用于同时连接编程器 PC机 人机界面系统及其他SIMATICS7 M7 C7等自动化控制系统 三 西门子S7 400PLCS7 400PLC是用于中 高档性能范围的可编程序控制器 S7 400PLC主要由下列模块 部件 组成 电源模板 PS 将SIMATICS7 400连接到120 230VAC或24DC电源上 中央处理单元 CPU 有多种CPU可供用户选择 有些带有内置的PROFIBUS DP接口 用于各种性能可包括多个CPU以加强其性能 I O模块 SM 数字量输入和输出 DI DO 和模拟量输入和输出 AI AO 的信号模板 通信处理器 CP 用于总线连接和点到点连接 功能模板 FM 专门用于计数 定位 凸轮等控制任务 SIMATICS7 400还提供以下部件 接口模板 IM 用于连接中央控制单元和扩展单元 SIMATICS7 400中央控制器最多能连接21个扩展单元 4 2S7 200PLC系统组成 4 2 1系统基本构成4 2 2主机结构4 2 3扫描周期及工作方式4 2 4输入输出扩展4 2 5主机性能指标 返回本章首页 从CPU模块的功能来看 SIMATICS7 200系列小型可编程序控制器发展至今 大致经历了两代 第一代产品其CPU模块为CPU21X 主机都可进行扩展 它具有四种不同结构配置的CPU单元 CPU212 CPU214 CPU215和CPU216 对第一代PLC产品不再作具体介绍 第二代产品其CPU模块为CPU22X 是在21世纪初投放市场的 速度快 具有较强的通信能力 它具有四种不同结构配置的CPU单元 CPU221 CPU222 CPU224和CPU226 除CPU221之外 其他都可加扩展模块 4 2 1系统基本构成 SIMATICS7 200系统由硬件和工业软件两大部分构成 如图3 1所示 图3 1S7 200PLC系统组成 系统基本构成1 硬件 1 基本单元 2 扩展单元 3 特殊功能模块 4 相关设备2 工业软件工业软件是为更好地管理和使用这些设备而开发的与之相配套的程序 文档及其规则的总和 它主要由标准工具 工程工具 运行软件和人机接口等几大类构成 返回本节 4 2 2主机结构 1 各CPU介绍及I O系统 1 主机外形SIMATICS7 200系统CPU22X系列PLC主机 CPU模块 的外形如图3 2所示 图3 2S7 200主机外形 2 基本结构特点 输出信号类型电源输出基本I O存储安全高速反应模拟电位器实时时钟输入输出可扩展性 4种CPU各有晶体管输出和继电器输出两种类型 具有不同电源电压和控制电压 各类型的型号如表3 1所示 表3 1CPU型号 SIMATICS7 200系统CPU22X系列PLC主机及I O特性如表3 2所示 表3 2主机及I O特性 2 存储系统 1 存储系统 2 存储器及使用 3 存储安全 图3 3存储系统 表3 3存储容量 2 存储器及使用上装和下装用户程序定义存储器保持范围用程序永久保存数据存储器卡的使用 3 存储安全1 主机CPU模块内部配备的EEPROM 上装程序时 可自动装入并永久保存用户程序 数据和CPU的组态数据 2 用户可以用程序将存储在RAM中的数据备份到EEPROM存储器 3 主机CPU提供一个超级电容器 可使RAM中的程序和数据在断电后保持几天之久 4 CPU提供一个可选的电池卡 可在断电后超级电容器中的电量完全耗尽时 继续为内部RAM存储器供电 以延长数据所存的时间 5 可选的存储器卡可使用户像使用计算机磁盘一样来方便地备份和装载程序和数据 返回本节 4 2 3扫描周期及工作方式 1 扫描周期2 工作方式3 改变CPU工作方式的方法 图3 4CPU的扫描周期 1 扫描周期 1 输入处理 2 执行程序 3 处理通信请求 4 执行CPU自诊断测试 5 写数字输出 2 工作方式 1 STOP方式 2 RUN方式 3 改变CPU工作方式的方法 1 用PLC上的方式开关来手动切换 方式开关有3个挡位 2 用STEP7 Micro Win32编程软件 应首先把主机的方式开关置于TERM或RUN位置 然后在此软件平台用鼠标单击STOP和RUN方式按钮即可 3 在用户程序中用指令由RUN方式转换到STOP方式 前提是程序逻辑允许中断程序的执行 返回本节 4 2 4输入输出扩展 1 设备连接2 最大I O配置的预算3 输入输出及CPU组态 1 设备连接 图3 5I O扩展示意图 2 最大I O配置的预算 1 映像寄存器数量 2 电流提供 3 模块电流 4 电流预算规则 2 电流提供各CPU所能提供的最大5VDC电流如表3 4所示 3 模块电流CPU22X可连接的各扩展模块消耗5VDC电流如表3 5所示 3 输入输出及CPU组态 1 I O点数扩展和编址 2 设置输入滤波 3 设置脉冲捕捉 4 输出表配置 CPU22 系列的每种主机所提供的本机I O点的I O地址是固定的 进行扩展时 每个扩展模块的组态地址编号取决于各模块的类型和该模块在I O链中所处的位置 编址方法是同类型的输入或输出点的模块在链中按与主机的位置而递增 其他类型模块的有无以及所处的位置不影响本类型模块的编号 例如 某一控制系统选用CPU224 系统所需的输入输出点数各为 数字量输入24点 数字量输出20点 模拟量输入6点 模拟量输出2点 本系统可有多种不同模块的选取组合 表3 6所示为其中的一种可行的系统输入输出组态状况 S7 200系统扩展对输入 输出的组态规则 1 同类型输入或输出点的模块进行顺序编址 2 对于数字量 输入 输出映象寄存器的单位长度位8位 1个字节 本模块高位实际位数未满8位的 未用位不能分配给I O链的后续模块 3 对于模拟量 输入 输出以2个字节 1个字 递增方式来分配空间 若按表3 6的扩展方式 各模块在I O链中的位置排列方式也可以有多种 图3 6所示为其中的一种模块连接形式 图3 6扩展连接图 S7 200CPU为每个主机数字量输入提供了脉冲捕捉功能 它可以使主机能够捕捉小于一个扫描周期的短脉冲 并将其保持到主机读到这个信号 但前提是只有通过滤波器后 脉冲捕捉才有效 此外 在一个给定的扫描周期内如果有不只一个脉冲 则只有第一个脉冲可以被捕捉到 几种情况下的脉冲捕捉波形如图3 7所示 图3 7脉冲捕捉波形图 表3 722X主机主要技术指标 返回本节 4 2 5主机性能指标 S7 20022X各主机的主要技术性能指标如下表3 7所示 返回本节 4 3编程元件及程序知识 3 3 1编程元件及寻址3 3 2指令系统3 3 3编程语言3 3 4程序结构 返回本章首页 4 3 1编程元件及寻址 1 数据类型2 直接寻址方式3 间接寻址方式 1 数据类型 1 数据类型及范围SIMATICS7 200系列PLC数据类型可以是布尔型 整型和实型 浮点数 实数采用32位单精度数来表示 其数值有较大的表示范围 正数为 1 175495E 38 3 402823E 38 负数为 1 175495E 38 3 402823E 38 不同长度的整数所表示的数值范如表3 8所示 2 常数在编程中经常会使用常数 常数数据长度可为字节 字和双字 在机器内部的数据都以二进制存储 但常数的书写可以用二进制 十进制 十六进制 ASCII码或浮点数 实数 等多种形式 几种常数形式分别如表3 9所示 2 直接寻址方式 1 编址形式按位寻址的格式为 Ax y存储区内另有一些元件是具有一定功能的硬件 由于元件数量很少 所以不用指出元件所在存储区域的字节 而是直接指出它的编号 其寻址格式为 Ay 2 各元件介绍输入继电器 I 输出继电器 Q 通用辅助继电器 M 特殊标志继电器 SM 变量存储器 V 局部变量存储器 L 顺序控制继电器 S 定时器 T 计数器 C 模拟量输入映像寄存器 AI 模拟量输出映像寄存器 AQ 高速计数器 HC 累加器 AC S7 200将编程元件统一归为存储器单元 存储单元按字节进行编址 无论所寻址的是何种数据类型 通常应指出它在所在存储区域和在区域内的字节地址 每个单元都有惟一的地址 地址用名称和编号两部分组成 元件名称 区域地址符号 如表3 10所示 按位寻址的格式为 Ax y必须指定元件名称 字节地址和位号 如图3 8所示 图3 8中MSB表示最高位 LSB表示最低位 图3 8位寻址格式 3 间接寻址方式 间接寻址方式是 数据存放在存储器或寄存器中 在指令中只出现所需数据所在单元的内存地址的地址 存储单元地址的地址又称为地址指针 这种间接寻址方式与计算机的间接寻址方式相同 间接寻址在处理内存连续地址中的数据时非常方便 而且可以缩短程序所生成的代码的长度 使编程更加灵活 用间接寻址方式存取数据需要作的工作有3种 建立指针 间接存取和修改指针 1 建立指针 建立指针必须用双字传送指令 MOVD 将存储器所要访问的单元的地址装入用来作为指针的存储器单元或寄存器 装入的是地址而不是数据本身 格式如下 例 MOVD VB200 VD302MOVD MB10 AC2MOVD C2 LD14注意 建立指针用MOVD指令 2 间接存取 指令中在操作数的前面加 表示该操作数为一个指针 下面两条指令是建立指针和间接存取的应用方法 MOVD VB200 AC0MOVW AC0 AC1若存储区的地址及单元中所存的数据如下所示执行过程如下 3 修改指针 下面的两条指令可以修改指针的用法 INCDAC0INCDAC0MOVW AC0 AC1 返回本节 4 3 2指令系统 S7 200系列PLC主机中有两类基本指令集 SIMATIC指令集和IEC1131 3指令集 程序员可以任选一种 提供了许多类型的指令以完成广泛的自动化任务 SIMATIC指令集 是为S7 200系列PLC设计的 本指令通常执行时间短 而且可以用LAD STL和FBD三种编程语言 IEC1131 3指令集是不同PLC厂家的指令标准 它不能使用STL编程语言 返回本节 4 3 3编程语言 1 语句表2 梯形图3 功能块图4 其他编程语言 1 语句表 语句表 STL 语言类似于计算机的汇编语言 特别适合于来自计算机领域的工程人员 用指令助记符创建用户程序 属于面向机器硬件的语言 STEP7Micro Win32的语句表如图3 9所示 图3 9语句表举例 2 梯形图 图3 10梯形图举例 3 功能块图 功能块图 FBD 的图形结构与数字电子电路的结构极为相似 如下图3 11所示 4 其他编程语言 SIMATIC工业软件中的工程工具中为大型或中型PLC提供了许多高级编程工具 以下简要其中的几种 1 S7 SLC和M7 ProC C 2 S7 GRAPH 3 S7 HiGraph 4 CFC 1 S7 SLC和M7 ProC C 图3 12SLC语言 S7 SLC的语言与PASCAL非常相似 如图3 12所示 2 S7 GRAPH 图3 13顺序流程图 3 S7 HiGraph 它借助于状态图来描述异步过程 用于装置和过程 以及可能的转移状态的图形描述 本工具可基于系统框图和流程图直接进行编程 程序结构和过程清晰 S7 HiGraph如图3 14所示 图3 14状态图 4 CFC CFC 连续功能图 是在原来的CSF 控制系统流程图 的基础上发展起来的 它通过绘制过程控制流程图 将各程序块在版面上布置 然后将它们相互连接即可 控制系统流程图如图3 15所示 返回本节 图3 15连续功能图 4 3 4程序结构 1 用户程序 1 主程序 2 子程序 3 中断处理程序2 数据块3 参数块 如果编程使用的是手编器 主程序应安排到程序的最前面 其他部分的位置安排没有严格的顺序 但习惯上把子程序安排在中断程序的前面 如图3 16所示 图3 16程序结构 返回本节 4 4相关设备 3 4 1手编器3 4 2计算机3 4 3人机界面3 4 4特殊功能模块 返回本章首页 4 4 1手编器 工业上用的各厂商的可编程序控制器的使用中 手编器曾是主要编程设备 后来出现了图形输入设备 又出现了计算机编程软件 通过通信设备 使PLC和计算机相连 用编程软件可直接在计算机上编程 由于计算机的显示器屏幕较大 对程序的编制和修更加方便高效 但即使是现在 手编器的使用仍十分广泛 特别是用小型和微型PLC实现的小规模系统 返回本节 4 4 2计算机 计算机包括个人计算机和工业计算机 在可编程序控制器系统的工业应用中发挥着越来越重要的作用 几乎PLC系统从工程项目开发 编程 调试到系统的运行和维护 计算机越来越成了不可缺少的工具 返回本节 4 4 3人机界面 1 构造特点文本显示区 可显示两行信息 每行20个字符 的液晶显示LCD 按键 共有9个键 通信 通过TD CPU电缆 通用RS232接口 可以提供可编程序控制器与TD200的通信 同时可以提供TD的电源 而不必再另接电源 电源 如果不用TD CPU通信电缆 可以通过面板右侧的电源接口连接外部电源 2 主要功能可以显示从CPU主机读出的信息 如读取指令 数据 当前值及状态 可以调整运行中选定的程序变量 可以提供对输入输出点的强制功能 可以为实时时钟设置日期和时间 支持多种语言形式的菜单和提示并支持中文 返回本节 4 4 4特殊功能模块 1 数字量扩展模块2 模拟量扩展模块3 热电偶 热电阻模块4 通信扩展模块5 现场设备接口模块 1 数字量扩展模块数字量扩展模块主要有 EM221数字量输入模块 24V 8输入 EM222数字量输出模块 24V 8输出 EM223数字量混合模块 24V 2 模拟量扩展模块模拟量扩展模块主要有 EM231 4模拟输入点 2W 12位 EM232 2模拟输出点 2W 12位 EM235 4模拟输入点 1模拟量输出点 2W 12位 3 热电偶 热电阻模块EM231为1 8W 15位 模拟量输入 4 通信扩展模块EM277PROFIBUS DP模块用于PLC现场总线通信连接 波特率可从9600 12M波特 5 现场设备接口模块CP243 2通信处理器是AS I主站连接部件 专门用于S7 200CPU22x 连接的同时显著增加了S7 200可利用的I O点数 返回本节 4 5工业软件 3 5 1应用和特点3 5 2工业软件的类型 返回本章首页 4 5 1应用和特点 1 应用它为自动化工程项目的所有阶段提供如下方便使用的功能 硬件和通信的规划 配置和参数的赋值 用户编程 文件编制 系统测试 起动 服务 过程控制 归档 2 特点采用多种标准共享数据管理工具系统集成化开放化的系统可重用的程序段集成的诊断功能 返回本节 4 5 2工业软件的类型 1 标准工具标准工具是SIMATICS7 M7 C7自动化系统进行编程的基础 SIMATIC系列标准工具及其适用范围如表3 12所示 2 工程工具工程工具主要包括 编程员用的高级语言 技术专家用的图形语言 诊断 仿真 远程维护和工厂文件编制等用的辅助软件 3 运行软件运行软件种类很多 以下是几个常用的运行软件 1 SIMATICS7的控制 例如 标准控制 模块化和模糊控制系列软件 2 将自动化系统连接到Windows应用程序的程序接口工具 3 SIMATICM7的实时操作系统 4 人机接口人机接口包括 操作员面板和系统组态用的软件 如Protool和Protool Life等 用于过程诊断的可选软件包ProAgent Windows95 NT用的高性能可视化工具系统WinCC 返回本节 第二节西门子S7 200的指令系统 4 1位操作类指令4 2运算指令4 3其他数据处理指令4 4表功能指令4 4转换指令4 5程序控制类指令4 6特殊指令 本章学习目的 位操作类指令 主要是位操作及运算指令 与时也包含与位操作密切相关的定时器和计数器指令等 运算指令 包括常用的算术运算和逻辑运算指令 其他数据处理类 包括数据的传送 移位 填充和交换等指令 表功能指令 包括对表的存取和查找指令 转换指令 包括数据类型转换 码转换和字符转换指令 返回本章首页 4 1位操作类指令 4 1 1指令使用概述4 1 2基本逻辑指令4 1 3复杂逻辑指令4 1 4定时器指令4 1 4计数器指令4 1 6比较 返回本章首页 4 1 1指令使用概述 1 主机的有效编程范围存储器的存储容量及各编程元件的有效编程范围如右表4 1所示 许多指令中含有操作数 操作数的有效编址范围如表4 2所示 3 梯形图的基本绘制规则 1 Network 2 能流 使能 3 编程顺序 4 编号分配 4 内 外触点的配合 6 触点的使用次数 7 线圈的使用次数 8 线圈的连接 返回本节 4 1 2基本逻辑指令 基本逻辑指令在语句表语言中是指对位存储单元的简单逻辑运算 在梯形图中是指对触点的简单连接和对标准线圈的输出 一般来说 语句表语言更适合于熟悉可编程序控制器和逻辑编程方面有经验的编程人员 用这种语言可以编写出用梯形图或功能框图无法实现的程序 选择语句表时进行位运算要考虑主机的内部存储结构 可编程序控制器中的堆栈与计算机中的堆栈结构相同 堆栈是一组能够存储和取出数据的暂时存储单元 堆栈的存取特点是 后进先出 S7 200可编程序控制器的主机逻辑堆栈结构如表4 3所示 1 标准触点指令 1 LD Load 取指令 用于网络块逻辑运算开始的常开触点与母线的连接 2 LDN LoaDNot 取反指令 用于网络块逻辑运算开始的常闭触点与母线的连接 3 输出指令使用说明 1 LD LDN指令不止是网络逻辑计算开始时与母线相连的常开和常闭触点 在分支电路块的开始也要使用LD LDN指令 与后面要讲的ALD OLD指令配合完成电路的编程 2 并联的 指令可连续使用任意次 3 在同一程序中不能使用双线圈输出 即同一个元器件在同一程序中只使用一次 指令 4 A And 与指令 用于单个常开触点的串联连接 5 AN AndNot 与反指令 用于单个常闭触点的串联连接使用说明 1 A AN是单个触点串联连接指令 可连续使用 但在梯形图编程时会受到打印宽度和屏幕显示的限制 S7 200PLC的编程软件中规定的串联触点使用上限为11个 6 O Or 或指令 用于单个常开触点的并联连接 7 ON OrNot 或反指令 用于单个常闭触点的并联连接 8 NOT 触点取非 输出反相 9 OLD OrLoad 或块指令 用于串联电路块的并联连接使用说明 1 除在网络块逻辑运算的开始使用LD或LDN指令外 在块电路的开始也要使用LD和LDN指令 2 每完成一次块电路的并联连接时要写上OLD指令 3 OLD指令无操作数 10 ALD AndLoad 与块指令 用于并联电路块的串联连接使用说明 1 在块电路开始时要使用LD和LDN指令 2 每完成一次块电路的串联连接后要写上ALD指令 3 ALD指令无操作数 程序实例 本程序段用以介绍标准触点指令在梯形图 语句表和功能块图3种语言编程中的应用 仔细比较不同编程工具的区别与联系 其梯形图和语句表程序结构如图4 2所示 图4 2标准触点LAD和STL例 本程序对应的功能框图如图4 3所示 在功能框图中 常闭触点的装入和串并联用指令盒的反输出对应输入信号端加圆圈来表示 程序执行的时序图如图4 4所示 图4 3标准触点FBD例 正跳变触点检测到脉冲的每一次正跳变后 产生一个微分脉冲 或是一个扫描周期的脉冲 指令格式 EU 无操作数 应用举例 图4 4是跳变指令的程序片断 图4 6是图4 4指令执行的时序 2 正负跳变指令 负跳变触点检测到脉冲的每一次负跳变后 产生一个微分脉冲 或是一个扫描周期的脉冲 指令格式 ED 无操作数 应用举例 图4 4是跳变指令的程序片断 图4 6是图4 4指令执行的时序 图4 4跳变应用 图4 6时序 1 S 置位指令 2 R 复位指令置位即置1 复位即置0 置位和复位指令可以将位存储区的某一位开始的一个或多个 最多可达244个 同类存储器位置1或置0 这两条指令在使用时需指明三点 操作性质 开始位和位的数量 各操作数类型及范围如表4 6所示 3 置位和复位指令 1 S 置位指令将位存储区的指定位 位bit 开始的N个同类存储器位置位 用法 Sbit N例 SQ0 0 1 2 R 复位指令将位存储区的指定位 位bit 开始的N个同类存储器位复位 当用复位指令时 如果是对定时器T位或计数器C位进行复位 则定时器位或计数器位被复位 同时 定时器或计数器的当前值被清零 用法 Rbit N例 RQ0 2 3应用举例 图4 7为置位和复位指令应用程序片断 图4 7置位复位 图4 8时序图 1 对位元件来说 一旦被置位 就保持在通电状态 除非对它复位 而一旦被复位就保持在断电状态 除非再对它置位 2 S R指令可以互换次序使用 但由于PLC采用扫描工作方式 所以写在后面的指令具有优先权 3 如果对计数器和定时器复位 则计数器和定时器的当前值被清零 定时器和计数器的复位具有特殊性 具体情况大家参考计数器和定时器的有关部分 4 立即指令 1 立即触点指令 2 I 立即输出指令 3 SI 立即置位指令 4 RI 立即复位指令 作用 是为了提高PLC对输入 输出的响应速度而设置的 它不受PLC循环扫描工作方式的影响 允许对输入和输出点进行直接存取 当立即指令读取输入点的状态时 对I进行操作 相应的输入映像寄存器中的值未更新 当用立即指令访问输出点时 对Q进行操作 新值同时写到PLC的物理输出点和相应的输出映像寄存器 1 立即触点指令在每个标准触点指令的后面加 I 指令执行时 立即读取物理输入点的值 但是不刷新对应映像寄存器的值 这类指令包括 LDI LDNI AI ANI OI和ONI 下面以LDI指令为例 用法 LDIbit例 LDII0 2注意 bit只能是I类型 2 I 立即输出指令用立即指令访问输出点时 把栈顶值立即复制到指令所指出的物理输出点 同时 相应的输出映像寄存器的内容也被刷新 用法 Ibit例 IQ0 2注意 bit只能是Q类型 3 SI 立即置位指令用立即置位指令访问输出点时 从指令所指出的位 bit 开始的N个 最多为128个 物理输出点被立即置位 同时 相应的输出映像寄存器的内容也被刷新 用法 SIbit N例 SIQ0 0 2注意 bit只能是Q类型 SI和RI指令的操作数类型及范围如表4 7所示 4 RI 立即复位指令用立即复位指令访问输出点时 从指令所指出的位 bit 开始的N个 最多为128个 物理输出点被立即复位 同时 相应的输出映像寄存器的内容也被刷新 用法 RIbit N例 RIQ0 0 1应用举例 图4 9为立即指令应用中的一段程序 图4 10是程序对应的时序图 图4 9立即指令程序 图4 10中 Q0 0为普通输出 在程序执行到它时 它的映象寄存器的状态会随本扫描周期采集到的I0 0状态的改变而改变 而它的物理触点要等到本扫描周期的输出刷新阶段才改变Q0 1 Q0 2为立即输出 在程序执行到它们时 它们的物理触点和输出映像寄存器同时改变对于Q0 3 它的输入逻辑是I0 0的立即触点 所以在程序执行到它时 Q0 3的映像寄存器的会随着I0 0即时状态的改变而改变 而它的物理触点要等到本扫描周期的输出刷新阶段才改变 图4 10时序图 图中Q0 0 Q0 1 Q0 2 Q0 3是物理触点 4 1 3定时器指令 系统提供3种定时指令 TON 接通延时定时器 TONR 有记忆接通延时定时器 和TOF 断开延时定时器 精度等级 S7 200定时器的精度 时间增量 时间单位 分辨率 有3个等级 1ms 10ms和100ms 精度等级和定时器号关系如表4 14所示 指令操作数 1 编号 2 预设值PT 3 使能输入 只对LAD和FBD 1 接通延时定时器 TON 接通延时定时器指令 用于单一间隔的定时 上电周期或首次扫描 定时器位OFF 当前值为0 使能输入接通时 定时器位为OFF 当前值从0开始计数时间 当前值达到预设值时 定时器位ON 当前值连续计数到32767 使能输入断开 定时器自动复位 即定时器位OFF 当前值为0 指令格式 TONTxxx PT例 TONT120 8 2 有记忆接通延时定时器 TONR 有记忆接通延时定时器指令 用于对许多间隔的累计定时 上电周期或首次扫描 定时器位OFF 当前值保持 使能输入接通时 定时器位为OFF 当前值从0开始计数时间 使能输入断开 定时器位和当前值保持最后状态 使能输入再次接通时 当前值从上次的保持值继续计数 当累计当前值达到预设值时 定时器位ON 当前值连续计数到32767 TONR定时器只能用复位指令进行复位操作 指令格式 TONRTxxx PT例 TONRT20 63 3 断开延时定时器 TOF 断开延时定时器指令 用于断开后的单一间隔定时 上电周期或首次扫描 定时器位OFF 当前值为0 使能输入接通时 定时器位为ON 当前值为0 当使能输入由接通到断开时 定时器开始计数 当前值达到预设值时 定时器位OFF 当前值等于预设值 停止计数 TOF复位后 如果使能输入再有从ON到OFF的负跳变 则可实现再次启动 指令格式 TOFTxxx PT例 TOFT34 6 4 应用举例 例1 图4 12是介绍3种定时器的工作特性的程序片断 其中T34为通电延时定时器 T2为有记忆通电延时定时器 T36为断电延时定时器 图4 12定时器特性 图4 13定时器时序 例2 用TON构造各种类型的时间继电器触点 有的厂商的PLC只有TON定时器 因此 在这种情况下可以利用TON来构造断电延时型的各种触点 图4 16是利用常开触点实现通电和断电都延时的触点作用 本程序实现的功能是 用输入端I0 0控制输出端Q0 0 当I0 0接通后 过3个时间单位Q0 0端输出接通 当I0 0断开后 过6个时间单位Q0 0断开 图4 14定时器应用 图4 14是用TON构造TOF作用的触点 其时序图与TOF的时序完全相同 图4 15定时器应用 图4 15用通电延时定时器与输出继电器组成带瞬动触点的定时器 图4 16定时器应用 返回本节 图4 16是利用常开触点实现通电和断电都延时的触点作用 本程序实现的功能是 用输入端I0 0控制输出端Q0 0 当I0 0接通后 过3个时间单位Q0 0端输出接通 当I0 0断开后 过6个时间单位Q0 0断开 图4 18电机顺序起动 4 1 4计数器指令 1 概述2 增计数器3 增减计数器4 减计数器5 应用举例 1 概述 计数器用来累计输入脉冲的次数 计数器也是由集成电路构成 是应用非常广泛的编程元件 经常用来对产品进行计数 计数器指令有3种 增计数CTU 增减计数CTUD和减计数CTD 指令操作数有4方面 编号 预设值 脉冲输入和复位输入 2 增计数器 CTU 增计数器指令 首次扫描 定时器位OFF 当前值为0 脉冲输入的每个上升沿 计数器计数1次 当前值增加1个单位 当前值达到预设值时 计数器位ON 当前值继续计数到32767停止计数 复位输入有效或执行复位指令 计数器自动复位 即计数器位OFF 当前值为0 指令格式 CTUCxxx PV例 CTUC20 3程序实例 图4 19为增计数器的程序片断和时序图 图4 19增计数程序及时序 3 增减计数器 CTUD 增减计数器指令 有两个脉冲输入端 CU输入端用于递增计数 CD输入端用于递减计数 指令格式 CTUDCxxx PV例 CTUDC30 4程序实例 如图4 20所示为增减计数器的程序片断和时序图 图4 20增减计数程序及时序 4 减计数器 CTD 增减计数器指令 脉冲输入端CD用于递减计数 首次扫描 定时器位OFF 当前值为等于预设值PV 计数器检测到CD输入的每个上升沿时 计数器当前值减小1个单位 当前值减到0时 计数器位ON 复位输入有效或执行复位指令 计数器自动复位 即计数器位OFF 当前值复位为预设值 而不是0 指令格式 CTDCxxx PV例 CTDC40 4程序实例 图4 21为减计数器的程序片断和时序图 图4 21减计数程序及时序 5 应用举例 1 循环计数 以上三种类型的计数器如果在使用时 将计数器位的常开触点作为复位输入信号 则可以实现循环计数 2 用计数器和定时器配合增加延时时间 如图4 22所示 试分析以下程序中实际延时为多长时间 图4 22计数器应用例 4 1 4比较 1 字节比较2 整数比较3 双字整数比较4 实数比较5 应用举例 1 字节比较 字节比较用于比较两个字节型整数值IN1和IN2的大小 字节比较是无符号的 比较式可以是LDB AB或OB后直接加比较运算符构成 如 LDB AB OB 等 整数IN1和IN2的寻址范围 VB IB QB MB SB SMB LB VD AC LD和常数 指令格式例 LDB VB10 VB12ABMB0 MB1OB AC1 116 2 整数比较 整数比较用于比较两个一字长整数值IN1和IN2的大小 整数比较是有符号的 整数范围为16 8000和16 7FFF之间 比较式可以是LDW AW或OW后直接加比较运算符构成 如 LDW AW OW 等 整数IN1和IN2的寻址范围 VW IW QW MW SW SMW LW AIW T C AC VD AC LD和常数 指令格式例 LDW VW10 VW12AWMW0 MW4OW AC2 1160 3 双字整数比较 双字整数比较用于比较两个双字长整数值IN1和IN2的大小 双字整数比较是有符号的 双字整数范围为16 80000000和16 7FFFFFFF之间 指令格式例 LDD VD10 VD14ADMD0 MD8OD HC0 AC0 4 实数比较 实数比较用于比较两个双字长实数值IN1和IN2的大小 实数比较是有符号的 负实数范围为 1 174494E 38和 3 402823E 38 正实数范围为 1 174494E 38和 3 402823E 38 比较式可以是LDR AR或OR后直接加比较运算符构成 指令格式例 LDR VD10 VD18ARMD0 MD12OR AC1 VD100 5 应用举例 控制要求 一自动仓库存放某种货物 最多6000箱 需对所存的货物进出计数 货物多于1000箱 灯L1亮 货物多于4000箱 灯L2亮 其中 L1和L2分别受Q0 0和Q0 1控制 数值1000和4000分别存储在VW20和VW30字存储单元中 本控制系统的程序如图4 23所示 程序执行时序如图4 24所示 图4 23程序举例 图4 24时序图 4 2运算指令 4 2 1加法4 2 2减法4 2 3乘法4 2 4除法4 2 5数学函数指令4 2 6增减4 2 7逻辑运算 返回本章首页 4 2 1加法 1 整数加法 I 整数加法指令 使能输入有效时 将两个单字长 16位 的符号整数IN1和IN2相加 产生一个16位整数结果OUT 图4 24整数加法例 2 双整数加法 D 双整数加法指令 使能输入有效时 将两个双字长 32位 的符号双整数IN1和IN2相加 产生一个32位双整数结果OUT 在LAD和FBD中 以指令盒形式编程 执行结果 IN1 IN2 OUT 在STL中 执行结果 IN1 OUT OUT OUT的寻址范围 VD ID QD MD SD SMD LD AC VD AC LD 指令格式 DIN1 OUT例 DVD0 VD4 R 实数加法指令 使能输入有效时 将两个双字长 32位 的实数IN1和IN2相加 产生一个32位实数结果OUT 在LAD和FBD中 以指令盒形式编程 执行结果 IN1 IN2 OUT OUT的寻址范围 VD ID QD MD SD SMD LD AC VD AC LD 本指令影响的特殊存储器位 SM1 0 零 SM1 1 溢出 SM1 2 负 返回本节 4 2 2减法 减法指令是对有符号数进行相减操作 包括 整数减法 双整数减法和实数减法 这三种减法指令与所对应的加法指令除运算法则不同之外 其他方面基本相同 在LAD和FBD中 以指令盒形式编程 执行结果 IN1 IN2 OUT 在STL中 执行结果 OUT IN2 OUT 指令格式 IIN2 OUT 整数减法 DIN2 OUT 双整数减法 RIN2 OUT 实数减法 例 IAC0 VW4 返回本节 4 2 3乘法 I 整数乘法指令 使能输入有效时 将两个单字长 16位 的符号整数IN1和IN2相乘 产生一个16位整数结果OUT 指令格式 IIN1 OUT例 IVW0 AC0 1 整数乘法 2 完全整数乘法 MUL 完全整数乘法指令 使能输入有效时 将两个单字长 16位 的符号整数IN1和IN2相乘 产生一个32位双整数结果OUT 在LAD和FBD中 以指令盒形式编程 执行结果 IN1 IN2 OUT OUT的寻址范围 VD ID QD MD SD SMD LD AC VD AC LD 本指令影响的特殊存储器位 SM1 0 零 SM1 1 溢出 SM1 2 负 SM1 3 被0除 指令格式 MULIN1 OUT例 MULAC0 VD10 3 双整数乘法 D 双整数乘法指令 使能输入有效时 将两个双字长 32位 的符号整数IN1和IN2相乘 产生一个32位双整数结果OUT 在STL中 执行结果 IN1 OUT OUT IN1和IN2的寻址范围 VD ID QD MD SD SMD LD HC AC VD AC LD和常数 OUT的寻址范围 VD ID QD MD SD SMD LD AC VD AC LD 本指令影响的特殊存储器位 SM1 0 零 SM1 1 溢出 SM1 2 负 SM1 3 被0除 指令格式 DIN1 OUT例 DVD0 AC0 4 实数乘法 R 实数乘法指令 使能输入有效时 将两个双字长 32位 的实数IN1和IN2相乘 产生一个32位实数结果OUT 在LAD和FBD中 以指令盒形式编程 执行结果 IN1 IN2 OUT 在STL中 执行结果 IN1 OUT OUT IN1和IN2的寻址范围 VD ID QD MD SD SMD LD AC VD AC LD和常数 OUT的寻址范围 VD ID QD MD SD SMD LD AC VD AC LD 本指令影响的特殊存储器位 SM1 0 零 SM1 1 溢出 SM1 2 负 SM1 3 被0除 指令格式 RIN1 OUT例 RVD0 AC0 返回本节 4 2 4除法 在LAD和FBD中 以指令盒形式编程 执行结果 IN1 IN2 OUT 在STL中 执行结果 OUT IN2 OUT 指令格式 IIN2 OUT 整数除法 DIVIN2 OUT 整数完全除法 DIN2 OUT 双整数除法 RIN2 OUT 实数除法 例 DIVVW10 VD100 IVW20 VW200两条指令的编程及执行情况比较如图4 26所示 图4 26除法指令应用 对于除法指令 对于完全除法指令 返回本节 4 2 5数学函数指令 1 平方根2 自然对数3 指数4 正弦 余弦 正切 1 平方根 SQRT 平方根指令 把一个双字长 32位 的实数IN开平方 得到32位的实数结果 在LAD和FBD中 以指令盒形式编程 执行结果 SQRT IN OUT 在STL中 执行结果 SQRT IN OUT 本指令影响的特殊存储器位 SM1 0 零 SM1 1 溢出和非法值 SM1 2 负 使能流输出ENO断开的出错条件 SM1 1 溢出 SM4 3 运行时间 0006 间接寻址 指令格式 SQRTIN OUT例 SQRTVD0 AC0 2 自然对数 LN 自然对数指令 将一个双字长 32位 的实数IN取自然对数 得到32位的实数结果 应用实例 求以10为底的40 存于VD0 的常用对数 结果放到AC0 本运算程序如图4 27所示 图4 27自然对数的应用 3 指数 EXP 指数指令 将一个双字长 32位 的实数IN取以e为底的指数 得到32位的实数结果OUT 在LAD和FBD中 以指令盒形式编程 执行结果 EXP IN OUT 在STL中 执行结果 EXP IN OUT 指令格式 EXPIN OUT例 EXPVD0 AC0 4 正弦 余弦 正切 SIN COS TAN 即正弦 余弦 正切指令 将一个双字长 32位 的实数弧度值IN分别取正弦 余弦 正切 各得到32位的实数结果 如果已知输入值为角度 要先将角度值转化为弧度值 方法 使用 R MUL R指令用角度值乘以 180 即可 例 TANVD0 AC0应用实例 求COS160o的值 如图4 28所示 图4 28三角函数应用例 返回本节 4 2 6增减 1 字节增和字节减2 字增和字减3 双字增和双字减4 应用实例 1 字节增和字节减 INCB 字节增指令 使能输入有效时 把一字节长的无符号输入数 IN 加1 得到一字节的无符号输出结果OUT DECB 字节减指令 使能输入有效时 把一字节长的无符号输入数 IN 减1 得到一字节的无符号输出结果OUT 2 字增和字减 3 双字增和双字减 INCD 双字增指令 使能输入有效时 把双字长 32位 的有符号输入数 IN 加1 得到双字长的有符号输出结果OUT DECD 双字减指令 使能输入有效时 把双字长的有符号输入数 IN 减1 得到双字长的有符号输出结果OUT 4 应用实例 控制要求 食品加工厂对饮料生产线上的盒装饮料进行计数 每24盒为一箱 要求能记录生产的箱数 程序及说明 程序如图4 29所示 图4 29增减指令的应用 返回本节 4 2 7逻辑运算 1 字节逻辑运算2 字逻辑运算3 双字逻辑运算 1 字节逻辑运算 字节逻辑运算包括字节与 字节或 字节异或 字节取反 2 字逻辑运算 字节逻辑运算包括字节与 字节或 字节异或 字节取反 3 双字逻辑运算 字逻辑运算包括双字与 双字或 双字异或 双字取反 返回本节 4 3其他数据处理指令 4 3 1传送类指令4 3 2移位指令4 3 3字节交换指令4 3 4填充指令 返回本章首页 4 3 1传送类指令 1 单一传送 1 MOVB 字节传送指令 2 BIR 传送字节立即读指令 3 BIW 传送字节立即写指令 4 MOVW 字传送指令 4 MOVD 双字传送指令 6 MOVR 实数传送指令2 块传送 1 BMB 字节块传送指令 2 BMW 字块传送指令 3 BMD 双字块传送指令 1 单一传送 1 MOVB 字节传送指令使能输入有效时 把一个单字节无符号数据由IN传送到OUT所指的字节存储单元 IN的寻址范围 VB IB QB MB SB SMB LB AC VD AC LD和常数 OUT的寻址范围 VB IB QB MB SB SMB LB AC VD AC LD 指令格式 MOVBIN1 OUT例 MOVBVB0 QB0 2 BIR 传送字节立即读指令使能输入有效时 立即读取单字节物理输入区数据IN 并传送到OUT所指的字节存储单元 IN的寻址范围 IBOUT的寻址范围 VB IB QB MB SB SMB LB AC VD AC LD 指令格式 BIRIN1 OUT例 BIRIB0 VB10 2 块传送 指令可用来进行一次多个 最多244个 数据的传送 数据块类型可以是字节块 字块 双字块 三条指令中N的寻址范围都是 VB IB QB M

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论