kaiyun官方注册
您所在的位置: 首页> 其他> 业界动态> CANopen现场总线主、从站系统解决方案

CANopen现场总线主、从站系统解决方案

2009-06-30
作者:广州致远电子有限公司

摘 要:阐述了CANopen应用层协议的通讯机制,分析了其应用优势,并通过实际应用案例的讲解与剖析,指导用户快速建立一个运行可靠的CANopen系统网络。
关键词:现场总线;CAN-bus;CANopen

随着现场总线CAN-bus技术逐渐深入到国内各个应用领域,同时也基于国内厂家的产品设备与国际工控市场的接轨需求,基于主流应用层协议——CANopen的应用网络也逐渐增多,其在车辆工业、工程机械、船舶海运等需要大量分布式传感器、控制器和执行机构的行业都有大量应用。


CANopen协议
CANopen的发展

20世纪80年代,由于汽车行业的需要而出现了CAN-bus。CAN-bus只定义了OSI通信模型中的第一层(物理层)和第二层(数据链路层),而没有定义应用层,因此各个厂商都可以定义自己的应用层协议,这样不利于工业的发展。为了统一标准,在CAN-bus的应用层相继出现了CANopen、DeviceNet、J1939等应用层协议。
CANopen协议是在20世纪90年代末由CIA(CAN-in-Automation)组织在CAL(CAN Application Layer)的基础上发展而来的,一经推广便在欧洲得到了广泛的承认。经过对CANopen协议规范文本的几次修改,使得CANopen协议在稳定性、实时性、抗干扰性上都得到了提高,并且CIA不断地在各个行业推出标准协议描述文本,使得CANopen在各个行业中更快速地发展与推广。


对象字典OD
CANopen协议最核心的概念就是对象字典(Object Dictionary),整个设备的功能都是通过对象字典来描述的。在一个特定的CANopen设备中必须拥有通信参数描述区(0x1000~0x1FFF)和设备功能描述区(0x2000~0x5FFF 或0x6000~0x9FFF),其他的区域仅仅表示数据类型。
对象字典分为主索引(16位)与子索引(8位),通过电子数据表格(EDS)来描述。设备子协议为对象字典中的每个对象描述了它的功能、名字、索引和子索引、数据类型以及这个对象是必需的还是可选的,这个对象是只读、只写或者可读写等。

CANopen通信
CANopen协议定义了四种通信对象,分别为管理报文对象、服务数据对象SDO(Service Data Object)、过程数据对象PDO(Process Data Object)、预定义报文或者特殊功能对象。
一个CANopen设备必须支持一定数量的网络管理服务(管理报文,administrative messages),需要至少一个SDO,每个生产或消费过程数据的设备需要至少一个PDO,所有其它的通信对象是可选的。一个CANopen设备中CAN-bus通信接口、对象字典和应用程序之间的联系如图 1所示。


CANopen节点开发
主节点与从节之间的主要区别在于主节点具有管理报文(NMT)以及服务数据客户端(client)等功能,有了这些功能,主节点就可以管理CANopen网络。对于开发主节点和从节点设备来说有着较大的区别,主节点主要负责整个网络的管理并且能加载所有节点的EDS文件,例如主节点可以管理任意一个从节点进入特定的工作状态、配置从节点的参数、完成与从节点的数据交换等功能。从网络结构来说从节点属于被动设备,受主站管理,从节点只需要支持PDO、SDO服务器、预定义或特殊功能对象。


CANopen组网通信
在一个完整的CANopen网络中可有两种组网方式。
(1)CANopen网络中,需要一个CANopen主节点设备和至少一个CANopen从节点设备;
(2)CANopen网络中,至少需要两个CANopen从节点,由于CANopen可以支持点对点的工作方式,即对CANopen从节点配置正确的情况下,CANopen网络中没有主节点,从节点与从节点之间也能够建立通信并完成实时数据的交换过程。
对于第一种组网方式需要一个CANopen主站,现阶段能提供的CANopen主站有很多种可以选择,例如工业电脑、PLC、工控主机等。主站的开发方式可以选择带CANopen API函数的主站卡、带OPC服务器的主站卡或者带CANopen主节点的PLC,如图2所示。


CANopen节点设计
对于一个现有的CANopen网络,由于功能上的需求,需要把不具有CANopen协议的串行设备(如RS232/RS485等设备)添加到CANopen网络,这种情况下就需要用到网关设备(不同协议的转换设备),其联网示意图如图2所示。


