久久机热综合久久国产_国产成人亚洲综合一区_国产中文字幕在线_欧美国产中文在线字幕视频

 
捷浦智能專注為工業(yè)智能制造提供運(yùn)動(dòng)控制卡
捷浦智能
Jiepu Intelligence
為工業(yè)自動(dòng)化提供最佳解決方案
捷浦智能國(guó)產(chǎn)多軸運(yùn)動(dòng)控制器
聯(lián)系電話:      18925289017      15507535427
捷浦智能
捷浦智能專注為工業(yè)智能制造場(chǎng)景提供精密執(zhí)行單元,控制核心零部件,傳感模塊,C++設(shè)備軟件
運(yùn)動(dòng)控制器全解析:品牌、原理與編程
來源: | 作者:jiepus | 發(fā)布時(shí)間: 2024-12-08 | 193 次瀏覽 | 分享到:

一、運(yùn)動(dòng)控制器

  • 運(yùn)動(dòng)控制器是一種硬件設(shè)備,主要用于運(yùn)動(dòng)控制和運(yùn)動(dòng)控制系統(tǒng)。它可以接收來自計(jì)算機(jī)或其他控制設(shè)備的指令,控制電機(jī)、伺服電機(jī)、氣缸、閥門、編碼器等執(zhí)行器,控制它們按照特定的速度和軌跡進(jìn)行運(yùn)動(dòng)。

  • 運(yùn)動(dòng)控制器通常具有高速計(jì)數(shù)器、PWM輸出、數(shù)字輸入輸出、模擬輸入輸出等功能,以及各種通信接口,如PCI、PCIe、USB、以太網(wǎng)等。運(yùn)動(dòng)控制器的種類很多,主要包括通用運(yùn)動(dòng)控制器、伺服電機(jī)控制器、步進(jìn)電機(jī)控制器等。不同種類的運(yùn)動(dòng)控制器適用于不同類型的運(yùn)動(dòng)控制應(yīng)用,如機(jī)床、機(jī)器人、自動(dòng)化設(shè)備、醫(yī)療設(shè)備等。

二、運(yùn)動(dòng)控制器品牌及選型

  • 常見的運(yùn)動(dòng)控制器品牌有美國(guó)的National Instruments(NI)、德國(guó)的Beckhoff、日本的三菱、富士、松下等。使用運(yùn)動(dòng)控制器進(jìn)行運(yùn)動(dòng)控制時(shí),通常需要編寫相應(yīng)的控制程序,根據(jù)不同的控制器和控制器的類型,編程語言也可能不同,如C、C++、VB、LabVIEW等。

  • 要使用C#操作運(yùn)動(dòng)控制,通常需要使用相應(yīng)的控制器的API或SDK。不同品牌的運(yùn)動(dòng)控制器API或SDK具有不同的調(diào)用方式和接口。例如,以美國(guó)National Instruments(NI)的運(yùn)動(dòng)控制器為例,可以使用NI Motion控制器API進(jìn)行編程,其包含了一系列的函數(shù)庫(kù)和控制指令,可以實(shí)現(xiàn)運(yùn)動(dòng)控制的各種功能,如運(yùn)動(dòng)控制、編碼器讀取、IO控制等。

三、運(yùn)動(dòng)控制器編程技巧

  • 在VS2010中創(chuàng)建程序 啟動(dòng)Visual Studio 2010選擇“文件”→“新建” →“項(xiàng)目”,選擇Windows窗體應(yīng)用程序。名稱可自主選擇如“Motion”;點(diǎn)擊方案資源管理器,點(diǎn)擊引用,鼠標(biāo)右鍵點(diǎn)擊選擇添加引用,加入需要添加的引用,如研華1245AE加入的引用為“AdvMotAPI.dll”;至此程序已創(chuàng)建完成可以開始后續(xù)的編程工作。

  • 程序接口規(guī)劃 界面規(guī)劃如下圖所示。

  • 程序編寫框架 系統(tǒng)初始化;軸參數(shù)設(shè)置;IO狀態(tài)獲取;參數(shù)保存;多線程實(shí)現(xiàn)實(shí)時(shí)監(jiān)控;錯(cuò)誤處理機(jī)制。

四、高級(jí)編程技巧

  • 運(yùn)動(dòng)順序執(zhí)行是最常見的編程問題之一,關(guān)系到設(shè)備后續(xù)控制動(dòng)作能否正常運(yùn)行。如果編程時(shí)只是單獨(dú)使用While循環(huán),執(zhí)行后會(huì)發(fā)現(xiàn)上位機(jī)界面被卡死,按鍵不能響應(yīng)。上述程序,在啟動(dòng)運(yùn)動(dòng)位置到dist_0過程中需不斷循環(huán)判斷運(yùn)動(dòng)是否停止,在條件不滿足即運(yùn)動(dòng)沒有停止時(shí)程序一直處于循環(huán)中,程序?qū)?huì)占用整個(gè)軟件的進(jìn)程時(shí)間資源,即進(jìn)入了死循環(huán),其它進(jìn)程消息不能及時(shí)響應(yīng),導(dǎo)致上位機(jī)界面卡死。因此我們需要軟件在循環(huán)判斷運(yùn)動(dòng)狀態(tài)的同時(shí)還需響應(yīng)其它進(jìn)程消息。

  • 軟件多線程可解決上述問題,但多線程較麻煩。可以使用軟件自動(dòng)函數(shù)實(shí)現(xiàn)。VB編程中有系統(tǒng)自動(dòng)線程函數(shù)“DoEvents”。VC編程中有類似線程查詢函數(shù)“PeekMessage”。C#編程中有系統(tǒng)自動(dòng)線程函數(shù)“DoEvents”。Labview編程中有在循環(huán)框中添加延時(shí)時(shí)間。

五、總結(jié)

  • 運(yùn)動(dòng)控制器是一種基于PC機(jī)及工業(yè)PC機(jī)、用于各種運(yùn)動(dòng)控制場(chǎng)合(包括位移、速度、加速度等)的上位控制單元。采用專業(yè)運(yùn)動(dòng)控制芯片或高速DSP作為運(yùn)動(dòng)控制核心,大多用于控制步進(jìn)電機(jī)或伺服電機(jī)。一般地,運(yùn)動(dòng)控制器與PC機(jī)構(gòu)成主從式控制結(jié)構(gòu):PC機(jī)負(fù)責(zé)人機(jī)交互界面的管理和控制系統(tǒng)的實(shí)時(shí)監(jiān)控等方面的工作(例如鍵盤和鼠標(biāo)的管理、系統(tǒng)狀態(tài)的顯示、運(yùn)動(dòng)軌跡規(guī)劃、控制指令的發(fā)送、外部信號(hào)的監(jiān)控等等);控制器完成運(yùn)動(dòng)控制的所有細(xì)節(jié)(包括脈沖和方向信號(hào)的輸出、自動(dòng)升降速的處理、原點(diǎn)和限位等信號(hào)的檢測(cè)等等)。