恭喜,你发布的帖子
发布于 2017-05-12 09:33:24
30楼
看了大家讨论的这么激烈,我刚才拿起了草稿纸将控制过程思考了一遍。现撤回我之前的观点,那样做应该是实现不了的。
1:100个驱动装置应该是不能使用数据组合的方式的,因为这里使用的不是位。另外也由于PLC的输出点没有严格按照8位1节的排列顺序,所以简单的用输入对应输出来驱动也不容易。使用for循环100次来驱动可以,不过这需要选取一串都按8位一节的Q输出串,程序才会简单一点。之所以要这样,是因为每次都需要同时把输入数据传送到100个收集口作数据比较。
2,把条码器放在某一个工位,比如,产品35CM,那么,让输送线每50CM一个工位,可以用编码器计算距离来模拟一个工位脉冲,假定条码器的位置距离第一个收集口是5个工位距离。那么,可以把vb101-Vb205共105个地址作为一串数据比较,这样子,第一个收集口的位置就是vb106.那么,每走一个工位,比较一次数据,数据相同时,会驱动相应线圈,并同时把这个数据清0.数据不同时,把这个数据移入下一个位。比如,第一个数据为2,第二个数据为1,前5个工位VB101-VB105属于条码跟收集口的距离,把VB100-VB105都置0,所以数据1会进入到第6个比较数据VB106,此时vb106是第一个收集口,比较数据应该是1,,所以数据不等,进入下一个工位,此时,数据1进入vb107,数据2进入VB106,刚好,数据1为2,数据2为1,VB106跟vb107与数据的相比较相等,此时同时驱动这2个比较数据所驱动的线圈。2个线圈同时输出,2个工件被送出收集口, 驱动一定时间后,得把气缸复位,同时把这2个数据清0.继续随着工位移动数据。下一个工位,数据1进入VB108,数据2进入vb107,并且此时vb106会有第三个工件的数据或者后面没有产品 ,则vb106为0,这样子,vb108因为是第三个收集口。比较数据为3,跟数据1不等,线圈不会输出,同样,vb107为0,也不输出,以此类推。
这个就是分拣线的逻辑过程。在线圈输出这里,如果能有简便方法实现数据组合,程序会很短、
请填写推广理由:
分享
只看
楼主