打印
[应用相关]

STM32做CANOPEN主站与从站的开发

[复制链接]
6464|62
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
    运动控制技术的发展经历了近一个世纪的历史,现场总线运动控制系统是当前运动
控制系统应用的主流,基于现场总线的网络化运动控制系统布线简单,系统柔性高,易
于扩展与复用,便于维护与诊断,是运动控制系统的发展方向。
    CANopen是开放的总线技术,广泛应用于自动化生产各个领域,目前国内CANopen
通讯与设备的开发相对滞后,不利于基于CANopen高性能运动控制系统的自主研发与推
广。本文在对CANopen协议研究的基础上,总结了CANopen规范应用于运动控制网络的
优势,提出并实现了基于CANopen协议的运动控制主从站。
    本文首先总结了运动控制系统发展的历程,分析了现场总线运动控制系统的规范以
及应用现状;接着分析了CANopen协议通讯规范及其应用于运动控制的设备规范,着重
分析了CANopen同步机制,并将CANopen同步机制与运动控制相结合,提出了基于STM32
微控制器嵌入式运动控制主从站,并详细描述了嵌入式运动控制主从站硬件与软件的具
体架构。


使用特权

评论回复
沙发
wangjiahao88|  楼主 | 2019-8-20 14:47 | 只看该作者
    基于总线通讯的网络化运动控制系统的提出满足了这种需求,所谓网络化运动控制
系统是指构建于控制器与多轴电机伺服驱动器之间,能够实时同步地传输运动控制指令
和接收系统运动状态的网络系统[}2},它的特点是通过串行通讯的现场总线形成一个或多
个闭环运动控制系统,串行总线网络用于在分布的系统之间交换信息与控制信号[3]
    在网络化运动控制系统中,运动控制器与数字智能驱动器之间通过串行网络来交换
