一种基于EtherCAT的力传感器数据采集系统与方法

文档序号:9828036阅读:1378来源:国知局
一种基于EtherCAT的力传感器数据采集系统与方法
【技术领域】
[0001 ]本发明涉及基于EtherCAT的力传感器数据采集系统与方法。
【背景技术】
[0002]以太网是当今现有局域网采用的最通用的通信协议标准。目前,商用以太网已经取得了广泛的应用,并且开始应用于工业控制领域当中,形成了工业以太网。实时工业以太网可以满足工业现场对数据传输安全性、可靠性、实时性的要求,并且工业以太网的数据传输速率完全满足数据采集的需要。“工业4.0”概念包含了由集中式控制向分散式增强型控制的基本模式转变,网络化的数据采集系统成为数据采集技术的发展趋势。
[0003]EtherCAT吸收采纳了 Interbus “集总帧”的技术思想,使通讯报文的有效利用率达到90%以上。完全符合以太网标准,EtherCAT可以与其他以太网设备及协议并存于同一总线,以太网交换机等标准结构构件也可以用于EtherCAT。无需从属子网,复杂的节点或只有两位的I/O节点都可以作为EtherCAT从站。高效率,最大化利用以太网带宽进行数据传输。刷新周期短,可以达到小于10us的数据刷新周期,可以用于伺服技术中底层的闭环控制。同步性能好,各从站结点设备可以达到小于Ius的时钟同步精度。EtherCAT凭借其低成本、灵活的拓扑结构,高可靠性,高实时性等显著的性能优势得到了国内外相关领域的广泛关注,成为工业以太网发展的一个方向。
[0004]目前,大多数采集系统主要采用RS485方式和CAN总线等方式进行数据传输。RS485没有统一的规范和通信协议,通信方式存在一定的不足。而CAN总线做为一种面向工业底层控制的通信网络,也有一定的局限性,它不能和Internet相连,所以不能实现远程信息的共享。

【发明内容】

