查看: 750|回复: 0
收起左侧

[H3U应用问题] H3U高数计数器中断被外部中断打断

依然 2022-4-2 11:06:42 | 显示全部楼层 |阅读模式
邀请回答

马上注册,享受更多特权

您需要 登录 才可以下载或查看,没有帐号?立即注册   

x
本帖最后由 依然 于 2022-4-2 11:34 编辑

请问论坛大神,
我在做一个小程序控制相机采图,对卡片进行拍照。电眼信号接外部中断,编码器信号接高数计数器。
1、最小卡片长度40mm,电眼到采图点最大距离为4000mm,考虑到输入信号很快,开了100个BUF的缓存,
     使用FIFO机制。
2、每来一个电眼信号,进入一次外部中断,并将当前编码器值写入FIFO。
3、考虑到卡片上有很多图文,可能导致电眼多次触发。第一次在卡片前沿触发后有效进入中断,下一次触发
     响应是在第一次触发前沿的时刻加上了45mm距离,也就是一定要过了卡片尾部5mm之后才响应下一次
     电眼信号,防止误触发。 捕获.PNG


4、第一次电眼触发后,将当前编码器位置写入FIFO后并读出来,读出结果+电眼到采图点的距离,写入高速
     比较中断中,到位置中断产生采图信号。
image.png
                           (写FIFO)
      M0进入一次外部电眼中断置位一次,触发一次写动作。
image.png
                           (读FIFO)
      D0是电眼进去外部中断有效次数,首次进中断D0从0变为1,产生一个扫描周期的上升沿,触发取FIFO中第一个值。
      M1执行一次高数计数器中断复位一次,产生一个扫描周期的下降沿,触发FIFO中下一个值。
5、第一次位置触发高数计数器中断的同时,取下一个电眼对应的编码器位置 + 电眼到采图点的距离,写入
     高数计数器比较中断,如此往复。

问题:偶尔会发现高数计数器中断不执行,此时编码器实际值已经大于了比较值,所以肯定无法中断。
          此时FIFO中的值就是当前真实的位置。分析原因极有可能是高数计数器产生中断的这一刻,被外部中
          断信号打断了,机器也在运行,导致高数计数器值超过了比较值,才可能导致这种情况发生。
          查了3U手册没有介绍设置各个中断优先级(不知道是我看没发现还是真的没有),出现这种情况只可
          能是PLC默认外部中断优先级高于高数
          计数器中断优先级了。
          请问大家有没有遇到类似的情况,可有好的解决办法。
          以前用西门子1200时,是有中断优先级设置的,没有遇到过这种问题。
        





上一篇:我想问下汇川小型plc啥时候支持ST
下一篇:汇川PLC与海康视觉进行TCP通讯,包含字符串分割

已有 0 人打赏作者

回复 邀请回答送花

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册   

本版积分规则

有技术问题,就上汇川技术社区

INOVANCE汇川技术 公众号

扫码下载掌上汇川APP

全国服务热线:8:30-17:30

4000-300124

苏州地址:江苏省苏州市吴中区越溪友翔路16号

深圳地址:深圳市龙华新区观澜街道高新技术产业园汇川技术总部大厦

Copyright © 2003-2100 汇川技术 Powered by Discuz! X3.4 ( 苏ICP备12002088号 )
快速回复 返回列表 返回顶部