用S7-200编写一段程序及程序解析.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文档。上传文档
查看更多
用S7-200编写一段程序及程序解析

编程技巧展示:为一求助帖用S7-200编写一段程序及程序解析 求助帖:四个阀门的开关由四个接近开关信号控制,要求是1、同一时刻只能一个阀门开;2、当有两个以上到位信号出现时按优先顺序打开阀门;3、每个阀门只要开通就有一定的工作时间,时间未到不开通其他阀门;4、当有两个以上到位信号在等待上一阀门工作完毕的情况下要求按“先到先开”原则对阀门排序工作。采用的是西门子的S7-200的PLC进行控制。胶状物体通过管路输送,末端分别由四个气动阀控制胶体进入四台双缸装药机,当其中一个缸正对阀门出口时,触发近位开关表示到位 这一求助帖有一定难度,为此花费一定时间,编出如下程序,供大家分析。除此法编程外,还可用填表与FIFO指令,按此编程思路编程,有兴趣的网友可以试试。 一、梯形图: 注:(本程序经上机运行,动作正确,网络17为实验程序而编写的程序,其4个定时器的延时时间皆设定=2秒) 二、程序解析: 1、4个电磁阀对应PLC的输出口为Q0.0、Q0.1、Q0.2、Q0.3,工作时间分别由定时器T101~T104控制,这4个定时器的定时时间可由触摸屏或上位机设置改变。 其4个定时器的时间设置区为:VW10、VW12、VW14、VW16。控制电磁阀打开的到位接近开关的输入地址为I0.0、I0,1、I0.2、I0.3。 2、按题意要求 规定 : (1)、如同时有2个以上接近开关同时到位闭合时,只容许一个电磁阀打开,对应定时器延时时间到,该阀门关闭,而另一阀门打开……阀门打开的先后次序是Q0.0优先,Q0.1次之,Q0.2再次之,Q0.3为最后。 (2、)当有两个以上接近开关先后到位时,其IB0变化的输入状态按先后次序依次存入MB13、MB12、MB11、MB10里。动作执行是先从第一次到位的接近开关的(MB13)开始判断,使其对应阀门打开,在阀门打开且尚未结束时,其他到位的阀门则等待。当工作的阀门工作完毕后,等待的阀门应按“先到先开”的次序进行工作(即先为MB12,再为MB11,最后为MB10)。 根据上述二点要求,在程序上进行如下处理: 1、网络2~网络5为4个接近开关到位时令MB0的对应位置1,这里采用置位指令的作用是防止各接近开关动作时产生抖动而引起采集输入状态(MB0、MB3等)的错误。 2、? 网络6的解析:MB0时时随IB0变化,MB1为MB0为发生变化前的状态值,当IB0 无输入变化时,其MB0=MB1,网络6不执行其动作。只有当有一个或几个接近开关到位时,其对应输入点=1,都会使MB0MB1,则网络6立即执行:将MB0与MB1进行异或运算,其运算结果送入对应存储区:如MB3=0(即第一次动作,或前次动作的阀门工作已全部结束),异或结果送入MB13。如MB3=1,即前一次动作阀门尚未结束,将异或结果送入MB12。如MB3=2,即前二次动作阀门尚未结束,将异或结果送入MB11…… 异或结果送完后,将MB0->MB1,且进行MB3加1运算,又使M0.7=1。当下一个扫描周期到来时,MB0=MB1,不执行网络6,故使M0.7=0,即M0.7输出为单扫描周期脉冲。 如前次动作阀门尚未结束又有接近开关到位,使MB0MB1,立即又执行MB0与MB1的异或运算,此时MB3=1,故异或结果->MB12…… MB0与MB1的异或运算是本程序的技巧编程之一:它能将IB0的最新到位的接近开关状态剪接出来,如变化前 IB0=0000_0010,MB0=MB1=0000_0010,如此时第一与第三接近开关同时到位(即I0.0与I0.2皆=1,其IB0=0000_0111),则使MB0立刻=0000_0111,而MB1仍=0000_0010,MB0与MB1的异或运算的结果=0000_0101,此值恰是最新到位的2个接近开关=1 的状态值,将这运算的结果送入MB12,以备当前一次动作阀门工作结束后,再按本次(MB12)输入状态进行正确操作。 3、? 网络7的解析: 定时器T101~T104的延时时间为4个阀门 的工作时间,在每个阀 门打开的同时,其对应的定时器得电开始延时,当延时时间到,对应定时器输出由0↑1,其前沿使该阀门关闭(即QB0=0)。再判断及操作: (1)、如此时MB13=0,说明前一次动作的一个或几个阀门已全部工作结束,将MD10右移8位(即将MB12->MB13,MB11->MB12, MB10->MB11,0->MB10),且使MB3减1,M2.0=0,接着再判断移位后的MB13,如MB13≠0,说明仍有等待阀门需要打开,故发出触发脉冲M2.6=1的单周期脉冲,去触发等待的阀门开门。 (2)、如此时MB13≠0,说明本次动作的几个阀门没有全部工作结束,发出触发脉冲M2.1=1的单周期脉冲,去触发等待的阀门开门。

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档