控制信息及传感器信号,将控制网络集成到运动控制系统中,取代传统的点对点连线控
制。因此有很大的优势:布线成本低、便于安装、节省维护开销、传输带宽增加、有很
高的可靠性[[4],并有利于网络与设备的标准化。在应用中提高了系统的柔性,也便于实
现系统的诊断与维护。

使用特权

评论回复
板凳
wangjiahao88|  楼主 | 2019-8-20 15:27 | 只看该作者

使用特权

评论回复
地板
wangjiahao88|  楼主 | 2019-8-20 15:28 | 只看该作者

使用特权

评论回复
5
wangjiahao88|  楼主 | 2019-8-20 15:28 | 只看该作者
几种硬件方案的比较

使用特权

评论回复
6
wangjiahao88|  楼主 | 2019-8-20 15:30 | 只看该作者
    工控机+CANopen PCI主站卡,这种方案实现起来简单方便,可以通过主站卡提供
应用接口函数,在图形化操作界面上通过组态的方式完成主站的通讯配置及运动参数设
置,图3-1就是基于这种配置。

使用特权

评论回复
7
wangjiahao88|  楼主 | 2019-8-20 15:31 | 只看该作者
这种配置操作界面比较简单,但这种操作方式通常是设备生产商为简化自身产品应用而开发,因此软件的应用针对这些设备,其编程功能与特定的设备绑定。尽管CANopen的DS402是得到广泛支持的运动控制协议,配置软件也要求支持标准的EDS设备文件加载规范,但还没有大规模成熟应用起来,因此这种硬件结构在设备组成复杂的网络中就不一定能对所有设备进行配置,也不利于用户自己设置一些底层参数及应用扩展。图3-2采用了这种主站卡+配置工具的方式实现通讯,配置工具只支持赫优信自身的网卡主站与设备,不支持其它设备。

使用特权

评论回复
8
wangjiahao88|  楼主 | 2019-8-20 15:39 | 只看该作者

使用特权

评论回复
9
wangjiahao88|  楼主 | 2019-8-20 15:39 | 只看该作者
也可以通过在PC上开发VC界面来替代配置软件,通过CANPCI卡将主站连接到CAN网络中。这种基于代码的底层开发方式柔性比较好,可以根据应用随时修改代码,适合于自主运动控制系统的自主开发。但是对开发者的编程能力,对CANopen通讯及运动控制规范、对网络设备底层参数与通讯过程的理解有很高的要求,同时要求设计者在运动控制方面有很深造诣。

使用特权

评论回复
10
wangjiahao88|  楼主 | 2019-8-20 15:40 | 只看该作者
运动控制PLC方案
支持CANopen协议的PLC作为主站节点,完成运动控制功能,这种硬件结构需要工控机作为系统操作站,实现人机界面操作、数据图形显示与配置、报警等功能,图3-3剪板机多轴同步控制系统采用了运动控制PLC

使用特权

评论回复
11
wangjiahao88|  楼主 | 2019-8-20 15:40 | 只看该作者

使用特权

评论回复
12
wangjiahao88|  楼主 | 2019-8-20 15:41 | 只看该作者
这种方案比上述方案更为简单,只需进行简单的PLC编程就可以完成CANopen节点的组态应用。用高端PLC的另外一个优点在于,对开发运动控制系统而言,很多基本的运动控制功能都模块化了,用户将控制要求细化为具体的模块,定义与连接控制模块的输入输出接口就实现了编程。图3-4采用了这种模块化的编程方式。

使用特权

评论回复
13
wangjiahao88|  楼主 | 2019-8-20 15:41 | 只看该作者

使用特权

评论回复
14
wangjiahao88|  楼主 | 2019-8-20 15:42 | 只看该作者
这种近似“黑盒子”方案的优点是在于PLC运动控制的开放性,开发过程简单,PLC运行稳定性好,并且可以将自身开发的代码封装为PLC模块并实现模块的复用,体现了“PLCopen”的思想。这种方案的缺点在于成本较高,不仅在与PLC硬件与编程工控机的成本,它应用了PLC厂商提供的PLC运动控制模块,使用高级PLC运动控制模块需要付费,而且这些封装好的模块是针对特定应用并且是不透明的,例如,Beckhoff软PLC的数控系统模块及风电控制模块,这类模块不适合于实现底层的算法,也不适合使用于运动控制功能简单,对运动控制系统成本要求较高的系统。

使用特权

评论回复
15
wangjiahao88|  楼主 | 2019-8-20 15:42 | 只看该作者
嵌入式运动控制主从站
在较复杂的应用或者较大的主站系统中,嵌入式运动控制系统可以自带WINCE或LINUX操作系统,软件开发流程简化成标准的任务代码。在简单的主从站应用中也可以不使用到操作系统以简化代码设计,以节省硬件代码与存储器空间。嵌入式运动控制器方案可以利用开源的CANopen代码或者CANopen主站卡来实现主站节点功能。嵌入式主站控制器体积比较小,用途单一,采用了更可靠的总线连接方式,更加适合于工业应用[[41]。嵌入式主站控制器开发的特点在于它与具体控制要求相结合,开发者可以根据自身需要选择系统软硬件平台,并且根据应用需求对CANopen协议进行裁剪,即采用CANopen简单的通讯规范与设备规范。嵌入式控制器软硬件底层开发方式相对独立、自主,这种开发具有高度的独创性,体现了CANopen协议开放和易于开发的优点,简单的CANopen嵌入式运动控制器适用于对运动控制性能要求不是很高、大批量的小型设备运动控制系统中,高性能的嵌入式运动控制器可以用在对运动控制速度与精度要求较高的大型多轴设备中。由于嵌入式运动控制器在开发简单运动控制主从站方面的优势,针对项目应用的要求,我们根据CANopen协议简单的功能,利用STM32微处理器为核心开发简单的嵌入式运动控制器,图3-_5是CANopen嵌入式运动控制器主从站硬件。

使用特权

评论回复
16
wangjiahao88|  楼主 | 2019-8-20 15:43 | 只看该作者

使用特权

评论回复
17
wangjiahao88|  楼主 | 2019-8-20 15:44 | 只看该作者
CANopen设备主从站的区别在于应用层的功能,应用层功能与物理层与数据链路层无关,只与软件部分相关。因此在实现简单的主站与从站功能时,运动控制器可以使用相同硬件结构,所以图3-5可以同时做为本文CANopen运动控制主站与从站的硬件架构。

使用特权

评论回复
18
wangjiahao88|  楼主 | 2019-8-20 15:45 | 只看该作者

使用特权

评论回复
19
wangjiahao88|  楼主 | 2019-8-20 15:45 | 只看该作者
    CAN寄存器主要包括:主控制寄存器,用于管理CAN通讯状态,设置通讯模式;主
状态寄存器,用于获取总线当前的通讯状态;发送状态寄存器,用以保存CAN当前的发
送状态;接收与发送相关寄存器,用于保存接收和发送报文数据等信息;配置中断寄存
器用于实现定时中断或者通讯事件中断;控制器根据主控制寄存器配置,通过向发送数
据寄存器写入报文工D与报文数据来发送报文;访问接收报文寄存器可以获得报文的标
识符与数据信息;控制器芯片CAN报文的选择性接收通过配置报文滤波寄存器来实现。

使用特权

评论回复
20
wangjiahao88|  楼主 | 2019-8-20 15:45 | 只看该作者
    微控制器CAN通讯使用到看门狗定时中断,睡眠中断,错误中断,发送中断,接收
报文中断等,这些中断用以实时实现CAN通讯过程及报文的处理,STM32开发环境设置
了每个中断向量的地址,使用中断资源时只需在开发环境给定的中断函数下面编写中断
操作执行的代码。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

473

主题

7517

帖子

30

粉丝