CN101710233A - 一种基于rcp的运动控制器的设计方法 - Google Patents
一种基于rcp的运动控制器的设计方法 Download PDFInfo
- Publication number
- CN101710233A CN101710233A CN200910045231A CN200910045231A CN101710233A CN 101710233 A CN101710233 A CN 101710233A CN 200910045231 A CN200910045231 A CN 200910045231A CN 200910045231 A CN200910045231 A CN 200910045231A CN 101710233 A CN101710233 A CN 101710233A
- Authority
- CN
- China
- Prior art keywords
- motion control
- xpc
- real
- motion
- control
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Programmable Controllers (AREA)
Abstract
本发明涉及一种基于RCP的运动控制器的设计方法,创建供xPC运行的实时操作系统;确定运动控制对象,进行分析;在MATLAB/Sinmulink中调用相应的运动控制器模块,进行基于被控对象数学模型运动控制算法的设计;将设计好的运动控制算法进行转换,并下载到xPC的实时系统中运行;运动控制算法程序下载到xPC的实时系统后,在xPC中的实时操作系统中运行,进行运动控制算法的实时验证;通过验证判断设计的运动控制算法作用于实际被控对象的控制效果;根据在线调试的运动控制效果,在前述的程序设计中进行相应的修改,判断出现期望的运动控制效果。本发明的优点:提高运动控制器算法的开发效率;降低了复杂运动控制算法开发的门槛;能够很方便的进行移植。
Description
【技术领域】
本发明涉及运动控制器技术领域,具体地说,是一种基于RCP的运动控制器的设计方法。
【背景技术】
采用传统方法实现控制器的设计,需要控制算法设计、软件设计、硬件设计等多方面研究人员的参与来完成,可以将其分为运动算法的软件开发和运动控制器的硬件设计。传统的开发过程中,这两大环节都分别需要专业的软件开发工程师和硬件开发工程师来针对专门的开发要进行开发。然后共同调试,使控制算方法能很好的应用与硬件中。只有这两个环节紧密的配合达形成一个最优的系统,才称得上成功的运动控制器的开发。
然而,在实际的运动控制器的开发过程中,运动算法的实现是一个相当复杂的软件开发过程。这个过程往往需要专业的软件开发工程师来实现。现在的控制系统的自动化设计大多都是在对应微处理器的开发环境中手动编写汇编或C语言或C++代码,这样的过程开发周期长,对程序员的要求较高。而且大多数程序员只熟悉某种语言,适应性很差,在大型开发项目中要互相结合开发就会出现明显的局限性。由于不同的程序员编程习惯的不同,同样的系统不同的人用同样的语言写出的代码差别很大,这样就会使得其可读性很差,甚至对程序员自己来说,对于某些稍微复杂点的程序,自身编写的程序在过一段时间后自己读起来都很吃力,尤其对汇编语言更是如此。
而运动控制器的硬件则需要硬件工程师根据运动控制器的控制对象以及外围设备来进行设计,进行选择合适的处理器以及各种外围器件;这就要求硬件工程师对各种处理器以及各种外围器件相当的熟悉,具有丰富的硬件开发经验。而硬件的设计不可能一次成功,往往需要由验证到修改,由修改到验证这样反复的尝试。这样的过程对程序员的要求很高,不但大大延长了系统开发周期,更是将一大批想用进行运动控制器开发的技术人员拒之门外。
根据要求设计的硬件、软件集成为完整的控制系统,硬件设计对于软件工程师是一个比较陌生的环节,而运动算法复杂的编程也是硬件工程是一个比较薄弱的环节,在此过程如果任何一个环节的设计出现问题或需要改动,都必须返回到算法设计环节重新开始。所以在运动控制器的开发过程中存在着运动算法开发和硬件设计脱节的环节。这是传统开发方法中存在不可避免的一个问题。这样使整个控制器开发过程变得冗长繁杂,从工程效益上讲,开发周期长就意味着成本增加;从学术研究上讲,过于复杂的控制理论,往往不得不因为程序代码编写太难而放弃,进而难以达到最优化的控制效果。
【发明内容】
本发明的目的在于克服现有技术的不足,提供一种基于RCP开发的运动控制器的设计方法。
本发明的目的是通过以下技术方案来实现的:
一种基于RCP的运动控制器的设计方法,所用硬件包括主机host PC,目标机xPC,数据采集卡及其端子板以及控制伺服电机运动的简单硬件电路板;Host PC通过网线与xPC相连,用TCP/IP协议完成代码的下载;数据采集卡安装在xPC的PCI通信插槽中,数据采集卡通过端子板与伺服控制器相连接;端子板是数据采集卡完成控制信号发送和采集信号的桥梁;伺服控制器通过50芯的数据线连接到端子板上;软件开发平台为MATLAB/Simulink/RTW
其具体步骤为:
(1)首先,创建供xPC运行的实时操作系统,在Host PC的MATAL/Sinulink开发环境中调用xPC Target模块创建实时操作系统,将实时系统存于软盘中,装有实时操作系统的软盘能在xPC中运行,实现任务调度和管理;
(2)其次,确定运动控制对象,进行分析,在Sinulink环境下建立基于运动控制对象的数学模型,该模型与实际控制对象相对应;
(3)再次,在MATLAB/Sinmulink中调用相应的运动控制器模块,进行基于被控对象数学模型运动控制算法的设计,并进行仿真,比较期望输出与控制输出,进行控制参数的调节;当仿真效果达到设计要求时,利用自动代码转换技术,将设计好的运动控制算法进行转换,并下载到xPC的实时系统中运行;
(4)然后,运动控制算法程序下载到xPC的实时系统后,在xPC中的实时操作系统中运行,进行运动控制算法的实时验证;由于步骤(3)是基于被控对象数学模型的设计,通过验证判断设计的运动控制算法作用于实际被控对象的控制效果;
(5)最后,根据在线调试的运动控制效果,在步骤(3)程序设计中进行相应的修改,判断出现期望的运动控制效果。
与现有技术相比,本发明的积极效果是:
(1)本发明能够实现各种运动控制算法的设计与验证,如:PID算法,模糊PID算法,自适应PID算法等等;
(2)本发明能够实现运动控制代码的快速在线验证,很好的提高了运动控制器算法的开发效率;
(3)本发明利用Matlab的自动代码转换技术,使得各种复杂的运动控制算法能够实现,降低了复杂运动控制算法开发的门槛;
(4)本发明开发的运动控制算法能够很方便的进行移植;
(5)本发明可以降低软硬件开发的门槛,缩短系统开发周期,降低开发成本,简化程序员的工作要求,提高了开发效率。
【附图说明】
图1本发明的结构图;
图2本发明的流程图;
图3伺服电机全闭环控制系统框图;
图4xPC目标环境组态界面;
图5伺服运动控制系统示意图;
图6PID控制器模块示意图;
图7伺服电机系统运动模型模块示意图;
图8速度和转矩控制CNx5端口接线图;
图9伺服电机速度控制器模型示意图。
【具体实施方式】
以下提供本发明一种基于RCP的运动控制器的设计方法的具体实施方式。
下面以伺服材料试验机的速度控制来说明一种基于RCP的运动控制器的设计方法。
一种基于RCP的运动控制器,硬件包括电脑2台,一台做Host PC另一台做目标机xPC,运动控制器选用研华公司的PCI1716数据采集卡,被控对象是伺服材料试验机;开发平台软件选择MATLAB/SIMULINK/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的DO口输出给伺服控制器,同时伺服电机的运转情况可以由伺服控制器的速度检测和转矩检测引脚等通过数据采集卡PCI-1716的A/D模块把模拟量转化为数字量传输给主机,同时通过反馈的模拟信号完成反馈控制;附图2为本发明的为开发流程图。
在控制系统中,一般都要实现某些闭环控制,这样就需要用到一定的控制算法,控制算法中最经典的要属PID了,而在Simulink中就集成了PID控制算法的模块,应用此模块在设计PID算法时只需设置好Kp、Ki、Kd三个参数就可完成PID算法的控制。极大的简化了PID控制算法的设计,使设计者避快复杂而冗长的PID控制算法的汇编或者C编程。
本发明中以PID控制算法为例,用RCP开发方法实现伺服电机的速度控制。根据伺服电机控制系统框图,可以建立伺服电机的数学模型,然后在MATLAB/SIMULINK中建立电机控制的全闭环控制系统框图,如附图3所示:
具体步骤为:
步骤(1):采用TCP/IP通讯协议实现主副机之间的通讯,附图4所示为在xPC Target Explorer中对xPC目标环境的进行通讯组态界面的设置示意图,xPC Target Explorer用于对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-ON,该位控制伺服电机的使能;零速钳位信号26脚ZEROSPD,该位控制模拟信号输入是否有效;控制模式切换信号32脚C-MODE,该位为控制模式切换位;模拟信号是SPR/TRQR引脚,通过模拟信号的大小控制伺服电机转速的大小;
采用数据采集卡(PCI1716)中的数字输出和模拟输出模资源来对伺服电机进行控制;例如:可以通过改变零速钳位信号的状态来控制电机的启停,通过调节PCI1716的模拟输出实现对伺服电机转速的控制;
根据伺服电机速度控制方式在Matlab/Simulink开发环境中进行系统建模,模型包括PID运动控制器模块,PIC1716数字输出模块,PCI1716模拟输出模块以及一些数据转换,请参见附图9,增加了示波器,可以观察整个模块的仿真效果,在仿真结果达到开发要求后,可以进行到步骤3,进行自动代码转换,将Simulink中的图形化程序转换成可编辑的C代码,并且通过TCP网络协议将代码下载到XPC的控制内核中,进行实时伺服电机的控制;
步骤(5):通过运动控制算法在硬件平台上的实时验证,可以获得验证数据;记录结果数据,可以通过实时运行中伺服电机的运行情况对Simulink中的控制系统做必要的修改,然后在将修改后的程序通过自动代码转换,并下载到实时系统中进行实时控制调试,整个过程很方便。
经过实验,通过RCP的开发方法完成了伺服电机的速度控制设计;在开发过程中成功的克服了传统运动控制器开发的技术瓶颈,降低软硬件开发的门槛,缩短系统开发周期,降低开发成本,简化程序员的工作要求,提高了开发效率。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员,在不脱离本发明构思的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围内。
Claims (1)
1.一种基于RCP的运动控制器的设计方法,其特征在于,具体步骤为:
(1)创建供目标机xPC运行的实时操作系统,在主机Host PC的MATAL/Sinulink开发环境中调用xPC模块中创建实时操作系统,将实时系统存于软盘中,装有实时操作系统的软盘能在xPC中运行,实现任务调度和管理;
(2)确定运动控制对象,进行分析,在Sinulink环境下建立基于运动控制对象的数学模型,该模型与实际控制对象相对应;
(3)在MATLAB/Sinmulink中调用相应的运动控制器模块,进行基于被控对象数学模型运动控制算法的设计,并进行仿真,比较期望输出与控制输出,进行控制参数的调节;当仿真效果达到设计要求时,利用自动代码转换技术,将设计好的运动控制算法进行转换,并下载到xPC的实时系统中运行;
(4)运动控制算法程序下载到xPC的实时系统后,在xPC中的实时操作系统中运行,进行运动控制算法的实时验证;由于步骤(3)是基于被控对象数学模型的设计,通过验证判断设计的运动控制算法作用于实际被控对象的控制效果;
(5)根据在线调试的运动控制效果,在步骤(3)程序设计中进行相应的修改,判断出现期望的运动控制效果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910045231A CN101710233A (zh) | 2009-01-13 | 2009-01-13 | 一种基于rcp的运动控制器的设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910045231A CN101710233A (zh) | 2009-01-13 | 2009-01-13 | 一种基于rcp的运动控制器的设计方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101710233A true CN101710233A (zh) | 2010-05-19 |
Family
ID=42403025
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910045231A Pending CN101710233A (zh) | 2009-01-13 | 2009-01-13 | 一种基于rcp的运动控制器的设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101710233A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102289217A (zh) * | 2011-02-25 | 2011-12-21 | 广西大学 | 一种以轴为单位模块化可重构的运动控制系统 |
CN109100954A (zh) * | 2018-08-06 | 2018-12-28 | 大连理工大学 | 一种控制器硬件在环仿真平台建立方法 |
CN111463455A (zh) * | 2020-03-07 | 2020-07-28 | 华中科技大学 | 一种sofc半实物模拟系统及其控制器开发方法 |
CN111650927A (zh) * | 2020-07-10 | 2020-09-11 | 哈尔滨工业大学 | 基于xPC的转台控制系统快速演示验证装置及方法 |
-
2009
- 2009-01-13 CN CN200910045231A patent/CN101710233A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102289217A (zh) * | 2011-02-25 | 2011-12-21 | 广西大学 | 一种以轴为单位模块化可重构的运动控制系统 |
CN102289217B (zh) * | 2011-02-25 | 2012-09-05 | 广西大学 | 一种以轴为单位模块化可重构的运动控制系统 |
CN109100954A (zh) * | 2018-08-06 | 2018-12-28 | 大连理工大学 | 一种控制器硬件在环仿真平台建立方法 |
CN111463455A (zh) * | 2020-03-07 | 2020-07-28 | 华中科技大学 | 一种sofc半实物模拟系统及其控制器开发方法 |
CN111463455B (zh) * | 2020-03-07 | 2022-03-15 | 华中科技大学 | 一种sofc半实物模拟系统及其控制器开发方法 |
CN111650927A (zh) * | 2020-07-10 | 2020-09-11 | 哈尔滨工业大学 | 基于xPC的转台控制系统快速演示验证装置及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10317868B2 (en) | System and method for testing a distributed control system of an industrial plant | |
Rauch et al. | An advanced STEP-NC controller for intelligent machining processes | |
CN104898546B (zh) | 一种基于soc的plc在线调试系统和方法 | |
CN103477290A (zh) | 控制器辅助装置、用于在该装置中执行的控制器辅助程序以及存储有该程序的记录介质 | |
CN103019104B (zh) | 一种可视化过程控制系统组态仿真方法 | |
US20050102054A1 (en) | Method and system for simulating processing of a workpiece with a machine tool | |
CN104317236A (zh) | 基于软plc技术的无线传感器网络控制终端 | |
CN103941650B (zh) | 逻辑与运动集成控制器 | |
CN105137800A (zh) | 一种基于sopc技术的plc协同控制装置 | |
CN106484403A (zh) | 一种机器人跨平台的图形化开发系统 | |
CN116107294B (zh) | 一种用于船舶操纵控制系统的虚拟集成验证系统 | |
CN101710233A (zh) | 一种基于rcp的运动控制器的设计方法 | |
CN113589706A (zh) | 直升机后缘襟翼控制虚拟仿真方法 | |
JP2004133650A (ja) | 制御用ロジックのシミュレーション検証方法及びシミュレーション検証用パソコン | |
CN112558541B (zh) | 一种plc编程扩展系统、方法及电子设备 | |
CN205003526U (zh) | 一种基于sopc技术的plc协同控制装置 | |
CN115026820A (zh) | 人机协作装配机器人控制系统及控制方法 | |
CN117784635A (zh) | 一种硬件在环仿真系统及其优化方法 | |
CN113759815A (zh) | 一种基于边缘计算的互联工厂iotplc处理平台 | |
CN105094021A (zh) | 一种基于arm嵌入式技术的plc协同控制装置 | |
CN110989499A (zh) | 基于高速无线通信的混合架构控制系统 | |
CN102306109A (zh) | 一种实现通讯管理机内部逻辑可编程方法 | |
CN113885426A (zh) | 一种挖掘机控制程序plc代码自动生成方法、测试方法及可视化测试系统 | |
CN102135762A (zh) | 时间触发型实时仿真控制系统 | |
CN113075915A (zh) | 基于em-plant的虚拟仿真实现方法、系统及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20100519 |