李国林,黄 帅
(中国电子科技集团公司第四十五研究所,北京100176)
现场总线(Fieldbus)是指开放式、国际标准化、数字化、相互交换操作的双向传送、连接智能仪表和控制系统的通信网络。它作为工厂数字通信网络的基础,沟通了生产过程现场及控制设备之间及其与更高控制管理层次之间的联系。它不仅是一个基层网络,而且还是一种开放式、新型全分布控制系统。目前世界上存在着几十余种现场总线,如德国西门子公司的ProfiBus,博世公司的CAN,倍福公司的EtherCAT 以及美国的DeviceNet 与ControlNet 等。
控制器局域网总线(CAN,Controller Area Network)是一种高性能、高可靠性、易开发和低成本的串行通讯协议总线,CAN 总线协议已被国际标准化组织认证,技术比较成熟,控制的芯片已经商品化,性价比高,特别适用于分布式测控系统之间的数据通讯。CAN 总线插卡可以任意插在PC、AT、XT 兼容机上,方便地构成分布式监控系统。它可以使用双绞线、同轴电缆或光导纤维来传输信号,通信速率可达1 Mbps,距离可达10 km,是世界上应用最广泛的现场总线之一[2]。
本文首先阐述了CAN 总线控制器的理论基础,重点介绍了基于CAN 总线的电机控制系统设计,以全自动LTCC 印刷线为平台,通过工控机、CAN 卡以及Copley 驱动器组成的CAN 总线控制系统,实现对被控对象电机的控制,并应用在实际的印刷控制系统中,具有较好的时效性和控制效果。
CAN 协议的一个最大特点是废除了传统的站地址编码,而是对通信数据块进行编码,使网络内的节点个数在理论上不受限制。由于CAN 总线具有较强的纠错能力,支持差分收发,保证了数据传输的高可靠性,因而适合高干扰环境,并具有较远的传输距离。而且CAN 总线还采用非破坏性仲裁技术,当两个节点同时向网络上传送数据时,优先级低的节点主动停止数据发送,而优先级高的节点可不受影响继续传输数据,有效避免了总线冲突。因此,CAN 协议对于许多领域的分布式测控有很广泛的应用空间。
CAN 总线以目前技术条件较成熟的IS0/0SI模型为基础,与其它网络相比,其信息传递的格式为报文,报文的长度可以不同,并采用短帧结构,每一帧的有效字节数为8 个,数据传输时间短,受干扰的概率低,重新发送的时间短。当CAN 总线上的一个节点发送数据时,以报文形式广播给网络中所有节点,对每个节点来说,无论数据是否是发给自己的,都对其进行接收。每组报文开头的11 位字符为标识符,定义了报文的优先级,这种报文格式称为面向内容的编址方案。并且在同一系统中标识符是唯一的,不可能有两个站发送具有相同标识符的报文,因此可在各节点之间实现自由通信。而且节点在错误严重的情况下,具有自动关闭总线的功能,切断它与总线的联系,以使总线上其他操作不受影响。另外,CAN 总线采用了多主竞争式总线结构,具有多主站运行和分散仲裁的串行总线的特点。CAN 总线使用串行数据传输方式,可以1 Mb/s 的速率在40 m 的双绞线上运行,也可以使用光缆连接,而且这种总线协议支持多主控制器。
由于CAN 总线是一种面向内容的编址方案,因此很容易建立高水准的控制系统并灵活地进行配置,也可以很容易地在CAN 总线中加进一些新站而无需在硬件或软件上进行修改。当所提供的新站是纯数据接收设备时,数据传输协议不要求独立的部分有物理目的地址,它允许分布过程同步化,即总线上控制器需要测量数据时,可由网上获得,而无须每个控制器都有自己独立的传感器。
CAN 总线在组网和通信功能上的优点以及其高性价比奠定了它在许多领域有广阔的应用前景和发展潜力。这些应用有些共同之处,CAN 实际就是在现场起一个总线拓扑的计算机局域网的作用,不管在什么场合,它负担的是任一节点之间的实时通信,但是它具备结构简单、高速、抗干扰、可靠、价位低等优势。
CAN 数据总线包括黄色和绿色两条导线,分别是CAN_High(上)线和CAN_Low(下)线,当静止状态时,这两条导线上的电平一样,这个电平称为静电平,大约为2.5 V,这个静电平状态就是隐形状态也称隐性电平,也就是没有任何干扰的时候的状态称为隐性状态。当有信号变化时,CAN_High 线上的电压值变高了,一般来说会升高至少1 V,而CAN_Low 线上的电压值会降低一个同等数值,那么这时候CAN_High 就是2.5+1=3.5 V,它就处于被激活状态,而CAN_Low 降为2.5-1=1.5 V,可以参照图1所示。
由此得到,在隐性状态下CAN_High 线与CAN_Low 没有电压差,这样就没有任何变化也就检测不到信号。但是在显性状态下,该值最低为2 V,在总线上通常逻辑1 表示隐性,0 表示显性。那么就可以利用这种电压差所产生的逻辑变化以报文的信息格式来传送数据和接收信号。
图1 显性隐性状态示意图
所谓报文就是CAN 总线上要传输的数据包,识别符就是为了区分不同报文的可以鉴别的好多字符位,它有一个功能就是可以提供优先级,也就是决定哪个报文优先被传输,报文标识符的值越小优先权越高。CAN 的报文格式包括具有11 位识别符的标准帧和29 位识别符的扩展帧,CAN报文有以下4 个不同的帧类型,分别是数据帧,将数据从发送器传输到接收器;远程帧,总线节点发出远程帧,请求发送具有同一标识符的数据帧;错误帧,任何节点检测到总线错误就发出错误帧;过载帧,过载帧用已在先行的后续的数据帧(或远程帧)之间提供一附加的延时。
一般来说,控制单元通过收发器连接到CAN驱动总线上,这个收发器内有一个接收器,该接收器是安装在接收一侧的差动信号放大器。通过这个放大器将CAN_High 和CAN_Low 线的电平差放大后再传到接收区,如图2所示,当有电压差,差动信号放大器放大传输,将相应的数据位置为0。
图2 CAN 驱动数据总线的差动信号放大器
本文所设计的控制系统主要由工控机、CAN接口卡、Copley 驱动器和被控对象电机以及光栅尺、IO 模块等组成,主要包括控制系统通讯设计和基于CAN 总线的结构设计两大部分,其中系统通讯设计通过串口及双绞线实现与控制器和IO模块之间的通讯,而结构设计是基于CAN 总线技术的控制系统应用。上位机通过CAN 卡串口与Copley 驱动器和IO 模块之间的通讯,来实现对驱动器的数据采集与命令发送,及IO 状态的检测,电机位置参数采集是通过驱动器采集光栅尺的读数来实现。通过采用CME2 电机调试软件实现对被控对象电机的位置环、速度环和电流环参数调试与参数设置。控制系统示意图如图3所示。
系统的下位机主要由Copley 驱动器和被控对象电机以及光栅尺、IO 模块、传感器等组成,Copley 驱动器模块主要负责接受上位机程序通过CAN 卡发出控制脉冲信号,并驱动电机实现。电机主要实现上位机发来的动作指令,光栅尺主要是测量电机运行的事实参数,并将其反馈给驱动器,以便进行下一步的位置参数矫正。而IO 模块主要是检测传感器的状态及控制相关的输出点。
上位机通过VC 软件来开发设计出一个全自动设备控制系统应用程序,主要用来实现用户人机界面的交互,工艺参数保存读取,图像采集及数据处理,并通过相应的算法来得到定位控制信号,再将控制信号传输给下位机,并实现数据的实时反馈。主要功能如图4所示。
图3 基于CAN 总线技术电机控制系统结构示意图
图4 设置软件设计的具体功能
基于VC 的CAN 总线软件控制设计流程如图5所示,首先打开CAN 口(过程如图6所示)进入工作模式,接着执行指令调用相应的函数来实现相应的功能,完成指令需要完成的动作,最后返回执行情况和结果。本文中所设计的基于CAN 总线的运动控制系统已应用于实际的LTCC 印刷线以及全自动太阳能印刷线当中,并取得了较好的应用效果。
图5 基于CAN 的软件控制框图
图6 打开CAN 口过程示意图
主要介绍了CAN 总线技术的特点与原理,设计了基于CAN 总线技术的运动控制系统,并将其应用于实际的LTCC 印刷线设备。由于CAN 总线的数据通信具有突出的可靠性、实时性和灵活性,及其良好的性能和独特的设计,使它在汽车领域上得到了广泛的应用,世界上一些著名的汽车制造厂商大都采用了CAN 总线来实现汽车内部控制系统与各检测和执行机构间的数据通信。同时由于CAN 总线本身的特点,其应用范围目前已不再局限于汽车行业,而向自动控制、航空航天、航海、过程控制、机械工业、机器人、数控机床、智能家庭、医疗器械及传感器等领域发展。在广泛的工业领域,CAN 总线可作为现场设备级的通信总线,而且与其他的总线相比,具有很高的可靠性和性价比,CAN 已经形成国际标准,并已被公认为几种最有前途的现场总线之一。
[1]马洪连,丁男,李屹璐.嵌入式系统设计教程[M].北京:电子工业出版社,2006.
[2]饶云涛,邹继军,王进宏,等.现场总线CAN 原理与应用技术(第二版)[M].北京:航空航天大学出版社,2007.
[3]杜尚丰,曹晓钟,徐津.CAN 总线测控技术及其应用[M].电子工业出版社,2007.
[4]夏继强.现场总线工业控制网络技术[M].北京:航空航天大学出版社,2005.
[5]陆前锋,刘波,陈明昭.基于SIAlOOO 的CAN 总线智能控制系统设计[J].自动化技术与应用,2003,22(1):61-64.
[6]徐利梅,童明俶.现场总线及其在楼宇自控系统中的应用[J].智能建筑与城市信息,2003(7):17-17.
[7]饶运涛,邹继军,郑勇芸.现场总线CAN 原理与应用技术[M].北京:航空航天大学出版社,2003.