河南张先生
努力做事,诚信做人
级别: 家园常客
精华主题: 0
发帖数量: 673 个
工控威望: 955 点
下载积分: 3187 分
在线时间: 876(小时)
注册时间: 2009-04-25
最后登录: 2024-10-28
查看河南张先生的 主题 / 回贴
楼主  发表于: 2019-06-20 11:19


在自动上面时如何判断5个料位无料时的先后顺序,按顺序依次投料
wangnaizhi
级别: 论坛先锋
精华主题: 0
发帖数量: 1273 个
工控威望: 1449 点
下载积分: 5484 分
在线时间: 896(小时)
注册时间: 2015-08-31
最后登录: 2024-11-19
查看wangnaizhi的 主题 / 回贴
1楼  发表于: 2019-06-21 08:39
引用
引用第10楼hsqknx于2019-06-21 08:16发表的  :
最简单的做法就是顺序走法,谁没料就给谁加料,然后再从头查起,顺控就能搞定的事,相当于通信轮询

你这个是没有缓存的状态 如果出现你放料的过程中 其他的显示没有料 你的逻辑上就会有BUG
wangnaizhi
级别: 论坛先锋
精华主题: 0
发帖数量: 1273 个
工控威望: 1449 点
下载积分: 5484 分
在线时间: 896(小时)
注册时间: 2015-08-31
最后登录: 2024-11-19
查看wangnaizhi的 主题 / 回贴
2楼  发表于: 2019-06-22 08:16
你可以定义 ABCDE 5个仓为12345仓 然后寄存器D0~D~~去保存料仓无料的先后顺序 从D0往上开始排 有一个没有料了就自己去寻D0~~以上的空位 每次补料位置就看D0里面的值 补好一个料后就用循环右移指令对数据处理一下 具体的需要用的多少的缓冲寄存器 需要看你进料和缺料的速度了
wangnaizhi
级别: 论坛先锋
精华主题: 0
发帖数量: 1273 个
工控威望: 1449 点
下载积分: 5484 分
在线时间: 896(小时)
注册时间: 2015-08-31
最后登录: 2024-11-19
查看wangnaizhi的 主题 / 回贴
3楼  发表于: 2019-06-24 10:28
引用
引用第28楼hsqknx于2019-06-23 18:04发表的  :

估计你没明白轮询怎么做

不是说你轮询方式不可以做 只是轮询存在逻辑BUG 虽然现场这种BUG是不会影响实际使用  而且你找到一个没有料了以后 该怎么处理呢  不轮询了? 肯定还是要去轮询的 一直轮询 肯定需要就数据进行缓存 它这边对补料以外的其它仓位先后顺序数据需要进行缓存  或者你这边轮询机制需要进行合理设计