从节点设计
设计CANopen从节点的方案非常多,例如51MCU+SJA1000+CTM8251T(PCA8251T)、LPC2119+CTM-8251T、FPGA+SJA1000+CTM8251T等方案。如果用户所设计的CANopen从节点设备功能相对简单,可选用价格较便宜的51单片机的方案。如果用户设计的CANopen从节点的功能比较复杂,代码可能占有大量的CODE和RAM空间,因此建议选择LPC2119方案。如果要求设备运行速度快,则可选FPGA方案。这些节点的设计方案中都需要对CANopen协议有深入的了解,并编写出符合CANopen协议标准的代码。
为了简化CANopen从节点的设计,用户可以选择由广州致远电子有限公司所生产的CANopen从站模块,该模块支持用户二次开发,并且已经固化了CANopen从节点的核心代码(符合CANopen规范标准),提供API函数供用户使用,可使从节点的性能更加稳定、开发速度更快、使用更方便。


主节点设计
在CANopen主节点的设计中,因为主节点需要管理最多127个的从节点,所以对于主站的硬件资源要求较高,主节点的设计通常有以下几种方案。
(1)工业电脑+PCI CANopen主站卡,这种方案简单方便,可通过主站卡提供的API函数或OPC服务器轻松完成主站的设计或组态;
(2)嵌入式工控主机(WinCE或linux),这种方案也可以利用供应商提供的CANopen主站函数库或CANopen主站卡来实现CANopen主节点功能;
(3)PLC(CANopen主节点),这种方案对用户来说也是比较简单的方案,只需要用户对PLC进行编程,可以完成CANopen主节点的组态应用,但费用较高。
用户可根据实际情况进行方案选择,用最少的时间和费用完成最稳定的主节点,实现用户的最佳选择。


节点抗干扰设计
ESD脉冲、电源瞬变、总线浪涌等现象是影响网络通信、损坏设备的主要原因。设计CAN-bus电路时,可以选择微型封装的专用ESD保护元件PESDxCAN,以对抗ESD及其他电压突变脉冲。可以安装CAN-bus共模扼流圈BZ82793,以确保设备的电磁兼容性,抑制耦合干扰。同时,外置CAN-bus总线防雷器可以降低雷电、大电流浪涌对野外安装设备的损坏几率。


CANopen在纺织机械中的应用
改革开放30年来,国内针织行业迅猛发展,传统的手摇横机已经无法满足复杂花型编制的要求,也无法提高生产效率。全自动电脑横机是国内毛衫企业发展壮大的必然趋势。它可以大大提高生产效率,保证产品质量。
由于CANopen协议的独特优势,非常适合用作纺织机械的通信协议,可参考CANopen标准协议描述文本DS414。NetEPC-8900集成了CANopen协议主站函数库,能实现管理多达127个节点的CANopen网络,TinyARM模块带有CANopen从节点的函数库,可实现绝大部分工业控制要求。应用CANopen协议构成的CAN-bus网络可使整个系统完全自动工作,无需人工参与,可以大大减少企业人力资源成本,提高生产效率,保证产品质量。其方案如图 3所示。


基于NetEPC-8900的全自动电脑横机采用广州致远电子有限公司生产的NetEPC-8900为控制主机,通过CANopen网络连接CANopen节点(TinyARM T23系列)来实现。工作人员在监控服务器上生成需要生产服饰的花型文件;通过以太网下载到NetEPC-8900上;NetEPC-8900解析花型文件后,通过CANopen节点(TinyARM T23系列)的PWM信号控制摇床电机工作,通过CANopen节点(TinyARM T23系列)的I/O信号控制选针器工作,通过CANopen节点(TinyARM T23系列)的D/A信号控制卷布电机和压针电机工作;通过CANopen节点(TinyARM T23系列)控制纱嘴三角系统动作。NetEPC-8900通过连接LCD显示器指示横机当前的状态信息。工作人员也可以通过监控服务监控生产的衣服产量。
现阶段的中国在工业领域与欧洲、美国等其他先进国家存在较大的差距。CANopen作为先进的通信协议在欧洲等其他的发达国家都已得到了广泛应用,在中国的推广与应用还处于起步阶段,在我国正大力发展工业的时代,CANopen有着重大的发展前景与机遇。
广州致远电子有限公司提供CANopen主站卡、CANopen数据采集模块、CANopent协议网关等产品,并提供CANopen软件支持与网络服务等。

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306116;邮箱:aet@chinaaet.com。
Baidu
map