peilei1031
苏州昆山的电气自动化从业者...
级别: 论坛先锋
精华主题: 0
发帖数量: 375 个
工控威望: 1776 点
下载积分: 954 分
在线时间: 44(小时)
注册时间: 2013-09-24
最后登录: 2024-11-14
查看peilei1031的 主题 / 回贴
楼主  发表于: 2023-08-08 14:12
请教一个问题,看看用PLC能不能实现
扫码枪送过来一串代表载盘编号的数据,存在寄存器D里面,过几分钟再送进来下一个载盘编号, 如此循环.....大约有三十个载盘,  三十个载盘过后第一个载盘会移动到出口,再出口扫码枪会再扫一次数据, 现在问题是如何判断出口扫到的数据是第几次被扫到了,出口如果扫到的数据是第三次扫了,这个料盘就流出去,如果不够就再抓到入口走一遍,有没有好的实现方法
peilei1031
苏州昆山的电气自动化从业者...
级别: 论坛先锋
精华主题: 0
发帖数量: 375 个
工控威望: 1776 点
下载积分: 954 分
在线时间: 44(小时)
注册时间: 2013-09-24
最后登录: 2024-11-14
查看peilei1031的 主题 / 回贴
1楼  发表于: 2023-08-08 16:08
还要比对,比对上才能计数一次,三十多组数据比对有些困难
引用
引用第1楼daihdn于2023-08-08 15:37发表的  :
通过计数可以吗,扫码一次,PLC收到数据计数一次,
peilei1031
苏州昆山的电气自动化从业者...
级别: 论坛先锋
精华主题: 0
发帖数量: 375 个
工控威望: 1776 点
下载积分: 954 分
在线时间: 44(小时)
注册时间: 2013-09-24
最后登录: 2024-11-14
查看peilei1031的 主题 / 回贴
2楼  发表于: 2023-08-08 19:44
感谢指导,但是有个问题,他们的盘子的编号不是从1~几十,后四位乱七八糟的号码,大几百的都有,可能用编号做索引,往索引寄存器中写数值行不通
引用
引用第3楼gxtmdb82164于2023-08-08 16:24发表的  :
有编号就能搞,用这个编号作为载盘的索引,再对内存中具体某个索引到的载盘状态进行管理就行了

继续分解就变成了三个子程序
1 接收串口输入的编号数据,这个一般都是ASCII码,在DVP这种低端PLC里面处理比较麻烦,所以最好直接转成对应的数字编号
2 根据索引管理内存中的载盘状态,基本上就是入口减1减到0,出口加1,要注意初始化和异常管理
.......
peilei1031
苏州昆山的电气自动化从业者...
级别: 论坛先锋
精华主题: 0
发帖数量: 375 个
工控威望: 1776 点
下载积分: 954 分
在线时间: 44(小时)
注册时间: 2013-09-24
最后登录: 2024-11-14
查看peilei1031的 主题 / 回贴
3楼  发表于: 2023-08-14 14:42
谢谢,这种方式也不行,这个循环不是封闭的,不是几个盘在转圈,入口还有个上料工位,所以没办法通过计数来解决,
引用
引用第6楼祝钟剑于2023-08-10 15:54发表的  :
我做过一个流水线称重的,和你这个差不多,A工位称重好到B工位注油,C工位再称重注入油量是否正确,我是设置A到C工位之间能容纳的工件数,直接计数就行了,只要不是故意把工件移走,是不会出错的,你这个我 觉得也可以这样