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 通信接口。
● 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。
● CANopen节点设计 对于一个现有的 CANopen 网络,由于功能上的需求,需要把不具有 CANopen 协议的串行设备(如RS232/RS485等设备)添加到 CANopen 网络,这种情况下就需要用到网关设备(不同协议的转换设备)。
● 主节点设计 在 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 总线防雷器可以降低雷电、大电流浪涌对野外安装设备的损坏率。
点击这里下载 hwOPC_Server 软件
|