999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于TwinCAT及VC++的水下發射系統研究

2019-09-19 06:08:40
測控技術 2019年2期
關鍵詞:實驗

(南京理工大學 機械工程學院,江蘇 南京 210094)

導彈水下發射異于水平陸基發射,具有儲彈量更大、反應時間更短、發射率更高、全方位發射率更廣、對目標飽和攻擊力更強的優點[1]?;赥winCAT ADS通信的原理,利用VC++進行上位機軟件設計開發,上位機能夠將指令傳遞給下位機,使下位機受指令控制運行。同時,上位機接收下位機傳輸來的反饋信號以便實時觀測運動狀態。這樣能夠更好、更簡潔地進行數據采集和數據交換。上位機和下位機之間采取ADS通信。ADS通信響應時間極短,能夠快速控制電機進行相應的軌跡運動,達到技術指標要求。

1 水下發射系統總體方案設計

本文控制對象是一個能夠放置在水下15 m的水下發射裝置,其機械結構如圖1所示,主要包含發射管、搖架、旋轉軸、減速機、伺服電機和底座等組件。其中減速箱和伺服電機安裝在旁側的密封箱內,發射管通過伺服電機以及減速箱的驅動產生一定角度的擺動,實現用戶所要求的正弦運動、等速運動以及點動運動。當發射管運動到預期的點火角度,燃氣發生器會產生點火信號,并產生壓力燃氣,使其完成模擬彈發射。

為滿足控制要求,將水下發射測控系統的設計分為下位機硬件控制設計和上位機軟件管理設計兩方面。下位機控制設計基于TwinCAT,主要作用是實時控制電機,并將讀取的電機運動狀態傳遞給上位機;上位機控制軟件基于VC++,主要作用是將控制信號傳給下位機,同時接收下位機實時反饋的電機運動信息。

圖1 水下發射裝置機械結構圖

所研究的水下發射系統主要滿足以下技術指標:

① 運行環境在水下15 m。

② 可以滿足各種曲線運動模式。例如,等速運動時,運動精度控制在1%;正弦運動時,擺動頻率為0.5 Hz,精度優于0.5°。

③ 上位機能夠實時顯示發射前、發射過程中和發射結束后的狀態的一些聯動信號,整個實驗過程中的檢測數據能夠保存并回放。

2 水下發射系統硬件設計

工控機采用了Beckhoff公司的C6920柜式工業PC,采用EtherCAT總線與總線端子各模塊以及伺服驅動器進行通信。EtherCAT可以在30 μs之內處理1000個分布式的I/O口,具有拓撲性良好、性能優良以及組成簡單等優點。由于其龐大的網絡規模,適用于縱向集成[2]。

總線耦合器選用Beckhoff公司的EK1100,將以太網傳遞的信號轉化成為E-bus信號,再通過EtherCAT總線傳輸給各個端子模塊(包括EL系列的模擬輸入輸出模塊和數字輸入輸出模塊以及位置測量模塊等)。總線耦合器以及總線的各個端子模塊和若干個EtherCAT端子組成一個從站,如圖2所示。

驅動器選用Beckhoff公司的AM8000系列伺服電機,該系列伺服驅動器包括單通道和雙通道兩種不同的通道,支持多種不同總線接口模式,使用更加方便快捷。

圖2 水下發射系統總體設計圖

3 基于VC++的軟件管理系統設計

為滿足上位機設計流程中的功能,上位機管理軟件采用VC++中的MFC模塊進行編寫。MFC模塊(Microsoft Foundation Class)即微軟基礎類庫,為用戶提供了一個面向對象的編程接口,該層次內包括了Windows API用戶界面的部分,可以使用戶更加方便簡潔地以面向對象的方式來開發應用程序[3]。利用該模塊可以便捷地建立人機交互界面,包括實現數據采集的功能和對計算機端口實時監控的功能等。

3.1 軟件功能方案設計

上位機管理系統的流程圖如圖3所示。首先登錄系統,在系統主菜單中選擇需要執行的步驟。主菜單包括系統自檢、點動、聯動、數據查詢等選項,其中,點動需要設置俯仰機構的正反轉,而聯動需要首先設置采樣頻率和運行方式,之后再啟動電機進入發射狀態。下面詳細闡述上位機管理系統的設計。

3.2 數據采集方案設計

TwinCAT的PLC是基于PC開發的,與傳統PLC相比,其數據處理能力以及通信能力都有很大的提升,且其遵循IEC61131-3標準,可以更加便捷地采取ST、FBD、IL、SFC、LD 5種不同的語言進行編程。本文數據采集利用軟PLC完成,首先將采集到的數據存儲在PLC的臨時存儲區域內,通過ADS上傳給上位機。數據采集的周期有兩種,分別是:8 ms,來源于CANopen數據接口傳感器的CANopen數據和CAN數據信號;100 ms,來源于電機變頻器以及總線耦合器的Profibus-DP數據信號。

