WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
1 引言WWW_PLCJS_COM-PLC-技.术_网
W1WW_P4LCJS_COM-PLC-技.术_网
can-bus(controller area network)即控制器局域网,是国际上应用最广泛的现场总线之一。作为一种技术先进、可靠性高、功能完善、成本合理的远程网络通讯控制方式,can-bus已被广泛应用到各个自动化控制系统中。can通信协议是在充分考虑了工业现场环境的背景下制定的,它采用了国际标准化组织的开放系统互连(iso-osi)模型中七层中的两层,即物理层和数据链路层,是osi的一种简化网络结构。但是在实际应用中,即使实现一个最简单的基于can的分布式网络控制系统,除第二层协议提供的服务外,还需要完成一些附加的功能。WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
WWW_PLCJS_COM-PLC-技.术_网
针对can总线的上述特点,一些生产商和国际性组织相继制定了一些can总线应用层协议,其中发展比较成熟,影响力较大的有:can kingdom, cal,canopen, sds, devicenet等[1]。其中devicenet是由allen-bradley公司开发的基于can总线的开放式网络协议。devicenet技术为工业控制系统提供了一套高可靠性,低成本的解决方案。本文主要探讨的即是采用devicenet协议实现的can总线接口。WWW_PLCJS@_COM%-PLC-技.术_网
WWW_P※LCJS_CO※M-PLC-技-.术_网
P.L.C.技.术.网——可编程控制器技术门户
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
2 伺服系统现场总线硬件接口设计WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
WWcW_PLCJS_COM-PLC-技.术_网
本文研究的数字式交流伺服系统设计方案采用dsp admc401+fpga+网络接口的硬件结构,充分利用了dsp的高速运算能力和片内外设资源,对系统的控制任务进行了细致的划分,既保证了伺服控制的实时性,又有利于扩展其它现场总线通讯接口。其接口电路如图1所示,采用at89c51ed2作为节点的微处理器,在can总线通信接口中,can通信控制器采用sja1000,can总线驱动器采用82c250c。WWW.PLCJS.COM——可编程控制器技术门户
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
——可——编——程——控-制-器-技——术——门——户
WWW_PLC※JS_COM-PmLC-技.术_网
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
WW.W_PLC※JS_C,OM-PL,C-技.术_网
WWW_P※LCJS_COM-PLC-)技.术_网
图1 devicenet接口电路原理图WWW_PLC※JS_COM-PmLC-技.术_网
WWcW_PLCJS_COM-PLC-技.术_网
从图1中可以看出,电路主要由4部分构成:微控制器89c51、独立can通信控制器sja1000、can总线收发器82c250和高速光电耦合器6n137。微处理器89c51负责sja1000的初始化,通过控制sja1000实现数据的接收和发送等通信任务。WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
sja1000的ad0~ad7连接到89c51ed2的p0口,由89c51ed2的p2口构成,当为0时,cpu片外存储器地址可选中sja1000,cpu通过对这些地址可对sja1000执行相应的读/写操作。sja1000的rd、wr、ale、rst、int分别与89c51ed2的对应引脚相连,89c51ed2也可以通过中断方式访问sja1000。WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
WWW_PLCJS@_COM%-PLC-技.术_网
为了增强can总线节点的抗干扰能力,sja1000的tx0和rxo并不是直接与82c250的txd和rxd相连,而是通过高速光耦6n137后与82c250相连,这样就很好的实现了总线上各can节点间的电气隔离,从而保护了系统电路以及总线的信号传输。必须说明的是,光耦部分电路所采用的两个电源vcc和vdd必须完全隔离,否则采用光耦也就失去了意义。电源的完全隔离可采用小功率电源隔离模块或带多5v隔离输出的开关电源模块来实现。这部分虽然增加了接口电路的复杂性,但是却提高了节点的稳定性和安全性。从整体性能来说,系统设计具有很好的通用性和实用性。WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
82c250与can总线的接口部分也采用了一定的安全和抗干扰措施。82c250的can_h和can_l引脚各自通过一个5欧姆的电阻与can总线相连,电阻可起到一定的限流作用,保护82c250免受过流的冲击。canh和canl与地之间并联两个30pf的小电容,可以起到滤除总线上的高频干扰和一定的防电磁辐射的能力。WW.W_PLCJS_COM-PLC-技.术_网
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
系统中微控制器at89c51ed2用来实现通讯的应用层协议。它设计在×2模式下工作。单片机通过访问sja1000的寄存器来实现和上位机的通信。can控制器sja1000的接收寄存器和发送寄存器用于暂时存放接收和发送的数据。单片机发送数据则通过设置sja1000的命令寄存器发送命令位,接收数据是通过中断方式实现,sja1000的int引脚与at89c51ed2的int1引脚相连,使单片机能够实时响应can的中断请求。采样周期2ms由at89c51ed2的定时器中断产生。——可——编——程——控-制-器-技——术——门——户
WW.W_PLCJS_COM-PLC-技.术_网
WWW.PLCJS.COM——可编程控制器技术门户
WWW_PL※CJS_COM-PLC-技.术_网
3 伺服系统现场总线接口软件设计W1WW_P4LCJS_COM-PLC-技.术_网
WWW_PLCJS_COM-PLC-技.术_网
3.1 devicenet连接的建立WWW.PLCJS.COM——可编程控制器技术门户
WWW.PLCJS.COM——可编程控制器技术门户
devicenet协议实现的是一个基于连接的网络系统。只有当对象之间已建立连接后,才能通过网络进行报文传送。devicenet协议规定了两种类型连接:i/o连接和显示连接。 WWW_PL※CJS_COM-PLC-技.术_网
WWW_P※LCJS_COM-PLC-)技.术_网
devicenet节点在开机后能够立即寻址的唯一端口是“非连接信息管理器端口”(ucmm端口)和预定义主/从连接组的“group2非连接显式请求端口”。本设计采用的是仅限组2的通讯方式。预定义主/从连接组用于简单而快速地建立一个连接。当使用预定义的主/从连接组时,客户机(主站)和服务器(从站)之间只允许存在一个显式连接。连接建立过程如下:主机(pc或plc)通过组2的保留信息通道,即非连接显式报文请求(group2 message 6),发送“分配预定义主/从连接组”请求报文,从机接收到该信息之后,根据自身支持的连接方式和当前所处的状态发送给主机适当的响应。如果从机没有被其他主机“占有”,且主机的报文正确,则通过组2非连接显式报文响应通道(group 2 message 3)发送“分配成功”的信息给主机。通讯连接建立好以后,从机在接收到主机发送来的请求帧后,根据数据帧中的连接标识符判断是显式报文请求或是i/o报文请求。W1WW_P4LCJS_COM-PLC-技.术_网
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
3.2 报文处理WWW_PLC※JS_COM-PmLC-技.术_网
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
显式信息报文用于devicenet协议网络中两个设备之间的一般性数据交换。显式报文通常使用低优先级的报文标识符。显式报文为点对点传送,采用典型的请求/响应通讯模式,通常用于设备配置、故障诊断。显式报文请求指明了对象、实例和属性,以及所要调用的特定分类服务,并由报文路由对象传递到相应的对象。 plcjs.技.术_网
WWcW_PLCJS_COM-PLC-技.术_网
主机如果发送显式报文请求(group 2 message 4),则从机的显式报文连接对象将请求数据包发送给报文路由对象,报文路由对象根据数据包中包含的信息将此数据包传递给相应的处理对象,处理对象解析该请求数据包的剩余信息并结合自身当前的状态完成相应的操作,然后将响应数据交给报文路由对象,报文路由对象再将其传递给显式报文连接对象,显式报文连接对象将此信息打包,通过显式报文响应通道(group 2 message 3)将响应数据包发送给主机,完成一次显式报文信息交换。WWW_PLC※JS_COM-PmLC-技.术_网
——可——编——程——控-制-器-技——术——门——户
对于小于等于8个字节的数据,可以采用非分段式显式报文请求/响应格式如下表1和表2所示。 WWW_PLCJS_COM-PLC-技.术_网
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
P.L.C.技.术.网——可编程控制器技术门户
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
WWW_P※LCJS_COM-PLC-)技.术_网
WWW_PLCJS_COM-PLC-技.术_网
WW.W_PLC※JS_C,OM-PL,C-技.术_网
WWW_PLCJS@_COM%-PLC-技.术_网
WWW_PLCJS@_COM%-PLC-技.术_网
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
i/o信息报文用于在devicenet协议网络中传输应用和过程数据。i/o报文通常使用高优先级的报文标识符。i/o报文传送通过i/o信息连接对象来实现。WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
P.L.C.技.术.网——可编程控制器技术门户
i/o信息报文格式的最重要的特性是完全利用了can数据场来传输过程数据。连接的端点通过can报文标识符来识别过程数据的重要性。i/o报文的处理过程类似显示报文的处理。WWW_P※LCJS_CO※M-PLC-技-.术_网
WW.W_PLC※JS_C,OM-PL,C-技.术_网
devicenet协议对i/o报文的8个字节的数据只当作单纯的数据,并没有对这部分信息进行定义,不过针对不同的设备给出了不同的参考模式,系统可根据自己的实际情况和设备需求自定义这部分信息的含义。针对伺服系统应用实际,设计了两种i/o报文:运动命令和控制参数读写命令WWW_P※LCJS_COM-PLC-)技.术_网