基于stm32canopen运动控制主从站开发_第1页
基于stm32canopen运动控制主从站开发_第2页
基于stm32canopen运动控制主从站开发_第3页
基于stm32canopen运动控制主从站开发_第4页
基于stm32canopen运动控制主从站开发_第5页
免费预览已结束,剩余64页可下载查看

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

华技大学华技大学于扩展与复用,便于与,是运动控制系统的发展方向。优势,提出并实现了基于CANopen协议的运动控制主从站。及应用现状;接着分析了CANopen协议通讯规范及其应用于运动控制的设备规范,着重分析了CANopen同步机制并将CAp.Lc n动控制相结提出了基于STM32CANopen标准I/O总线端子进行管理控制的主站,以及响应运动控制PLC管理控:CANopen运动控 Themotioncontrolsystemhasbeendevelopedfornearlyacentury,amongvariousmotioncontrolsystems,fieldbus-basedmotioncontrolsystemisusedmostinrecentyears.Theadvantagesoffieldbus-basednetworkmotioncontrolsystemaresimplyofsystemwiring,highflexibilityofthesystem,easytobeexpanded,reused,maintenancedanddiagnosised,etc,Forthesereasons,fieldbus-basednetworkmotioncontrolsystemwouldbequicklydevelopedinfuture.CANopenisanopenfieldbustechnologyandprotocol,whichhasbeenwidelyusedinautomationfields.ButthedomesticR&DinbothCANopencommunicationanddevicefieldisbehindthatineurope,whichpreventsthehighperformancemotioncontrolsystemfromdesigningandimplementing.ByraitdCANopenprotocol,advantagesusingCANopenprotocolinmotioncontrolnetworkshavebeensummarized.Afterthat,theCANopen-basedembeddedmotioncontrolmasterandslaveraregiven,andthenAt,thehistoryofmotioncontrolsystemhasbeenintroduced,theprofileanduseofmotioncontrolsystemthatbasedonfieldbustechnologyarealsosummrized.SecondlytheCANopenprotocolanditsapplicationinmotioncontrolfieldarediscussed,afterthatSTM32microcontroller-basedembededmotioncontrolmasterandslavearegiven,andthespecifichardwareandsoftwarestructureofboththemotioncontrolmasterandslavearedescribedindetail.Atlast,basedonwhatdiscussedaboveandcombinedwiththeapplicationofactulproject,theembededmasterwhichsupportsthemanagerandcontrolfunctiontotheI/OterminalmodulesthatbasedonCANopenprofileisimplemented,andalsotheslavewhichcanbemanageredandcontrolledbythemotioncontrolPLC.Keywords:motioncontrol;CANopen;embeded华技大学机械学院智能制造控制及工程研究室与天门纺织机械有限课题研究的目的及意义微 d技术、高速 信号处理(DSP)自控论网通术展[1装为了适应瞬息多变的市场需求并且保持良好的市场竞争力,提出了装备研发制造定制因此有很大的优势:布线成本低、便于安装、节省开销、传输带宽增加、有很高的 文献[5-7]RS-485RS-232网络控制结构以及各种应用成工业现场总线,甚至于以太网及其无线扩展标准[8],详细的运动控制网络协议已经发展并成熟应用起来了CAN总线,用于建筑自动化的et[9],以及用于过程控制的现场总线[10-12]国内外研究现状控制系统的发展经历了组合式模拟仪表控制系统、集中式数字控制系统(DDC、分布式控制系统(DCS、现场总线控制系统(FCS)及到现在刚刚开始的网络化控的几个阶段[2]早期模拟仪表控制系统基于电动单元组合式,采用了4-20mA模拟电流信号标准;上世纪50年始出现的直接数字控制系统(DDC)如图1-1所示,计算机取代了过程控制过程信号的传递,计算与执行[13]。1-1算能力的分布化逐渐成为可能。1975年霍尼韦尔公司开发出世界上第一个分布式控制作的思想,分散式控制系统结构见图1-2。1-2计算机执行,分布式控制系统网络上只传输开关信号、监视与信息等[13]。现场总线|(Fieldu)80年代末在电子技术与通信技术的基420A决了工业化智能仪器仪表,控制器,执行机构等现场设备间的数字通信、现场控制设备和控制系统之间的信息传递问题,以现场总线为基础发展起来控制系统称为现FS)4控制计算机共享同一控制总线网络[13]。网络化运动控制系统结构如图1-3所示。1-319834-20mA的直流输出信号上叠加数字信号的新型信号过渡;紧接着Rosemount在此基础上使用了自己的数字通信协议HART[13]。20纪80年代初期以后,现场总线技术迅发展,1984年仪表(IS)下属组织与国际电工(IEC)组织在开始致力于制定现场总线标准,PROFIBUSFIP总线成为当时现场总线标准的两大主流;1992年,西门子、B等自动化公司联立的ISP与1993的orldFIP组织,PROFIBUSFIP标准为基础制定新的现场总线标准;1994ISP组与orldFIP部分组织合并立的现场组织制定了现场总标准[13]在这段时间世界上不同地区不业也陆续发展起来一些较有的现场总线)传输精度都非常高[16],因此现场总线网络的适应性与方便性、系统的开放性都当前大多数现场总线通讯最大带宽不超过20Mbps,这个通讯速率远远达不到运动控统系统高速高精的要求。由于高速以太网通讯技术已经比较成熟,并且由于自身低成本、高带宽、开放性的优势,逐渐替代现场总线成为高速高精运动控制的网络标准。增的实时以太网协议被纳入IEC61158总线标准[15]。工业以太网技术在运动控制网络系统中的应用极大地提高运动控制的速度及精度,从而提高生产制造自动化各个领域的效率。到广泛应用;EtherCAT在风力发电系统领域应用广泛[17-18];DevieceNet适用于楼宇控制、交通与农业自动化等领域。工业以太网EtherCAT,PowerLink组织都在 总线得以迅速推广,成为国内诸多行业不可替代的总线技术之一。由浙江大学工业控制技术国家与沈阳自动化等单位联合制定了《用于工业测量与控制系统的EPA系统结构与通信规范》,已经成为IEC的PAS标准[19]。华技大学国家数控工程中心也开发了具有自主知识的数控总线架与结构(IEC611800-7)是国际电工组织为了解决这些问题而制定的的接很好的支持与广泛的应用:驱动系统控制网络(ET,是三菱公司上世纪九华技大学华技大学十年代初开发的运动控制网络技术[21];SERCOS是于运动控制系统的总线;PROFEDRIVEPROFIBUS组织定义的运动控制规范[22];CIPMotion是基于实时以太网协议的运动控制规范[23];CANopenCIA组织定义的总线应用层协议,定义了CAN总线应用层标准[24]。文献[25-26]20012004年系统地介绍了网络化运动控制系统的理论研究天大学自动化系教授对工业以太网运动控制技术也进行了长期深入的研究,并取得的控制器局域网协议,在1993正 的CAN接口82527,microship的MCP2510,Philips的A82C250,以及Philips的SJA1000集成CAN接口的微控制器等,(CANINAUTOMATION)CANCANopen协议。CANopen[29],从而提升了CAN总线的开放性能和通用性CANopen协议开放,精炼,透明,便于理解,易于开发[30]CIACANopenCANopen强调由用户根据自身需求来定制功能,很容易由用户更改和优化实现某些特殊场合的应用,因此特别适合应用于网络[31]。基于CAN总线的CANopen协议在国内外得到广泛地开发与应用已经被用于生产自动本文的主要工作内容线及网络化运动控制系统的发展历程及现状,以及CANopen第二章分析了CAN总线及CANopen协议特点着重分析了CANopen协议的同CANopenCANopen运动控制的硬件基础,提出了基STM32微处理器CANopen运动控制主从站,并详细CANopen运动控制主从站CANopen运动控制主从站软硬件的实验结CAN总线协Network·/··ISO11898-·ISO11898-ISO11898-··/··ISO11898-·ISO11898-ISO11898-·/CiA303-CiA2-1ISO11898定义的CAN物理40m的范围内,CAN总线可以实现其最大通讯波特率1Mbps。CAN包含四种帧类型:数据帧,用于正常收发数据;帧,用于总线节点单元2-2在技术上很容易实现,网络点只需要通过一个CAN控制器协议就可以加入CAN通信网络中,图2-3CAN通信网络。 技 辑操作的结果为隐性位,所以隐性位优先级优于显性位,即“0”的优先级高于比“1”的优先级。在总线竞争中,优先级的仲裁从CANID的最开始比较,所以在CAN帧等待总线空闲按照仲裁优先级依次发送,CAN总线这种优先级仲裁方式称为非破坏性CAN报文帧中不包含发送节 文标识符来决定是否接收该帧,CAN节点与标识符并不是严格的一一对应关系,每个就比较,这使它的功能受到了限制;CAN网络规模比较小,网络节点数不超过110于了CAN总线的应用与推广。宇自动化及传感器等领域过渡发展[37],CAN通讯的这些局限不可避免地出来。CANCAN间互相操作的要求[29],提升了CAN总线的开放性能和通用性能,也进一步扩展了CANCANopen协议CANopenAopn协议是针对CANCAN网络提供标准的,的系统通讯模式,在应用层描述了不同设备之间的通讯要求。Aopn协议支持各生产商CN设备的通用性互换性并且提供的设备功能描述方式以及执行CAN网络管理功能[33]。由于这些优点,CAopen协议在发布在欧洲就得到OSICANopen协议CAN总线规范之间的关系如2-4图2-4CAN与CANopenOSICANopenCANopen网络中所有的设备都必须按照DS301定义的机制进行网络通讯;DS3XX系列是字I/O、伺服驱动设备、PLC、传感器与编等,连接到CAN网络中每种类型设备都应该定义相应的设备规范,表2-1是CANopenCANopen2-1CANopen备中所有对象都通过对象字典来。每个对象通过16位索引来寻址,对于数组和结构类型对象,通过8位子索引来寻址对象[29]。图2-5是CANopen的设备模型,华技大学华技大学2-5CANopen[29],对象字典定义中预留了这些对象的空间。象字典进行操作来实现CANopen 图2-6 通讯模 设备配置文件(DCF是单个设备的对象配置的描述文件,它和EDS结构相同,但DCF(NMT(SDO(PDO制数表示,位于11位CAN报文ID的高四位,报文ID的低七位为节点ID,收到报文的网络管理对象546132312CANopen网络通讯基于主站/从站结构,管理对象主要用于主节点对从站节点进行 状态与停止状态[36],这四种状态与节点的启动过程及通讯错误处理机制相关。图2-7是CANopen从站节点状态与相互状态546132312节点是网络管理对象的另外一个重要的功能,用于检测网络点是否正常通讯,节点常用是心跳报文机制。心跳报文是每个节点周期性发送的包含自身状态信CANopen协议赋予网络管理对象的ID0x0000,在总线优先级仲裁时始终具有最高服务数据对象CANopen服务数据对象服务数据对象主要用于实现对对象字典的读/写操作,SDO模型用于传输大于8字节的数据,这种传输方式是通过将数据分散在多帧SDO报文中传输实现的,一次最多可以传送127个数据段。通过SDO传输方式,设备之间可以交固件升级与程序操作,体现了CANopen协议应用的开放性。CANopen规范分配给SDO的功能码为1011与1100,总线仲裁中SDO优先级低于PDO,这是由于PDO传输的实时瞬变的过 下,网络对SDO数据传输的实时性要求不是很高。过程数据对象节点设备发送PDO称为该设备的发送PDO(TxPDO,接收的PDO为该设备的接收PDO(RxPDO。CANopen给网络中每个PDO分配了CAN标识符,CANopen分配给过程数据对象缺省的功能码为0011-1010,在总线仲裁中优先级仅次于网络管理对象(0000,(0010PDO通讯参数与参数都保存在节点的对象字典中,一些设备可以响应SDO要求改变这PDO的参数[29]。PDO报文最大数据量为8字节,由于PDO支持位,PDO的报文数据最多可以到64个参数,在对象属性中,通常只允许过程数据的PDO,配置参数只能通过SDO修改。表2-2是PDO的传输类型定义。2-2PDOPDO0是否否1-是是否241----是的否RTR否是否RTR否否是否否是采用同步传输时,传输类型数值代表了同步的帧数;RTR代表请求传输;事在CANopen网络中,数据传输的同步是通过同步对象(SYNC)来实现的,同步对象CAN总线上的特定报文,用以实现网络时钟信号基准。CANopen采用主/SYNC对象,从节点PDO报文[29],网CANopen协议分配给同CANID0x0001,其总线仲裁优先级仅次时间和占用总线时间最小。表2-3是CANopen网络同步帧报文。2-3COB-如图2-8所示。2-8CANopen同步对象之间的时间间隔在对象1006h“通讯周期”参数中定义,通讯周期是同两条相同PDO报文间的同步帧数。CANopen的同步机制对于实现运动控制中多轴同步数据的实时传输十分协议能够迅速发展的因一。CANopen运动控制规范 设备规范中,数字量输入输出规范(DS401规范)和伺服驱动DS401是CANopen数字输入输出设备规范,它定义了一组数字量和三组模拟量的通讯及及简单的I/O节点状态机制和节点错误处理机制。器结合DS401I/O设备,可以替代运动控制系统中PLC的功能,Beckhoff就采用并推广Twincat环境与I/O端子结合实现“软PLC”功能的方案。DS401CANopenI/ODS402CANopenDS301的基结构见图2-9。数。除了运动控制模式外,DS402CANopen设备控制状态机(DeviceControlStatemachine)DS402规范的主要内容,各种运动控制模式下的相关指令,并且对设备错误作出响应[40]。CANopen要求支持协制字的通过外部可选信号“remote”控制,同时状态机也受信号如错误信号或2-10DS4020018452-10DS402DS402伺服驱动设备规范使得各制造商伺服驱动器产品的互相兼容以及组建 多轴运动控制网络成本章小本章分析CAN总线的物理层基础和总线仲裁机制,分析CANopen协议基本机制CANopen协议精炼,透明,开放,应用简单,方便不同设备制造商以及不同类开发度,这些都为CANopen规范及设备的推广及普及应用提供了条件。理解CANopen规范的在于理解CANopen规范的通讯机制设备模型与各种通CANopen各类设备规范就可以开发出标准的通用的CANopen设备。华技大学华技大学PCI主站卡;CANopen运动控制PLC以及CANopen运动控制器。CANopen几种硬件方案的比较工控机+CANopeI主站卡,这种方案实现起来简单方便,可以通过主站卡提供图3-1就是基于这种配置。扩展。图3-2采用了这种主站卡+配置工具的方式实现通讯,配置工具只支持自图3-2配置工具也可以通过在PC上开发VC界面来替代配置,通过CAI卡将主站连接到适合于自主运动控制系统的自主开发。但是对开发者的编程能力,对CANopen通讯及支持CANopen协议PLC作为主站节点,完成运动控制功能,这种硬件结构需要工控机作为系统操作站,实现人机界面操作、数据图形显示与配置、等功能,图3-3剪板机多轴同步控制系统采用了运动控制PLC[13]。3-3PLCCANopenPLCCANopenPLC的另外一个优点在于,对开发运动控制系统而言,很多基本的运动控出接口就实现了编程。图3-4采用了这种模块化的编程方式。3-4PLCPLC运动控制的开放性,开发过程简单,PLCPLC模块并实现模块的复用,PLC硬件与编程工控机的成本,它应用了PLC厂商提供的PLC运动控制模块,使用高级PLC运动控制模块需要,而且这些封装好的模块是针对特定应用并且是不透明的,例如,BeckhoffPLC的数控系统3.1.3运动控制主从LINUX操作系统,开发流程简化成标准的任务代码。在简单的主从站应用中也可运动控制器方案可以利用开源的CANopn代码或者Aopn主站卡来实现开发者可以根据自身需要选择系统软硬件平台,并且根据应用需求对CANopen协议进行裁剪,即采用CANopen简单的通讯规范与设备规范。求,根据CANopen协议简单的功能,利用STM32微处理器为开发简单的运动控制器,图3-5是CANopen运动控制器主从站硬件。图3-5CANopen运动控制CANopen设备主从站的区别在于应用层的功能,应用层功能与物理层与数据链路层无关,只与部分相关。因此在实现简单的主站与从站功能时,运动控制器可以使用3.2运动控制主从站硬件设 华技大学华技大学(ST200STM32F103ZET6微处理器最快的运行速度为72MHZ,拥有512KB的FLASH器和多达64KB的SRAM资源,上带有CAN控制器外设接口,处理器通过对CAN寄存器的处理器CAN功能图。如上图所示,STM32F103ZET6处理器CAN控制器包含一系列寄存器,控制器的CAN收据寄存器写入报文ID与报文数据来发送报文;接收报文寄存器可以获得报文的标的低速外设时钟,来源为微控制器高速时钟信号,通过配置CAN时间特性寄存器就可以得到所需的CAN通讯波特率。微控制器CAN通讯使用到看门狗定时中断,睡眠中断,错误中断,发送中断,接收报文中断等,这些中断用以实时实现CAN通讯过程及报文的处理,STM32开发环境设置了CAN协议A82C250是Philips开发的CAN物理层与数据链路层协议ASIC,用于将STM32F103ZET6微处理器CAN发送报文引脚TTL电平信号转换成标准的CAN总线信号,同时将网络上的CAN总线信号电平转换为微处理器可以接收处理的TTL电平,是处理器与外部CAN网络之间的接口。STM32F103ZET6通过 换数据,图3-7是CAN通口电路图。微处理器的CAN收发引脚连接到A82C250上,微控制器引脚PB9与PB8分别连接到A82C250的CAN_Tx与CAN_Rx引脚上,A82C250的CAN总线信号CAN_H与CAN_L分别通过DB9接头的第6与第2引脚连接到CAN网络中,这也是CAN协议中约定的规范,以保证不同CAN控制器节点之间的互联。图3-7CAN总线 CANopenCANopen层与数据链路层基础,在这种硬件架构下,CANopen协议通过定义CAN报文的收发与解读规则来实现,受微处理器与A82C250性能的限制,这种架构能实现简单的CANopen主从站功能及简单的运动控制算法。处理器。高性能的处理器意味着较高的运算频率与较大的数据与代码空FPGA括C编译器,宏汇编,连接器,库w. 3-8STM32F103KEIL3.3本章小且分析了STM32微处理器与CAN协议的功能,提出了基于STM32微处理器的CANopen运动控制主从站的硬件实现方案。 从站基本的CAN通讯功能。DS401图4-1是CANopen运动控制主从站的结构主从站结构与CANopen规范结DS401图4-1运动控制主从站结本章运动控制主从站设计实现了CANopen网络通讯所必要底层驱动,CANopen通站流程。CAN通讯底层驱CAN通讯底层驱动是在STM32微处理为了STM32微控制器的开发使用,意法半导体开发了STM32系列微控制器的固件库代码,提供了一系列与控制器外设配置应用相关的应用函数接口,并将这些代码资源集成到MDK开发环境中。控制器主从站CAN通讯部分参考了STM32微处理器的固件库资源主从站中与CAN通讯相关的API函数主要有:CAN节点初始化与节点管理、CAN状态控制、报文CANCAN通讯的基础。CAN底层驱动STM32上实现CAN底层配置之前要对微处理器进行配置,以使能微处理器与CAN通讯相关的功能。CANSTM32.PLclSTM32CANvoid{HSEStartUpStatus=RCC_WaitForHSEStartUp();if(HSEStartUpStatus==SUCCESS){while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY)=={}while(RCC_GetSYSCLKSource()!=0x08){}}RCC_APB1PeriphClockCmd(CCA.1crrN,RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);}在上述全局时钟配置中,RCC_DeInitRCC由于CAN时钟来自于STM32低速外设时钟,CAN通讯引脚采用了微处理器的引脚复CANSTM32void{GPIO_InitTypeDefGPIO_InitStructure;GPIO_InitStructure.GPIO_Pin=GPIO_Pin_9;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_Init(GPIOB,&GPIO_InitStructure);}{GPIO_InitStructure.GPIOiw.PGOr;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING;GPIO_Init(GPIOB,&GPIO_InitStructure);}PB8PB9CAN通讯引脚:GPIO_PinRemapConfig(GPIO_Remap1_CAN,PB8CAN_Rx式在GPIO_Configuration函数中进行配置。能。配置CAN发送报文中断的代码为:{NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=NVIC_InitStructure.NVIC_IRQChannelSubPriority=1;NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;}CANCANAPIvoidCAN的时钟来自微控制器低速外设时钟,微控制器系统时钟设置好之后,通过配置CAN位时间寄存器来得到CAN总线.Lorld.c是在中对CAN位时间寄存器进行写操作实现的。图4-2CAN总线波特率与时钟频率的关系。图4-2中,波特率为比特时间的倒数,比特时间由SYNC_SEG段,BS1BS2NMINALBITTIME=Tq+Tq=Tbs1=Tbs2=CAN时钟频率为6MHZ时,配置125KCAN波特率的配置过程为:{}CAN_Init(&CAN_InitStructureCAN_InitStructureCAN的波特率为:BaudRate=Filter1.CAN_FilterMode=CAN_FilterMode_IdList;Filter1.CAN_FilterScale=CAN_FilterScale_16bit;Filter1.CAN_FilterIdHigh=0x00;Filter1.CAN_FilterIdLow=0x78;Filter1.CAN_FilterMaskIdHigh=0x0000;Filter1.CAN_FilterMaskIdLow=0x0000;Filter1.CAN_FilterFIFOAssignment=CAN_FIFO0;Filter1.CAN_FilterActivation=ENABLE;下,只有ID标识符为0x0078是报文能被接收到。接收FIFO1也通过这种方式设置,当会被接收。CAN接收FIFO1的报文滤波采用了这种设置:Filter1.CAN_FilterNumber=1;Filter1.CAN_FilterMode=CAN_FilterMode_IdMask;Filter1.CAN_FilterScale=CAN_FilterScale_16bit;Filter1.CAN_FilterIdHigh=0x00;Filter1.CAN_FilterIdLow=0x64;Filter1.CAN_FilterMaskIdHigh=0x0000;Filter1.CAN_FilterMaskIdLow=0x0023;Filter1.CAN_FilterFIFOAssignment=CAN_FIFO1;Filter1.CAN_FilterActivation=ENABLE;文筛选功能在CANAopen通讯中十分重要。通讯状态设置通过CAN_Init(&CAN_InitStructure)函数对CANSLEEPCAN4CANtypedef{u32StdId;u32ExtId;u8IDE;u8RTR;u8DLC;u8}u8CAN_Transmit(CanTxMsg*件机制将报文TxMessage发送到总线上。typedef{ID;8LcRo}voidCAN_Receive(u8FIFONumber,CanRxMsg*报文函数的功能是将CAN接收FIFO中的数据写入CanRxMsg结构变量对象字典功能对象字典是CANopen协议的部分是应用层与CANopen通讯规范和设备规范之间的接口,因此在实现CANopen通讯功能与设备功能之前,要先实现对象字典中与CANopen通讯和设备功能相关对象。无论是EDS格式还是在DCF文件格式,对象字典是与设备功能相关的数据结构,在typedef{unsignedintindex;unsignedcharsubindex;unsignedcharctr;unsignedintlength;romunsignedchar*度,pROM是指象的指针,通过pROM指针寻址对对象进行操作。采用按设备需用程序对对象字典的。typedef{UNS8constindextables_PDO_status*PDO_status;constquick_index*Index;}典包括记录各个节点状态信息与设置的数据块。CANopenDS401DS402规范。主从站的对象定义要与CANopen规范保持一致,使得主从站节点可以与CANOPEN网络中其它设备相互兼容。s.r_la变量CO_Data_globle,在中定义struct_CO_Data结构变量CO_Data_reset与CO_Datat_init,CO_Data_resetDCFCO_Data_reset包含了对象字典的缺省值,相当于主从站的EDS文件,运动控制器主从VoidCO_Data_load(&CO_Data_reset,&CO_Data_globe;上述函数将定义好的CO_Data_reset指针变量对OD_Write(data图4-4是对简单对象字典写操作的流程这种方式只要确认写操作对象的索引与4-4CANopen通讯功它报文11位标识符(COB-ID)由四位功能7位节ID(NODE-ID)组成,COB-ID的DefineCOB_IDFNCTION_ID<<7|NODE-FNCTION_ID=站实现网络管理功能要用到的API功能主要有:从站状态管理函数为:u8SlaveStNewStateNMTNMT0由于违背状态机规定或者其他原因导致状态转换错误,则根据错误类型返回不同非零值。发送心跳(Boot-Up)报文函数为:u8DS3024-5NMT华技大学华技大学发送紧急报文函数:u8EmcySend(CanTxMsg*SDO用于对对象字典进行读写操作,从站节点收到报文后,通过报文中RxMsg.StdId,根据RxMsg.StdId能码信息,解析SDO内容,并通过对象字典函数OD_Read(index,subindex)或OD_Write(data,index,subindex)对对象字典进行读写操作。对象字典函数中索索引及数据信息从SDO报文中提取。图4-6是SDO处理流程。图4-6SDO处理流他原因导致操作失败时返回非0错误码。SDO:u8SdoProcess(CanRxMsg*PDO:u8PdoSent(CanTxMsg*发送PDO数据时,要求发送的数据写入字典对象点根据对象的索引与子索TxMessage标识符来自于与对象相对应的通讯对象,节点根据通讯对象定义的PDO.PNla.mit(CanTxMsgPDO4-7PDO的发送流程。PDO:PdoProcess(CanRxMsg*OD_Write(data,index,subindexPDO发送同步报文函数为:SyncSend(;SyncSend()CAN_Transmit(CanTxMsg*SyncMessage)可以实现同步报文的发送,由于同步帧ID为设定为0,并且不包含数据,所以SyncMessage的内容是固定的,即函数的参数是固定的,是在中设置的常量。 处理同步报文的函数为设备与应用层功能主从站的设备功能是通过在对象字典结构中配置设备定义相关的对象来实现的,中断、CAN错误中断与FIFO溢出中断。void后,报文COB-ID值,定义变量:u8FID:FID=((COB_&x.0>o{{Case(NMT)NmtProcess(CanRxMsg*Case(SDO):PdoProcess(CanRxMsg*RxMsg);Case(PDO):PdoProcess(CanRxMsg*RxMsg);Case(SYNC):SyncProcess(CanRxMsg*……}voidT=V1006h*Ft*10-单位为HZ[43]。voidvoid文,或者通过中断报文清空FIFO。主从站流 流程如图4-8图4-8主站初始化流VoidMaster_Init(struct_CO_Data*CO_Datat_init);从站流 流程如图4-9。只有在操作状态下才能进行PDO传输。{{}{}}种结构。图4-10是MDK主从站开发界面。图4-10MDK主从 技 本章小本章从CAN通讯底层驱动、CANopen对象字典、通讯功能、设备功能、应用层功能五个方面实现基于STM32运动控制主从站的设计。本章详细描述了微控制器全局时钟与CAN通讯配置以及主从站节点CANopen对象字典的建立过程与方式并定义了实现CANopen网络通讯功能要使用的API函数与一些数据结构,分析了设备层与应用层的功能,进一步设计了控制器的流程。本文第三章与第四章分别提出了基于STM32运动控制主从站的硬件结构,本章通过两个实验分别验证主从站控制器的功能,通过与Beckhoff公司CANopenKL5100进行通讯来验证主站的功能通过与台CANopen主站模块DCPCOPM-SL通讯来进行验证。5.1主站功能验LC5100BeckhoffCANopenBeckhoff公司块的输入输出到自己的对象字典中,使得I/O模块可以通过CAN总线与外界交换Beckhoff所有的自动化产品包括输入输出模块都通过Beckhoff公司自己开发5-1TwinCATTwinCAT配置工作站Beckhoff设备之间的连接通过以太网双绞事实上构EtherCAT主从站连接,EtherCATBeckhoff开发的工业以太网协议,在这种连接中,配置工作站的网卡与TwinCAT构成了EtherCAT主站,配置的设备例如EK1100总线耦合器是EtherCATEK1100总线耦合器的功能是实现EtherCAT信号与K-BUSEL6751进行配置。图5-2EL6751的配置界面。 从上图可以看出,EL6751能被配置的参数很少,这意味着EL6751只能实现很简单的主站功能TwinCAT能对EL6751进行配置意味TwinCAT能通过EL6751间接地CAN网络交换数据,实现了EtherCATCANopen设备之间的通讯。本次实验方案是用主站替代EL6751,与从站端子LC5100相连接,并且LC5100Beckhoff输入端KL1408以及KL2408主站KL1408KL2408I/O端子外,主站还要实现EL6751的管理功能。EL6751LC5100的产品说明书,了解两者对象字典的EL6751LC5100ZLG的USB-CAN适配器及CANTest如图5-3系统上电输入输出及TwinCAT对EL67515-3USB-CAN适配器是PCUSB外设与CAN网络之间的接口,通过CANTest,可以截取并在PC上显示通讯过程报文。通过分析通讯过程报文,并结合EL6751产品说明来理解EL6751主站功能、通讯及配置机制,并通过在主站控制器上实现;最后主站替代EL6751,与LC5100LC5100I/O端子的状态来判断通讯5-4EL6751LC5100的通讯报文图5-5是截取的控制器主站与LC5100通讯报文。即控制器主站实现了EL6751的功能。事实上,开发的由STM32控制器主站,LC5100从站及KL1408与KL2408I/O端子组成的系统,已经应用在天门纺机并条机控制系统中,替代了原来系统中PLC的功能。5.2从站功能验 . 是运行于台SVPLC主机上CANopen模块SVPLC与CANopen网络连接的接口。DCPCOPM-SLPLC集返回的数据传回PLC,实行。络进行组态。图5-6是DeltaCANopenBuilder配置 5-6DeltaCANopenBuilder控制器从站不支持客户端功能,即DCPCOPM-SL主站能够对进行控制器从站对象字典进行,而控制器从站不能主站的对象字典。控制器从站对象字典的通讯参数在中配置,并且与DCPCOPM-SL主站连接,DCPCOPM-SL主站通讯参数DeltaCANopenBuilder中配置,保证主从站通讯参数配置一致,以保证通讯正常进行。图5-7DCPCOPM-SL主站配置的操作界面。5-7DCPCOPM-SL5-85-9是截取的与控制器从站通讯相关的CAN报文。5-9从通讯报文分析出,控制器从站能对响应主站SDO报文,也能实现PDO数据的处理与传输,但是不能响应主站NMT报文,因此没有完全实现预定的功能,从站功能有待完5.3本章小华技大学华技大学全文总本文了基于CAN总线的CANopen协议在运动控制系统中的应用及实现:分析了CAN与CANopen的通讯基础,着重分析了CANopen网络管理机制,机制与同步机制,分析了CANopen面向运动运动控制的驱动设备规范与I/O规范,并将这种机制应用于CANopen运动控制主从结了基于CANopen协议同步运动控制系统在工业上的应用及开发特点,根据CANopen协议与网络化运动控制系统的特点,提出了基于STM32微控制器CANopen运动控制器主站与从站的硬件和架构,并且此基研究展CANopenCANopen网络化多轴同步运动控制系统是运动控制网络的发展方向,下一步应该在这方面努力研究,开发出基于工业以太网的CANopen运动控制网络。 景仰。两位老师亲切儒雅,待人宽厚,对培养和关心让我难忘。 炜、及所有机硕08级一起度过的生活,特别感谢同宿舍的,, 最后,感谢所有关心和帮助过师长,亲友和 亮,基于CAN总线的多轴同步运动控制系统.机电工程,2009.26(11)8- 、.运动控制研究现状及趋势.控制工程,2006,13(4):89-Grogery.cWalshandHongYe.Schedulingofnetworkedcontrolsystems.IEEEcontrolsystemmagzineFebruary2001:57-65.R.RaJi,”Smartnetworkforcontrol”,IEEESepcturm.june1994:49-R,Brockett.StabilizationofMotorNetworks.Proceedings

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论