上位機軟件采用C++進行開發,臨時存儲的數據以鏈表形式存儲,上位機存儲的數據和采集的數據分別獨立在不同的線程中,防止了彼此干擾,做到了數據的相對獨立。

圖3 上位機管理系統總體流程圖

3.3 VC++與TwinCAT之間的通信方案設計

Beckhoff公司為了使各種高級計算機語言適用于ADS通信方式,為TwinCAT提供了一組不同的接口組件。這些接口組件均擁有一組接口函數,如為使TcAdsDll適用于VC++,只需要配置完成就可以方便地調用這些接口函數。TwinCAT ADS可以通過兩種方式來調用接口函數:① 采用變量名的方式,ADS會給每一個變量分配一個與其相對應的句柄,當用戶需要訪問的時候,直接獲取該變量所對應的句柄即可對該變量進行訪問;② 采用地址直接訪問的方式,首先使用索引組獲得變量的基地址,再通過索引偏移來獲取該變量的偏移地址,從而獲取需要訪問的變量[4]。

TwinCAT的通信方式有很多,采用VC++來實現通信,需要引用的接口函數為TcAdsDll,其引用步驟主要包括:添加接口函數給VC++工程;添加頭文件與庫函數的路徑以及庫函數TcAdsDll.lib到VC++工程中。其中添加接口函數給VC++工程中需要將#include“C:TwinCATADS ApiTcAdsDllIncludeTcAdsDef.h”和#include”C:TwinCATADS ApiTeAdsDllIncludeTcAdsAPI.h”兩個頭文件均放到VC++工程頭文件中[5]。操作完成后,界面如圖4所示。

圖4 添加頭文件及庫文件到VC++中

通過上述操作即可以調用TcAdsDll中的接口函數,然后需要進行上位機與TwinCAT PLC的數據讀寫,關鍵步驟如下。

① 對ADS端口進行初始化[6],主要使用的函數有AdsPortOpen()和AdsGetLocalAddress(pAddr)。

② 通過CreateHandles()函數創建并初始化句柄函數[7],因為TwinCAT與MFC是通過ADS進行通信的,此處通過nPort=AdsPortOpen()打開ADS,之后使用nErr=AdsGetLocalAddress得到ADS的適配器地址,從而完成通信。

③ 讀寫PLC中的數據,主要使用到AdsSyncReadWriteReq()、AdsSyncWriteReq()、AdsSyncReadReq()三個函數[8]。AdsSyncReadWriteReq()包含了AdsSyncReadWriteReq(pAddr,0xF020,0x0,sizeof(Status Word),&Status Word)和AdsSyncReadWriteReq(pAddr,0xF020,0x2,22,&Input22bByte[0])。前者用于從ADS中讀取狀態信息,pAddr為ADS的地址位,0xF020為段地址,0xO為偏移地址,sizeof(StatusWord)用于定義StatusWord的數據長度,&StatusWord為接收數據的緩存地址。而后者用于從ADS讀取端口信息,前部變量相同,&Input22Byte[0]用于接收數據的緩存地址[5]。

④ 關閉ADS端口。

4 實驗研究與結果分析

根據水下發射測控系統的總體設計方案,搭建水下發射實驗平臺,如圖5所示。考慮到水下15 m無波浪力影響的發射不會對發射過程造成過大影響,故本次實驗在陸基表面進行。

圖5 水下發射平臺實體圖

4.1 陸面等速實驗研究與結果分析

在TwinCAT的運動模式下,對發射筒轉動角度時間進行曲線擬合,并采用最小二乘法來計算不同控制情況的下的角速度。為確保精確度,進一步通過擬合誤差計算公式

(1)

來計算其實際角速度ω0與擬合角速度ω之間的誤差。

選擇等速運動選項,并設置需要的等速運動速度參數,單擊“運行”按鈕即可開始等速運動實驗,選取角速度為30°/s,收集實驗數據得到理論角速度和實際角速度的對比圖(見圖6)和其中一個循環周內的速度對比圖(見圖7)。

圖6 30°/s角速度下理論與實際角速度曲線

圖7 30°/s角速度下一個循環周期內理論與實際角速度曲線

由圖7可見,加速段的角位移為10°,勻速段的角位移為40°,而減速段的角位移為10°,符合勻速段的角位移大于40°的要求。為進一步驗證其誤差是否在精度要求之內,從實驗數據中選取9組數據,計算擬合誤差,其結果如表1所示。由表1可知,擬合誤差均低于0.01%,而角速度誤差均小于1%,可以忽略不計,等速運動滿足技術要求。

