CAN总线的工厂自动化监测网络
摘要:本文介绍了CAN的结构,网络协议及控制器的使用,阐述了CAN总线的工厂自动化实时监测分网络系统设计。
关键词: CAN现场总线 通信协议 网络
1 引言
在计算机数据传输领域内,长期以来使用RS-232和CCITTV.24通信标准,尽管它们被广泛地使用,但却是一种低数据速率和点对点的数据传输标准,无能力支持更高层次的计算机之间的功能操作。同时,在复杂或大规模的应用(如工业现场或生产自动化领域)中需采用传统星型拓扑结构,那么安装成本和介质造价都将非常高昂;采用流行的LAN组件及环型或总线型拓扑结构,虽然可以减少电缆长度,但是增加的LAN介质及相关硬件和软件又使其系统造价与星型系统相差无几。所以在最低层次上的确需要设计出一种造价低廉而又能经受工业现场环境的通信系统,现场总线(Field bus)就是在这种背景下产生的。
由于现场总线(Field Bus)能同时满足过程控制和制造业自动化的需要,因此现场总线的研究与应用已成为工业数据总线领域的热点。尽管目前对现场总线的研究尚未能提出一个完善的标准,但现场总线高性能价格比将吸引众多工业控制系统采用。
工业自动化对于工业企业的产品质量和生产的可靠运行至关重要。基于CAN总线的构成工业自动化计算机监测分析网络系统,即采用这种性能价格比很高的现场总线技术构成实时状态监测网络系统,其系统构成灵活简单,连线极少,抗干扰能力强,适应性好,易于维护,具有数据处理、分析、运行监测、控制和打印等功能,同时对原有设备未作太多的改动。实用性和可扩展性极强。
2.CAN总线
控制器局部网(CAN-Controller Area Network)属于现场总线的范畴,它是一种有效支持分布式控制或实时控制的串行通讯网络。CAN的应用范围遍及从高速网络到低成本的多线路网络。在自动化电子领域的汽车发动机控制部件、传感器、抗滑系统等应用中,CAN的位速率可高达1Mbps。同时,它可以廉价地用于交通运载工具电气系统中,例如,灯光聚束电气窗口等等以代替所需要的硬件连接。
CAN总线采用双线串行通信方式,检错能力强,可在高噪声干扰环境中合作。CAN具有优先权和仲裁功能,多个控制模块通过CAN控制器挂到CAN-bus上,形成多主机局部网络。其可靠性和实时性远高于普通的通信技术。
2.1 CAN控件的硬件构成
由于CAN总线具有通讯速率高,可靠性高,连接方便和性能价格比高等诸多特点,推动其应用开发的迅速发展,其产品正逐步形成系列。下面以PHILIPS82C200为例说明。82C200分为控制寄存器、命令寄存器、状态寄存器、中断寄存器、验收码寄存器、验收屏蔽寄存器、总线定时寄存器、输出控制寄存器、测试寄存器、发送缓存器、接收缓存器和时钟分频寄存器,十三种寄存器。
2.2 CAN控制器的初始化
在初始化之前,应设置输出控制寄存器的复位请求位为高,再设置其它寄存器。控制寄存器设定中断,命令寄存器控制缓存器的接发状态,中断寄存器查询82C200的工作状态,接收码寄存器设定工作地址,接收屏蔽寄存器设定工作形式,总线定时寄存器设定工作频率、采样频率,输出控制寄存器一般为正常输出方式,最后应使复位请求位从高变低,使CAN控制器进入正常工作状态。
2.3 CAN协议的分层结构
CAN协议是一种串行数据通信协议,它可以非常有效地构成分布式实时监测/控制系统。CAN总线规范规定了任意两个CAN节点之间的兼容性,包括电气特性及数据解释协议,它采用了ISO-OSI中的三层网络结构——物理层、数据链路层和应用层。其中应用层可能包含了除物理层和数据链路层外其余四层中的某些功能,它具有简化的网络结构。
3.CAN总线的特点和通信协议
对于复杂的或大规模的工业应用,常需要使用大量的传感器、执行器等,它们通常分布在非常广的范围内。如果在最低层上采用传统星型拓扑结构,那么安装成本和介质造价都将非常昂贵;采用流行的LAN组件及环型或总线型拓扑结构,虽然可以减少电缆长度,但是增加的LAN介质及相关硬件和软件又使其系统造价与星型系统相差无几;如果采用BITBUS (BITBUS是总线型的高速串行网),但BITBUS是主从式网络,主站、从站是系统固定分配的,不能动态地加以改变,不利于系统的扩展。它采用主站轮询式,大大加重了主站负担。
CAN(Controller Area Network)总线是德国Bosch公司从80年代初为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行数据通信协议。CAN总线以其卓越的特性,低廉的价格,极高的可靠性和灵活的结构,特别适合工业过程监控设备的互联,并已公认为最有前途的现场总线之一。
CAN总线是一种有效支持分布式控制或实时控制的串行通信网络。CAN可实现全分布式多机系统,且无主、从机之分;CAN可以用点对点、一点对多点及全局广播几种方式传送和接收数据;CAN直接通讯距离最远可达10km(传输率为5kbps),通迅速率最高可达1Mbps(传输距离为40m);CAN总线上节点数可达110个。
CAN通信协议规定有4种不同的帧格式,即数据帧、远程帧、错误帧和超载帧。CAN总线基于下列5条基本规则进行通信协调:
3.1.总线访问 CAN控制器只能在总线空闲状态期间开始发送。所有CAN控制器同步于帧起始的前沿(硬同步)。
3.2.仲裁 若有两个或更多的CAN控制器同时发送,总线访问冲突通过仲裁场发送期间位仲裁处理方法予以解决。
3.3.编码/解码 帧起始、仲裁场、控制场、数据场和CRC序列使用位填充技术进行编码。
3.4.出错标注 当检测到位错误、填充错误、形式错误或应答错误时,检测出错条件的CAN控制器将发送一个出错标志。
3.5.超载标注 一些CAN控制器发送一个或多个超载帧以延迟下一个数据帧或远程帧的发送。
由于现场总线是双向的,因此能够从中心控制室对现场智能仪表进行标定、调整及运行诊断,甚至可在故障发生前进行预测。远程维护和控制在采用数字通信和现场仪表后也将成为可能。
3.系统构成原理
工业自动化监测系统是对大中型企业的生产过程的进行监测。生产线上设有多个控制单元,每个控制单元可对一部分生产设备进行起、停控制,设备运行状态可通过安装在生产线上的传感器、限位开关等检测装置测量和评估。根据上述要求,本系统在保证系统可靠工作和降低成本的条件下,考虑到通用性、实时性和可扩展性等方面的因素,采用了主要由上位计算机系统和网络节点模块构成的系统结构。
上位计算机系统由通用个人计算机以及接通至通用PC机内部的CAN总线通信接口适配卡PCCAN组成。上位计算机系统负责系统的总体调度,向网络节点发送命令,接收节点数据,并对节点信息加以分析、存储、显示及打印。
CAN网络由20个网络节点组成,根据来自上位机系统的控制命令进行数据采集。网络节点负责对生产过程进行检测,对故障录波信号的采集速率为每秒钟3000次。除对运行状态信息的采集外,网络节点还对8路结构状态信息进行高速检测,采集速率为每秒钟100次。网络节点模块中采用以P80C592微处理器为核心的硬件结构,分别对各路模拟量及开关量进行采集,并根据主计算机的命令传送数据。
本系统采用PHILIPS的带有在片CAN控制器的微控制器P80C592,它是适用于自动化和通用工业应用的8位高性能微控制器。网络节点的通讯部分主要由P80C592的CAN控制器及CAN控制器接口器件82C250(在适配卡PCCAN上)组成。CAN控制器负责与微处理器之间的状态、控制和命令信号的交换,并承担网络通讯的控制任务。82C250是CAN控制器和物理总线间的接口,可以提供对总线的差动发送能力和对CAN控制器的差动接收能力。
CAN网络的拓扑结构采用总线式结构,这种结构比环型结构信息吞吐率低,并且用无源抽头连接,系统可靠性高。信息的传输采用CAN通信协议,通信介质仅采用两条双绞线即可。
4.系统软件设计和数据分析
在软件设计中,遵循模块化设计思想,采用结构化程序设计方案,使之具有良好的模块性、可修改性及可移植性。
根据主计算机系统所完成的任务,对于人机交流环节采用直观易懂、操作简便的图形界面。PC机的软件开发采用微软的Visual Basic3.0。因为VB作为Windows应用程序,有着与其它Windows应用程序相互一致、友好的用户界面,操作上十分方便。另外VB具有动态数据交换(DDE)、对象的链接与嵌入(OLE)、丰富的API函数、支持动态链接库(DLL)以及对数据库的操作管理等功能,这对于管理后台数据以及与网络节点进行通讯是十分方便的。
网络节点模块采用MCS-51汇编语言进行程序设计。MCS-51的指令系统指令丰富,寻址方式多样,支持各种类型的数据处理,具有执行速度快、编程效率高等特点,适于工业控制领域的应用。
5.结束语
带有CAN通信接口的工业控制产品可通过双绞线接入CAN,这使得CAN的组网和扩展变得容易。目前CAN总线应用研究还在不断深入,随着CAN总线的国际标准化,具有优先权和仲裁权功能,通信速率高,可靠性和实时性高,连接方便和性能价格比高等优点CAN网络将会得到迅速的发展和应用。
现场总线不单单是一种通信技术,也不仅仅是用数字仪表代替模拟仪表,关键是用新一代的现场总线控制系统FCS(Field Bus Control System)代替传统的集散控制系统DCS(Distributed Control System),实现现场通信网络与控制系统的集成。其本质即要实现在现场通信网络、现场设备互连、互操作性、分散功能块、通信线供电、开放式互连网络等功能。这也为工厂生产的全面自动化和远程控制奠定了基础。