| 作者 | 主题 |
|---|---|
|
WWCWWC 至圣
经验值:79157 发帖数:9099 精华帖:157 |
楼主
主题:跟我一起玩200smart PLC 检测脉冲宽度的应用
跟我一起玩200smart PLC 检测脉冲宽度的应用 前些天,有一朋友委托我找一款能够捕捉高速输入脉冲宽度功能的PLC,而非高速脉冲输入个数,具备高速计数器功能的控制器。 事情的缘由是朋友想用一个高灵敏度的传感器检测产品是否有裂纹,如果检测时,过程回授的高速数字信号小于7mS,则判断为正品,当信号回授时间大于14mS,则判断为废品。 之前,在写高速计数器文档时,曾经看过200 smart PLC具备高速输入及脉冲捕捉功能的产品说明,对此有一些印象。于是,考虑了一下给朋友在QQ上回了我的一些控制思路,并推荐西门子200 smart PLC为控制机型,现整理思路后分享给大家。 控制思路: 1) 启用外部输入I0.0的上升沿中断和I0.0的下降沿中断,其中中断事件号分别为0和1 2) 启用定时中断10,设置定时中断时间1mS (SMB34),在定时中断子程序中编辑时间累积程序,并判断结果 3) 开中断 4) 主程序中初始化、复位判断标志位 程序样例: 定义外部输入上升沿、下降沿中断,中断事件号分别为0和1;定时中断10,时间1mS,开中断,图示: 在上升沿中断中启用M0.0,启动在定时中断中进行加1指令用于时间累积: 在下降沿中断中停止启用M0.0,图示: 在定时中断中编辑产品判断时间程序:VB1保留上次的检测时间数据 在主程序中调用初始化和复位判断结果,图示: 控制原理: 启用外部输入上升沿中断和下降沿中断捕捉高速传感器信号,并调用定时中断。当检测开始I0.0有上升沿触发信号后,启用定时中断按每一毫秒调用时间的累积,这样,当I0.0出现下降沿中断后,可以在定时中断中判断这个上升沿触发和下降沿触发后的时间累积差。当检测过程时间小于7mS,则激活M0.2 = 1(判断为正品);当检测过程时间大于14mS,则激活M0.1 = 1(判断为废品)。判断结果处理后,由M0.3触发判断结果标志位清除,等待第二次判断开始。 上述控制原理仅仅是一种控制思路,因为没有实际的外部硬件(高灵敏度高速传感器),无法真实进行程序的验证。 任意连接了一个按钮替代,状态图表下监控,图示: 当I0.0接通时间为27mS时,M0.1(废品)标志位为1。 |