本申请涉及工业控制应用领域,尤其是一种优化输入滤波功能的plc输入回路。
背景技术:
1、plc(programmable logic controller)一般都提供外部输入滤波功能,plc的输入滤波功能用于滤除宽度小于用户设置的滤波时间的宽度的输入信号,可以防止部输入设备的干扰噪声流入而导致错误输入。
2、plc的输入滤波功能通常利用mpu的内部定时器功能来实现,请参考图1示出了plc的输入回路的常用电路图,输入信号vin通过隔离电路输入mpu(micro processor unit)的输入端口in_port,隔离电路主要通过光耦实现。mpu按照固定的采样周期对输入端口in_port接收到的实际信号进行采样,只有当连续采样的值都相同且保持时长在滤波时间以上时,才更新对输入信号vin执行输入滤波功能后得到的输入图像数据。比如假设用户设置的滤波时间为3ms,mpu按照1ms的采样周期进行采样,则仅当连续4次读取到相同值时,才更新输入图像数据。比如请结合图2所示的波形图,mpu在t0时刻开始连续4次的采样值都为高电平1,则在t1时刻连续第4次读取到高电平时,更新输入图像数据为高电平。然后一直保持输入图像数据为高电平,直至然后mpu从t2开始连续4次的采样值都为低电平0,则在t3时刻连续第4次读取到低电平时,更新输入图像数据为低电平,从而实现对输入信号vin第一次高电平波形的读取。而同样的工作过程中,对于输入信号vin的第二次高电平波形,mpu从t4时刻开始连续三次采样到高电平,但在t5时刻会采样到低电平,因此不会更新输入图像数据,输入信号vin的第二次高电平波形由于宽度较窄,会被滤除掉,从而实现输入滤波功能。
3、但是在现有的这种输入滤波功能的实现过程中,请结合图2所示的波形图,当mpu的两次采样之间出现短幅的输入变化时,mpu并无法感知到二回存在误差,比如图2中,输入信号vin在采样时刻t8和t9之间存在短幅输入信号时,并影响mpu对输入图像数据的更新。另外,设置的滤波动作至少需要[(滤波时间/采样时间)+1]个采样次数,因此存在误差多达1个采样周期的问题。例如,用户设置的滤波时间为10ms、mpu的采样周期为2ms时,最少只有6次相同的值才能更新输入图像数据,因此存在2ms的误差。上述两种情况都会导致输入滤波存在误差,准确性不高。
技术实现思路
1、本申请人针对上述问题及技术需求,提出了一种优化输入滤波功能的plc输入回路,本申请的技术方案如下:
2、一种优化输入滤波功能的plc输入回路,该plc输入回路包括mpu、隔离电路以及d触发器,plc输入回路的输入信号连接隔离电路的输入端,隔离电路的输出端连接d触发器的输入端,d触发器的输出端连接mpu的输入端口in_port;mpu的输出端口out_port连接d触发器的时钟端;隔离电路的输出端还通过边沿提取电路连接mpu的irq端口,边沿提取电路在输入信号的上升沿和下降沿处提取脉冲形式的中断信号输出给mpu的irq端口;
3、mpu执行的方法包括:
4、当通过irq端口检测到中断信号时,通过输出端口out_port输出无效电平的时钟信号,并对内置的定时器的定时时长清零后启动;当内置的定时器的定时时长累积达到预定滤波时长时,通过输出端口out_port输出有效电平的时钟信号,并暂停定时器的定时时长;mpu通过读取输入端口in_port的信号得到对输入信号完成输入滤波后的输入图像数据。
5、其进一步的技术方案为,边沿提取电路包括若干个级联的缓冲器以及异或门,隔离电路的输出端连接异或门的一个输入端,隔离电路的输出端通过依次级联的若干个缓冲器连接异或门的另一个输入端,异或门的输出端连接mpu的irq端口。
6、其进一步的技术方案为,d触发器在有效电平的时钟信号的上升沿将输入端的信号锁存至输出端并输出到mpu的输入端口in_port;mpu读取输入端口in_port的信号得到输入图像数据。
7、其进一步的技术方案为,当mpu在内置的定时器的定时时长累积达到预定滤波时长之前通过irq端口检测到中断信号,内置的定时器的定时时长清零后启动,mpu通过输出端口out_port持续输出无效电平的时钟信号。
8、本申请的有益技术效果是:
9、本申请公开了一种优化输入滤波功能的plc输入回路,该plc输入回路利用边沿提取电路提取输入信号的上升沿和下降沿并输出到mpu的irq端口,利用mpu内置的定时器功能控制d触发器回路的触发信号,从而可以准确检测输入信号的持续时间,只传递持续时间超过预定滤波时长的信号,不仅可以准确感知输入信号的变化,还可以有效去除滤波时间的误差,从而提高plc的输入滤波功能的准确度和检出能力。
10、另外无需另外使用缓冲器,因此可以减少存储器的浪费,中断程序可以简化,无需进行另外的运算,因此,plc的处理时间也会加快。
1.一种优化输入滤波功能的plc输入回路,其特征在于,所述plc输入回路包括mpu、隔离电路以及d触发器,所述plc输入回路的输入信号连接所述隔离电路的输入端,所述隔离电路的输出端连接d触发器的输入端,所述d触发器的输出端连接mpu的输入端口in_port;mpu的输出端口out_port连接所述d触发器的时钟端;所述隔离电路的输出端还通过边沿提取电路连接mpu的irq端口,所述边沿提取电路在输入信号的上升沿和下降沿处提取脉冲形式的中断信号输出给mpu的irq端口;
2.根据权利要求1所述的plc输入回路,其特征在于,所述边沿提取电路包括若干个级联的缓冲器以及异或门,所述隔离电路的输出端连接所述异或门的一个输入端,所述隔离电路的输出端通过依次级联的若干个缓冲器连接所述异或门的另一个输入端,所述异或门的输出端连接mpu的irq端口。
3.根据权利要求1所述的plc输入回路,其特征在于,d触发器在有效电平的时钟信号的上升沿将输入端的信号锁存至输出端并输出到mpu的输入端口in_port;mpu读取输入端口in_port的信号得到输入图像数据。
4.根据权利要求1所述的plc输入回路,其特征在于,当mpu在内置的定时器的定时时长累积达到所述预定滤波时长之前通过irq端口检测到中断信号,内置的定时器的定时时长清零后启动,mpu通过输出端口out_port持续输出无效电平的时钟信号。