CAN(Controller Area Network)和RS485是目前工业控制系统最常用的两种现场总线,CAN是一种有效支持分布式实时控制的串行通信网络。较之基于RS-485总线构建的分布式控制系统而言, 基于CAN总线的分布式控制系统在以下方面具有明显的优越性:
1) CAN控制器工作于多主方式,网络中的各节点都可根据总线访问优先权(取决于报文标识符)采用无损结构的逐位仲裁方式竞争向总线发送数据,且CAN协议废除了站地址编码,而代之以对通信数据进行编码,这可使不同的节点同时接收到相同的数据,这些特点使得CAN总线构成的网络各节点之间的数据通信实时性强,并且容易构成冗余结构,提高系统的可靠性和系统的灵活性。而利用RS-485只能构成主从式结构系统,通信方式也只能以主站轮询的方式进行,系统的实时性、可靠性较差。
2) CAN总线通过CAN控制器接口芯片82C250的两个输出端CANH和CANL与物理总线相连,而CANH端的状态只能是高电平或悬浮状态,CANL端只能是低电平或悬浮状态。这就保证不会出现象在RS-485网络中,当系统有错误,出现多节点同时向总线发送数据时,导致总线呈现短路,从而损坏某些节点的现象。而且CAN节点在错误严重的情况下具有自动关闭输出功能,以使总线上其他节点的操作不受影响,从而保证不会出现象在网络中,因个别节点出现问题,使得总线处于“死锁”状态。
3) CAN具有完善的通信协议,可由CAN控制器芯片及其接口芯片来实现,从而大大降低了系统的开发难度,缩短了开发周期;而RS-485仅有电气协议,其通信协议由用户自己定义,这对于单点通信时有性价比高的优势,但对于多点分布式系统来说,反而增加了系统的开发和维护难度。
特性 |
RS-485 |
CAN-bus |
单点成本 |
低廉 |
稍高 |
系统成本 |
高 |
较低 |
总线利用率 |
低 |
高 |
网络特性 |
单主网络 |
多主网络 |
数据传输率 |
低 |
高 |
容错机制 |
无 |
可靠的错误处理和检错机制 |
通讯失败率 |
高 |
极低 |
节点错误的影响 |
导致整个网络的瘫痪 |
无任何影响 |
通讯距离 |
<1.5km |
可达10km(5kbps) |
网络调试 |
困难 |
非常容易 |
开发难度 |
标准Modbus协议 |
标准CAN-bus协议 |
后期维护成本 |
高 |
低 |
用户1229813 2013-3-23 17:25
用户1181495 2013-1-31 20:06
用户1277994 2010-11-24 09:21