风电变流器设备CANopen通信的快速实现

基于CANopen协议的XGate-COP10应用

1 .引言
风能,作为一种高效、清洁、可再生的能源,越来越受到世界各国的重视,中国新能源战略把大力发展风力发电设为重点。由于风能的诸多优点以及国家政策的大力支持,近几年,国内风力发电行业得到了快速的发展。风力发电系统中各个设备之间需要通信,CAN总线是国际风电行业中流行而且应用成熟的通信方式,基于CAN总线应用层的CANopen协议对所有设备做出了“设备级”的规范。大部分国外的变流器设备通过CANopen接口与风电系统中的其他设备进行通信,因此,为了替代国外的变流器,实现变流器设备自主化,就要求国内厂商的变流器提供CANopen接口。 本期文章将介绍如何利用XGate-COP10模块设计风电变流器的CANopen从站接口。

2. XGate-COP10简介
XGate-COP10是一款CANopen从站协议转换模块,内部集成了CANopen从站协议栈,遵循CiA 301 V4.02进行设计,其内部集成了网络管理(NMT)、服务数据(SDO)、过程数据(PDO)、错误管理等功能。同时也遵循了CiA 303-3指示灯以及CiA 305层设置(LSS)等相关协议,使模块功能更强大。所有的功能均通过CiA提供的一致性测试软件的测试,保证了与其它CANopen设备良好的兼容性。 XGate-COP10为DIP24封装,拥有较小的占位面积(6cm2),非常容易集成到用户设备中,其外观如图1所示。

图1 XGate-COP10外观

3. 变流器CANopen接口硬件设计
XGate-COP10硬件设计框图如图2所示。

图2 硬件设计框图

变流器控制板的MCU与XGate-COP10通过串口(TTL电平)进行连接;用户可以使用MCU的一个I/O口连接到XGate-COP10的复位引脚(/RST)实现对模块的复位控制。某些情况下还需要把XGate-COP10中断信号输出引脚连接到变频器的中断输入引脚,以便及时地处理RPDO数据。MCU只需要预留1路串口,1路中断输入和1个I/O口即可。对于XGate-COP10来说,由于其内部未集成CAN收发器,推荐使用带隔离的CAN收发器模块CTM8251T。XGate-COP10采用的是标准的CANopen协议,这里使用外接DIP开关来设置设备的节点地址和波特率,以及外接LED指示灯来指示当前模块的CANopen状态。

4. 风电变流器参数资源分配
对于实时数据,XGate-COP10有96字节的输入和96字节的输出存储区供用户使用,这些存储区可以用于变流器的各项实时参数与其它CANopen设备之间的数据交换。 对于非实时数据,XGate-COP10提供了直接访问对象字典的串口命令,用户可以通过该命令对模块的对象字典进行读写,实现变流器对CANopen网络中非实时参数的访问。 这样,CANopen主站设备或其它设备和变流器的之间通信就变得十分方便。

4.1. 资源分配
变流器相关参数在XGate-COP10存储区的分配情况如表1所示,用户只需要把数据写入到XGate-COP10数据输入存储区,XGate-COP10就会按照CANopen协议的定义对数据进解析处理,同样来自CANopen网络中控制信息也会经过解析之后存放于数据输出区,用户只需要从输出区读出即可。

表1 XGate-COP10存储区资源分配

XGate-COP10
输入数据存储区

CANopen索引/子索引数据长度(Byte)变频器参数名称

0x2100/(0x01~0x02)

2

状态字

0x2100/(0x03~0x04)

2

实际值1

0x2100/(0x05~0x06)

2

实际值2

0x2100/(0x07~0x08)

2

实际值3

XGate-COP10
输出数据存储区

CANopen索引/子索引数据长度(Byte)变频器参数名称

0x2000/(0x01~0x02)

2

控制字

0x2000/(0x03~0x04)

2

设定值1

0x2100/(0x05~0x06)

2

设定值2

0x2100/(0x07~0x08)

2

设定值3

4.2. 实时数据传输配置
XGate-COP10中最多支持12个RPDO和12个TPDO数据的传输,并且PDO数据可映射到数据存储区的任意数据区,其数据映射示例如下表2和表3所示。

表2 TPDO1数据映射表

COB-ID(CAN-ID)DLCByte0Byte1Byte2Byte3Byte4Byte5Byte6Byte7

0x180+NodeID

8

状态字

实际值1

实际值2

实际值3

表3 RPDO1数据映射表

COB-ID(CAN-ID)DLCByte0Byte1Byte2Byte3Byte4Byte5Byte6Byte7

0x200+NodeID

8

控制字

设定值1

设定值2

设定值3

5. 变流器控制器MCU对XGate-COP10的操作

XGate-COP10提供了一个串口与变流器控制器MCU进行连接。为了方便用户快速可靠地实现模块与MCU通信,广州致远电子有限公司提供了XGate-COP10串口协议的驱动源码。当XGate-COP10的输出内存区接收到CANopen网络中的实时数据之后就会立即向用户MCU产生一个中断,此时用户可以通过UART发送相关命令字读取数据输出区的内容;用户可将实时更新的传感器数据写入输入缓冲区,XGate-COP10自动发送至主站或者是其它从站设备。用户程序软件操作流程示例如图3所示。


图3 XGate-COP10软件设计流程图

6. 结语

经过以上步骤,我们快速地实现了风电变流器的CANopen接口,并能与其他CANopen设备进行通信。XGate-COP10的出现,使开发者不再为开发CANopen协议栈而苦恼,大大缩短了开发周期。相信在XGate-COP10的帮助下,你能获得更大的成功。 广州致远电子有限公司提供各种接口的CANopen接口卡、CANopen终端设备(包括数据采集,电机控制等)、CANopen分析仪、网关及网桥、OPC服务器以及基于CANopen协议的整套组网方案及应用开发。

To top