s7-300 DI模块计数问题

现在想将很多个光电开关(光电开关最高频率4K)接入s7-300的DI模块(6SE7321-1BL00-0AA0)中,我确认过光电开关的检测信号是正确的,没有丢失。在OB35(20ms)中对其计数,但是遇到问题,似乎开关信号有丢失. 信号频率越高(最高位20HZ),丢失的越多。
问题出在哪? 是DI选型不对吗?急等!

问题补充:
因为我要对100多个点计数,不可能用FM350,所以能有别的方法吗?

最佳答案

感觉你用DI模块检测这些脉冲不够严谨。
原因:
定时中断组织块设置定时中断时间为20mS,那么,纵然DI模块能够接收到这些脉冲,在定时中断20mS之间也有可能丢失脉冲;另外,程序的工作机制(扫描机制)也容易是输入DI模块在快速相应上丢失脉冲,因为这些脉冲的产生应该是随机性的。
解决的办法只能是采用高速计数器模块来检测这些信号。
西门子300的FM350-2(8通道高速计数器模块)可以轻松捕捉到这些脉冲信号。
如果没有添加模块的可能,那么适当将定时中断时间最缩短一些试试。
补充问题回复:
适当缩小定时中断时间呢?比如5mS间隔。无论如何采用DI模块及定时中断的方式一定会丢失脉冲的,只是数量大小而已。
这些多的输入需要高速计数,是有一些麻烦的,找找是否有类似的高速脉冲捕捉板、卡之类的器件,然后通过通讯方式与300进行数据的交换。

提问者对于答案的评价:
谢谢!将时间设为10ms后,就可以准确地计数了。

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc351849.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日 上午12:57
下一篇 2021年7月5日

相关推荐

发表回复

登录后才能评论