北京西门子交换机中国授权供货商
浔之漫智控技术(上海)有限公司
RS485总线具有结构简单、通信距离远、通信速度快、成本低等优点。广泛应用于工业通信、电力监控、仪器仪表等行业。由于工业控制环境恶劣,通信线路中会出现更多的干扰耦合,从而影响RS485总线的可靠性,甚至会损坏RS485收发器芯片。脉冲群干扰是一种常见的干扰。通常采用电快速脉冲群(EFT)免疫试验来模拟干扰,验证系统的可靠性。
脉冲群骚扰的来源
在工业控制环境中经常会出现雷电、短路、开关动作等具有电感负载的动作而产生的瞬时干扰,这些干扰是一些短暂的高能量的脉冲骚扰,具有脉冲成群出现、脉冲的上升时间比较短暂、脉冲的重复频率较高等特点。
这些干扰会耦合到RS485总线上,由于这些脉冲不是单个脉冲,而是一连串的脉冲,因此会在RS485总线上产生积累,使骚扰的电压幅值超过RS485收发器的噪声容限,引起通信错误。
同时由于这些脉冲骚扰的周期较短,每个脉冲的出现的间隔时间较短,当***个脉冲骚扰还未消失时,第二个脉冲就紧跟而来,对于RS485总线上的寄生电容和RS485收发器的结电容来说,在还没有放电完就又开始充电,并且通常寄生电容较小,较小的能量就可以达到较高的电压,容易损坏RS485收发器,影响RS485总线通信可靠性。北京西门子交换机中国授权供货商
脉冲群骚扰产生原理
脉冲群骚扰源的电压大小取决于负载电路的电感、负载断开的速度等因素。以开关动作为例,由于开关打开瞬间动静触头之间的距离比较近,电路中的电感感应出来的反电动势足以将触头间的空气间隙击穿,电路开始导通,但这一放电过程的时间非常短暂,此时电路将产生一个前沿脉冲为ns级,宽度达到几十ns级,幅度几千伏以上的高压小脉冲。当上述脉冲结束后,电路开始重复电感性负载产生反电动势和通过开关动静触头间的空气间隙放电的过程。
这一过程将一直进行,直到贮存在电感性能负载中的能量足够低,再也产生不了上述放电过程为止。这些干扰会耦合到RS485总线上,形成较大的干扰,影响通信的可靠性。
提高电快速脉冲群抗扰能力的措施
电快速脉冲群抗扰是共模干扰,可以采用滤波、吸收或者隔离的方式进行抑制。大致总结为以下五种方法。
【一】RS485总线隔离
(1)保证设备及人身安全——高压的影响
RS485用于设备之间的通信,很多时候,研发人员根本不知道客户拿自己的设备与什么类型的设备通信,万一对方是一个利用几块钱的阻容降压原理将220V降压到12V,与电网完全没有隔离,测试、调试、使用就会非常危险,或者是高压设备绝缘损坏,RS485线上带高压,就会威慑设备和人身的安全。
(2)避免远端接受异常——电势差的影响
许多实际应用中,通信距离可达几千米,节点之间的距离很远。设计者常常直接将每个节点的参考地接于本地的大地,作为信号的返回地,看似正常可靠的做法,实际的大地并不是理想的“0”电位,大地也是导体,也存在阻抗。
当大的电流流过大地时,流过电流的大地两端也会存在电势差。例如下图1,由于AB较远,参考地之间并不是 0 电位,地线的阻抗也不会是 0,由于电流环路的作用,在A端的电压是Vs,在B端就变成了Vc+Vs。
电势差的影响
(3)避免数据异常,器件损坏——地环路的影响
初始化模式6、模式7或模式8
为具有向上/向下时钟(模式6、模式7或模式8)的双相向上/向下计数器初始化HSC1按下列步骤进行:
(1)使用*次扫描内存位调用在其中执行初始化操作的子程序。因为使用子程序调用,随后的扫描不再调用子程序,这减少扫描执行时间和提供更多的结构程序。
(2)在初始化子程序中,根据期望的控制操作载入SMB47.例如,SMB47=16#F8产生下列结果:
●启用计数器:
●写新当前值:
●写新预设值:
●设置高速计数器的初始方向为向上计数:
●设置开始和重设输入为现用高速计数器。
(3)执行HDEF指令,高速计数器输入设置为1,“模式”设置为下列之一:对于无外部重设或启动为6;对于外部重设和无启动为7;对于外部重设和启动为8。
(4)用期望的当前值(用0载入以它)载入SMD48(双字大小数值)。北京西门子交换机中国授权供货商
(5)用期望的预设值载入SMD52(双字大小数值)。北京西门子交换机中国授权供货商
(6)为了捕获当前值等于预置事件,通过将CV=PV中断事件(事件13)连接到中断程序。可参考关于中断的部分
(7)为了捕获外部方向改变,通过将方向改变中断事件(事件14)连接到中断程序。
(8)为了捕获外部重设事件,通过将外部重设中断事件(事件15)连接到中断程序。
(9)执行全局中断启用指令(ENI)来启用中断。
(10)执行高速计数器指令。
(11)退出子程序。
4.初始化模式9、模式10或模式11
为A/B相正交计数器(模式9、模式10或模式11)初始化HSC1按下列步骤进行:
(1)使用*次扫描内存位调用在其中执行初始化操作的子程序。因为使用子程序调用,随后的扫描不再调用子程序,这减少扫描执行时间并提供更多的结构化程序。
(2)在初始化子程序中,根据期望的控制操作载入SMB47。
示例(1x计数模式):SMB47=16#FC产生下列结果:
●写新当前值
●写新预设值
示例(4X计数模式):SMB47=16#F8产生下列结果:
●启用计数器
写新预设值:
●设置高速计数器的初始方向为向上计数;
(3)执行HDEF指令,高速计数器输入设置为1,“模式”输入设置为下列之一:对于无外部重设或启动为9:对于外部重设和无启动为10:对于外部重设和启动为11。
(4)用期望的当前值(用0载入以它)载入SMD48(双字大小数值)。
(5)用期望的预设值载入SMD52(双字大小数值)。
(6)为了捕获当前值等于预置事件,通过将CV=PV中断事件连接到中断程序。关于中断处理的细节可参考启用中断(ENI)部分。
(7)为了捕获方向改变,通过将方向改变中断事件连接到中断程序。
(8)为了捕获外部重设事件,通过将外部重设中断事件连接到中断程序。