裔风狂舞
喊破嗓子不如做出样子!
级别: 略有小成
精华主题: 0
发帖数量: 111 个
工控威望: 285 点
下载积分: 3710 分
在线时间: 101(小时)
注册时间: 2011-09-02
最后登录: 2024-04-26
查看裔风狂舞的 主题 / 回贴
楼主  发表于: 2017-05-31 12:45
       编码器安装在输送链上,光电开关用于检测工件,工件到指定位置后,光电一直工作,直至工件走过指定位置,由于工件长短不一,所以位置数据需要分开保存,且位置还要给后面执行器使用

       使用移位指令还是什么?编码器数据如何清零,因为输送链是不停的,希望高手给个思路。
静夜思飘
级别: 略有小成
精华主题: 0
发帖数量: 130 个
工控威望: 233 点
下载积分: 2500 分
在线时间: 74(小时)
注册时间: 2017-03-09
最后登录: 2022-06-28
查看静夜思飘的 主题 / 回贴
1楼  发表于: 2017-06-02 20:08
这玩意移位指令应该没用,因为不确定喷漆处和读编码处中间隔的工件个数。
自己胡乱给个建议,有木有用自己考虑。
设一个数组或固定数据区域作为储存编码的数据区,如果一个16位就能储存一个编码的话,那么可以设置偶数字储存工件开始编码,紧接的奇数字储存这个工件的结束编码。亢余量做足就好,前面读取处直接就这么简单的工作,然后将此数据区的开始指针传送给后面喷漆,因为编码是在传送链上,后面只需根据从数据区读取的编码就可以进行喷漆工作。然后跟一个语句清除已经喷漆的数据,我想既然是喷漆工作,工件在输送链上应该有足够的时间去做足这些工作。甚至都不用传输数据区具体的指针,直接后续根据传输链上的编码位置去搜索数据区然后找到最接近位置都来得及。