实验八、九 子程序、中断程序实验.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验八、九 子程序、中断程序实验

实验八 子程序实验 实验目的 1、掌握全局、局部变量的定义与作用; 2、熟悉无参子程序和有参子程序的建立和调用方法 3、进一步熟悉常用功能指令(加、减、数据类型转换、循环等(另:自学内容已经布置:数学运算指令和数据转换指令) 二、实验设备 TKPLC-1实验实训装置一台,装有STEP7软件的计算机一台,西门子编程电缆一根、连接导线若干。 实验内容与步骤 1、不带参数子程序调用例子:设置存储器位或字节的几种方法(注意符号的定义与使用,其它功能指令的学习包含在子程序和中断程序实验中。下同) 本程序描述了用一定值存入预定的存储器位或字节,以及清除存储区内容的几种方法 采用下列指令: FILL 设置一个或几个字 FOR...NEXT FOR...NEXT循环 R 对一位或几位置 0 输入以下子程序和主程序,注意体会各指令作用及符号的使用。 子程序0功能:如果输入I0.0=1,则把VW200中值复制到VW204至VW216 子程序1功能:当输入I0.1=1时,把几个初始数复制到变量存储区。循环次数取决于VW10中的首次循环数和VW0中的最后一次循环数。当前循环次数存储在内存字VW20中,首次计数值(50)存储在累加器AC0中,计数值缓冲区首址( VB100)存储在累加器AC1中,AC1为计数值缓冲区指针,每循环一次的功能:AC0的计数值存入AC1指针所指向的内存单元,AC1指针加2个字节,指向下一个内存字,AC0的计数值加4,直至最后一次循环。 子程序2的功能,使V100.0开始的176个位复位,V204.0开始的112个位复位。 2、带参数子程序的调用例子:求变量区和。 局部变量设置表: 子程序功能:求VW100开始的10个数据字的和。先将整形数转为双整型数,再加,指针值每次增2,循环10次。注意体会各指令作用。 提醒:欲间接存取字节,将指针用一递增或递减。欲间接存取字,将指针用二递增或递减。欲间接存取双字,将指针用四递增或递减。如果您从使终止位置超出V内存上限的起始位置递增双字,程序执行时会收到一则运行时间错误信息。欲存取定时器或计数器当前值(此为字数值),将指针用二递增或递减。 主程序:注意主程序中调用盒里的VB100是代表VW100的字节地址。在编程软件中,字地址、双字地址均以“小端模式”的初始字节地址标识!这点同学易错!比如,此处目的是把VW100开始的字地址送POINT,不能写成VW100,只能写成VB100. 实验要求(1)在数据块中输入从VW100开始的10个字值,输入并监控程序运行,在状态表中输入要观察的变量地址,查看运行结果。在“符号表”中定义全局变量starton,并定义其地址为I0.1,在注释栏中说明其含义。如上图。在子程序“求和”中使用该全局变量(比如,让其后接一个置位指令),观察、认识运行情况,理解整数转换指令及子程序调用情况。要求写出完整的STL语句表。 (2)设置子程序中返回为有条件返回,形如:观察运行情况。 思考与练习 1、在PLC梯形图程序编写中,使用符号有什么好处?请将以前的起保停梯形图加上符号:起动按钮、停止按钮、电动机。 2、全局变量应在什么中建立?主程序、子程序中局部变量各有几种类型?应在什么中建立?局部变量区地址是由编程软件自动分配的,请说明每个POU有多少个字节L存储区组成? 3(1)子程序中的线圈与定时器的特性。停止调用子程序后,不再执行子程序中的指令,子程序中线圈对应的编程元件保持子程序被最后一次执行时的状态不变,子程序中的100ms定时器的当前值和定时器位的状态保持不变。如果在停止调用子程序时,子程序中的1ms、10ms定时器正在定时,该子程序被停止调用后,即使以后控制这些定时器的电路断开,它们也会继续定时。 将下面的程序输入到编程软件,下载到PLC后运行该程序。在I0.0为ON时调用子程序SBR_0,用变量表监视3个定时器的当前值和QB0的状态。 在调用子程序时令Q0.2为ON,观察停止调用子程序时Q0.2的状态,Q0.2是否还受I0.4的控制?分别在各定时器正在定时的时候断开I0.0,观察定时器的当前值和有关输出点的变化情况。在T33正在定时的时候停止调用子程序,然后使I0.2变为OFF,观察T33是否还能继续定时。 //主程序 LD I0.0 CALL SBR_0 //调用0号子程序 LD T33 = Q0.0 LD T32 = Q0.1 // 子程序SBR_0 LD I0.1 TON T37,100 //100ms定时器,设定值10s LD I0.2 TON T33,1000 //10ms定时器,设定值10s LD I0.3 TON T32,10000 //1ms定时器,设定值10s LD I0.4 = Q0.2 (

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档