表1 9組30°/s角速度下誤差分析表

4.2 陸面正弦實驗研究與結果分析

在TwinCAT的運動模式下,選擇正弦運動模式,收集數據擬合曲線,擬合曲線與理論曲線基本重疊,如圖8所示。運動角度范圍在設定的85°~95°之間,運動頻率為0.5 Hz,為保證結果準確性,再從實驗數據中選取9組數據進行誤差分析,結果如表2所示。平均角度誤差均控制在0.05°以內,最大角度誤差均控制在0.5°內,正弦運動滿足技術要求。

圖8 正弦運動實際角速度曲線

實驗序號平均角度誤差最大角度誤差實驗序號平均角度誤差最大角度誤差10.050.2460.050.1720.020.2970.050.2730.010.2480.040.2140.040.1990.050.2650.030.19

5 結束語

設計了基于VC++和TwinCAT的水下發射系統,上位機與下位機之間使用ADS進行通信,根據設計方案搭建實驗平臺,使其運動軌跡能夠滿足技術指標要求。在上位機設計過程中,著重分析了TwinCAT PLC與上位機之間信息讀寫功能的實現以及TwinCAT與VC++接口的實現。實驗平臺在水下搭建完畢之后,進行了兩種運動的實驗檢測,結果證實基于TwinCAT的水下發射平臺能夠滿足技術指標要求,對水下平臺的控制研究具有很大的參考價值。

猜你喜歡
實驗
我做了一項小實驗
記住“三個字”,寫好小實驗
我做了一項小實驗
我做了一項小實驗
記一次有趣的實驗
有趣的實驗
小主人報(2022年4期)2022-08-09 08:52:06
微型實驗里看“燃燒”
做個怪怪長實驗
NO與NO2相互轉化實驗的改進
實踐十號上的19項實驗
太空探索(2016年5期)2016-07-12 15:17:55
主站蜘蛛池模板: 国产高清国内精品福利| 无码日韩视频| 久久人人97超碰人人澡爱香蕉| 国产精品妖精视频| 九九九精品成人免费视频7| 亚洲国产理论片在线播放| 亚洲日韩Av中文字幕无码| 国产成人资源| 波多野结衣爽到高潮漏水大喷| 国产91线观看| 国产精品网址在线观看你懂的 | 久久国语对白| 天天综合天天综合| 在线a网站| 国产成人在线无码免费视频| 日韩精品成人在线| 97久久免费视频| 精品福利视频导航| 熟妇丰满人妻| 啦啦啦网站在线观看a毛片| 国产成人无码播放| 亚洲第一色网站| 九色在线观看视频| 一级毛片免费不卡在线| 欧美区国产区| a亚洲视频| 青青草一区| 亚洲伦理一区二区| 亚洲午夜天堂| 久久特级毛片| 国产在线精品99一区不卡| 性激烈欧美三级在线播放| 波多野结衣久久高清免费| 久久精品国产精品国产一区| 亚洲天堂区| 亚洲欧洲自拍拍偷午夜色无码| 在线观看视频99| 国产精品无码一区二区桃花视频| 中文字幕亚洲综久久2021| A级全黄试看30分钟小视频| 国产成人一区免费观看| 欧美午夜在线观看| 少妇被粗大的猛烈进出免费视频| 野花国产精品入口| 国产黄在线免费观看| 广东一级毛片| 久久亚洲国产一区二区| 婷婷六月在线| 露脸一二三区国语对白| 亚洲天堂在线免费| 狠狠干欧美| 国产精品亚洲专区一区| 免费观看亚洲人成网站| 国产91视频免费观看| 孕妇高潮太爽了在线观看免费| 欧洲av毛片| 青青青国产视频| 亚洲欧洲日本在线| 国产毛片基地| 亚洲第一精品福利| 日韩在线播放中文字幕| 国产美女无遮挡免费视频| 欧美精品三级在线| 中文字幕第1页在线播| 91久久精品国产| 国产一级在线观看www色| 亚洲第一黄片大全| 日韩精品无码免费专网站| 欧美三级视频网站| 亚洲最黄视频| 无码 在线 在线| 911亚洲精品| 无遮挡一级毛片呦女视频| 91av成人日本不卡三区| 成人av专区精品无码国产| 久久毛片网| 欧美亚洲激情| 一区二区三区四区在线| 欧美午夜理伦三级在线观看| 中文字幕亚洲综久久2021| 国产视频资源在线观看| 午夜久久影院|