基于CANopen 现场总线的网络设计

2013-09-13 03:30张小刚
机电产品开发与创新 2013年3期
关键词:波特率主站总线

张小刚

(中国煤炭科工集团 太原研究院,山西 太原 030006)

0 引言

现场总线技术使得综合自动化技术飞速发展,现场总线成为控制领域的一个新热点。CAN现场总线可靠性高、抗干扰能力强、造价低廉使之成为一种很有前途的通信技术。 CANopen(Control Area Network Open)协议是基于Can的一种高层协议,支持多种传输模式,具有良好的开放特性,能在很大程度上降低CAN网络数据的负载,目前主要用于汽车系统、工业控制、医疗设备等系统。台达作为工业自动化领域的后起之秀,推出了众多现场总线产品。本文主要介绍利用台达CANopen总线主站模块与倾角传感器进行CANopen 总线通信,实现对传感器的数据读取技巧。

1 系统结构

如图1所示,本系统连接两路MC-LINK-CA 设备,八路VFD-E 设备。主模块用台达的DVPCOPM-SL CANopen 模块作为CANopen 网络的主站使用,站号设置为2,其他设备站号分别为3~12。DVPCOPM-SL 作为主站使用时,有如下功能:符合CANopen 标准协议DS301v4.02;支持 NMT Master服务;支持 Heartbeat/Node Guarding Protocol;支持 PDO、SDO 服务;支持 E-mergency Protocol;具有同步信息产生器;与 PLC 主机自动交换数据。

图1 系统结构图Fig.1 System structure diagram

2 组建CANopen 网络

2.1 修改各设备地址、波特率

(1)修改各设备地址。CANopen 网络中各个设备的地址必须唯一。所以对于刚出厂的设备首先需要修改其地址。为了保证对象索引的正确性,防止修改了其他参数,在修改地址之前先对相应的对象索引读进行读取。主站和设备连接后,用SDO 进行读写。例如修改MCLINK-CA 设备的地址,原地址为1,改为3。

①读地址。发生数据:COB-ID为601h 数据为:40 04 20 00 00 00 00 00;返回数据:COB-ID为581h数据为:4f 04 20 00 01 00 00 00;②写地址。发生数据:COB-ID为601h 数据为:2f 04 20 00 03 00 00 00;返回数据:COB-ID为581h 数据为:60 04 20 00 00 00 00 00。

说明:读取对象2004h 子索引为00h的数据,返回1。写地址时,返回数据以60h 开始的数据说明修改成功。设备不同,地址对象索引可能不同。

(2)修改波特率。要组建一个网络,使得网络中各设备能够进行数据交互。必须使得各个设备的速率一致。同上,在修改波特率之前,先对相应的对象索引进行读取。以MC-LINK-CA 设备为例,修改使得其波特率为125kbps。地址为1。①读波特率。发生数据:COB-ID为601h 数据为:40 05 20 00 00 00 00 00;返回数据:COB-ID为581h 数据为:4b 05 20 00 e8 03 00 00;②写波特率。发生数据:COB-ID为601h 数据为:2b 05 20 00 7d 00 00 00;返回数据:COB-ID为581h 数据为:60 05 20 00 00 00 00 00。

说明:读取对象2005h 子索引为00h的数据,返回波特率数值为1Mkbps。改写波特率125kbps时,返回数据以60h 开始的数据说明修改成功。设备不同,波特率对象索引可能不同。

(3)保存数据。根据设备的不同,有些设备需要保存断电才起作用。有些不需要保存断电即起作用。仍以MC-LINK-CA 设备为例,保存修改SDO 命令如下:

发生数据:COB-ID为601h;数据为:23 10 10 01 73 61 76 65;返回数据:COB-ID为581h;数据为:60 10 10 01 00 00 00 00。

2.2 EDS 文件的修正

(1)将主从站的节点地址、通信速率设置好、通讯接线连接完成后,打开CANopenBuilder 软件,点击 “工具->eds 操作->按装eds 文件”选择设备对应的eds 文件。点击 “网络->在线”,则会搜索出主站DVPCOPM Master与一个Unknown 未知设备,此时,选中此未知设备,右键->属性,记录下节点信息中的以下几个信息内容,厂商代码、设备类型、产品代码、版本,若有灰色的不用记,这里设备类型为灰色,只需要记下,厂商代码、产品代码、版本。

(2)使用记事本打开从站设备提供的EDS 文件,并将以上三项信息的内容在EDS 文件中的对应项修改为记录下的数据并保存为后缀为eds的文件,这三项对应的对象为1018h,子索引为01h,02h,03h。

(3)使用CANopenBuilder 软件重新导入EDS 文件后,再次点击 “Online”自动搜索后,组态软件则可以正确识别从站设备。

2.3 配置从站设备的PDO 数据

双击从站设备3,出现 “节点配置”界面,选中要配置的PDO 类型,点击 “PDO 映射”对PDO 数据进行分配。

配置RxPD01(主站发送,从站接收):COB_ID=203h(站号为3),PDO 通信参数索引为1400h,PDO 映射参数索引为1600h。映射对象为2003h,子索引为1~8,都由8位组成。

