传感器为检测管路里的送钉信号,由于信号速度很快,有时会低于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区不支持对位的访问,所以你可以 使用 L PIB2 T IB2 来实时刷新IB2,然后使用I2.y来进行程序处理)
3:如果DI模块支持硬件中断,你可以在DI信号变化时,触发硬件中断,这样来获取当前的信号。
如果,你的信号能持续10MS(100HZ 信号),可以不使用高速计数模块。
也可以设置我现在的要求:当信号低于扫描周期 也能让它保持一个扫描周期
不可以!
你可以使用第二种方法试下,我们都是这么做的!
提问者对于答案的评价:
OK
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc216193.html