汇川EASY521先入先出指令读出错误(重发) 点击:412 | 回复:19



Sooyang

    
  • 精华:0帖
  • 求助:2帖
  • 帖子:3帖 | 21回
  • 年度积分:393
  • 历史总积分:673
  • 注册:2020年7月13日
发表于:2026-03-04 15:03:06
楼主
求助帖88分-已结帖

跟图片一样,我一次进一个治具,治具上两个或者一个产品,然后记录检测结果:1=NG,2=OK,4=空,但是读出的时候,会偶尔读出两个产品都是空(4)。而我两个都是空的时候是不会触发的。

先入写入跟先出读出的手册也看了,别人的案例也看过,实在不知道哪里有问题。

求大佬们指点


正在下载,请等待……
下载附件需0积分!




Sooyang

  • 精华:0帖
  • 求助:3帖
  • 帖子:4帖 | 31回
  • 年度积分:393
  • 历史总积分:673
  • 注册:2020年7月13日
发表于:2026-03-04 16:46:36
1楼

这两个指令就是先入先出啊,不用自己写吧

引用 "晴天ABC24" 的回复,发表在1楼
        内容: 我的思路是队列数组,进站搜数组寄存器数值为0的元素进行数据搬入,搬入后立即计数(1s计数一次),,先进此先出搬出就看谁计数最大,就输出进入数组寄存器元素序号,搬出后清空元素内容和当前元素计数累计...

回复本条

    

JSdanzi

  • 精华:0帖
  • 求助:0帖
  • 帖子:13帖 | 841回
  • 年度积分:45
  • 历史总积分:16972
  • 注册:2012年9月22日
发表于:2026-03-05 08:22:22
2楼

用边沿触发试试

回复本条

    

Sooyang

  • 精华:0帖
  • 求助:3帖
  • 帖子:4帖 | 31回
  • 年度积分:393
  • 历史总积分:673
  • 注册:2020年7月13日
发表于:2026-03-05 08:33:31
3楼

引用 "JSdanzi" 的回复,发表在3楼
        内容: 用边沿触发试试

我最开始就是用的边缘触发,有问题,后面才改脉冲式指令

回复本条

    

太月星辰

  • 精华:0帖
  • 求助:1帖
  • 帖子:8帖 | 476回
  • 年度积分:7
  • 历史总积分:4863
  • 注册:2011年11月02日
发表于:2026-03-05 08:49:32
4楼

不是太专业的回答,希望能给你参考和启发。以读取指令来说,D120、D220应该放你当前总共有几组数据,然后D121-D12n(n是指令末尾的那个n)。我看你程序你直接把你的1、2、4的值塞进去了,应该把数据放到D121开始的寄存器里。仅供参考,可能我说的也不对。另外,建议上升沿触发这个指令。使用这个指令前判断一下指示器的寄存器是否在上限和下限,根据这个去灵活调整。

回复本条

    

Sooyang

  • 精华:0帖
  • 求助:3帖
  • 帖子:4帖 | 31回
  • 年度积分:393
  • 历史总积分:673
  • 注册:2020年7月13日
发表于:2026-03-05 08:52:10
5楼

引用 "太月星辰" 的回复,发表在5楼
        内容: 不是太专业的回答,希望能给你参考和启发。以读取指令来说,D120、D220应该放你当前总共有几组数据,然后D121-D12n(n是指令末尾的那个n)。我看你程序你直接把你的1、2、4的值塞进去了,应该...

队列的起始位置不至于要求这么严谨吧,队列第一个是指针,后面的是存储队列,应该是指令内部定义好了吧

回复本条

    

Sooyang

  • 精华:0帖
  • 求助:3帖
  • 帖子:4帖 | 31回
  • 年度积分:393
  • 历史总积分:673
  • 注册:2020年7月13日
发表于:2026-03-05 08:52:25
6楼

引用 "太月星辰" 的回复,发表在5楼
        内容: 不是太专业的回答,希望能给你参考和启发。以读取指令来说,D120、D220应该放你当前总共有几组数据,然后D121-D12n(n是指令末尾的那个n)。我看你程序你直接把你的1、2、4的值塞进去了,应该...

