网站大量收购独家精品文档,联系QQ:2885784924

模块六其他的特殊指令.ppt

  1. 1、本文档共58页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
模块六其他的特殊指令

模块六 其他的特殊指令 学习目标 掌握程序控制指令的格式和功能,学会用程序控制指令来编写程序; 了解子程序的概念,掌握子程序的建立和调用的方法; 理解中断、中断事件、中断优先级等概念,了解各类中断事件及中断优先级,掌握中断指令的格式和功能,掌握中断程序的建立方法; 了解高速计数器的计数方式、工作模式、控制字节、初始值和预置值寄存器以及状态字节等含义,掌握高速计数器指令的格式和功能,学会使用高速计数器; 了解PWM和PTO的含义,了解PTO/PWM寄存器的各位的含义,掌握高速脉冲输出指令的格式和功能,,能够使用PTO/PWM发生器产生需要的控制脉冲。 任务一:程序控制指令 程序控制指令的作用是控制程序的运行方向,如程序的跳转、程序的循环等。在工程实践中常用来解决一些生产流程的选择性分支控制、并行分支控制等。 1.任务提出 设定I0.0为电动机点动连续运行控制选择开关,当I0.0得电时,选择点动控制;当I0.0不得电时,选择连续运行控制。 表6-1 跳转与标号指令 说明:N的取值范围是0~255,可以在主程序、子程序或者中断服务程序中使用跳转指令,跳转指令及跳转标号指令只能用于同一程序段中。 表6-2 跳转与标号编程举例。 2.任务解决方案 设定I0.0为电动机点动连续运行控制选择开关,当I0.0得电时,选择点动控制;当I0.0不得电时,选择连续运行控制 3.其他的程序控制指令 (1)条件结束指令与停止指令 说明: 1)条件结束指令只能用在主程序,不能用在子程序和中断程序。 2)如果 STOP 指令在中断程序中执行,那么该中断立即终止并且忽略所有挂起的中断,继续扫描程序的剩余部分在本次扫描的最后完成 CPU 从 RUN 到 STOP 的转变。 (2)看门狗复位指令 看门狗复位指令(WDR)允许S7-200 CPU的系统看门狗定时器被重新触发,这样可以在不引起看门狗错误的情况下,增加此扫描所允许的时间。 (3)循环控制指令 程序循环控制结构用于描述一段程序的重复循环执行。指令格式和功能如表6-5所示。 由FOR和NEXT指令构成程序的循环体 表6-6 程序控制指令编程举例 5.应用实例 例1 有三台电动机,设置2种起停方式:手动操作方式:用每个电动机各自的起停按钮控制M1~M3的起停状态;自动操作方式:按下起动按钮,M1~M3每隔5s依次起运;按下停止按钮,M1~M3同时停止。 I/0分配如表6-7所示。 例2 使用I0.1由OFF到ON的上升沿,将10,15,20,25,30,35分别送到VW10,VW12,……,VW20。 分析:此程序可以由循环程序来实现,程序如图6-3所示。 任务二:子程序的使用 调用子程序优点: - 用子程序可以减小程序的长度 - S7-200在每个扫描周期中处理主程序中的代码,不管代码是否执行。而子程序只有在被调用时,S7-200才会处理其代码,因而用子程序可以缩短程序扫描周期。 -用子程序创建的程序代码是可传递的。具有某种独立功能的子程序,可以复制到另一个应用程序中。 子程序有子程序调用和子程序返回两大类指令,子程序可以被多次调用,也可以嵌套(最多8层),还可以递归调用自己(自己调自己),使用递归的时候要慎重。 1.任务提出 建立模拟量计算子程序: 在实际的控制项目中,从模拟量输入模块中得到模块量,需要经过一定的数学运算,来得到我们实际需要的模拟值。对这种需要重复进行的数学运算,可以通过建立子程序来实现,在需要的时候调用。 (1)建立子程序的方法 从“编辑”菜单→选择插入(Insert)→ 子程序; 从指令树,用鼠标右键单击“程序块”图标并从弹出菜单→选择插入(Insert)→ 子程序 从“程序编辑器”窗口,鼠标右键单击,从弹出快捷菜单中选择插入(Insert)→ 子程序; 选择插入子程序之后,在程序编辑器的底部会出现一个新标记,代表新的子程序,子程序的编号n从0开始自动向上生成。 任务二:子程序的使用 表6-8 子程序指令 说明: 1)子程序调用指令编写在主程序中,子程序返回指令编写在子程序中; 2)子程序标号n的范围是0~63; 3)子程序可以不带参数调用,也可以带参数调用。带参数调用的子程序必须事先在局部变量表里对参数进行定义。 局部变量表中的变量有IN、IN_OUT、OUT和TEMP四类。 IN(输入):是传入子程序的输入参数; IN_OUT(输入/输出):将参数的初始值传给子程序,并将子程序的执行结果返回给同一地址; OUT(输出):子程序的执行结果,它被返回给调用它的程序。被传递参数的数据类型有BOOL、BYTE、WORD、INT、DWORD、DINT、REAL、STRINGL八种。 TEMP:局部存储器只能用作子程序内部的暂时存储器,不能用来传递参数。 局部变量表最左边

文档评论(0)

youbika + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档