关于上升沿/下降沿中断的问题

有请各位大侠帮忙解决一下:
 本人现有一案例:S7200  CPU224PLC 一台,OMRON接近开关1支(3KHz),SUNX激光传感器一套,我想实现在运动中检测被测物体的状态信息。接近开关做同步信号,激光传感器进行采样,被测物体最快运动时两个物体的最短间隔时间为2.5ms,做为3KHz的接近开关是能反应过来的,我是这么做的,通过实际安装位置调整,接近开关下降沿的时候,激光的物理实际检测位置对准被测物的中心,我现在遇到的问题是:在物体运动速度较慢的时候,运动中检测相当准确,但是被检测物体运行时间间隔只有4~5ms时间,检测就不准了,我现在想了很多原因,我将我的中断程序尽量编得简短,将所有指令统计一下,整个中断程序理论上执行只要0.5ms以下,但是问题依然没能解决,现在我就怀疑S7200PLC是不是不能满足我这个案例的要求了,烦请各位专家指导一下,我的运动中的被测物体间隔距离是10mm,最快的运行速度4000mm/s,如果各位专家有更好的方案,小弟将感激涕淋。

问题补充:
CPU224是晶体管的,中断里面程序较简单判断激光传感器的开关量,如果是闭合是,传送值1到某个字存储器里,否则则送值0,然后进行填表,填满20个数据进行复位,通过PC监控,能够看到速度快的时候进了20次中断,说明接近开关响应是没问题的,我自己怀疑是中断存在排队的情况,三楼的说“数字量输入有延迟的”,有专家能确切的知道这个延时具体是多少,要是知道这个数据,在以后一些响应要求比较高的情况下,就是一个比较重要的参考因素了,再次重申我不是为了计数,我的目的是进一次中断填表一次,填完20次复位,然后在主程序里处理这20个数据。

最佳答案

3khz的频率要求高电平低电平最少要0.333毫秒。你同意吗?若高电平小于此值则认为一直是低电平。相反易然。你的物体经过接近开关,使接近开关获得高电平的时间有小于0.333毫秒吗?以上是外部硬件的问题。
 高速输入是没有使用软件滤波的。全部作用于硬件的RC滤波。滤波时间比系统块上的最小值还小。估计你不用担心输入延迟的问题。只要你启动脉冲捕捉。这个是PLC硬件的问题。
 当密集地检测到物体,而程序又在使用输入中断计数,周期超过中断等相关程序的执行时间的话,中断会产生队列。溢出后只能知道是已经溢出,无法补救。数值就此丢失。若采用高速计数的话,那么瓶颈只发生在3KHZ的接近开关上。这是软件的问题。
 你认为呢?

提问者对于答案的评价:
问题已经解决,是我自己的问题,中断中要使用立即I/O.在此,谢谢各位~~~

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

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

相关推荐

  • 如何用简单的语句实现对连续V区进行清零?

    如何用简单的语句实现对连续V区进行清零?最好有示例程序 问题补充:如果用间接寻址可以操作的话,比如要用FOR循环如何实现对VD200到VD300直接的实数进行相加?用+R程序语句太…

    2017年10月30日
  • 有关伺服电机的问题

    小弟刚从步进转到伺服,想选用三菱的伺服电机,PLC控制,现在看了看资料,有些疑问 1:伺服电机的编码器回馈信号是直接和plc的485口通信然后再来纠正错误的吗?&nbsp…

    SIMATIC S7-200 2021年7月5日
  • 西门子200数据类型怎么处理

    目前有一个项目,通过西门子200通过modbus通信读取ID卡号信息,目前读取来的卡号为8位卡号,存放在两个字节里,分别为VW2000,和VW2002。以卡号223 33…

    2017年11月27日
  • MODBUS没有数据

    我的modbus主站(CPU226)MBUS_MSG参数是这样的,我用它来读从站CPU224的DI状态。3      &…

    SIMATIC S7-200 2020年11月1日
  • wincc与200电话通信

    我想通过wincc通过电话线与200的EM241进行通信,可是我在WINCC中未找到相关驱动,哪位给提供一个,还有一个问题就是我用电脑里的内置猫没有问题吧?猫有特别要求吗?比如软的…

    SIMATIC S7-200 2021年7月4日
  • 300与200数据传输问题

    现有3台200与一台315cpu通讯; 200数据区设置:VB0-VB63,VB64-VB191,VB192-VB319。 那么315中与之对应的区域应该是哪些…

    SIMATIC S7-200 2021年7月5日
  • 脉冲问题

    我现在有三个步进电机需要用S7200的PLC控制,可是PLC本身只有两路,要怎么办? 最佳答案 1.可以加一个EM253位控模块!2.200里面使用SMART200可以控制三台步进…

    SIMATIC S7-200 2018年3月6日
  • 自由口模式下PLC与计算机的通信

    Read子程序:  NETWORK 1  LD SM0.0 //停止端口0的接收  R&n…

    SIMATIC S7-200 2021年7月5日
  • 200的模拟modbus通讯时,用串口接收到得数据室什么

    200做主站和模拟的模拟从站通讯,显示commucation traffic时会显示一串数据;关掉从站开串口调试工具,也会接收到得数据,不知道是什么数据?不是我对寄存器写…

    SIMATIC S7-200 2020年11月5日
  • plc的电源

    西门子224的plc电源端子是l和n,我的控制变压器是380变220伏的,但220伏输出两端子无220.0伏标示,对地电压差不多一样,我该怎样接到l和n上呢,有极性吗?谢谢. 最佳…

    SIMATIC S7-200 2021年7月5日

发表回复

登录后才能评论