一会去现场试试

回复本条

    

phoenixyqc

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 134回
  • 年度积分:0
  • 历史总积分:881
  • 注册:2009年2月23日
发表于:2026-03-05 14:27:55
7楼

你怎么保证都是空的时候不触发的?空的时候赋值4的同时不是也置位了LWriteDone和RWriteDone嘛

回复本条

    
  • Sooyang楼主

    您说得对

    2026-03-27 08:19:57回复

phoenixyqc

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 134回
  • 年度积分:0
  • 历史总积分:881
  • 注册:2009年2月23日
发表于:2026-03-05 14:29:50
8楼

SET B815前不应该有个判断D120<>4或D200<>4?

回复本条

    

Sooyang

  • 精华:0帖
  • 求助:3帖
  • 帖子:4帖 | 31回
  • 年度积分:393
  • 历史总积分:673
  • 注册:2020年7月13日
发表于:2026-03-06 08:06:42
9楼

引用 "phoenixyqc" 的回复,发表在7楼
        内容: 你怎么保证都是空的时候不触发的?空的时候赋值4的同时不是也置位了LWriteDone和RWriteDone嘛...

两个都是空的时候不进入检测流程的

回复本条

    

Sooyang

  • 精华:0帖
  • 求助:3帖
  • 帖子:4帖 | 31回
  • 年度积分:393
  • 历史总积分:673
  • 注册:2020年7月13日
发表于:2026-03-06 08:07:35
10楼

引用 "phoenixyqc" 的回复,发表在8楼
        内容: SET B815前不应该有个判断D120<>4或D200<>4?...

是应该有,但是现场一直没有超过上限的个数,所以就没加

回复本条

    

Sooyang

  • 精华:0帖
  • 求助:3帖
  • 帖子:4帖 | 31回
  • 年度积分:393
  • 历史总积分:673
  • 注册:2020年7月13日
发表于:2026-03-06 08:12:23
11楼

昨天在现场跑了一下午跟一晚上,都没出问题,也是服了

但是昨天视觉检测那边更新了,之前试过视觉软件把我测试结果覆盖掉,叫他们更新过视觉软件的

回复本条

    

Sooyang

  • 精华:0帖
  • 求助:3帖
  • 帖子:4帖 | 31回
  • 年度积分:393
  • 历史总积分:673
  • 注册:2020年7月13日
发表于:2026-03-10 08:28:23
12楼

大佬们还有什么建议吗?

回复本条

    

Sooyang

  • 精华:0帖
  • 求助:3帖
  • 帖子:4帖 | 31回
  • 年度积分:393
  • 历史总积分:673
  • 注册:2020年7月13日
发表于:2026-03-23 09:58:59
13楼

芜湖!一到验收就出问题,我去跟就没问题


回复本条

    

redyoung

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 54回
  • 年度积分:53
  • 历史总积分:109
  • 注册:2012年6月27日
发表于:2026-03-25 10:07:37
14楼

收藏,学习中。

回复本条

    

Sooyang

  • 精华:0帖
  • 求助:3帖
  • 帖子:4帖 | 31回
  • 年度积分:393
  • 历史总积分:673
  • 注册:2020年7月13日
发表于:2026-03-27 08:17:26
15楼

经过我们的录屏软件以及运气加成,我终于看到了问题原因,治具误触发传感器,导致先入结果莫名被写入,先出的结果莫名被取走

回复本条

    

Sooyang

  • 精华:0帖
  • 求助:3帖
  • 帖子:4帖 | 33回
  • 年度积分:393
  • 历史总积分:673
  • 注册:2020年7月13日
发表于:2026-03-27 08:20:30
16楼

引用 "phoenixyqc" 的回复,发表在7楼
        内容: 你怎么保证都是空的时候不触发的?空的时候赋值4的同时不是也置位了LWriteDone和RWriteDone嘛...

大佬说得对,是我的问题,没看结构原因,一直翻程序

回复本条

    

热门招聘
相关主题

官方公众号

智造工程师