欢迎来到乐利商城!
CANopen是一种架构在控制局域网路(CAN)上的高层通讯协定,包括通讯子协定及设备子协定常在嵌入式系统中使用,也是工业控制常用到的一种现场总线。CANopen实现了OSI模型中的网络层以上(包括网络层)的协定。CANopen标准包括寻址方案、数个小的通讯子协定及由设备子协定所定义的应用层。CANopen支援网络管理、设备监控及节点间的通讯,其中包括一个简易的传输层,可处理资料的分段传送及其组合。一般而言数据链结层及物理层会用CAN来实作。除了CANopen外,也有其他的通讯协定(如EtherCAT)实作CANopen的设备子协定。
CANopen由非营利组织CiA进行标准的起草及审核工作,基本的CANopen设备及通讯子协定定义在CiA301中。针对个别设备的子协定以CiA301为基础再进行扩充。如针对I/O模组的CiA401及针对运动控制的CiA402。
针对伺服电机远程控制接线复杂、控制单一、可靠性不高等问题,提出利用CANopen通信协议、驱动子协议实现伺服电机控制的新方法。分析CANopen协议的对象字典和报文格式,详细介绍了CANopen伺服控制状态机各步骤的转换以及实现CANopen协议下PP、PV、HM3钟伺服控制模式的报文设置。利用CAN卡和伺服驱动设备以及伺服驱动设备以及PC机构建了实验平台,在上位机界面通过报文设置成功实现了基于CANopen协议的伺服电机的PP、PV、HM的三种模式的控制。实脸结果表明利用协议的报文设置控制电机简单易操作,通讯数据快速、可靠,用户通过上位机可以很好的实现对伺服电机的监控。
整个控制系统由PC机、CANopen上位机、USBCAN适配器、伺服驱动设备构成。CANopen通讯部分由DS301协议实现,伺服控制部分由DSP402协议实现伺服驱动设备作为的从节点,具有CANopen通讯功能,负责电机的电流、转速、位置等控制对象,它通过通信接口与总线相连,将信息传送给计算机的上位机界面;上位机界面则根据从站的反馈信息通过USBCAN适配器对伺服驱动设备实现控制。如图1所示为开放式通讯协议的伺服控制系统总体架构图。
图1 开放式通讯协议伺服控制系统总体架构图
►开放式通讯协议伺服控制原理1 CANopen通讯设备模型
CANopen的设备模型分为以下3个部分:通信单元、对象字典、应用过程。用户可以通过该模型对功能完全不同的设备进行描述。
CANopen的核心概念是对象字典,对象字典包含描述这个设备和它的网络行为的所有参数,应用单元和通信单元都可以问这个参数列表。对象字典中的参数通过一个16位索引和位子索引进行识别和定位。
通信部分由CAN收发器、CAN控制器和CANopen协议栈组成协议栈中定义了实现通讯的通讯对象:NMT(网络管理报文)、PDO(过程数据)SDO(服务数据对象)预定义报文或者特殊能对象(含同步报文、紧急报文、时间标记对象等)通信的所有内容和功能由这些通信对象描述,所有设备之间通信也通过这些通信对象完成。其中NMT用于主站对从站进行状态管理以及从站应答自身所处的通信状态,SDO用于主站对从站的对象字典进行配置和监控。PDO用来传输高速、小型数据。而特殊功能对象则用于同步网络中的通信对象(通常为PDO)的方法。应用部分是对设备的基本功能的定义和描述,它是连接设备与主站上位机的纽带,其核心功能是通过访问设备的对象字典对设备进行参数配置、状态控制和监控,并高速传输设备的过程数据信息。