型号: PXF2997
摘要 :针对煤矿中多机通讯系统要求远距离、抗干扰性强等特点,介绍了基于 CANopen协议的多机通讯设计方法。基于 TMS320F2812DSP的变频器平台 ,采用一主节点和两从节点组成 CANopen网路的多机通讯方案。通过主节点与任一从节点的 SDO报文和 PDO报文的通信以及从节点一致性的实验表明 ,基于CANopen协议的多机通讯数据传输快速、可靠性高、CANopen协议 ;多机通讯 ; CAN总线通信中图分类号 : TD655文献标识码 :B
Abstract: The multi -computer mommunication system used in coal mine require the characteristic of long -distance and outstanding anti-jamming capability, and so on. the design method about multi -computer communication was persent based on CANopen Protocol. The multi-computer communication plan adopted one master and two slaver make up a network based on the Inverter platform about TMS320F2812DSP. Through the SDO telegram、PDO telegram experiment and the slave experiment of Consistency between the master and any of the slaver , which can verify the multi-computer communication have fast transmission、high reliability and outstanding anti-jamming capability.
Key words: CANopen protocol; CAN_bus communication; Multi-computer communication
煤矿的控制系统需要对分布在不同位置的设备进行远程监控 ,要求系统具备通讯距离远 ,抗干扰性能强等特点。目前的工业现场应用中多采用基于 modbus协议的 485多机通信 ,485短距离多机通信具有通信可靠性高和组网成本低等优点。
在一对多的多机通讯系统中 ,当 485总线有数据传输时 ,从节点需要接收数据 ,产生中断进行地址判断 ,若不是本机地址 ,则退出中断等待下次数据传输。因此 ,当节点数越多 ,节点为判定地址其软件被中断干扰的次数多。而 CAN通讯是通过硬件设置判定总线上标识符和本节点标识符 ,若相同 ,本节点接收总线数据 ,否则不予响应 ,减小软件被中断干扰次数 ,提高可靠性。
与 485通讯相比 ,CAN总线通讯还具备以下优点 :
由于煤矿现场环境恶劣 ,电磁干扰严重 ,要求传输距离远 ,因此 CAN通讯更适合于煤矿中多机系统通讯。但 CAN现场总线仅仅实现了物理层和数据链接层 ,由于 CAN没有规定应用层 ,需要一个高层的协议来对使用的 CAN报文进行描述。 CANopen协议是 CiA定义的标准之一 ,CANopen协议使得 CAN
武强:硕士研究生
总线的功能更强 ,应用范围更广。
本文在基于 TMS320F2812DSP的变频器系统中 ,按照 CANopen协议进行多机通讯系统平台设计 ,通过实验验证主从之间通信的实时性、准确性和从节点的一致性的特点。
为模拟煤矿控制系统的多机通讯 ,硬件设计方案如图 1所示。本实验采用两台基于 TMS320F2812DSP的变频器和型号为 BX3100的倍福 PLC搭建试验平台组成两从节点和一主点的网络。为把 DSP控制器的 CAN信号转换为符合 ISO11898标准的要求需要外接 CAN控制器芯片。
在多机通讯中 ,信号电缆上经常会引起信号反射 ,导致通信不正常 ,产生的主要原因是阻抗不连续和阻抗不匹配。阻抗不连续是指在传输线末端突然遇到电缆阻抗很小甚至没有 ,信号由此引起反射 ;阻抗不匹配主要表现在通信线路处在空闲方式时 ,整个网络数据混乱。在实际应用中 ,为简单方便 ,在传输线两端分别接 120Ω匹配电阻 ,减小在长距离通讯中电缆的信号反射 ,提高信号传输的可靠性。
在软件设计中 ,主站采用倍福 PLC的 SSB口即 CANopen通信口,从站为两基于 DSP的变频器硬件平台。首先要对 CAN控制器进行主从设置 ,然后按照 CANopen协议进行通讯 ,最后给出多机通讯验证方案。
3.1 DSP软件寄存器配置
首先对 DSP的 CAN寄存器进行初始化配置。主从节点工作模式和波特率配置相同 ,区别是接受和发送邮箱的标识符以及屏蔽索引寄存器不同 ,寄存器配置如下 :
(1)将主从节点 eCAN配置为标准 CAN模式 ,设置主控制寄存 CANMC.SCB=1。
(2)主从节点波特率设置为 500kbps,根据 DSP系统时钟是
120MHz,寄存器配置如下 : CANBTC.bit.BRP = 9; CANBTC.bit.TSEG2 = 6; CANBTC.bit.TSEG1 = 15。
3.2多机通讯验证方案设计。
在多机通讯系统中 ,主节点 PLC通过外部开关量改变相应发送数据内容 ,从节点采用中断接收和中断发送报文。为验证基于 CANopen协议的 CAN总线多机通信过程 ,采用主从节点进行 SDO报文和 PDO报文的通信实验。当主节点发送 SDO报文 ,从节点接收 SDO报文处理流程图如图 2。
主节点发送 SDO报文的功能码为 60H;发送数据的内容 Byte [0]根据 CANopen协议定义为读写命令 ,写命令定义为 0x23,读命令定义为 0x40;Byte[1]为索引的低八位 ,Byte[2]为索引的高八位 ;Byte[3]为子索引 ;Byte[4]代表 16位变量的高八位 ,Byte
[5]代表 16位变量的低八位 ;Byte[6]和 Byte[7]代表数据传输的保
留位。 PDO报文选择四种 PDO中的一种 TxPDO3来发送变频器实时运行数据 ,通过标识符 COB_ID判断是不是 PDO报文 ,然后根据从节点的状态决定是否响应处理 PDO报文 ,其处理流程图如图 3。
为验证多机网路中主从节点正确通信和从节点的一致性 ,按照软件设计的验证方案进行如下两个通信实验。
4.1主节点与从节点 SDO报文通信实验。主节点 PLC通过通过 BOX1发送 RxSDO报文 ,BOX1设置如图 4所示 ,其节点 Node Id=1。
PLC通过外部开关输入状态改变 BOX1中的 RxSDO报文内容 ,RxSDO中的 COB_ID=0X601。其发送报文的数据区内容是随外部输入开关量的变化而变化的 ,当开关 1输入时 ,其数据区内容如图 5,变量的 online值分别为 Var1=0x002B,低八位代表 8字节写命令 ,高八位代表索引低八位 ;Var2=0x0312,低八位代表索引的高八位 ,高八位代表子索引 ;
Var3=0x000A,代表写数据的具体内容 ,在此代表变频器输入频率值 ;Var3=0x0000无意义。
实验结果表明 ,当开关 1输入时 ,变频器输出频率为 PLC的设定值 10Hz,当开关 2输入时 ,变频器输出频率为 PLC的设定值 20Hz。
同时从节点 1通过 TxPDO3将实时运行频率值发送给 PLC,其 COB_ID=0X381。当变频器运行频率值为 10Hz时,PLC显示的运行频率如图 6所示 ,变量 Vab1=0x000A代表实时运行频率为 10Hz。
4.2从节点一致性验证实验
增加 BOX2和从节点 2,BOX2节点设置如图 7,其节点 Node Id=2,实验结果表明 ,BOX2与从节点 2的之间的通信也能实现 BOX1和从节点 1之间通信功能。
主节点 PLC通过 BOX设置和显示从节点 1和从节点 2的实时频率值 ,从节点 1和从节点 2没有影响且 PLC软件能实现数据的正确显示 ,这说明两个从节点之间没有相互影响 ,证明从节点具有一致性。
基于 CANopen协议 ,设计模拟多机通讯平台 ,并进行多机通讯实验 ,得出如下结论 :
本文的创新点在 :多机通讯系统中 ,当 485总线有数据传输时,从节点需要接收数据 ,产生中断进行地址判断 ,若不是本机地址,则退出中断等待下次数据传输。因此 ,当节点数越多 ,节点为判定地址软件被中断干扰的次数多。而 CAN通讯是通过硬件设置判定总线上标识符和本节点标识符 ,若相同 ,本节点接收总线数据 ,否则不予响应 ,减小软件被中断干扰次数 ,提高可靠性。