回复:新手求教这种程序怎么做啊

一世天蓝

  • 帖子

    215
  • 精华

    0
  • 被关注

    24

论坛等级:侠士

注册时间:2015-01-15

普通 普通 如何晋级?

发布于 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,也不输出,以此类推。

这个就是分拣线的逻辑过程。在线圈输出这里,如果能有简便方法实现数据组合,程序会很短、

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有9453条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。