电气控制与plc应用技术5.ppt

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

4. 跳转与标号指令 跳转操作可以使PLC编程的灵活性大大提高,使主机可根据不同条件的判断,选择不同的程序段执行程序。 JMP,跳转指令。使能输入有效时,使程序跳转到标号(n)处执行。执行跳转指令时,逻辑堆栈栈顶值总是1。 LBL,标号指令。标记指令跳转的目的地的位置(n)。操作数n为0~255。 5.2 程序控制指令 指令的使用说明: ①跳转指令和标号指令必须配合使用,而且只能使用在同一程序块中,不能在不同的程序块间互相跳转; ②执行跳转后,被跳过程序段中的各元器件的状态各有不同:Q、M、S、C等元器件的位保持跳转前的状态;计数器C停止计数,当前值存储器保持跳转前的计数值;对定时器来说,因刷新方式不同而工作状态不同。在跳转期间,分辩率为1ms和10ms的定时器会一直保持跳转前的工作状态,原来工作的继续工作,到设定值后其位的状态也会改变,输出触点动作,其当前值存储器一直累计到最大值32767才停止。对分辨率为100ms的定时器来说,跳转期间停止工作,但不会复位,存储器里的值为跳转时的值,跳转结束后,若输入条件允许,可继续计时,但已失去了准确计时的意义。所以在跳转段里的定时器要慎用。 P50-例3-22 5.2 程序控制指令 5. 循环指令 循环指令的引入为解决重复执行相同功能的程序段提供了极大方便,并且优化了程序结构。循环指令有两条:FOR和NEXT。 FOR,循环开始指令。用来标记循环体的开始。 NEXT,循环结束指令。用来标记循环体的结束。无操作数。 FOR和NEXT之间的程序段称为循环体,每执行一次循环体,当前计数值增1,并且将其结果同终值进行比较,如果大于终值,则终止循环。 在使用时必须给FOR指令指定当前循环计数(INDX)、初值(INIT)和终值(FINAL)。 指令格式:FOR INDX, INIT, FINAL … NEXT 5.2 程序控制指令 循环指令使用说明: ①FOR、NEXT指令必须成对使用; ②FOR和NEXT可以循环嵌套,嵌套最多为8层,但各个嵌套之间不可有交叉现象; ③每次使能输入(EN)重新有效时,指令将自动复位各参数,初始值INIT被传送到指针INDX中; ④初值大于终值时,循环体不被执行。 P51 例3-23 5.2 程序控制指令 6. 子程序调用与返回指令 与子程序有关的操作有:建立子程序、子程序的调用和返回。 建立子程序是通过编程软件来完成的。可用编程软件“编辑”菜单中的“插入”选项,选择“子程序”,以建立或插入一个新的子程序,同时,在指令树窗口可以看到新建的子程序图标,默认的程序名是SBR_N,编号N从0开始按递增顺序生成,也可以在图标上直接更改子程序的程序名,把它变为更能描述该子程序功能的名字。在指令树窗口双击子程序的图标就可以进入子程序,并对它进行编辑。 (1)建立子程序 5.2 程序控制指令 CALL,子程序调用指令。在使能输入有效时,主程序把程序控制权交给子程序。子程序的调用可以带参数,也可以不带参数。它在梯形图中以指令盒的形式编程。 指令格式:CALL SBR_0 (2)子程序调用 子程序中可以有参变量,带参数的子程序调用扩大了子程序的使用范围,增加了调用的灵活性。子程序的调用过程如果存在数据的传递,则在调用指令中应包含相应的参数。 子程序的参数在子程序的局部变量表中加以定义。参数包含的信息有地址、变量名(符号)、变量类型和数据类型。子程序最多可以传递16个参数。 5.2 程序控制指令 ①输入子程序参数IN。IN可以是直接寻址数据(如:VB10)、间接寻址数据(如:*AC1)、常数(如:16#1234)或地址(如:VB100); ②输入/输出子程序参数IN/OUT。调用子程序时,将指定参数位置的值传到子程序,子程序返回时,从子程序得到的结果被返回到指定参数的地址。参数可采用直接寻址和间接寻址,但常数和地址不允许作为输入/输出参数; ③输出子程序参数OUT。将从子程序来的结果返回到指定参数的位置。输出参数可以采用直接寻址和间接寻址,但不可以是常数或地址; ④暂时变量TEMP。只能在子程序内部暂时存储数据,不能用来传递参数。 局部变量表中的变量类型区定义的变量有: 5.2 程序控制指令 ①子程序结束要加上无条件返回指令RET。CRET指令只能用于子程序中; ②如果在子程序的内部又对另一个程序执行调用指令,则这种调用称为子程序的嵌套。子程序嵌套的深度最多为8级; ③当一个子程序被调用时,系统自动保存当前的逻辑堆栈数据,并把栈顶置1,堆栈中的其它位置设为0,子程序占有控制权。子程序执行结束,通过返回指令自动恢复原来的逻辑堆栈值,调用程序又重新取得控制权; ④累加

文档评论(0)

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

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

1亿VIP精品文档

相关文档