哪位大虾说下在SFC中急停这么编写? 点击:1823 | 回复:3



abcdefjj

    
  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 3回
  • 年度积分:0
  • 历史总积分:102
  • 注册:2008年1月13日
发表于:2013-07-23 12:29:21
楼主

要求按下急停所有动作都保持原位,松开急停不能继续动作,使用M8040时候是能够保持原位,但是松开急停后就会继续动作了,如果按下急停时候复位所有状态,那么就不能保留原状态,请问怎么解决这个问题?大家探讨下




湖北老四

  • 精华:2帖
  • 求助:13帖
  • 帖子:25帖 | 845回
  • 年度积分:0
  • 历史总积分:2751
  • 注册:2013年2月16日
发表于:2013-07-23 15:44:15
1楼

要求分析:

当用户按下急停按钮的时候,所有输出保持原状,释放急停按钮的时候,强制所有输出继续保持原状,系统自动控制的权力被架空。直到用户手动解除急停状态,恢复系统自动控制权。


如果具体要求如上所述,那么解决方案如下:

1、设计一个起保停电路。启动按钮就是楼主说的急停按钮,我们起名为架空钮。另外设计一个停止按钮,作用就是在需要到时候解除急停状态,暂命名为恢复钮。起保停电路驱动的一个线圈,某个位,暂时起名为牛逼位吧。具体执行逻辑,就是当用户按下架空钮的时候,牛逼位闭合,当用户按下恢复钮的时候,牛逼位断开。


2、在程序中设计一个输出的拷贝动作。确保在每个扫描周期中,将所有的输出位状态拷贝到某个地址当中,具体地址类型就看输出有多少个点了,最好是在32个点之内,当然,多了也不怕,就是多用几次指令的事情。这里我们暂时称这个地址为“仓库”。这个应该不难理解,如果是西门庆的话,一个MOVD指令就能拷贝32个位的状态。每个扫描周期都进行刷新,确保目标地址“仓库”的数字量=上个扫描周期中的输出数字量。


3、在整个用户程序的最后,用牛逼位驱动一条或者多条MOV指令。具体逻辑就是,当牛逼位闭合的时候,将仓库地址中的数据,全部拷贝到输出地址中。


OVER!



小诚

  • 精华:16帖
  • 求助:64帖
  • 帖子:679帖 | 7271回
  • 年度积分:3
  • 历史总积分:32156
  • 注册:2012年9月27日
发表于:2013-07-23 17:13:19
2楼

又见湖北老四身影,学习了。

风中cloud

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 29回
  • 年度积分:0
  • 历史总积分:10
  • 注册:2013年4月27日
发表于:2013-07-23 20:34:27
3楼

回复内容:

对: 湖北老四 要求分析:当用户按下急停按钮的时候,所有输出保持原状,... 内容的回复!


请教一下,出现报警状态时可否用这种方法?或是动作执行时利用移位指令的思路行的通吗?


热门招聘
相关主题

官方公众号

智造工程师