配置 TxPD01(从站发送,主站接收):COB_ID=183h(站号为3),PDO 通信参数索引为1800h,PDO 映射参数索引为 1a00h。映射对象为 2001h,子索引为 1~8,都由 8位组成。

配置TxPD02(从站发送,主站接收):COB_ID=283h(站号为3),PDO 通信参数索引为1801h,PDO 映射参数索引为 1a01h。映射对象为2001h,子索引为 9~10h,都由8位组成。

配置TxPD03(从站发送,主站接收):COB_ID=383h(站号为3),PDO 通信参数索引为1802h,PDO 映射参数索引为 1a02h。映射对象为2001h,子索引为 11~18h,都由8位组成。

配置TxPD04(从站发送,主站接收):COB_ID=483h(站号为3),PDO 通信参数索引为1803h,PDO 映射参数索引为1a03h。映射对象为2001h,子索引为19~20h,都由8位组成。

按照此方法对从站设备4~12 进行 “PDO 映射”, 对PDO 数据进行分配。

2.4 配置节点列表

(1)双击“DVPCOPM Master 图标” 弹出 “节点列表配置”对话框。

(2)本例中先选中从站地址为 3的 从站模块,点击按钮 “>”,将从站 3 加入节点列表。此时选中节点列表中的从站 3,则可以在下方的输入输出映射表中看到从站3的IO 数据对应到PLC 主机内的D 寄存器地址。

(3)用同样的方法将从站 4~12 也加入节点列表,可以在下方的输入输出映射表中查看其IO 数据对应到PLC主机内的D 寄存器地址。点击”确定”完成节点列表配置。

2.5 下载配置到DVPCOPM-SL 主站模块

选择菜单 “网络”->“下载”,将配置数据下载到DVPCOPM-SL 主站模块。此时如果PLC 处于运行状态,则会提示要先停止运行才可以下载。点击 “是”停止PLC 运行并开始下载数据到主站模块。下载完成后,会提示是否重新运行 PLC,点击 “是”可以继续运行PLC程序,点击 “否”则不运行PLC 程序。

3 网络状态监测

3.1 实现原理

(1)CANopen 网络中从站状态。通过发送SDO 读取索引5002h 子索引01h的值,可以读取 CANopen 网络中所有从站的状态。索引5002h 子索引01h 和网络节点的对应关系表(略)。当主站模块节点列表中的节点正常时,相应的位为OFF状态;主站模块节点列表中的节点发生异常时,相应的位为ON状态。

(2)CANopen网络中主站状态。通过发送 SDO读取索引5003h子索引01h的值,可以读取 CANopen网络中主站的状态。当主站模块正常工作时,索引5003h子索引01h的内容值为 0;当主站模块发生错误时,索引5003h子索引01h的内容值为相应的错误代码。

(3)CANopen网络状态。使用者通过发送 SDO读取索引5004h子索引01的值,可以读取CANopen网络的网络状态信息。当CANopen网络的所有节点均正常工作时,5004h子索引01的内容值为 0;当 CANopen网络中任何一个节点发生异常/初始化失败时,5004h子索引01的内容值为 1。

3.2 PLC程序实现

首先对SDO请求信息映射区和SDO响应信息映射区清零。 当M0=ON时,CANopen主站发送SDO请求信息,读取目标设备(主站节点地址为02)索引为5002h、子索引为01h的内容,如果通信成功,从站返回响应信息。返回的从站状态(站号3~12)存放在D202中。每发送一笔 SDO请求信息,必须为这笔信息分配一个请求ID。请求ID的取值范围为 00h~FFh,CANopen主站通

过 “请求 ID号”识别每一笔请求信息,当完成一次通讯,欲进行下一次通讯时,必须改变此 ID号。因此若要同时读取CANopen网络中主站状态,CANopen网络状态,则需要用一个计数器C和定时器T,每隔一定时间T,计数器加1,当C=0时读从站状态;当C=1时读主站状态;当C=2时读网络状态;当C=3时复位。D6250 请 求 ID 分 别 为 01h,02h,03h;D6253 分 别 为H5002,H5003,H5004。

4 结束语

本文通过组建CANopen现场总线网络,说明了组建CANopen网络的正确方法,解决了组建网络时遇到的一些问题。采用CANopen现场总线控制技术,便于安装和调试,极大提高了控制系统的可靠性和实时性。现场总线的显著优点决定着其广泛应用将成为未来控制领域的发展趋势。

[1]叶爱兵,郑华耀,陈巨涛.基于CANopen的协议分析系统设计与实现[D].扬州大学学报,2009,3.

[2]吴爱国,刘莉.CAN总线控制系统的应用层协议CANopen剖析[J].微计算机信息,2003,3.

[3]王俊波,胥布工.CANopen协议分析与实现[J].微计算机信息(嵌入式与 SOC),2006,6~2.

猜你喜欢
波特率主站总线
CAN 总线波特率自适应程序设计
基于PCI Express总线的xHC与FPGA的直接通信
机载飞控1553B总线转以太网总线设计
基于OS2主站系统的海量数据共享技术研究
多表远程集抄主站系统
多通道ARINC429总线检查仪
基于改进经济压差算法的主站AVC的研究
关口电能计量故障监测报警装置及主站研究
基于EtherCAT总线的ROV控制系统设计
C*Core芯片SCI串口波特率容限优化