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

继续分解就变成了三个子程序
1 接收串口输入的编号数据,这个一般都是ASCII码,在DVP这种低端PLC里面处理比较麻烦,所以最好直接转成对应的数字编号
2 根据索引管理内存中的载盘状态,基本上就是入口减1减到0,出口加1,要注意初始化和异常管理
3 在执行工位根据内存中的托盘状态(if>=3)执行操作

举例:

载盘编号AAAAA-0001,代表编号为1的载盘,前面一坨都不关心,用接收字长做一个基本校验以后取最后两位作为当前托盘的编号,这里是1,将D1000开始的n个连续地址作为托盘状态寄存器,1号对应D1001,直接用变址寄存器操作非常简单
peilei1031
苏州昆山的电气自动化从业者...
级别: 论坛先锋
精华主题: 0
发帖数量: 376 个
工控威望: 1777 点
下载积分: 958 分
在线时间: 44(小时)
注册时间: 2013-09-24
最后登录: 2024-11-21
查看peilei1031的 主题 / 回贴
4楼  发表于: 2023-08-08 19:44
感谢指导,但是有个问题,他们的盘子的编号不是从1~几十,后四位乱七八糟的号码,大几百的都有,可能用编号做索引,往索引寄存器中写数值行不通
引用
引用第3楼gxtmdb82164于2023-08-08 16:24发表的  :
有编号就能搞,用这个编号作为载盘的索引,再对内存中具体某个索引到的载盘状态进行管理就行了

继续分解就变成了三个子程序
1 接收串口输入的编号数据,这个一般都是ASCII码,在DVP这种低端PLC里面处理比较麻烦,所以最好直接转成对应的数字编号
2 根据索引管理内存中的载盘状态,基本上就是入口减1减到0,出口加1,要注意初始化和异常管理
.......
gxtmdb82164
级别: 论坛先锋
精华主题: 0
发帖数量: 758 个
工控威望: 1136 点
下载积分: 375 分
在线时间: 597(小时)
注册时间: 2019-09-22
最后登录: 2024-11-29
查看gxtmdb82164的 主题 / 回贴
5楼  发表于: 2023-08-09 09:18
引用
引用第4楼peilei1031于2023-08-08 19:44发表的  :
感谢指导,但是有个问题,他们的盘子的编号不是从1~几十,后四位乱七八糟的号码,大几百的都有,可能用编号做索引,往索引寄存器中写数值行不通



那只能做预先设定的字符串和扫码得到的字符串比较了
如果指定了PLC那确实不好办,DVP-ES2这个型号作为低端型号,连字符串都不支持,当然非要用可以用数据比较之类的指令自己封装,但是总感觉得不偿失,太麻烦了(是能做的出来的)

这种字符串处理啥的,其实用ST或者脚本之类的编程方式,处理起来不要太简单

所以,你设备上有触摸屏吗?触摸屏能写脚本吗?不要局限在PLC上

如果是我,我会要求更换编号,按我要求的来,这都是可以沟通的事情
薛定谔工控猫
祝祝祝
级别: 工控侠客
精华主题: 0
发帖数量: 75 个
工控威望: 4191 点
下载积分: 4697 分
在线时间: 594(小时)
注册时间: 2016-06-28
最后登录: 2024-07-01
查看薛定谔工控猫的 主题 / 回贴
6楼  发表于: 2023-08-10 15:54
我做过一个流水线称重的,和你这个差不多,A工位称重好到B工位注油,C工位再称重注入油量是否正确,我是设置A到C工位之间能容纳的工件数,直接计数就行了,只要不是故意把工件移走,是不会出错的,你这个我 觉得也可以这样
宿迁电工
级别: 论坛先锋
精华主题: 0
发帖数量: 1077 个
工控威望: 1217 点
下载积分: 2932 分
在线时间: 400(小时)
注册时间: 2018-11-30
最后登录: 2024-11-29
查看宿迁电工的 主题 / 回贴
7楼  发表于: 2023-08-11 17:37
换PLC吧,换个高级点的AS系列的。
长三角地区,PLC编程,工业机器人编程
吸塑机,轴承合套仪程序开发
专业外协
 TEL:13815796487(微信同号)
雪山飞狐
级别: 网络英雄
精华主题: 0
发帖数量: 12355 个
工控威望: 14775 点
下载积分: 37429 分
在线时间: 932(小时)
注册时间: 2019-06-05
最后登录: 2024-11-29
查看雪山飞狐的 主题 / 回贴
8楼  发表于: 2023-08-12 08:11
编程学习。
peilei1031
苏州昆山的电气自动化从业者...
级别: 论坛先锋
精华主题: 0
发帖数量: 376 个
工控威望: 1777 点
下载积分: 958 分
在线时间: 44(小时)
注册时间: 2013-09-24
最后登录: 2024-11-21
查看peilei1031的 主题 / 回贴
9楼  发表于: 2023-08-14 14:42
谢谢,这种方式也不行,这个循环不是封闭的,不是几个盘在转圈,入口还有个上料工位,所以没办法通过计数来解决,
引用
引用第6楼祝钟剑于2023-08-10 15:54发表的  :
我做过一个流水线称重的,和你这个差不多,A工位称重好到B工位注油,C工位再称重注入油量是否正确,我是设置A到C工位之间能容纳的工件数,直接计数就行了,只要不是故意把工件移走,是不会出错的,你这个我 觉得也可以这样