点击【 大 中 小 】, 可 以 选 择 字 体的大小,以便 你 阅读.
1 引言
CAN(Control Area Network)即控制器局域网络,它最初是由德国的BOSCH公司为汽车监测、控制系统而设计的。由于其高性能、高可靠性及独特的设计,越来越受到人们的重视。目前,CAN总线是唯一已成为国际标准的,被公认为是几种最有前途的现场总线之一。
CAN具有下列主要特性:
(1) 多主站依据优先权进行总线访问;
(2) 无破坏性的基于优先权的仲裁;
(3) 借助接收滤波的多地址传送;
(4) 远程数据请求;
(5) 配置灵活性;
(6) 全系统数据兼容性;
(7) 错误检测和出错信息;
(8) 若丢失仲裁或由于出错而遭破坏的帧可自动重发送;
(9) 暂时错误和永久性故障节点的判别以及故障节点的自动脱离。
考虑到CAN总线具有的这些优点,我们设计了基于CAN总线的双容水箱水位控制系统。
2 系统的总体结构
双容水箱试验台由双容水箱、变频器、水位传感器、交流电机、水泵和配电盘构成。其中水位传感器的作用是测量被控水箱的水位,水泵用来给供水水箱抽水。系统控制的目的就是使被控水箱的水位保持在给定值高度,当外加扰动或改变对象特性,能使水位恢复在给定值高度。
本系统是将普通的变送器、执行器和PC机改造成为具有CAN接口的智能节点,然后将它们通过总线有机的联系在一起所形成的完整的控制系统。控制系统的总体结构 如图1所示。

图1 双容水箱控制系统的总体结构图
系统的网络拓扑采用总线式结构,可以分为两层:现场控制层和过程监控层。
2.1 现场控制层
现场控制层为系统的底层,由带有CAN接口的变送器或执行器构成,它们之间通过CAN总线进行通信,完成全部的控制工作。它的基本工作过程如下所述:变送器将被调量的值变换为标准信号,该信号在CAN接口内完成A/D转换、数字滤波等处理,然后将变换所得的数字信号通过总线传送到相应的CAN接口。在该节点内将信号接收后,根据所选择的控制算法(PID或模糊控制)进行运算,之后将运算结果进行D/A变换,再将模拟信号通过放大处理去驱动执行器。这样整个控制系统就可以按照一定的控制规律构成一个完整的闭环控制系统。
2.2 过程监控层
过程监控层是现场控制层的上一层,接收由该层传输上来的所需的生产过程的数据,以及向该层发送操作命令,以便运行人员对整个生产过程进行监控。过程监控层的上面可与以太网相连,以便管理层可以直接快速的获得来自生产一线的数据,这也充分的体现了现场总线全数字化的优点。
过程监控层主要由两部分构成:CAN适配器和上位机。其中CAN适配器一端和总线相连, 完成和CAN总线的通信;另一端和上位机连接, 完成和上位机的通信。它的主要功能是将上位机的操作信号和控制参数传送给指定的CAN网络节点, 同时, 将节点的数据传输给上位机做进一步处理。本系统通过RS232串行口和上位机交换数据。这种方法虽然传输速度低, 但结构简单、易于实现、价格低廉。
3 系统的硬件设计
由系统总体结构图(图1)可见,系统硬件主要包括3个CAN智能站:CAN通信适配器(#3 CAN智能站)、智能传感器节点(#1 CAN智能站)和智能执行器节点(#2 CAN智能站)。各个智能站的设计相似,下面以智能传感器节点为例进行介绍。其硬件结构图如图2所示。

图2 智能传感器节点的硬件结构图
这里要重点介绍的是CAN通信电路。这部分电路主要由CAN的协议芯片SJA1000、CAN的收发芯片82C250和光电隔离电路构成。
(1) CAN控制器
CAN控制器是CAN通信的核心芯片,主要功能是实现CAN总线协议和与微处理器接口。本文的CAN控制器采用PHILIPS的SJA1000,它是一个独立的CAN控制器,支持CAN2.0B协议,可以实现CAN总线物理层和数据链路层的所有功能。SJA1000有两种工作模式可以选择,BasicCAN 模式和PeliCAN模式。本次设计中采用PeliCAN模式,它在BasicCAN 模式的基础有如下的扩展:可读/写访问的错误计数器,可编程的错误报警限制,最近一次错误代码寄存器,对每一个CAN 总线错误的中断,支持热插拔,具有只听模式,可单次发送等。这些增加的功能对系统优化和错误诊断非常重要。