基于现场总线的网络技术的研究是自动化领域发展的一个热点。CANopen协议是目前流行于欧洲的基于CAN总线应用层的标准协议。对工程设计者来说,研究现场总线的核心任务就是对控制节点进行开发。本文就是通过实现伺服电机控制模块的CANopen协议,说明一个基于CANopen协议的控制网络的组态。
伺服电机控制器在自动控制领域里有着广泛的应用,如纺织机械和印刷机等。为了得到理想的速控效果, 伺服电机模块除了要在分辨率、线性程度以及转换速率上达到一定的要求外,还应具有良好的在线可控性和实时在线状态检测功能。为此,利用CAN总线高层通信协议CANopen,结合陕西省教育厅“并条机自调匀整” 项目对伺服电机控制模块参数的要求,开发了一个具有硬件可重用性、软件可重配置特点的伺服电机控制模块。
1 CANopen协议概述[1-2]
CANopen协议是由CiA协会针对CAN协议的不完整性而定义出的一个更高层次的协议——应用层协议。一个CANopen 设备模块可分为3部分,如图1所示。通信接口和协议软件用于提供在总线上收发通信对象的服务;不同CANopen 设备间的通信都是通过交换
通信对象来完成的,这一部分直接面向CAN 控制器进行操作。对象字典描述了设备使用的所有数据类型、通信对象和应用对象;对象字典位于通信程序和应用程序之间,用于向应用程序提供接口。应用程序对对象字典进行操作,即可实现CANopen通信。它包括功能部分和通信部分,通信部分通过对对象字典进行操作实现CANopen 通信;而功能部分则根据应用要求来实现。