三菱PLC编程实例和编程优化9篇...doc

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

PAGE \* MERGEFORMAT 1 1.一个逻辑很强的程序 【Q】 检测出口温度来控制20个风扇, 温度高于设定值就启动一台风扇,一分钟后温度还高于设定值就启动下一台风扇,。。。。一分钟后温度降到设定值以下就关闭一台风扇。 上面的动作容易实现,现在的问题是每个风扇都有手动和自动两个状态。 假如说现在1,6,9,18,20。5台在自动,其余手动 温度高于设定值启动1,温度还高于设定值怎么才能跳过2,3,4,5????直接启动6呢? 我考虑的是为每台风扇编号,首先检测哪几台在自动状态,然后控制,可是这样逻辑太复杂了 有没有简单的办法???? 【A】 fx3u可以对位变址,程序比较简单,循环控制即可: ? FX2N就要用移位,间接获得自动位, M0仍为1min计时,M10~M29为自动状态标识,M100~M119为对应的风扇输出,其他为缓存位 : 2.三菱PLC程序动作分析 【Q】这是其中的一部分?? 为什么C1线圈已得电,可下面的 RST M100却没有得电? 这里的动作为什么是M19得电一次,M100置位一次,M19再得电一次,变复位一次。如此循环。我用的是在线模拟,有关系吗? 【A】 考虑一个扫描周期内的状态: 首先M100是OFF的,C1被M100的常闭触点一直复位中; M19置ON后第一个扫描周期 第一句指令:当M19第一次为ON时,C0计数到1,线圈变为ON; 第二句指令:C0将M100置位为ON;(注意此时程序还没有扫描到后面,C1仍然是在被复位的状态。而内存中的M100状态已经由OFF变为ON了) 第三句指令:M100将C0复位; 第四句指令:虽然M19和M100同时为ON,但是因为C1仍在被复位的状态,所以此时没有计数。虽然输出线圈显示为ON了,但计数值仍为0; 第五句指令:C1计数值为0,未达到设定值1,触点保持为OFF,未能复位M100; 第六句指令:M100保持为ON,未能继续复位C1; 第二个扫描周期: 第一句指令:当M19仍为ON时,但M100也为ON了,所以C0不计数,保持上一次被复位的状态OFF; 第二句指令:C0状态为OFF,对M100线圈无影响,M100仍为ON; 第三句指令:M100继续将C0复位; 第四句指令:虽然M19和M100同时为ON,但C1仍没有计数。因为计数器计数需要前边的条件状态有个OFFON的状态变化,而此时M10和M100保持了上一个扫描周期的状态,一直是ON,没有变化,所以C1计数值保持为0,虽然输出线圈的状态是ON 的,但因实际计数值为0,未达到1,所以C1触点的状态仍为OFF; 第五句指令:C1保持为OFF,未能复位M100; 第六句指令:M100保持为ON,未能继续复位C1; 此后就继续保持这种状态,也就是楼主图片中的情况;直到M19再次出现OFFON的状态,使C1得到一个计数值使其触点状态变为ON,将M100复位,再由M100的常闭触点将C1复位。这个过程中应该也能观察到C0前面M19和M100都为ON而C0计数值也为0的情况。 3.三菱PLC的FOR-NEXT指令中脉冲指令如何动作 【Q】: for??k4 m8013????incp????d10 next m8013??incp??d20 按照指令说明 执行的结果 应该是 d10??是 d20的四倍 但是我在 gx??developer中仿真的结果是d10??= d20 请问为什么 【A】: 分 析: INCP?是脉冲型的,程序从下扫到下,只执行一次INC行为 程序本来的意思是 FOR K4 后,NEXT前的程序四次循环后再执行NEXT以下的句子 由于INCP限制它只执行一次,所以是相同的,如果改成INC就应该是4倍了(仿真通过)? 进 展 说实话,我也是看了楼主的贴才好好看这个指令,同时做了几次试验 仍然是INC的情况下,我把M8013改成上升沿,果然,结果也是两者相等! 试验一和试验二证明,在FOR NEXT里面,脉冲型也是有效果的,一个扫描周期只执行一次。 深 入 然后我又把条件改成M8000,结果果然就是相差四倍! 每一个扫描周期FOR K4执行四次,FOR K1执行1次。 【A】:每一个扫描周期FOR ……NEXT之间执行4次;但因为INCP是脉冲指令,在M8013、M8000这样的条件下每个扫描周期里没有ON--OFF--ON的变化,所以这4次程序执行结果还是只+1而已,故D10与D20结果相等。改为INC后,只要是前面条件为通路,每个扫描周期FOR……NEXT的执行效果就是+4了,所以D10为D20的4倍。 注:本例中用M8013,通断时间为500ms,而仿真默认扫描周期为100ms,循环四次后刚好到达M8013的OFF段,故直接将INCP指令改为INC指令无

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档