专利名称:一种基于rcp的运动控制器的设计方法
一种基于RCP的运动控制器的设计方法
技术领域:
本发明涉及运动控制器技术领域,具体地说,是一种基于RCP的运动控制器的设计方法。
背景技术:
采用传统方法实现控制器的设计,需要控制算法设计、软件设计、硬件设计等多方面研究人员的参与来完成,可以将其分为运动算法的软件开发和运动控制器的硬件设计。传统的开发过程中,这两大环节都分别需要专业的软件开发工程师和硬件开发工程师来针对专门的开发要进行开发。然后共同调试,使控制算方法能很好的应用与硬件中。只有这两个环节紧密的配合达形成一个最优的系统,才称得上成功的运动控制器的开发。
然而,在实际的运动控制器的开发过程中,运动算法的实现是一个相当复杂的软件开发过程。这个过程往往需要专业的软件开发工程师来实现。现在的控制系统的自动化设计大多都是在对应微处理器的开发环境中手动编写汇编或C语言或C++代码,这样的过程开发周期长,对程序员的要求较高。而且大多数程序员只熟悉某种语言,适应性很差,在大型开发项目中要互相结合开发就会出现明显的局限性。由于不同的程序员编程习惯的不同,同样的系统不同的人用同样的语言写出的代码差别很大,这样就会使得其可读性很差,甚至对程序员自己来说,对于某些稍微复杂点的程序,自身编写的程序在过一段时间后自己读起来都很吃力,尤其对汇编语言更是如此。 而运动控制器的硬件则需要硬件工程师根据运动控制器的控制对象以及外围设备来进行设计,进行选择合适的处理器以及各种外围器件;这就要求硬件工程师对各种处理器以及各种外围器件相当的熟悉,具有丰富的硬件开发经验。而硬件的设计不可能一次成功,往往需要由验证到修改,由修改到验证这样反复的尝试。这样的过程对程序员的要求很高,不但大大延长了系统开发周期,更是将一大批想用进行运动控制器开发的技术人员拒之门外。 根据要求设计的硬件、软件集成为完整的控制系统,硬件设计对于软件工程师是一个比较陌生的环节,而运动算法复杂的编程也是硬件工程是一个比较薄弱的环节,在此过程如果任何一个环节的设计出现问题或需要改动,都必须返回到算法设计环节重新开始。所以在运动控制器的开发过程中存在着运动算法开发和硬件设计脱节的环节。这是传统开发方法中存在不可避免的一个问题。这样使整个控制器开发过程变得冗长繁杂,从工程效益上讲,开发周期长就意味着成本增加;从学术研究上讲,过于复杂的控制理论,往往不得不因为程序代码编写太难而放弃,进而难以达到最优化的控制效果。
发明内容
本发明的目的在于克服现有技术的不足,提供一种基于RCP开发的运动控制器的设计方法。 本发明的目的是通过以下技术方案来实现的
3
—种基于RCP的运动控制器的设计方法,所用硬件包括主机host PC,目标机xPC,
数据采集卡及其端子板以及控制伺服电机运动的简单硬件电路板;Host PC通过网线与
xPC相连,用TCP/IP协议完成代码的下载;数据采集卡安装在xPC的PCI通信插槽中,数
据采集卡通过端子板与伺服控制器相连接;端子板是数据采集卡完成控制信号发送和采
集信号的桥梁;伺服控制器通过50芯的数据线连接到端子板上;软件开发平台为MATLAB/
Simulink/RTW 其具体步骤为 (1)首先,创建供xPC运行的实时操作系统,在Host PC的MATAL/Si皿link开发环 境中调用xPC Target模块创建实时操作系统,将实时系统存于软盘中,装有实时操作系统 的软盘能在xPC中运行,实现任务调度和管理; (2)其次,确定运动控制对象,进行分析,在Sinulink环境下建立基于运动控制对 象的数学模型,该模型与实际控制对象相对应; (3)再次,在MATLAB/Sinmulink中调用相应的运动控制器模块,进行基于被控对 象数学模型运动控制算法的设计,并进行仿真,比较期望输出与控制输出,进行控制参数的 调节;当仿真效果达到设计要求时,利用自动代码转换技术,将设计好的运动控制算法进行 转换,并下载到xPC的实时系统中运行; (4)然后,运动控制算法程序下载到xPC的实时系统后,在xPC中的实时操作系统 中运行,进行运动控制算法的实时验证;由于步骤(3)是基于被控对象数学模型的设计,通 过验证判断设计的运动控制算法作用于实际被控对象的控制效果; (5)最后,根据在线调试的运动控制效果,在步骤(3)程序设计中进行相应的修
改,判断出现期望的运动控制效果。 与现有技术相比,本发明的积极效果是 (1)本发明能够实现各种运动控制算法的设计与验证,如PID算法,模糊PID算 法,自适应PID算法等等; (2)本发明能够实现运动控制代码的快速在线验证,很好的提高了运动控制器算 法的开发效率; (3)本发明利用Matlab的自动代码转换技术,使得各种复杂的运动控制算法能够 实现,降低了复杂运动控制算法开发的门槛; (4)本发明开发的运动控制算法能够很方便的进行移植; (5)本发明可以降低软硬件开发的门槛,縮短系统开发周期,降低开发成本,简化 程序员的工作要求,提高了开发效率。
图l本发明的结构图; 图2本发明的流程图; 图3伺服电机全闭环控制系统框图; 图4xPC目标环境组态界面; 图5伺服运动控制系统示意图; 图6PID控制器模块示意4
图7伺服电机系统运动模型模块示意图;
图8速度和转矩控制CNx5端口接线图;
图9伺服电机速度控制器模型示意图。
具体实施方式
以下提供本发明一种基于RCP的运动控制器的设计方法的具体实施方式
。 下面以伺服材料试验机的速度控制来说明一种基于RCP的运动控制器的设计方法。 —种基于RCP的运动控制器,硬件包括电脑2台,一台做Host PC另一台做目标 机xPC,运动控制器选用研华公司的PCI1716数据采集卡,被控对象是伺服材料试验机;开 发平台软件选择MATLAB/SMULINK/RTW,进行虚拟建模,仿真分析,并最终实现控制器的设 计,Host PC通过网线与xPC相连,用TCP/IP协议完成代码的下载;数据采集卡安装在xPC 的PCI通信插槽中;数据采集卡通过端子板与伺服控制器相连接,端子板示数据采集卡完 成控制信号发送和采集信号的桥梁;伺服控制器通过50芯的数据线连接到端子板上。
本发明的总体思路图1为RCP开发方法的开发框图,首先要对所开发的系统进 行需求分析,包括建立主动运动控制对象简化的物理模型,主机PC的任务是为控制器设计 提供了软件开发平台(MATLAB/Simulink/RTW);目标PC主要充当实时控制器的作用;利 用MATLAB提供的xPC Target工具完成主机和目标机的xPC目标环境的配置,在MATLAB/ Simulink中建立运动控制系统模型,反复调整参数,做到初步的算法优化;调用RTW自动生 成运动控制器可执行C代码,通过TCP/IP协议下载到目标PC上的实时核中运行。此过程 中输出的信号为数字量,需要通过数据采集卡PCI-1716中的D/A模块转化成模拟量从AO 端口输出给伺服电机的控制器,控制引脚的数字量可以由PCI-1716的D0 口输出给伺服控 制器,同时伺服电机的运转情况可以由伺服控制器的速度检测和转矩检测弓I脚等通过数据 采集卡PCI-1716的A/D模块把模拟量转化为数字量传输给主机,同时通过反馈的模拟信号 完成反馈控制;附图2为本发明的为开发流程图。 在控制系统中,一般都要实现某些闭环控制,这样就需要用到一定的控制算法,控 制算法中最经典的要属PID 了,而在Simulink中就集成了 PID控制算法的模块,应用此模 块在设计PID算法时只需设置好Kp、 Ki、 Kd三个参数就可完成PID算法的控制。极大的简 化了 PID控制算法的设计,使设计者避快复杂而冗长的PID控制算法的汇编或者C编程。
本发明中以PID控制算法为例,用RCP开发方法实现伺服电机的速度控制。根据 伺服电机控制系统框图,可以建立伺服电机的数学模型,然后在MATLAB/SMULINK中建立 电机控制的全闭环控制系统框图,如附图3所示
具体步骤为 步骤(1):采用TCP/IP通讯协议实现主副机之间的通讯,附图4所示为在xPC Target Explorer中对xPC目标环境的进行通讯组态界面的设置示意图,xPC Target E邓lorer用于对xPC目标环境的各项参数,如对通讯、目标PC存储空间大小和显示外观等 进行设置,并生成启动盘,(可加入两种通讯的特点和选用者的优点)选取TCP/IP协议实 现主机PC和目标PC的通讯,只需在xPC Target Explorer中设置目标PC的IP地址、TCP/ IP端口、子网掩码、网关以及网卡型号即可;每次使用xPC目标环境调试程序时,将启动盘载入目标PC,即可启动xPC实时运行核,并实现主机PC和目标PC的通讯; 步骤(2):本发明中以PID控制算法为例,用RCP开发方法实现伺服电机的速度
控制;根据以上伺服电机控制系统框图,可以建立伺服电机的数学模型,然后在MATLAB/
SIMULINK中建立电机控制的全闭环控制系统框图,请参见附图3 ;。 步骤(3):先根据伺服电机的特性,建立符合伺服电机特性的数学模型,参见如附 图3,然后在MATLAB/Simulink快速控制原型的开发平台中运用其中的模块搭建伺服电机 的PID控制程序框图,然后进行仿真分析;观察仿真结果并且对PID的参数进行相应的修 改,并最终实现控制算法的设计;附图5为伺服运动控制系统的程序框图其有两个子系统 模块,他们分别是PID控制算法的控制器模块和伺服电机系统运动模型模块,请参见附图6 和附图7 ; 为了得到好的PID控制器参数,设定系统一个单位阶跃函数,在Scope示波器 中观察相应曲线,不断调节PID参数,直到单位阶跃响应曲线满足我们的要求为止;然 而,有时候是很难得到被控对象的数学模型,在这种情况下可以采用一种硬件在环仿真 (hardware-in-the-loop simulation,简称HITLS)的方法,把控制对象看作是一个黑箱子, 进行硬件在环仿真,确定其控制器参数,得到最优的控制器; 步骤(4):在完成运动控制器的设计后,将运动控制算法嵌入到运动控制系统中, 进行运动控制算法的实时验证; 下面阐明伺服电机速度控制的思路伺服电机速度控制方式的控制器信号口接线 如附图8所示,控制信号分为数字控制信号和模拟控制信号;其中,数字控制信号我们用 到伺服使能信号29脚SRV-0N,该位控制伺服电机的使能;零速钳位信号26脚ZER0SPD,该 位控制模拟信号输入是否有效;控制模式切换信号32脚C-M0DE,该位为控制模式切换位; 模拟信号是SPR/TRQR引脚,通过模拟信号的大小控制伺服电机转速的大小;
采用数据采集卡(PCI1716)中的数字输出和模拟输出模资源来对伺服电机进行 控制;例如可以通过改变零速钳位信号的状态来控制电机的启停,通过调节PCI1716的模 拟输出实现对伺服电机转速的控制; 根据伺服电机速度控制方式在Matlab/Simulink开发环境中进行系统建模,模型 包括PID运动控制器模块,PIC1716数字输出模块,PCI1716模拟输出模块以及一些数据转 换,请参见附图9,增加了示波器,可以观察整个模块的仿真效果,在仿真结果达到开发要求 后,可以进行到步骤3,进行自动代码转换,将Simulink中的图形化程序转换成可编辑的C 代码,并且通过TCP网络协议将代码下载到XPC的控制内核中,进行实时伺服电机的控制;
步骤(5):通过运动控制算法在硬件平台上的实时验证,可以获得验证数据;记录 结果数据,可以通过实时运行中伺服电机的运行情况对Simulink中的控制系统做必要的 修改,然后在将修改后的程序通过自动代码转换,并下载到实时系统中进行实时控制调试, 整个过程很方便。 经过实验,通过RCP的开发方法完成了伺服电机的速度控制设计;在开发过程中 成功的克服了传统运动控制器开发的技术瓶颈,降低软硬件开发的门槛,縮短系统开发周 期,降低开发成本,简化程序员的工作要求,提高了开发效率。 以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人 员,在不脱离本发明构思的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围内,
权利要求
一种基于RCP的运动控制器的设计方法,其特征在于,具体步骤为(1)创建供目标机xPC运行的实时操作系统,在主机Host PC的MATAL/Sinulink开发环境中调用xPC模块中创建实时操作系统,将实时系统存于软盘中,装有实时操作系统的软盘能在xPC中运行,实现任务调度和管理;(2)确定运动控制对象,进行分析,在Sinulink环境下建立基于运动控制对象的数学模型,该模型与实际控制对象相对应;(3)在MATLAB/Sinmulink中调用相应的运动控制器模块,进行基于被控对象数学模型运动控制算法的设计,并进行仿真,比较期望输出与控制输出,进行控制参数的调节;当仿真效果达到设计要求时,利用自动代码转换技术,将设计好的运动控制算法进行转换,并下载到xPC的实时系统中运行;(4)运动控制算法程序下载到xPC的实时系统后,在xPC中的实时操作系统中运行,进行运动控制算法的实时验证;由于步骤(3)是基于被控对象数学模型的设计,通过验证判断设计的运动控制算法作用于实际被控对象的控制效果;(5)根据在线调试的运动控制效果,在步骤(3)程序设计中进行相应的修改,判断出现期望的运动控制效果。
全文摘要
本发明涉及一种基于RCP的运动控制器的设计方法,创建供xPC运行的实时操作系统;确定运动控制对象,进行分析;在MATLAB/Sinmulink中调用相应的运动控制器模块,进行基于被控对象数学模型运动控制算法的设计;将设计好的运动控制算法进行转换,并下载到xPC的实时系统中运行;运动控制算法程序下载到xPC的实时系统后,在xPC中的实时操作系统中运行,进行运动控制算法的实时验证;通过验证判断设计的运动控制算法作用于实际被控对象的控制效果;根据在线调试的运动控制效果,在前述的程序设计中进行相应的修改,判断出现期望的运动控制效果。本发明的优点提高运动控制器算法的开发效率;降低了复杂运动控制算法开发的门槛;能够很方便的进行移植。
文档编号G05B17/02GK101710233SQ20091004523
公开日2010年5月19日 申请日期2009年1月13日 优先权日2009年1月13日
发明者季白杨, 徐水元, 易建军, 田小强, 田晓强, 陈昌明 申请人:华东理工大学