防止输入出错,有很多硬件的处理办法,如输入受干扰严重,可采取如下措施:
(1)变频器和PLC分别接地;
(2)动力线和信号线分开接;
(3)把变频器的载波频率设低些;
(4)在输入点COM端,接一个0.1μF的电容;
软件方面,有防抖动、数字滤波,非法输入防止、输入冗余及输入容错的功能。
(1)防抖动或输入冲击。一般讲,PLC的输入信号都接有滤波器,以防接点抖动或冲击,滤波时间常数为8ms,即只有当输入信号作用8ms以上,才算有了输入。这个值一般还可通过对PLC设定作改变。
有时,通过设定还满足不了要求,也可用程序进行滤波。办法是用定时器。图8-13所示即为一例。
从图8-13知,当“输入”ON时,只有超过300ms,TIM0011才能ON,并自保持。接着,当“输入”OFF时,也只有超过300ms,TIM0012才能ON,进而才能使TIM0011OFF。显然,TIM0011常开接点的通断,就相当滤波后的“输入”的通断。这里,接通进行滤波,断开也进行滤波。
图8-13 输入信号滤波
(2)防输入脉冲丢失。采集脉冲量应避免丢失脉冲。其办法有:
1)用高速计数功能采集,只要确保高速计数最高工作频率高于脉冲频率,就不会丢失脉冲;
2)用定时中断及脉冲采集子程序采集,只要确保采集时间间隔小于脉冲频率的倒数,就不会丢失脉冲;
3)用外中断(有中断功能的输入点)及脉冲采集子程序采集,也要确保中断响应速度足够高,才不会丢失脉冲。
如果脉冲频率不高,如每秒在10次以下,一般的输入点也可进行采集。
(3)数字滤波。若采集的为模拟量,由于多数A/D单元自身有滤波功能,有的还可求平均值,作预处理。故进入PLCCPU的已是排除干扰后的信号。
有的A/D单元求平均数,如OMRON的CPM1A_MD002,可用以滤波,可防干扰。其效果是较明显的。
若A/D单元没有防干扰措施,也可通过程序进行数字滤波,克服干扰。滤波的方法很多,可以求平均值,也可加权平均。此外还有中值法、抑制脉冲算术平均法、一阶惯性滤波法、程序判断滤波法和递推平均滤波法等。
有人总结出经典的数据滤波方法有10种:
1)限幅滤波法(又称程序判断滤波法)。根据经验判断,确定两次采样允许的最大偏差值(设为A)。每次检测到新值时判断:如果本次值与上次值之差小或等于A,则本次值有效;如果本次值与上次值之差大于A,则本次值无效,放弃本次值,用上次值代替本次值。
这种滤波的优点是,能有效克服因偶然因素引起的脉冲干扰;缺点是,无法抑制周期性的干扰,平滑度差。
2)中位值滤波法。连续采样N次(N取奇数),把N次采样值按大小排列,取中间值为本次有效值。
这种滤波的优点是,能有效克服因偶然因素引起的波动干扰,对温度、液位的变化缓慢的被测参数有良好的滤波效果;缺点是,对流量、速度等快速变化的参数不大好用。
3)算术平均滤波法。连续取N个采样值进行算术平均运算。N值较大时,信号平滑度较高,但灵敏度较低;N值较小时,信号平滑度较低,但灵敏度较高。N值的选择取决于采集对象,一般讲,如采集流量,N=12;采集压力,N=4。
这种滤波的优点是,它有一个平均值,信号在某一数值范围附近上下波动,适用于对一般具有随机干扰的信号的滤波。其缺点是,对于测量速度较慢或要求数据计算速度较快的实时控制不大适用,所占用的内部器件较多。
4)递推平均滤波法(又称滑动平均滤波法)。把连续取N个采样值看成一个队列,队列的长度固定为N。每次采样到一个新数据放入队尾,并扔掉原来队首的一次数据(先进先出原则)。把队列中的N个数据进行算术平均运算,就可获得新的滤波结果。
N值的选取:采集流量,N=12;采集压力,N=4;采集液面,N=4~12;采集温度,N=1~4。
这种滤波的优点是,对周期性干扰有良好的抑制作用,平滑度高,适用于高频振荡的系统。其缺点是,灵敏度低,对偶然出现的脉冲性干扰的抑制作用较差,不易消除由于脉冲干扰所引起的采样值偏差,不适用于脉冲干扰比较严重的场合,所占用的内部器件较多。
5)中位值平均滤波法(又称防脉冲干扰平均滤波法)。相当于“中位值滤波法”+“算术平均滤波法”。它连续采样N个数据,去掉一个最大值和一个最小值,然后计算N-2个数据的算术平均值。N值的选取:3~14。
这种滤波融合了以上两种滤波法的优点,对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差。其缺点是,测量速度较慢,和算术平均滤波法一样,所占用的内部器件较多。(www.xing528.com)
6)限幅平均滤波法。相当于“限幅滤波法”+“递推平均滤波法”。它每次采样到的新数据先进行限幅处理,再送入队列进行递推平均滤波处理。
这种滤波的优点是,融合了以上两种滤波法的优点,对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差。其缺点是,所占用的内部器件较多。
7)一阶滞后滤波法。取a=0~1,本次滤波结果=(1-a)×本次采样值+a×上次滤波结果。
这种滤波的优点是,对周期性干扰具有良好的抑制作用,适用于波动频率较高的场合。其缺点是,相位滞后,灵敏度低(滞后程度取决于a值大小),不能消除滤波频率高于采样频率的1/2的干扰信号。
8)加权递推平均滤波法。是对递推平均滤波法的改进,即不同时刻的数据加以不同的“权”,通常是,越接近当前时刻的数据,这个“权”取得越大。给予新采样值的权系数越大,则灵敏度越高,但信号平滑度越低。
这种滤波适用于有较大纯滞后时间常数的对象和采样周期较短的系统。但对于纯滞后时间常数较小,采样周期较长,变化缓慢的信号,不能迅速反应系统当前所受干扰的严重程度,滤波效果差。
9)消除抖动滤波法。设置一个滤波计数器,将每次采样值与当前有效值比较:如果采样值等于当前有效值,则计数器清零;如果采样值不等于当前有效值,则计数器加1,并判断计数器是否大、等于上限N(溢出)。如果计数器溢出,则将本次值替换当前有效值,并使计数器清零。
这种滤波对于变化缓慢的被测参数有较好的效果,可避免在临界值附近控制器的反复开/关跳动或显示器上数值抖动。但它不宜用于采集快速变化的参数。而且,如果在计数器溢出的那一次采样到的值恰好是干扰值,则会将干扰值当作有效值导入系统。
10)限幅消除抖动滤波法。相当于“限幅滤波法”+“消抖滤波法”。它先限幅,后消除抖动。
这种滤波具有“限幅”和“消除抖动”的优点。改进了“消除抖动滤波法”中的某些缺陷,可避免将干扰值导入系统。但它不宜用于采集快速变化的参数。
提示:还可能设计更多的软件滤波方法,但最有效的滤波还在硬件。在硬件上,采取有效的防干扰措施,才是可靠的滤波。软件滤波只是硬件防干扰措施的补充。
图8-14所示梯形图为连续采集5次数,并剔除其中最高及最低两个数,然后再对其余的3个数作平均,并以其值作为采集数。这5个数通过5个周期(长度可选定,该图程序周期为1s)进行采集。
该图有4个部分:
1)用移位指令,产生自200.00到200.04轮流为ON的控制位。
2)用200.00~200.04把A/D有关通道的内容(图为100通道),分别存入DM100~DM104中。
3)在200.04ON时,进行一系列比较(图未详细列出具体指令),把DM100~DM104中的最大及最小数剔除,中间数存于DM110~DM112中。
4)对DM110~DM112中的数求和并除以3,其结果存于DM115中。这里的DM115即为滤波后的值。
图8-14 滤波程序例
(4)非法输入防止。利用信号之间关系来判断信号是否非法。如左右两个行程开关,绝对不可能两者同时处于ON状态。出现那样状态,即为非法输入,应报警,并禁止其起作用。再如进行液位控制,由于贮罐的尺寸是已知的,进液或出液的阀门开度和压力是已知的,在一定时间里罐内液体变化高度大约在什么范围可是预测的。如果液位计送给PLC的数据和估算液位的高度相差较大,判断可能液位计出错。对这个错误输入应报警,并予以拒绝。
又如各贮罐有上下液位极限开关保护。如开关动作,可先判断这个信号是否正确?可将这信号和该罐液位计信号对比,如果液位计读数也在极限位置,说明该信号是正确的;如果液位计读数不在极限位置,则可能是液位极限开关错误或液位计读数错误。对此,也应报警,并应予拒绝。
再就是误操作避免的设计,如电动机正转、反转两个按钮,如同时按下,就是误操作。这时,应通过输入互锁使PLC对此不做任何反应。
也可使用联锁实现误操作避免,如当出现某种情况时,使有的输入被禁止(联锁),以防止非法收入,确保系统安全。
(5)输入冗余与出错检测。传感器有检测逻辑量与模拟量两种。对传感器监控,办法是冗余,用两个传感器。同时从它读信号,然后作比较。看其是否不一致。如不一致超过允许时间,即说明其中之一必有错误。图8-15所示为输入冗余及出错报警逻辑。
图中F1、F2为两个输入开关,用以检测同一对象。正常情况下,其结果应是相同的。所以,T0002不会工作。若一个出现错误,则T000工作,当时间超过设定值(此次定为1s),则报警,提示出现错误。
模拟量传感器的监控大致也相同。它靠对两个测量值进行比较,视其偏差是否在允许的范围内。若超过允许范围,再看是否处于允许的时间之内。只有超过允许误差范围,而又超过允许的超差时间,才视为出了错误。
(6)输入容错。对重要的输入,必要时也可作3选1配置,一旦一个出错,一方面报警,另一方面,可按三选二的原则继续工作。当然,这么做的代价是较高的。
图8-15 输入冗余及出错报警逻辑
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。