Sooyang
跟图片一样,我一次进一个治具,治具上两个或者一个产品,然后记录检测结果:1=NG,2=OK,4=空,但是读出的时候,会偶尔读出两个产品都是空(4)。而我两个都是空的时候是不会触发的。
先入写入跟先出读出的手册也看了,别人的案例也看过,实在不知道哪里有问题。
求大佬们指点
引用 "晴天ABC24" 的回复,发表在1楼 内容: 我的思路是队列数组,进站搜数组寄存器数值为0的元素进行数据搬入,搬入后立即计数(1s计数一次),,先进此先出搬出就看谁计数最大,就输出进入数组寄存器元素序号,搬出后清空元素内容和当前元素计数累计...
回复本条
发表回复
JSdanzi
用边沿触发试试
引用 "JSdanzi" 的回复,发表在3楼 内容: 用边沿触发试试
太月星辰
不是太专业的回答,希望能给你参考和启发。以读取指令来说,D120、D220应该放你当前总共有几组数据,然后D121-D12n(n是指令末尾的那个n)。我看你程序你直接把你的1、2、4的值塞进去了,应该把数据放到D121开始的寄存器里。仅供参考,可能我说的也不对。另外,建议上升沿触发这个指令。使用这个指令前判断一下指示器的寄存器是否在上限和下限,根据这个去灵活调整。
引用 "太月星辰" 的回复,发表在5楼 内容: 不是太专业的回答,希望能给你参考和启发。以读取指令来说,D120、D220应该放你当前总共有几组数据,然后D121-D12n(n是指令末尾的那个n)。我看你程序你直接把你的1、2、4的值塞进去了,应该...
phoenixyqc
你怎么保证都是空的时候不触发的?空的时候赋值4的同时不是也置位了LWriteDone和RWriteDone嘛
SET B815前不应该有个判断D120<>4或D200<>4?
引用 "phoenixyqc" 的回复,发表在7楼 内容: 你怎么保证都是空的时候不触发的?空的时候赋值4的同时不是也置位了LWriteDone和RWriteDone嘛...
引用 "phoenixyqc" 的回复,发表在8楼 内容: SET B815前不应该有个判断D120<>4或D200<>4?...
昨天在现场跑了一下午跟一晚上,都没出问题,也是服了
但是昨天视觉检测那边更新了,之前试过视觉软件把我测试结果覆盖掉,叫他们更新过视觉软件的