当前位置: 主页 > PLC控制

300PLC 数字量输入模块如何捕捉ms级别信号

传感器为检测管路里送钉信号,由于信号速度很快,有时会低于10ms,程序里该信号就不会通,请问有没有办法设置就算该信号为几毫秒,PLC也至少在程序里给我信号保持一个扫描周期

问题补充:
可不可以不用高速计数模块因为我记得以前200的PLC有这个功能的可以设置滤波:即信号低于多少毫秒程序中不通
也可以设置我现在的要求:当信号低于扫描周期也能让它保持一个扫描周期

最佳答案

1:可以使用高速输入的DI模块和支持时间标签功能的接口模块来实现,可以达到1毫米的精度,一般用在电厂的SOE项目上。因为,DI的信号是先缓存在IM153的接口模块里的。
参考如下htTPs://suPPORT.induSTry.siemens.com/cs/document/78464222/soe%E6%97%B6%E9%97%B4%E6%A0%87%E7%AD%BE%E5%8A%9F%E8%83%BD%E4%BD%BF%E7%94%A8%E5%85%A5%E9%97%A8?dti=0&lc=zh-CN
此种,配置代价高。
2:使用高速DI数字量模块(非高速计数模块),10MS其实模块会有反应的,你程序检测不到是因为OB1的扫描周期太慢了,你可以通过循环中断来读取(中断周期设为比如5毫秒,缺点是中断过于频繁,影响主程序执行),当然你也可以在需要使用DI信号的情况下,直接读取PI区来获取当前模块信号,这样就不必等到OB1下一次扫描开始再来读取输入映像区信号了(因为PI区不支持对位的访问,所以你可以使用LPIB2TIB2来实时刷新IB2,然后使用I2.y来进行程序处理)
3:如果DI模块支持硬件中断,你可以在DI信号变化时,触发硬件中断,这样来获取当前的信号。

如果,你的信号能持续10MS(100HZ信号),可以不使用高速计数模块。
也可以设置我现在的要求:当信号低于扫描周期也能让它保持一个扫描周期
不可以!
你可以使用第二种方法试下,我们都是这么做的!

提问者对于答案的评价:
OK

  • 关注微信

猜你喜欢

微信公众号