1935807118
级别: 家园常客
精华主题: 0
发帖数量: 673 个
工控威望: 864 点
下载积分: 2043 分
在线时间: 326(小时)
注册时间: 2013-05-03
最后登录: 2025-01-08
查看1935807118的 主题 / 回贴
楼主  发表于: 2015-05-12 11:27
有一条大型生产线,一共有几十个工位,每个工位有个呼叫加料按钮,加料装置是一台私服马达拉着机械手跑,我刚开始是想着哪个工位先按,就送哪个工位,后按得无效,要等到上个工位取料完毕再按才有效,现在客户要求后按的必须保持等待加料状态,等上个工位加完料马上加下个工位,并且严格按照先按先加的顺序进行,也就是现在同时有人一起把所有工位按钮按下,加料装置也要按着按下的顺序一个一个加下去,中间无需再按了。想了很久一直没有很好的思路,哪位大师给个思路,用的是三菱FX系列的PLC,谢谢!
bettyl
级别: 探索解密
精华主题: 0
发帖数量: 24 个
工控威望: 168 点
下载积分: 3161 分
在线时间: 29(小时)
注册时间: 2013-03-30
最后登录: 2015-06-25
查看bettyl的 主题 / 回贴
1楼  发表于: 2015-05-13 13:12
引用
引用第4楼kokoper于2015-05-12 13:21发表的  :
我有个用C语言写的思路  就是不知道怎么转化到三菱,西门子倒会写的。
先写一个请求函数
N为工位数,建立N个元素的数组,每个按钮编辑一个不一样的非零号码,每次按按键 ,就先查找数组里是否存在该数,如存在就没有任何操作;如不存在,则将该数存到数组最后一个非0数后面;
再写一个送料函数
送料时候,先移出第一个数,然后后面所有数向前移一个单元,然后送料机构根据移出来的数到对应的地方送料。一个送料循环结束后再移出下一个数,如果移出0 则表示无送料命令
.......

其实在西门子里面不用这么麻烦,直接用表指令就可以吧