梁 鹏 王春生
摘要:文章主要介绍了CAN总线技术的特性、实时性,以及应用在电网调度中的实现过程和取得的效果。
关键词:CAN总线技术;实时性;电网调度;静态调度
中图分类号:TP315 文献标识码:A 文章编号:1009-2374(2009)01-0071-02
随着经济的发展,现代电网结构日趋复杂,电网容量不断扩大,对电网运行的可靠性要求也越来越高。而电力系统对变电站又提出了减员增效的要求,这两者之间的矛盾可以通过CAN总线技术来解决。
一、现场总线及其特点
现场总线是一种应用于生产现场,在现场设备之间、现场设备与控制装置之间实现双向、串行、多节点数字通信的技术。它的产生是自动化仪表发展的必然趋势,同时也是企业综合自动化发展的需要[1]。
和以往的控制系统相比,现场总线具有以下特点:
全数字通信、多分支结构、现场设备状态可控、互操作性和互换性、控制分散等等特点简化了系统结构,提高了系统的可靠性、自治性和灵活性。
CAN(Controller Area Network)是控制器局域网的简称,它属于现场总线的范畴,是德国Bosch公司在1986年为解决现代汽车中众多测量控制部件之间的数据交换问题而开发的一种串行数据通信总线,支持分布式控制或实时控制。已经被列入ISO国际标准,称为ISO11898。今天,CAN已成为工业数据通信的主流技术之一。
经过十余年的发展,出现了CAN,FF,P rofibus,Lonworks等多种现场总线产品,其中CAN总线因为具有执行成本低,高可靠性和实时性等特点,广泛应用于工控自动化,过程控制等领域,成为主流现场总线之一。
二、CAN总线及其特点
CAN总线协议建立在国际标准化组织的开放系统互连参考模型基础上,但是,其模型结构只有两层,即只取OSI底层的物理层和数据链路层。CAN总线协议的数据链路层主要分为逻辑链路控制子层(LLC)和媒体访问控制子层(MAC) [2]。
和其他现场总线相比,CAN总线具有以下特点:
CAN总线通信机制——仲裁场、节点不分主从通信方式灵活、CSMA/CA、多种方式传送接收数据、传输距离远通信速率高、采用短帧结构、通信介质选择灵活。
三、CAN总线的实时性
尽管CAN具有诸多优点,但也存在许多不足。基本的CAN总线协议中采用的是固定优先级机制,它比较适合于确定性硬实时系统中的消息调度,但灵活性较差,即只适用于系统时间特性固定不变的系统,如果网络中某个节点传输消息的时间特性发生变化,则会造成整个静态调度的重新构建;同时,如果网络中初始优先级较高的任务较多,就会导致优先级较低的任务总也得不到机会发送,直至被丢弃,这就降低了系统的执行性能,甚至可能造成严重错误;CAN总线通信协议采用事件触发机制,而在工业控制中同时存在时间触发和事件触发信息,且以时间触发为主,这就需要我们对CAN总线设计合理有效的调度策略,消除或减小信号抖动,降低网络时延,提高系统的实时性[3]。
在CAN总线应用于实际系统的过程中,实时性是一个非常关键的问题。实时是指信号的输入、运算和输出都要在极短的时间内完成,并根据生产过程工况的变化及时地进行处理。而实时系统指在事件或数据产生的同时,能够在规定的时间内给予响应,以足够快的速度处理,及时地将处理结果送往目的地的一种处理系统。研究CAN协议的实时性问题,采取合理的措施克服CAN协议中固定优先级机制的缺陷,提高CAN总线通信系统的实时性具有重要的应用价值。设计一种有效的优化调度方式与算法实现,提高CAN总线在工控领域的通信实时性[4]。
首先以CAN总线通信机制为基础对系统进行数学建模,采用有效的调度方案与算法实现通信信息的实时调度,以便消除或减小信号抖动,降低网络时延,通过仿真实验验证其有效性;设计CAN总线硬件平台,编写相关算法,进行试验测试、分析与改进。以CAN总线通信机制为基础,应用实时调度理论和优化算法,提出一种基于CAN总线的有效的工控优化调度方案与算法,消除或减少信号抖动,降低网络时延,提高控制系统的实时性。根据CAN总线对应用层开放的特点,应用SCM芯片设计硬件平台,编写和验证所提优化调度方案与算法的有效性。进一步将TTCAN(Time-triggered CAN)和容错控制算法引入到研究中。
基于CAN总线的实时调度算法有多种分类方式,整体上可以分为两类:静态调度算法和动态调度算法,其中动态调度算法又包括混合调度算法。
静态优先级是指系统中需要调度的各任务的优先级是事先固定的,在运行过程中不再发生变化,因此,静态优先级调度算法也可以称为固定优先级调度算法[5]。
静态优先级调度算法的缺点是不灵活,缺少对系统运行过程中突发事件的实时处理能力,需要事先考虑系统中各种可能出现的情况;并且可能出现低优先级信息等待时间过长、总也得不到发送机会的情况,这对实际系统的运行是非常不利的。因此,我们需要考虑采用更加灵活的调度算法:动态优先级调度算法。
动态优先级是指系统中需要调度的各任务的优先级,是随时间推移而动态变化的,在动态优先级调度算法中,任务的调度优先级随着系统中任务运行而变化,任务优先级不仅仅与任务自身有关系,而且与系统中的其他任务有关。这使得系统应用的灵活性大大提高。
将动态调度算法与静态调度算法相结合,同时将神经网络、启发式算法等思想融入其中,称为混合调度算法。
综上所述,对于一个CAN总线的应用系统,通常都混合有实时和非实时的信息,所以需要根据实际系统的要求,仔细分析上述各种调度算法的优缺点,选定一种合理的调度算法满足信息传输的实时性与可预测性要求。
参考文献
[1]阳宪惠.工业数据通信与控制网络[M].清华大学出版社,2003.
[2]冯冬芹,等.以太网与现场总线[J].自动化仪表.2003,24(6).
[3]Jean Pierre Thomesse, Intelligent Components, The Fieldbus, Proceedings of the International Symposium on The and Instruments for Control Application, 1997.
[4]David A.Glanzer, Interoperable Fieldbus Devices: A Technical Overview, ISA Transaction 1996,34(2).
[5]周震,杨正林.时间触发CAN——TTCAN[J].汽车电器,2005,(5).
作者简介:梁鹏(1981- ),男,山东济南人,锦州供电公司助理工程师,工程硕士,研究方向:电网管理。