s7-200如何实现四工位的队列 点击:995 | 回复:6



沮丧的毛毛虫

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:10帖 | 36回
  • 年度积分:0
  • 历史总积分:70
  • 注册:2004年9月24日
发表于:2007-06-22 13:36:00
楼主
各位大哥,我用的是S7-200的PLC设计的程序,该设备是四个工位(A1/A2/A3/A4),每工位有4个工序(充氮气/抽真空/加冷媒/电测试)。要求有队列功能,即先按启动的先工作,后按的后工作;前一工位做完一个工序第二先按的工位此工序跟上,其余类推;同一时间同一工序只允许一个工位在工作;每工位每工序的工作时间可以不一样,也就是说有允许补进插队(难点)。这个问题困绕我很久了,逻辑关系较复杂,哪位好心的大哥帮忙给个思路,或直接帮我编好那就更谢谢啦,呵呵,先谢过了!
[b]问题补充:[/b]可以四个工位全部投入,也可以投入任意多;可以按A1-->A2-->A3-->A4的顺序投入,也可以任意顺序投入,例如A3-->A2-->A4



zhaojinzhe

  • 精华:2帖
  • 求助:0帖
  • 帖子:22帖 | 81回
  • 年度积分:0
  • 历史总积分:218
  • 注册:2005年2月23日
发表于:2007-06-22 13:54:00
1楼
自己想的一招,仅供参考,应该可行。按钮按下后向一个地址内写入一特定值,用该值判断第几个按钮被按下。用堆栈的形式进行按钮按下的记忆,哪个工位工作的判定用出栈来进行。对工序的描述有点不懂,假设A1工位先按,此位充气10秒,抽真空20秒,而A2工位后按,充10秒,抽10秒,那么加注是由哪个先开始呢?A2还是A1?

沮丧的毛毛虫

  • 精华:0帖
  • 求助:0帖
  • 帖子:10帖 | 36回
  • 年度积分:0
  • 历史总积分:70
  • 注册:2004年9月24日
发表于:2007-06-25 10:11:00
2楼
是A2先开始加注啊!所以难就难在这里了,唉,愁死了!你刚才说的用堆栈的方法是解决了前面的问题,我也这样试过,第一工序的时候可以,后面就不好解决了.还有就是如果这个工序在前一个工序中被判断为不合格,还要退出队列

喜欢吃猫的鱼

  • 精华:1帖
  • 求助:0帖
  • 帖子:6帖 | 43回
  • 年度积分:0
  • 历史总积分:104
  • 注册:2004年10月25日
发表于:2007-06-25 15:05:00
3楼
每个工位对应一个16位地址,各自对应的按照按下的先后顺序分别在各自对应的地址里写入1,2,3,4.然后1工位里对应的每一工序为11,12,13,14,2工位里对应的每一工序为21,22,23,24,3工位里对应的每一工序为31,32,33,34,4工位里对应的每一工序为41,42,43,44.再用一个地址记录总共按下灯的数目,记作n为1,2,3,4.如果按下一个灯,那就很简单,按照11,12,13,14的顺序执行.如果按下2个以上灯,执行完第一个按下的灯里的工序后给次工序的数码加上11,直接到对应的工序,同时n减1,如果n等于1时,就仅在同一工位里执行.执行到最后一个工序后停止.(这里不知道任何一个工位执行完最后一个工序后,工艺就结束吗?还是继续执行...已知条件说的不是很清楚),这仅仅是一个思路,编程可能还存在不少问题,但是不是很难,有空的话我可以帮你编编,e-mail:masterplc@126.com

子文2

  • 精华:0帖
  • 求助:1帖
  • 帖子:18帖 | 502回
  • 年度积分:0
  • 历史总积分:837
  • 注册:2006年5月17日
发表于:2007-06-25 17:21:00
4楼
可以把工艺写得更清晰一点,或许思路会好一点!
把工艺给我看看!我试试看!xsw_0001@163.com

子文2

  • 精华:0帖
  • 求助:1帖
  • 帖子:18帖 | 502回
  • 年度积分:0
  • 历史总积分:837
  • 注册:2006年5月17日
发表于:2007-06-25 17:21:00
5楼
可以把工艺写得更清晰一点,或许思路会好一点!
把工艺给我看看!我试试看!xsw_0001@163.com

子文2

  • 精华:0帖
  • 求助:1帖
  • 帖子:18帖 | 502回
  • 年度积分:0
  • 历史总积分:837
  • 注册:2006年5月17日
发表于:2007-06-25 17:21:00
6楼
可以把工艺写得更清晰一点,或许思路会好一点!
把工艺给我看看!我试试看!xsw_0001@163.com

热门招聘
相关主题

官方公众号

智造工程师