基于Matlab/VC的转台一体化控制方法、装置和系统的制作方法

文档序号:6312538阅读:388来源:国知局
专利名称:基于Matlab/VC的转台一体化控制方法、装置和系统的制作方法
技术领域
本发明涉及计算机半实物仿真系统设计领域,具体而言,涉及一种基于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编写得到的程序。可以采用RS232编码格式将电机控制程序生成的实时控制参数进行打包。例如,可以在Matlab平台上利用Simulink工具箱搭建模块化电机控制程序。该电机控制程序的作用是通过动力学模型仿真生成对转台的实时控制参数,这些控制参数按照出现先后顺序排列,自定义包头、包尾,采用RS232编码格式打包成一个串口数据包,该串口指令格式定义可以如图2所示。发送模块12,用于通过虚拟串口的第一串口将串口数据包进行发送,以便电机驱动程序根据电机驱动参数的值对转台进行控制,该电机驱动程序为基于VC编写得到的驱动程序,其中,该电机驱动参数的值为对该串口数据包解码得到的驱动参数值。可以将串口数据包通过串口发送程序发送,串口发送程序为Matlab平台下模块化编程实现的,串口发送程序的串口号为第一串口号。例如,可以在主控计算机上安装vsro虚拟串口程序,在计算机上设置一对虚拟串口,该虚拟串口的作用是实现同一计算机上不同系统软件之间的通信,通信方式采用RS232编码格式。该虚拟串口是连接电机控制程序与电机驱动程序的信息桥梁。虚拟串口可以通过在主控计算机上安装vsro虚拟串口程序的方式实现。然后利用Real-Time windows Target工具箱中的PacketOutput模块建立串口数据发送程序,将串口号配置为上述虚拟串口中的第一串口号。电机驱动参数可以包括低速度、高速度、加速度、位移、运动轴。例如,本实施例的基于Matlab/VC的转台一体化控制装置可以通过以下方式实现(I)在 matlab 平台下新建一个 SerialPort. mdl 文件,拖入一个 Packet Output模块,双击模块弹出 Block Parameters:Packet Output,点击 Install new board 选择StardardDevices->SerialPort弹出对话框中Serial Port选虚拟串口。按照指令格式的规定指令共有11个字符,故Output packet size设置为11。每一个数值都是以字符形式发送,在matlab中都表示为int8型,故在Output Packet field data types中设置为
{’ l*int8’ , ’ l*int8’ , ’ l*int8’, ’ l*int8’, ’ l*int8’, ’ l*int8’, ’ l*int8’, ’ l*int8,,’ l*int8,, ’ l*int8,, ’ l*int8,}。(2)设置完成后Packet Output中输入的为十进制的数值,输入的为十进制数值所对应的ASCII码,比如输入的是65,用串口调试助手接收到的就是A;输入的是48,接收到的就是O。对(I)中的电机控制程序进行实时化配置,通过Matlab中的编译命令生成实时运行的RTW程序。在工作路径下保存模块,在matlab command中输入rtwinconf igset (' SerialPort')回至丨J simulink 界面,按 ctrl+B,生成 RTW 程序。点击ConnectTo Target。实时程序开始运行。(3)打开VC平台下编写的串口接收程序,将串口接收程序的串口号设置为虚拟串口的第二串口号,点击Simulink界面中Start Realtime Code,转台便按照指定的指令运行。上述方式可以采用十进制的编码格式和电机的点位运动模式。在实际的三轴转台控制中,数据之间的传递通常采用16进制编码格式,电机的运动模式也多种多样,但原理和操作方法与以上步骤完全相同,只是设定不同的编码格式和采用不同的电机驱动代码。本实施例中的电机控制程序和串口发送程序可以通过模块化编程实现的,且两者只有参数传递关系。本实施例提供的基于Matlab/VC的转台一体化控制装置可以在以下硬件环境中实现主控计算机为WinXP操作系统,转台电机伺服驱动箱的型号为HSl 1056,三轴转台的电机型号为SRH1254-12。本发明提供的基于Matlab/VC的转台一体化控制装置,通过虚拟串口连接基于Matlab编写的电机控制程序和基于VC编写的电机驱动程序,实现了由Matlab搭建的模块化控制程序到转台实时控制的一体化驱动过程,使得用户可在不利用其他硬件转换设备的情况下,利用Matlab上编制的电机控制程序直接驱动转台同步运动,因此有效降低转台控制系统制造成本,方便了用户对转台进行灵活控制和个性化设置。上述实施例提供的基于Matlab/VC的转台一体化控制装置用于发送串口数据包,相应地,本发明实施例还提供了一种基于Matlab/VC的转台一体化控制装置用于接收串口数据包。
图3是根据本发明实施例的一种基于Matlab/VC的转台一体化控制装置的结构图,如图3所示,该实施例的基于Matlab/VC的转台一体化控制装置包括数据包接收模块21,用于通过虚拟串口的第二串口接收串口数据包,该串口数据包为根据电机控制程序生成的实时控制参数得到的串口数据包,该电机控制程序为基于Matlab编写得到的程序。可以通过串口接收程序接收串口数据包,串口接收程序为VC平台下模块化编程实现的,串口接收程序的串口号为第二串口号。例如,可以在主控计算机上安装vsro虚拟串口程序,在计算机上设置一对虚拟串口,该虚拟串口的作用是实现同一计算机上不同系统软件之间的通信,通信方式采用RS232编码格式。电机驱动参数可以包括低速度、高速度、加速度、位移、运动轴。编写串口接收程序,将电机驱动参数按照出现先后顺序排列,自定义包头、包尾,打包成一个串口数据包。将串口号配置成一对虚拟串口中的一个。串口指令格式定义可以如图2所示。
解码模块22,用于将该串口数据包进行解码,得到解码数据。提取模块23,用于从该解码数据中提取电机驱动参数的值。赋值模块24,用于将该电机驱动参数的值赋值到电机驱动程序中以便电机驱动程序根据电机驱动参数的值对转台进行控制,该电机驱动程序为基于VC编写得到的驱动程序。该电机驱动程序的作用是接收由虚拟串口发送到VC平台上的由电机控制程序实时生成的实时控制参数。通过对接收的串口数据包进行解码,提取电机驱动参数,将参数赋值到转台驱动程序中,驱动转台运转。电机驱动参数可以包括低速度、高速度、加速度、位移、运动轴。参加图4,串口接收程序检测是否接收到字符,若接收到字符,则将接收到的字符累加,然后判断字符是否为包头,若否,则判断字符是否为包尾,当判断字符为包尾后,提取电机驱动参数的值,然后执行电机驱动程序驱动转台运行。本实施例中的转台电机驱动程序和串口接收程序可以通过模块化编程实现的,且两者只有参数传递关系。本实施例提供的基于Matlab/VC的转台一体化控制装置可以在以下硬件环境中实现主控计算机为WinXP操作系统,转台电机伺服驱动箱的型号为HSl 1056,三轴转台的电机型号为SRH1254-12。本发明提供的基于Matlab/VC的转台一体化控制装置,通过虚拟串口连接基于Matlab编写的电机控制程序和基于VC编写的电机驱动程序,实现了由Matlab搭建的模块化控制程序到转台实时控制的一体化驱动过程,使得用户可在不利用其他硬件转换设备的情况下,利用Matlab上编制的电机控制程序直接驱动转台同步运动,因此有效降低转台控制系统制造成本,方便了用户对转台进行灵活控制和个性化设置。本发明实施例还提供了一种基于Matlab/VC的转台一体化控制系统,该基于Matlab/VC的转台一体化控制系统包括上述实施例所提供的基于Matlab/VC的转台一体化控制装置。图5是根据本发明实施例的一种基于Matlab/VC的转台一体化控制系统的结构图,如图5所示,该实施例的基于Matlab/VC的转台一体化控制系统包括发送装置31,该发送装置用于根据电机控制程序生成的实时控制参数得到串口数据包,该电机控制程序为基于Matlab编写得到的程序;通过虚拟串口的第一串口将串口数据包进行发送。可以在主控计算机上安装vsro虚拟串口程。该虚拟串口的作用是实现同一计算机上不同系统软件之间的通信,通信方式采用RS232编码格式。虚拟串口通过在主控计算机上安装VSPD虚拟串口程序的方式实现。可以在Matlab平台下编写串口发送程序,将该串口发送程序的串口号设置为虚拟串口的第一串口号。接收装置32,该接收装置用于通过虚拟串口的第二串口接收串口数据包;将串口数据包进行解码,得到解码数据;从解码数据中提取电机驱动参数的值;将电机驱动参数 的值赋值到电机驱动程序中以便电机驱动程序根据电机驱动参数的值对转台进行控制,该电机驱动程序为基于VC编写得到的驱动程序。可以在VC平台下编写串口接收程序,将串口接收程序的串口号设置为虚拟串口的第二串口号。本发明提供的基于Matlab/VC的转台一体化控制系统,通过虚拟串口连接基于Matlab编写的电机控制程序和基于VC编写的电机驱动程序,实现了由Matlab搭建的模块化控制程序到转台实时控制的一体化驱动过程,使得用户可在不利用其他硬件转换设备的情况下,利用Matlab上编制的电机控制程序直接驱动转台同步运动,因此有效降低转台控制系统制造成本,方便了用户对转台进行灵活控制和个性化设置。图6是根据本发明实施例的一种基于Matlab/VC的转台一体化控制方法的流程图,如图6所示,该实施例的基于Matlab/VC的转台一体化控制方法包括步骤401 :根据电机控制程序生成的实时控制参数得到串口数据包,该电机控制程序为基于Matlab编写得到的程序。可以采用RS232编码格式将电机控制程序生成的实时控制参数进行打包。例如,可以在Matlab平台上利用Simulink工具箱搭建模块化电机控制程序。该电机控制程序的作用是通过动力学模型仿真生成对转台的实时控制参数,这些控制参数按照出现先后顺序排列,自定义包头、包尾,采用RS232编码格式打包成一个串口数据包,该串口指令格式定义可以如图2所示。步骤402 :通过虚拟串口的第一串口将串口数据包进行发送,以便电机驱动程序根据电机驱动参数的值对转台进行控制,该电机驱动程序为基于VC编写得到的驱动程序,其中,该电机驱动参数的值为该对串口数据包解码得到的驱动参数值。可以将串口数据包通过串口发送程序发送,串口发送程序为Matlab平台下模块化编程实现的,串口发送程序的串口号为第一串口号。例如,可以在主控计算机上安装vsro虚拟串口程序,在计算机上设置一对虚拟串口,该虚拟串口的作用是实现同一计算机上不同系统软件之间的通信,通信方式采用RS232编码格式。该虚拟串口是连接电机控制程序与电机驱动程序的信息桥梁。虚拟串口可以通过在主控计算机上安装vsro虚拟串口程序的方式实现。然后利用Real-Time windows Target工具箱中的PacketOutput模块建立串口数据发送程序,将串口号配置为上述虚拟串口中的第一串口号。
电机驱动参数可以包括低速度、高速度、加速度、位移、运动轴。本发明提供的基于Matlab/VC的转台一体化控制方法,通过虚拟串口连接基于Matlab编写的电机控制程序和基于VC编写的电机驱动程序,实现了由Matlab搭建的模块化控制程序到转台实时控制的一体化驱动过程,使得用户可在不利用其他硬件转换设备的情况下,利用Matlab上编制的电机控制程序直接驱动转台同步运动,因此有效降低转台控制系统制造成本,方便了用户对转台进行灵活控制和个性化设置。上述实施例提供的基于Matlab/VC的转台一体化控制方法用于发送串口数据包,相应地,本发明实施例还提供了一种基于Matlab/VC的转台一体化控制方法用于接收串口数据包。图7是根据本发明实施例的一种基于Matlab/VC的转台一体化控制方法的流程图,如图7所示,该实施例的基于Matlab/VC的转台一体化控制方法包括步骤501 :通过虚拟串口的第二串口接收串口数据包,该串口数据包为根据电机 控制程序生成的实时控制参数得到的串口数据包,该电机控制程序为基于Matlab编写得到的程序。可以通过串口接收程序接收串口数据包,串口接收程序为VC平台下模块化编程实现的,串口接收程序的串口号为第二串口号。例如,可以在主控计算机上安装vsro虚拟串口程序,在计算机上设置一对虚拟串口,该虚拟串口的作用是实现同一计算机上不同系统软件之间的通信,通信方式采用RS232编码格式。电机驱动参数可以包括低速度、高速度、加速度、位移、运动轴。编写串口接收程序,将电机驱动参数按照出现先后顺序排列,自定义包头、包尾,打包成一个串口数据包。将串口号配置成一对虚拟串口中的一个。串口指令格式定义可以如图2所示。步骤502 :将该串口数据包进行解码,得到解码数据。步骤503 :从该解码数据中提取电机驱动参数的值。步骤504 :将该电机驱动参数的值赋值到电机驱动程序中以便电机驱动程序根据电机驱动参数的值对转台进行控制,该电机驱动程序为基于VC编写得到的驱动程序。该电机驱动程序的作用是接收由虚拟串口发送到VC平台上的由电机控制程序实时生成的实时控制参数。通过对接收的串口数据包进行解码,提取电机驱动参数,将参数赋值到转台驱动程序中,驱动转台运转。电机驱动参数可以包括低速度、高速度、加速度、位移、运动轴。参加图4,串口接收程序检测是否接收到字符,若接收到字符,则将接收到的字符累加,然后判断字符是否为包头,若否,则判断字符是否为包尾,当判断字符为包尾后,提取电机驱动参数的值,然后执行电机驱动程序驱动转台运行。本发明提供的基于Matlab/VC的转台一体化控制方法,通过虚拟串口连接基于Matlab编写的电机控制程序和基于VC编写的电机驱动程序,实现了由Matlab搭建的模块化控制程序到转台实时控制的一体化驱动过程,使得用户可在不利用其他硬件转换设备的情况下,利用Matlab上编制的电机控制程序直接驱动转台同步运动,因此有效降低转台控制系统制造成本,方便了用户对转台进行灵活控制和个性化设置。需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。·
权利要求
1.一种基于Matlab/VC的转台一体化控制方法,其特征在于,包括 根据电机控制程序生成的实时控制参数得到串口数据包,所述电机控制程序为基于Matlab编写得到的程序;以及 通过虚拟串口的第一串口将所述串口数据包进行发送,以便电机驱动程序根据电机驱动参数的值对转台进行控制,所述电机驱动程序为基于VC编写得到的驱动程序,其中,所述电机驱动参数的值为对所述串口数据包解码得到的驱动参数值。
2.根据权利要求I所述的方法,其特征在于,所述将电机控制程序生成的实时控制参数进行打包包括 采用RS232编码格式将电机控制程序生成的实时控制参数进行打包。
3.根据权利要求I所述的方法,其特征在于,所述通过虚拟串口的第一串口将所述串口数据包进行发送包括 将所述串口数据包通过串口发送程序发送,所述串口发送程序为Matlab平台下模块化编程实现的,所述串口发送程序的串口号为所述第一串口号。
4.根据权利要求I所述的方法,其特征在于,所述电机驱动参数至少包括以下一种 低速度、高速度、加速度、位移以及运动轴。
5.一种基于Matlab/VC的转台一体化控制方法,其特征在于,包括 通过虚拟串口的第二串口接收串口数据包,所述串口数据包为根据电机控制程序生成的实时控制参数得到的串口数据包,所述电机控制程序为基于Matlab编写得到的程序;将所述串口数据包进行解码,得到解码数据; 从所述解码数据中提取电机驱动参数的值; 将所述电机驱动参数的值赋值到电机驱动程序中以便所述电机驱动程序根据所述电机驱动参数的值对转台进行控制,所述电机驱动程序为基于VC编写得到的驱动程序。
6.根据权利要求5所述的方法,其特征在于,所述通过虚拟串口的第二串口接收串口数据包包括 通过串口接收程序接收串口数据包,所述串口接收程序为VC平台下模块化编程实现的,所述串口接收程序的串口号为所述第二串口号。
7.根据权利要求5所述的方法,其特征在于,所述电机驱动参数至少包括以下一种 低速度、高速度、加速度、位移以及运动轴。
8.一种基于Matlab/VC的转台一体化控制装置,其特征在于,包括 数据包生成模块,用于根据电机控制程序生成的实时控制参数得到串口数据包,所述电机控制程序为基于Matlab编写得到的程序;以及 发送模块,用于通过虚拟串口的第一串口将所述串口数据包进行发送,以便电机驱动程序根据电机驱动参数的值对转台进行控制,所述电机驱动程序为基于VC编写得到的驱动程序,其中,所述电机驱动参数的值为对所述串口数据包解码得到的驱动参数值。
9.一种基于Matlab/VC的转台一体化控制装置,其特征在于,包括 数据包接收模块,用于通过虚拟串口的第二串口接收串口数据包,所述串口数据包为根据电机控制程序生成的实时控制参数得到的串口数据包,所述电机控制程序为基于Matlab编写得到的程序; 解码模块,用于将所述串口数据包进行解码,得到解码数据;提取模块,用于从所述解码数据中提取电机驱动参数的值; 赋值模块,用于将所述电机驱动参数的值赋值到电机驱动程序中以便所述电机驱动程序根据所述电机驱动参数的值对转台进行控制,所述电机驱动程序为基于VC编写得到的驱动程序。
10.一种基于Matlab/VC的转台一体化控制系统,其特征在于,包括 发送装置,所述发送装置用于根据电机控制程序生成的实时控制参数得到串口数据包,所述电机控制程序为基于Matlab编写得到的程序;通过虚拟串口的第一串口将所述串口数据包进行发送;以及 接收装置,所述接收装置用于通过所述虚拟串口的第二串口接收所述串口数据包;将所述串口数据包进行解码,得到解码数据;从所述解码数据中提取电机驱动参数的值;将所述电机驱动参数的值赋值到电机驱动程序中以便所述电机驱动程序根据所述电机驱动参数的值对转台进行控制,所述电机驱动程序为基于VC编写得到的驱动程序。
全文摘要
本发明公开了一种基于Matlab/VC的转台一体化控制方法、装置和系统。该基于Matlab/VC的转台一体化控制的方法包括根据电机控制程序生成的实时控制参数得到串口数据包,电机控制程序为基于Matlab编写得到的程序;以及通过虚拟串口的第一串口将串口数据包进行发送,以便电机驱动程序根据电机驱动参数的值对转台进行控制,电机驱动程序为基于VC编写得到的驱动程序,其中,电机驱动参数的值为对串口数据包解码得到的驱动参数值。解决了现有技术中使用的dSPACE实时仿真系统价格昂贵,且对于小型转台的控制也存在不灵活、不方便的缺点的问题,进而达到了灵活控制小型转台的效果。
文档编号G05B17/02GK102902207SQ201210453819
公开日2013年1月30日 申请日期2012年11月13日 优先权日2012年11月13日
发明者郑伟, 王鹏, 高显忠, 刘多能, 朱炳杰 申请人:中国人民解放军国防科学技术大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1