本发明专利技术公开了一种基于Matlab/VC的转台一体化控制方法、装置和系统。该基于Matlab/VC的转台一体化控制的方法包括:根据电机控制程序生成的实时控制参数得到串口数据包,电机控制程序为基于Matlab编写得到的程序;以及通过虚拟串口的第一串口将串口数据包进行发送,以便电机驱动程序根据电机驱动参数的值对转台进行控制,电机驱动程序为基于VC编写得到的驱动程序,其中,电机驱动参数的值为对串口数据包解码得到的驱动参数值。解决了现有技术中使用的dSPACE实时仿真系统价格昂贵,且对于小型转台的控制也存在不灵活、不方便的缺点的问题,进而达到了灵活控制小型转台的效果。
【技术实现步骤摘要】
本专利技术涉及计算机半实物仿真系统设计领域,具体而言,涉及一种基于Matlab/VC的转台一体化控制方法、装置和系统。
技术介绍
在进行半实物仿真系统设计的过程中,一个重要的问题是确保仿真控制程序能够实时驱动被控对象所处的模拟环境,比如模拟空间姿态环境的三轴转台,三轴转台的位置实际上是由空间中垂直安装的三个电机驱动的,所以上述问题实际上是如何利用仿真控制程序实时驱动电机的问题。伺服电机都带有伺服电机控制器,生产厂家将电机的运动控制函数以动态数据链接库.dll文件的形式发布给用户,供用户调用。利用该运动控制函数,通过伺服电机控制·器可控制电机以任意方式运动。但是这些动态链接库都是由C语言编写的,只支持与C语言相关平台的调用。用C语言编写控制仿真程序工作量大,繁琐且极易出错。因此直接用C语言相关平台如VC (Microsoft Visual C++)直接编写电机控制程序驱动电机运动是不切实际的。Matlab软件是国际控制界公认的标准计算软件,使用其自带的Simulink工具箱可方便的运用图形化模块搭建控制仿真程序。利用Matlab的库载入函数可以调用动态链接库文件,但是需要使用Matlab/VC混合编程的方式实现对动态链接库函数的调用。由于Matlab是解释性语言,在每一句命令执行前后都需要对语句进行若干解释、分配内存等工作,无法满足电机驱动函数实时发送控制脉冲的要求,因此不能直接用Matlab的电机控制程序直接驱动电机运动。解决上述矛盾的一个较好的方法是使用dSPACE公司生产的实时仿真系统,它是基于Matlab/Simulink的控制系统开发及测试的工作平台,实现了和Matlab/Simulink的无缝连接。但是dSPACE实时仿真系统价格昂贵,对于小型转台的控制也存在不灵活、不方便的缺点。针对现有技术中使用的dSPACE实时仿真系统价格昂贵,且对于小型转台的控制也存在不灵活、不方便的缺点的问题,目前尚未提出有效的解决方案。
技术实现思路
本专利技术的主要目的在于提供一种基于Matlab/VC的转台一体化控制方法、装置和系统,以解决现有技术中使用的dSPACE实时仿真系统价格昂贵,且对于小型转台的控制也存在不灵活、不方便的缺点的问题。为了实现上述目的,根据本专利技术的一个方面,提供了一种基于Matlab/VC的转台一体化控制方法。该方法包括根据电机控制程序生成的实时控制参数得到串口数据包,电机控制程序为基于Matlab编写得到的程序;以及通过虚拟串口的第一串口将串口数据包进行发送,以便电机驱动程序根据电机驱动参数的值对转台进行控制,电机驱动程序为基于VC编写得到的驱动程序,其中,电机驱动参数的值为对串口数据包解码得到的驱动参数值。进一步地,将电机控制程序生成的实时控制参数进行打包包括采用RS232编码格式将电机控制程序生成的实时控制参数进行打包。进一步地,通过虚拟串口的第一串口将串口数据包进行发送包括将串口数据包通过串口发送程序发送,串口发送程序为Matlab平台下模块化编程实现的,串口发送程序的串口号为第一串口号。进一步地,电机驱动参数至少包括以下一种低速度、高速度、加速度、位移以及运动轴。为了实现上述目的,根据本专利技术的另一方面,还提供了一种基于Matlab/VC的转台一体化控制方法。该方法包括通过虚拟串口的第二串口接收串口数据包,串口数据包·为根据电机控制程序生成的实时控制参数得到的串口数据包,电机控制程序为基于Matlab编写得到的程序;将串口数据包进行解码,得到解码数据;从解码数据中提取电机驱动参数的值;将电机驱动参数的值赋值到电机驱动程序中以便电机驱动程序根据电机驱动参数的值对转台进行控制,电机驱动程序为基于VC编写得到的驱动程序。进一步地,通过虚拟串口的第二串口接收串口数据包包括通过串口接收程序接收串口数据包,串口接收程序为VC平台下模块化编程实现的,串口接收程序的串口号为第二串口号。进一步地,电机驱动参数至少包括以下一种低速度、高速度、加速度、位移以及运动轴。为了实现上述目的,根据本专利技术的另一方面,还提供了一种基于Matlab/VC的转台一体化控制装置。该装置包括数据包生成模块,用于根据电机控制程序生成的实时控制参数得到串口数据包,电机控制程序为基于Matlab编写得到的程序;以及发送模块,用于通过虚拟串口的第一串口将串口数据包进行发送,以便电机驱动程序根据电机驱动参数的值对转台进行控制,电机驱动程序为基于VC编写得到的驱动程序,其中,电机驱动参数的值为对串口数据包解码得到的驱动参数值。为了实现上述目的,根据本专利技术的另一方面,还提供了一种基于Matlab/VC的转台一体化控制装置。该装置包括数据包接收模块,用于通过虚拟串口的第二串口接收串口数据包,串口数据包为根据电机控制程序生成的实时控制参数得到的串口数据包,电机控制程序为基于Matlab编写得到的程序;解码模块,用于将串口数据包进行解码,得到解码数据;提取模块,用于从解码数据中提取电机驱动参数的值;赋值模块,用于将电机驱动参数的值赋值到电机驱动程序中以便电机驱动程序根据电机驱动参数的值对转台进行控制,电机驱动程序为基于VC编写得到的驱动程序。为了实现上述目的,根据本专利技术的另一方面,还提供了一种基于Matlab/VC的转台一体化控制系统。该系统包括发送装置,发送装置用于根据电机控制程序生成的实时控制参数得到串口数据包,电机控制程序为基于Matlab编写得到的程序;通过虚拟串口的第一串口将串口数据包进行发送;以及接收装置,接收装置用于通过虚拟串口的第二串口接收串口数据包;将串口数据包进行解码,得到解码数据;从解码数据中提取电机驱动参数的值;将电机驱动参数的值赋值到电机驱动程序中以便电机驱动程序根据电机驱动参数的值对转台进行控制,电机驱动程序为基于VC编写得到的驱动程序。通过本专利技术,解决了现有技术中使用的dSPACE实时仿真系统价格昂贵,且对于小型转台的控制也存在不灵活、不方便的缺点的问题,进而达到了灵活控制小型转台的效果。附图说明构成本申请的一部分的附图用来提供对本专利技术的进一步理解,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中图I是根据本专利技术实施例的一种基于Matlab/VC的转台一体化控制装置的结构图;图2是根据本专利技术实施例的串口指令格式定义的示意图;图3是根据本专利技术实施例的另一种基于Matlab/VC的转台一体化控制装置的结构 图;图4是根据本专利技术实施例的驱动转台转动的流程图;图5是根据本专利技术实施例的一种基于Matlab/VC的转台一体化控制系统的结构图;图6是根据本专利技术实施例的一种基于Matlab/VC的转台一体化控制方法的流程图;以及图7是根据本专利技术实施例的另一种基于Matlab/VC的转台一体化控制方法的流程图。具体实施例方式需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本专利技术。图I是根据本专利技术实施例的一种基于Matlab/VC的转台一体化控制装置的结构图,如图I所示,该实施例的基于Matlab/VC的转台一体化控制装置包括数据包生成模块11,用于根据电机控制程序生成的实时控制参数得到串口数据包,该电机控制程序为基于Matlab编写得本文档来自技高网...
【技术保护点】
一种基于Matlab/VC的转台一体化控制方法,其特征在于,包括:根据电机控制程序生成的实时控制参数得到串口数据包,所述电机控制程序为基于Matlab编写得到的程序;以及通过虚拟串口的第一串口将所述串口数据包进行发送,以便电机驱动程序根据电机驱动参数的值对转台进行控制,所述电机驱动程序为基于VC编写得到的驱动程序,其中,所述电机驱动参数的值为对所述串口数据包解码得到的驱动参数值。
【技术特征摘要】
1.一种基于Matlab/VC的转台一体化控制方法,其特征在于,包括 根据电机控制程序生成的实时控制参数得到串口数据包,所述电机控制程序为基于Matlab编写得到的程序;以及 通过虚拟串口的第一串口将所述串口数据包进行发送,以便电机驱动程序根据电机驱动参数的值对转台进行控制,所述电机驱动程序为基于VC编写得到的驱动程序,其中,所述电机驱动参数的值为对所述串口数据包解码得到的驱动参数值。2.根据权利要求I所述的方法,其特征在于,所述将电机控制程序生成的实时控制参数进行打包包括 采用RS232编码格式将电机控制程序生成的实时控制参数进行打包。3.根据权利要求I所述的方法,其特征在于,所述通过虚拟串口的第一串口将所述串口数据包进行发送包括 将所述串口数据包通过串口发送程序发送,所述串口发送程序为Matlab平台下模块化编程实现的,所述串口发送程序的串口号为所述第一串口号。4.根据权利要求I所述的方法,其特征在于,所述电机驱动参数至少包括以下一种 低速度、高速度、加速度、位移以及运动轴。5.一种基于Matlab/VC的转台一体化控制方法,其特征在于,包括 通过虚拟串口的第二串口接收串口数据包,所述串口数据包为根据电机控制程序生成的实时控制参数得到的串口数据包,所述电机控制程序为基于Matlab编写得到的程序;将所述串口数据包进行解码,得到解码数据; 从所述解码数据中提取电机驱动参数的值; 将所述电机驱动参数的值赋值到电机驱动程序中以便所述电机驱动程序根据所述电机驱动参数的值对转台进行控制,所述电机驱动程序为基于VC编写得到的驱动程序。6.根据权利要求5所述的方法,其特征在于,所述通过虚拟串口的第二串口接收串口数据包包括 通过串口接收程序接收串口数据包,所述串口接收程序为VC平台下模块化编程实现的,所述串口接收程序的串口号为所述第二串口号。7.根据权利要求5所述的...
【专利技术属性】
技术研发人员:郑伟,王鹏,高显忠,刘多能,朱炳杰,
申请(专利权)人:中国人民解放军国防科学技术大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。