1、西门子技术支持热线的故事:浅谈 RS232 和 RS485今天天气不错,挺风和日丽的。打开热线平台一看,还真没多少人。忽然间,一个客户打电话进来。客户:“老师(听听,多客气的客户啊我默默的想) ,我接触 PLC 不久,对通讯这个看不见,摸不着的东西特发愁,没什么基础。 ”我:“您遇到什么问题了呢?”客户:“老板让我用 200PLC 自由口实现一个功能。希望 200PLC 和另外一个 232 设备做通讯,现在我接上线后,发现怎么也不能通讯,程序是之前项目已经使用过的,肯定是能用的。老师您能给我一些建议吗?”我:“那您目前硬件是怎么设置的呢?”客户:“硬件我都组建好了,我把那两个 9 针(孔)的通
2、讯口都连好了。我很辛苦的查到 200PLC 的通讯口管脚定义和 232 设备的管脚定义。目前,硬件没有什么问题滴。 ”听的出来,俺们的客户还是很认真的在做项目。但是 200 的 PLC 是 485 接口,不能和 232 接口直接相连的啊。想到这里,我问客户:“您不应该将 232 和 485 接口直接相连的呀。 ”客户:“232?485?哦,你是说 485 协议吧,我们不用那个协议的,我们的要求是定时给一个 232 设备发送如下代码。 ”我:“不是不是,我是说接口类型。 ”客户:“对啊,接口类型都是 9 针(孔)的啊,是一样的。 ”我:“这样啊,那我给您给解释一下 232 和 485 的基础知识
3、吧。 ”客户:“老师,是这样,我在很多书上看到过你说的那个什么 232,485,本来就是两个 9 针(孔)的东西吗,把我搞得晕晕的,您能不能直观的对比一下,我有个大概形象的理解就行,不需要很理论、很严谨、很天衣无缝。 ”看来,客户还是一个文人,看人家这排比句说的多好啊。我:“既然您这么想,那我们一起来看这样的一个实验:发送同样的二进制数据:看看 232 和 485 的波形有什么差别?”客户:“好,好,我看行!”恩,我看也行,于是乎我将以下示意图发给客户。图 1232 波形示意图客户:“您的图很好,可是我没看懂啊?”我:“哦,那我们一起看看图 1 吧。图中纵轴是电压值,横轴是时间值。蓝色是 23
4、2 通讯波形。我们此时显示的波形的数据是 2#10000000一般而言,232 接口的高电平“1”是用-5-15V 的电压表示,低电平“0” 是用+5 +15V 的电压表示,结合图 1,高电平“1”的电压为-10V 左右,低电平“0”的电压为+10V 左右。客户:“那 485 的波形有什么特点呢?”我:“我们一起看一下图 2 吧。图中纵轴是电压值,横轴是时间值。红色是 485 通讯波形。我们此时显示的波形的数据是 2#10000000,和 232 接口的数据是一样的。图 2485 波形示意图一般而言,485 接口是差分输出的,高电平“1”以两线间的电压差为 +(2 6)V 表示;低电平“0”以
5、两线间的电压差为-(2 6)V 表示。结合图 2,我们可以看出高电平 “1”的电压为+5V 左右,低电平“0”的电压为-5V 左右。客户:“哦,看来二者的电平是有差别的。 ”我:“对啊。 ”客户:“哦,看来都是 9 针(孔)其实也是不一样的啊。 ”我:“那咱再举个形象的例子帮您理解一下吧。 ”我们使用笔记本电源时,是不是看到三孔的插座就可以连接电源呢?其实还应该考虑一下,这个三孔的插座的电压是多少?110V? 22V?380V?我的笔记本电源需要的电压是多少呢?我们不能只看到接口形式基本相同就不考虑其背后的电压等具体因素。当然了,232 和 485 还有其它的区别,比如说通讯的距离方面,232 通讯距离相比 485 要近很多。再比如:232 通讯通常不连接多个从站,而 485 通讯可以连接多个从站等等。这里就不一一详述了。客户:“谢谢,谢谢。看来,我需要重新设置硬件和接线了。谢谢。 ”这个通讯接线的问题就这样帮客户解决了,看来基础知识对于我们的通讯还是很有帮助的。好了,又一个热线进来了,下次见。