可编程控制器原理及应用 教学课件 作者 田淑珍连接文件夹 68.DOC

可编程控制器原理及应用 教学课件 作者 田淑珍连接文件夹 68.DOC

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
用一个子程序实现PTO初始化,首次扫描(SM0.1)时从主程序调用初始化子程序,执行初始化操作。以后的扫描不再调用该子程序,这样减少扫描时间,程序结构更好。 初始化操作步骤如下: 首次扫描(SM0.1)时将输出Q0.0或Q0.1复位(置0),并调用完成初始化操作的子程序。 在初始化子程序中,根据控制要求设置控制字并写入SMB67或SMB77特殊存储器。如写入16#A0(选择微秒递增)或16#A8(选择毫秒递增),两个数值表示允许PTO功能、选择PTO操作、选择多段操作、以及选择时基(微秒或毫秒)。 将包络表的首地址(16位)写入在SMW168(或SMW178)。 在变量存储器V中,写入包络表的各参数值。一定要在包络表的起始字节中写入段数。在变量存储器V中建立包络表的过程也可以在一个子程序中完成,在此只须调用设置包络表的子程序。 设置中断事件并全局开中断。如果想在PTO完成后,立即执行相关功能,则须设置中断,将脉冲串完成事件(中断事件号19)连接一中断程序。 执行PLS指令,使S7-200为PTO/PWM发生器编程,高速脉冲串由Q0.0或Q0.1输出。 退出子程序。 【例6-7】PTO指令应用实例。编程实现例6-6中的步进电机的控制 分析:编程前首先选择高速脉冲发生器为Q0.0,并确定PTO为3段流水线。设置控制字节SMB67为16#A0表示允许PTO功能、选择PTO操作、选择多段操作、以及选择时基为微秒,不允许更新周期和脉冲数。建立3段的包络表(例6-6),并将包络表的首地址装入SMW168。PTO完成调用中断程序,使Q1.0接通。PTO完成的中断事件号为19。用中断调用指令ATCH将中断事件19与中断程序INT-0连接,并全局开中断。执行PLS指令,退出子程序。本例题的主程序,初始化子程序,和中断程序如图6-15所示。 主程序 LD SM0.1// 首次扫描时,将Q0.0复位 R Q0.0 1 CALL SBR_0//调用子程序0 子程序0 // 写入PTO包络表 LD SM0.0 MOVB 3 VB200 // 将包络表段数设为3 // 段1: MOVW +500 VW201 //段1的初始循环时间 设为500ms MOVW -2 VW203 //段1的Δ设为-2 ms MOVD +200 VD205 //段1的脉冲数设为200 // 段2: MOVW +100 VW209 //段2的初始周期 设为100 ms MOVW +0 VW211 //段2的Δ设为0 ms MOVD +3600 VD213 //段2中的脉冲数 设为3600 // 段3: MOVW +100 VW217 //段3的初始周期设 为100ms MOVW +1 VW219 //段3的Δ设为1ms MOVD +200 VD221 //段3中的脉冲数设为200 LD SM0.0 MOVB 16#A0, SMB67 // 设置控制字节: MOVW +200, SMW168 // 将包络表起始地址 指定为V200。 ATCH INT_0, 19 // 设置中断 ENI // 全局开中断 PLS 0 // 起动PTO,由Q0.0输出 中断程序0 LD SM0.0 // PTO完成时,输出Q1.0 = Q1.0 图6-15 例6-7主程序,初始化子程序,中断程序

您可能关注的文档

文档评论(0)

带头大哥 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档