在PROFIBUS的应用中,时常会出现掉站的情况,通常的做法是降低通信的波特率。例如,波特率在1.5Mbps时,两分钟掉一次站点,修改为500Kbps时,半个小时掉一次站点,再降低波特率到187.5Kbps时,一两个小时掉一次站点,最后不管怎样降低波特率,都会掉站,只是掉站的间隔时间稍微变长,这是什么原因呢?
我们先分析一下波特率,1.5Mbps表示1.5*1024*1024 bit/s(每秒),一秒钟要从端口(PROFIBUS是RS485)发出1572864个BIT,500Kbps表示500*1024 bit/s(每秒),一秒钟从端口要发出512000个BIT,假设发送的数据都是0、1相互间隔,信号的波形如图1所示。
一段时间内1.5Mbps与500Kbps的波形图如图2所示(示意图)。
从图2中可以看到,1.5Mbps的电平宽度明显比500Kbps的窄,电平的宽度与通信速率有关,一个电平的宽度以时间长度表示为:
不同波特率对应的Tbit 如图3所示。
如果通信受到干扰,通常情况下,一个BIT的电平波形一半受到干扰,信号不能被识别,则通信失败,如图4所示。
降低波特率实际上是增加了电平的宽度,例如原通信波特率是1.5Mbps,Tbit /2是1000微秒,超过1000微秒宽度的电平受到干扰,通信就将失败,例如1200毫秒。如果降低波特率到500Kbps,Tbit /2是2667微秒,干扰的幅值是不变的,1200微秒低于电平宽度的50%,通信可能正常,可能会有报文失败重发现象,PROFIBUS缺省是重发三次,通信质量已经下降。
为什么再降低波特率也会有掉站的情况,因为干扰情况不规律,有时的干扰会有累计效应,例如电场干扰,通过空间的分布电容耦合到通信线上,这时整个电平都会受到干扰,如果使用示波器查看,高电平上的线会变的非常粗,这其实是干扰的幅值。所以不能只靠降低波特率处理现场通信的问题,一定要保证通信的质量,有问题必须解决,将隐患排除!