[0005]本发明是要针对现有方法存在的问题:RS485没有统一的规范和通信协议,通信方式存在一定的不足;而CAN总线做为一种面向工业底层控制的通信网络,也有一定的局限性,它不能和Internet相连,也不易与上位控制机直接接口,且现有的CAN接口卡与以太网网卡相比大都价格昂贵,因而提供了一种基于EtherCAT的力传感器数据采集系统与方法。
[0006]—种基于EtherCAT的力传感器数据采集系统,包括:
[0007]支持EtherCAT协议的PC主站和多个从站;
[0008]其中,所述每个从站均与多个传感器设备连接;
[0009]所述各个从站通过MII接口进行串联,串联后的整体通过EtherCAT总线与PC主站连接;
[0010]所述PC主站上安装有支持EtherCAT协议的以太网卡,PC主站通过以太网卡与其中一个从站相连。
[0011]—种基于EtherCAT的力传感器数据采集方法,它按以下步骤实现:
[0012]从站程序用C语言编写,在Keil环境下编译生成.hex文件,使用烧录软件将.hex文件写入单片机中,单片机中运行网络接口程序与数据采集程序;
[0013]一、所述网络接口程序主要完成初始化处理和状态机处理;
[0014](I)所述初始化处理主要包括微处理器硬件初始化HW_init()、通信变量和ESC寄存器初始化ECAT_init();
[0015]所述微处理器硬件初始化Hffjnit O主要包括STM32时钟配置初始化、1管脚配置初始化、SPI配置初始化、ADC配置初始化和DMA配置初始化,通信变量和ESC寄存器初始化ECAT_init ()主要包括邮箱初始化、状态机初始化和CoE初始化;
[0016](2)初始化完成后判断程序是否运行自由运行模式:
[0017]如果是,则进入Free_rUn()函数处理周期性数据,程序查询非周期性事件,然后重新进入主循环;其中,所述处理周期性数据是数据采集程序中获取到的传感器数据,非周期性事件主要为状态改变事件和邮箱通信事件;
[0018]如果否,则程序查询非周期性事件,然后重新进入主循环;其中,所述程序包括网络接口程序与数据采集程序;
[0019]二、数据采集程序主要包括ADC模块和DMA模块:
[0020](I)系统上电完成初始化后,数据采集程序开始运行:
[0021 ]首先,ADC模块初始化确定采集通道数,采样频率和采样模式,并使能ADC模块的DMA通道;
[0022]然后DMA模块初始化为ADC模块分配一个DMA通道,并为采集到的数据分配内存空间;
[0023](2)初始化完成后,先后使能ADC模块和DMA模块,单片机开始数据采集:
[0024]单片机先选通第一通道,将采集到的程序存在ADC模块的数据寄存器,然后DMA模块将数据搬运至指定的内存空间;
[0025]然后单片机选通下一通道继续进行如上所述的采集;
[0026]当所有通道都采集完成后,单片机从第一通道重新开始新一轮的循环。
[0027]发明效果:
[0028]本发明的目的在于针对现有技术的不足,提供一种基于EtherCAT的力传感器数据采集系统。一种基于EtherCAT的力传感器数据采集系统通过EtherCAT接口进行通信,应用层采用C0E(CANopen over EtherCAT)协议,CoE协议完全遵从CANopen的应用层行规,能够方便的进行网络管理。而且EtherCAT总线使用标准的以太网元件,传输速度快,性价比更尚O
【附图说明】
[0029]图1为本发明的基于EtherCAT的数据采集系统的拓扑结构示意图;
[0030]图2为EtherCAT的运行原理图;
[0031 ]图3为本发明的单个从站的具体实施结构示意图;
[0032]图4从站程序总体流程图;
[0033]图5数据采集程序流程图。
【具体实施方式】
[0034]【具体实施方式】一:结合图1?图5说明本实施方式,本实施方式的一种基于EtherCAT的力传感器数据采集系统,包括:
[0035]支持EtherCAT协议的PC主站和多个从站;
[0036]其中,所述每个从站均与多个传感器设备连接;
[0037]所述各个从站通过MII接口进行串联,串联后的整体通过EtherCAT总线与PC主站连接;
[0038]所述PC主站上安装有支持EtherCAT协议的以太网卡,PC主站通过以太网卡与其中一个从站相连。
[0039]本实施方式效果:
[0040]本实施方式的目的在于针对现有技术的不足,提供一种基于EtherCAT的力传感器数据采集系统。一种基于EtherCAT的力传感器数据采集系统通过EtherCAT接口进行通信,应用层采用COE(CANopen over EtherCAT)协议,CoE协议完全遵从CANopen的应用层行规,能够方便的进行网络管理。而且EtherCAT总线使用标准的以太网元件,传输速度快,性价比更尚O
[0041 ] 所述从站使用STM32单片机操作ET1100,实现EtherCAT基本通信。单片机向下接入信号调理电路,即放大电路和滤波电路,接收来自传感器设备的信号。
[0042]ETl 100是一种EtherCAT从站控制器ESC专用芯片。ETl 100可提供4个物理层接口,支持MII接口和EBUS接口两种类型,接口数目和类型的选择可以通过ETllOO的外围配置引脚P_M0DE[1:0]和P_C0NF[3:0],用上拉电阻或下拉电阻的方式进行配置,无需软件编程,简单实用。本实施方式使用两个端口,将P_M0DE[0]与P_M0DE[1]均用下拉电阻拉低。本实施方式将两个端口都配置为MII模式,将P_C0NF[0RPP_C0NF[1]均用上拉电阻置高。使用两个MII接口方便对从站进行拓展,构成线性拓扑结构,如图1所示。
[0043]当EtherCAT帧经过一个从站时,从站直接处理接收的报文,将采集到的传感器信息插入到报文中去,然后将该报文文件传输到下一个EtherCAT从站。最后一个EtherCAT从站发回经过完全处理的报文,并由第一个从站作为响应报文将其发给PC主站。PC主站接收从站的数据,根据传感器的数据对现场设备发出指令,如图2所示。
[0044]EtherCAT从站物理层使用标准的以太网物理层PHY器件。数据链路层使用专门的EtherCAT从站控制器ESC(EtherCAT Slave ControlIer)ET1100实现数据链路层协议。ETllOO使用MII接口与以太网PHY芯片连接。在PHY芯片和RJ45接口之间连接一个以太网隔离变压器,可用于信号电平耦合和隔离外部干扰,实现阻抗匹配,这样可增加传输距离。同时使芯片与外部隔离,增强抗干扰能力。
[0045]ETl 100使用SPI接口与STM32微处理器进行通信^/D转换模块使用STM32内置的12位ADC模块,并使用DMA方式。在从站内采用DMA控制模式完成现场数据采集,使得CPU无需等待数据采集转换、完成,直接从DMA控制器的双口 RAM读取需要的数据,最大限度地实现了大批量数据的实时传送和处理。ADC模块将采样的数据传入DMA通道,DMA控制器将ADC模块的数据传到STM32内部存储器中,通过SPI总线写入ET1100的用户数据区。
[0046]信号调理模块包括传感器本身和滤波电路与放大电路。在测试过程中,由于传感器设备本体或外界环境的影响,不可避免的会在真实信号中掺入噪声信号,这样对信号采样和数据处理产生不良影响,所以必须滤除。传感器设备信号通常都比较弱,为了把信号转化成可以处理的信号,必须要对其进行放大处理。信号经调理后,连入芯片的ADC接口,由微处理器进行A/D转换,将采集到的传感器模拟信号采转换为为数字信号。为了适应不同信号输出的力传感器,将放大电路的放大倍数设计为可调的,增加了该系统的灵活性。
[0047]从站程序用C语言编写,在Keil环境下编译生成.hex文件,使用烧录软件将.hex文件写入单片机中。
[0048]EtherCAT过程数据通讯的总体流程图如图4所示。初始化程序主要包括微处理器硬件初始化)、通信变量和ESC寄存器初始化ECAT_init()。微处理器硬件初始化主要包括STM32时钟配置初始化,1管脚配置初始化,SP1、ADC、DMA配置初始化。初始化完成后程序进入主循环。在进入主循环时,系统首先判断程序是否运行在自由运行模式。如果程序运行在自由运行模式,则进入Free_rUn()函数处理周期性数据。这里要处理的周期性数据即是数据采集程序中获取到的传感器数据。ESC内部的过程数据存储区可以用于EtherCAT主站和从站应用程序数据的交换。ESC使用存储同步管理通道SM(SyncManager)管理过程数据存储区。存储同步管理通道SM通过ESC寄存器中的SM配置寄存器配置。将SMO和SMl配置为邮箱类型用来存储非周期性数据,将SM2和SM3配置为缓存区类型,SM2用来存储输出数据,SM3用来存储输入数据。如果检测到发生SM2事件即有输出数据写入到通道
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1