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