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

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

我学的不多  很多指令不熟悉哈  勿喷 对C语言比较熟悉而已,所以是站在C的角度想怎么处理这个的。。。