本發明專利技術公開了一種基于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所述的...
【專利技術屬性】
技術研發人員:鄭偉,王鵬,高顯忠,劉多能,朱炳杰,
申請(專利權)人:中國人民解放軍國防科學技術大學,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。