




已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5章FX2N系列PLC的应用指令 5 1应用指令的概述 5 1 1应用指令的表达形式 1 位元件与字元件位元件 只处理ON OFF状态的软元件 如X Y M S等 字元件 处理数值的软元件 如T C D等 一个字元件由16位二进制数组成 位元件组合使用也可处理数值 位元件每4位一组组合成一个单元 通常的表示方法是Kn加上首元件号组成 n为单元数 例如 K2X0表示由X0 X7组成的位元件组 这是一个8位数据 X0为最低位 16位数据时n 1 4 32位数据n 1 8 5 1 1应用指令的表达形式 注 当一个16位的数据传送到K1M0 K2M0 K3M0时 只能传送低位数据 较高位数据不传送 32位数据传送时也一样 在作16位数操作时 参与操作的位元件不足16位时 高位 不足部分 均作0处理 这就意味着只能处理正数 符号位为0 32位数据操作也一样 被组合的位元件的首元件号可以是任意的 但为避免混乱 建议采用编号以0为结尾的元件 如X0 Y10 M20等 5 1 1应用指令的表达形式 2 指令与操作数应用指令 指令助记符 操作数指令助记符 该指令执行的操作 操作数 指需要操作的数据 S 表示数据源 内容不随指令执行而变化的操作数称为源 在可变址修改软元件编号的情况下 加上 符号的 S 表示 源的数量多时 以 S1 S2 等表示 D 表示目标操作数 内容随指令执行而改变的操作数被称作目标 可作变址修饰时 加上 符号的 D 表示 目标数量多时 以 D1 D2 等表示 n m 以 m 或 n 表示既不作源 也不作目标的操作数 这样的操作数数量很多时 以 m1 m2 n1 n2 等表示 5 1 1应用指令的表达形式 3 数据格式在FX系列PLC内部 数据以二进制 BIN 补码的形式存储 所有的四则运算和加1 减1运算都使用二进制数 16位数据的二进制补码最高位 第15位 为符号位 正数的符号位为0 负数的符号位为1 最低为第0位 5 1 1应用指令的表达形式 4 应用指令的表达形式与基本指令不同 FX2N系列PLC的应用指令用编号FNC00 FNC246表示 采用计算机通用的助记符 英文名称或缩写 表示 例如 FNC45的助记符是MEAN 平均 应用指令的表示格式如图5 1所示 应用指令的指令段通常占1个程序步 16位操作数占2步 32位操作数占4步 图5 1应用指令的表示格式 5 1 2数据长度和指令执行形式 1 指令助记符前加 D 扩展数据位FX2N型PLC中的数据寄存器D为16位 用于存放16位二进制数 在应用指令的助记符前加 D 就变成32位指令 数据长度的表示格式如图5 2所示 图5 2数据长度的表示 5 1 2数据长度和指令执行形式 2 指令助记符后加 P 为脉冲执行形式应用指令有连续执行和脉冲执行型两种执行形式 脉冲执行形式的使用如图5 3所示 有 P 表示该指令为脉冲执行型 在执行条件满足时仅执行一个扫描周期 无 P 表示该指令只能是连续执行型 在执行条件满足的每个扫描周期都要被执行 P 和 D 可以同时使用 图5 2数据长度的表示 5 1 3变址寄存器 FX2N有16个16位的变址寄存器 分别是V0 V7和Z0 Z7 在传送 比较指令中 变址寄存器V和Z用来修改操作对象的元件号 在循环程序中常使用变址寄存器 进行32位运算时 常用V和Z自动组对使用 分别组成 V0 Z0 V1 Z1 V7 Z7 V为高16位 Z为低16位 这时变址指令只需指定Z Z就能代表V和Z的组合 5 2变址寄存器 5 2 1条件跳转指令 条件跳转指令CJ ConditionalJump 的功能编号为FNC00 操作数的指针标号P0 P127 其中P63即END所在步序 无需再标号 CJ和CJP都占3个程序步 指针标号占1个程序步 指针P Point 用于分支和跳转步序 在梯形图中 指针放在左侧母线的左边 当CJ指令条件满足时 跳转到相应的标号处 5 2 1条件跳转指令 图5 4跳转指令的使用 5 2 1条件跳转指令 注意事项 1 CJP指令表示脉冲执行方式 2 在一个程序中 一个指针标号只能出现一次 否则程序会出错 但是在同一个程序中两条跳转指令可以使用相同的指针标号 3 跳转指令一般在CJ指令之后 但也可出现在跳转指令之前 4 跳转执行期间 即使被跳过程序的驱动条件改变 但其线圈 或结果 仍保持跳转前的状态 因为跳转期间没有执行这段程序 5 如果跳转开始时定时器和计数器已在工作 则跳转执行期间它们将停止工作 即T和C的当前值保持不变 直到跳转条件不满足后又继续工作 T和C接着以前的数值继续计时和计数 但定时器T192 T199和高速计数器C235 C255在跳转后将继续动作 接点也动作 5 2 2子程序调用和子程序返回 1 子程序调用指令CALL子程序调用指令CALL SubRoutineCall 的功能编号为FNC01 操作数为P0 P127 CALL和CALLP指令都占3个程序步 子程序调用指令CALL的功能是当执行条件满足时 该指令使程序跳到标号处 执行该标号对应的子程序 5 2 2子程序调用和子程序返回 2 子程序返回指令SRET子程序返回指令SRET SubRoutineReturn 的功能编号为FNC02 无操作数 占用1个程序步 子程序返回指令SRET的功能是返回到调用该子程序的CALL指令处的下一逻辑行 3 建立子程序子程序是为一些特定的控制目的而编制的相对独立的程序 为了区别于主程序 规定在程序编排时 将主程序排在前面 子程序排在后面 以主程序结束指令FEND FNC06 将它们隔开 5 2 2子程序调用和子程序返回 图5 5子程序调用和返回指令的使用 5 2 2子程序调用和子程序返回 注意事项1 同一标号在左母线前只能出现一次 但不同的CALL指令可调用同标号的子程序 2 子程序中可再调用子程序 形成子程序嵌套 最多可有5级嵌套 3 在调用子程序和中断子程序时 可采用T192 T199和T246 249作为定时器 5 2 2子程序调用和子程序返回 例5 1 用两个开关X1 X0控制一个信号灯Y0 当X1X0 00时灯灭 当X1X0 01时 灯以1s脉冲闪烁 当X1X0 10时 灯以2s脉冲闪烁 当X1X0 11时 灯常亮 用子程序调用来实现 则如图5 6所示 5 2 2子程序调用和子程序返回 图5 6子程序调用实例 5 2 3中断指令 中断是指当PLC在执行正常程序时 由于系统中出现了某些急需处理的特殊情况或请求 使PLC暂时停止现行程序的执行 转去对这种特殊情况或请求进行处理 即执行中断服务程序 当处理完毕后 自动返回到原来被中断的程序处继续执行 中断返回指令IRET InterruptReturn 功能编号FNC03 无操作数 占1个程序步 中断允许指令EI EnableInterrupt 的功能编号FNC04 无操作数 占1个程序步 中断禁止指令DI DisableInterrupt 的功能编号FNC05 无操作数 占1个程序步 5 2 3中断指令 1 中断指针中断指针 I I8 是用来指示某一中断程序的入口位置的 执行中断后遇到IRET指令 则返回主程序 中断指针有以下三种类型 1 输入中断指针 I00 I50 共6点 用来指示由特定输入端的输入信号而产生中断的中断服务程序的入口位置 这类中断不受PLC扫描周期的影响 可以及时处理外界信息 输入中断指针编号格式如下 I201是当输入X2从OFF ON变化时 执行以I201为标号的中断程序 并根据IRET指令返回 5 2 3中断指令 2 定时器中断指针 I6 I8 共3点 用来指示周期定时中断的中断服务程序的入口位置 这类中断的作用是PLC以指定的周期定时执行中断服务程序 定时循环处理某些任务 处理的时间也不受PLC扫描周期的影响 定时器中断指针格式如下 3 计数器中断指针 I010 I060 共6点 用于在PLC内置的高速计数器中 当高速计数器的当前值达到规定值 执行中断子程序 常用于利用高速计数器优先处理计数结果的场合 5 2 3中断指令 2 中断指令中断是指在执行主程序的过程中 中断主程序转而去执行中断服务子程序 PLC通常处于禁止中断状态 由EI和DI指令组成允许中断范围 在执行到该区间时 如果有中断源产生中断 CPU将暂停主程序而转去执行中断服务程序 当遇到IRET时返回断点继续执行主程序 中断指令的简单使用示例如图5 7所示 5 2 3中断指令 图5 7中断指令的使用 在图5 7中 如在允许中断范围内 如果外部中断源X1有一个下降沿 则转入I100为标号的中断服务程序 但X0能否引起中断还受M8050的控制 当X10为ON时 M8050 1 禁止I100中断 5 2 3中断指令 表5 1中断类型及中断禁止特殊辅助继电器 5 2 3中断指令 注意事项1 如果有多个中断信号依次发出 则优先级按发生的先后顺序 即发生越早的优先级越高 若同时发生多个中断信号 则中断指针号小的优先级越高 2 无需中断禁止时 可只用EI指令 不必用DI指令 3 通过特殊辅助继电器M8050 M8058可实现中断的选择 它们分别与外部中断和定时器中断一一对应 当M8050 M8058为ON时 禁止执行相应I0 I8 的中断 M8059为ON时 则禁止所有计数器中断 4 FX2N系列PLC可实现不多于两级的中断嵌套 即在中断子程序中再使用一对EI和DI指令 5 2 3中断指令 例5 2 3人智力抢答 a 输入中断 抢答 梯形图 b 抢答器接线图 图5 8输入中断 抢答电路 实例 5 2 4主程序结束指令 主程序结束指令FEND FirstEnd 的功能编号为FNC06 无操作数 占用1个程序步 FEND表示主程序结束 当执行到FEND时 PLC执行输入 输出处理 监视定时器的刷新 返回0步程序 使用FEND指令的注意事项 1 子程序和中断服务程序应放在FEND之后 2 子程序和中断服务程序必须写在FEND和END之间 否则会出错 5 2 5监控定时器指令 监视定时器指令WDT WatchDogTimer 的功能编号为FNC07 没有操作数 占用1个程序步 监视定时器WDT WatchDogTimer 又称看门狗 该指令的功能是对PLC的监视定时器进行复位 PLC正常工作时扫描周期小于它的定时时间 监控定时器定时时间在FX2N中默认值为200ms 如果PLC运行一个扫描周期的时间超过监控定时器规定的200ms时 PLC将停止工作 这时CPU E CPU错误 指示灯亮 5 2 5监控定时器指令 可以通过修改PLC的特殊数据寄存器D8000 存放一个扫描周期时间 值来设定WDT的定时时间 如图5 9所示 图5 9WDT的定时时间设定 5 2 5监控定时器指令 此外 如果一个程序大于默认的200ms 也可以通过在程序中插入WDT指令 将程序一分为二 使它们都小于200ms 则不会出现停机报警现象 如图5 10所示 图5 10WDT指令的应用 5 2 5监控定时器指令 注意事项 1 如果FOR NEXT循环程序的执行时间过长 可能超过监控定时器的定时时间 可将WDT指令插入循环程序中 2 如果条件跳转指令CJ出现在它所对应的指针标号之后 可能因连续反复跳步使它们之间的程序被反复执行 使WDT动作 为避免这种情况 可以在CJ指令和其指针标号之间插入WDT指令 5 2 6循环指令 循环开始指令FOR的功能编号为FNC08 源操作数表示循环次数 占3个程序步 循环结束指令NEXT的功能编号为FNC09 无操作数 占1个程序步 FOR与NEXT构成循环指令 FOR NEXT之间的程序被反复执行 执行次数由FOR指令的源操作数n设定 n的取值范围1 32767 执行完后 再执行NEXT后面的指令 5 2 6循环指令 循环指令简单使用示例如图5 11所示 在图5 11中 外层循环程序A嵌套内层循环B 外层A执行2次 每执行一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高中化学选修一课件
- 2025年各地中考语文试卷【 基础知识综合题】汇集练附答案解析
- 高一功率课件
- 竞业禁止协议执行中补偿金调整与争议解决合同
- 章珊情感破裂离婚协议书:财产分割及子女抚养权约定
- 离婚房产分割协议书中的共有权转让与变更合同
- 老旧小区改造简单承包拆迁及物业管理合同
- 离婚房产分割保障未成年子女教育、医疗、生活协议
- 职业教育改革方案报告
- 仪表设备检修预案
- T/CECS 10128-2021不锈钢二次供水水箱
- 露营股份合作协议书
- 酒店物件赔偿协议书
- 职业技能考评员培训课件
- 护士职业暴露与防护 课件
- 2025年第十届“学宪法、讲宪法”竞赛题库(含答案)
- 四川产业振兴基金投资集团有限公司招聘笔试题库2025
- 光伏备案合同协议
- 法考历年真题答案2024
- 多器官功能障碍护理常规
- 宠物训导技术课件
评论
0/150
提交评论