概覽
有了來(lái)自Nation Instruments的LabVIEW NI SoftMotion模塊,您可以使用LabVIEW項(xiàng)目對(duì)您的運(yùn)動(dòng)軸設(shè)置進(jìn)行配置和測(cè)試,調(diào)節(jié)您的伺服電機(jī)。它提供了使用基于PLCOpen IEC 1131-3規(guī)范的高級(jí)函數(shù)模塊API的運(yùn)動(dòng)輪廓編程的易用性。除了對(duì)全新NI C系列驅(qū)動(dòng)器接口的本地支持之外,NI SoftMotion技術(shù)還提供了軸界面節(jié)點(diǎn),可以用來(lái)添加專用I/O、定制控制算法或是與第三方驅(qū)動(dòng)器的附加通信接口。此外,在結(jié)合SolidWorks Premium 3D CAD設(shè)計(jì)應(yīng)用程序時(shí),這個(gè)技術(shù)為運(yùn)動(dòng)控制應(yīng)用程序和機(jī)械設(shè)計(jì)提供了數(shù)字原型開發(fā)功能。使用用于SolidWorks的NI SoftMotion,您可以在花費(fèi)成本構(gòu)建物理原型系統(tǒng)之前,對(duì)在SolidWorks中創(chuàng)建的系統(tǒng)用NI SoftMotion函數(shù)模塊開發(fā)的實(shí)際運(yùn)動(dòng)輪廓進(jìn)行仿真。
使用帶有NI掃描引擎的NI SoftMotion
結(jié)合您的硬件使用NI SoftMotion函數(shù)模塊或軸界面節(jié)點(diǎn),您必須在LabVIEW項(xiàng)目中創(chuàng)建軸、坐標(biāo)系和表格。這些項(xiàng)與運(yùn)動(dòng)I/O資源相關(guān),在使用NI SoftMotion函數(shù)模塊或軸界面節(jié)點(diǎn)創(chuàng)建運(yùn)動(dòng)控制應(yīng)用程序時(shí)使用。使用軸管理器對(duì)話框?qū)⒛挠布cNI SoftMotion軸關(guān)聯(lián)在一起。軸包含軌跡生成器、比例積分微分(PID)控制循環(huán)或步進(jìn)輸出以及監(jiān)督控制。您可以將NI SoftMotion軸與仿真硬件或?qū)嶋H硬件關(guān)聯(lián)在一起。伺服軸需要編碼器反饋資源。開環(huán)步進(jìn)軸不需要操作反饋。
您可以根據(jù)與NI SoftMotion軸進(jìn)行關(guān)聯(lián)的硬件,創(chuàng)建以下類型的軸:
NI 951x軸(掃描界面模式)
仿真軸
固態(tài)工作軸
無(wú)限制軸
圖1:NI SoftMotion軸管理器對(duì)話框
使用配置坐標(biāo)空間對(duì)話框?qū)⑤S在坐標(biāo)系中進(jìn)行組織。坐標(biāo)系是軸的邏輯組合,用來(lái)作為可以使用坐標(biāo)系資源的NI SoftMotion函數(shù)模塊的輸入。使用坐標(biāo)系,您可以指定多個(gè)軸運(yùn)動(dòng),確保所有的軸在相同的時(shí)間開始和結(jié)束。這與在同一時(shí)刻開始并非坐標(biāo)系組成部分的獨(dú)立軸不同——軸開始運(yùn)動(dòng)是同步的,但停止運(yùn)動(dòng)卻不是同步的。
圖2:NI SoftMotion配置坐標(biāo)系空間對(duì)話框
圖3:含有完成配置的運(yùn)動(dòng)軸與坐標(biāo)系空間的LabVIEW項(xiàng)目
所有運(yùn)動(dòng)控制I/O和執(zhí)行信息都被加入全局掃描引擎內(nèi)存映射,并在每個(gè)掃描周期進(jìn)行更新。在同一個(gè)掃描周期中執(zhí)行的函數(shù)模塊在相同的掃描周期進(jìn)行同步,其中包括線性、停止、調(diào)速和凸輪系統(tǒng)。這意味著您可以在同一個(gè)掃描周期中開始軸、坐標(biāo)系、調(diào)速操作或是凸輪系統(tǒng)操作。然而,以同步方式開始的軸并不同步地結(jié)束。為了同步結(jié)束這些運(yùn)動(dòng),您必須在同一時(shí)間計(jì)算結(jié)束所有軸運(yùn)動(dòng)的約束條件,或是配置坐標(biāo)系從而能夠自動(dòng)計(jì)算這些數(shù)值。
由于函數(shù)模塊執(zhí)行是在掃描引擎周期內(nèi)的,因此可能在響應(yīng)外部事件時(shí)或是同步不同軸類型時(shí)等,會(huì)有較小的延遲。表1定義了最小延遲與最大延遲。
使用NI SoftMotion函數(shù)模塊
LabVIEW NI SoftMotion模塊提供了函數(shù)模塊,用于構(gòu)建使用函數(shù)模塊編程模型的確定性運(yùn)動(dòng)控制應(yīng)用程序。
LabVIEW具有基于IEC 61131-3工業(yè)控制系統(tǒng)編程國(guó)際標(biāo)準(zhǔn)的函數(shù)模塊。這些函數(shù)模塊為實(shí)時(shí)應(yīng)用而設(shè)計(jì),能夠?qū)⑵?a target="_blank">參數(shù)作為共享變量,用于人機(jī)界面(HMI)編程和狀態(tài)監(jiān)視中。您可以利用這些熟悉的工業(yè)函數(shù)模塊和LabVIEW中的所有VI與函數(shù),開發(fā)簡(jiǎn)單和復(fù)雜的工業(yè)測(cè)量與控制應(yīng)用程序。
在Windows平臺(tái)下安裝了LabVIEW和LabVIEW實(shí)時(shí)模塊后,您可以使用LabVIEW函數(shù)模塊,它們與LabVIEW實(shí)時(shí)模塊一起進(jìn)行安裝。LabVIEW NI SoftMotion安裝附加的函數(shù)模塊,提供運(yùn)動(dòng)控制函數(shù),并且讓您使用LabVIEW項(xiàng)目來(lái)配置并測(cè)試您的運(yùn)動(dòng)軸設(shè)置,調(diào)節(jié)伺服電機(jī)。LabVIEW NI SoftMotion包含在LabVIEW的平臺(tái)DVD中。您可以安裝模塊的30天試用版或使用限制功能的免費(fèi)版模塊。
函數(shù)模塊使用LabVIEW編寫,設(shè)計(jì)用于非阻塞確定性執(zhí)行的實(shí)時(shí)應(yīng)用中,使得它們適用于對(duì)時(shí)間確定性要求非常嚴(yán)格的代碼中。函數(shù)模塊的每個(gè)實(shí)例都有唯一的名稱和可重入執(zhí)行的內(nèi)存空間。因此,您可以在應(yīng)用程序中獨(dú)立使用這些函數(shù)模塊。舉例而言,您可以使用PID函數(shù)模塊的每個(gè)實(shí)例控制一個(gè)獨(dú)立的系統(tǒng)。
在應(yīng)用中使用的函數(shù)模塊在LabVIEW項(xiàng)目中可見,并且能夠遠(yuǎn)程訪問每個(gè)終端中的共享變量。您可以在函數(shù)模塊的屬性頁(yè)面中配置這些終端和變量。
在默認(rèn)設(shè)置下,終端變量被配置為單線程實(shí)時(shí)FIFO的共享變量,因此您可以在實(shí)時(shí)應(yīng)用中使用,從而避免訪問變量值時(shí)的抖動(dòng)。您可以配置每個(gè)終端,從程序框圖的終端中接收數(shù)值,或是從對(duì)應(yīng)的共享變量或是常量中遠(yuǎn)程接收數(shù)值。
您可以將終端變量配置為網(wǎng)絡(luò)發(fā)布共享變量,為HMI編程和遠(yuǎn)程監(jiān)視提供遠(yuǎn)程參數(shù)數(shù)值訪問。對(duì)于HMI編程,您可以在臺(tái)式機(jī)或工業(yè)觸摸屏計(jì)算機(jī)的LabVIEW應(yīng)用程序中使用共享變量。NI分布式系統(tǒng)管理器可以用于監(jiān)視在網(wǎng)絡(luò)上的系統(tǒng)和管理發(fā)布數(shù)據(jù)。對(duì)于系統(tǒng)管理員,您無(wú)需LabVIEW開發(fā)環(huán)境就可以查看函數(shù)模塊參數(shù)數(shù)值。通過(guò)配置函數(shù)模塊終端接收變量數(shù)值,您還可以通過(guò)系統(tǒng)管理器寫入?yún)?shù)數(shù)值,舉例而言,您可以遠(yuǎn)程調(diào)節(jié)PID函數(shù)模塊。
NI SoftMotion函數(shù)模塊還包含其他用于監(jiān)視和維護(hù)每個(gè)函數(shù)模塊狀態(tài)的附加參數(shù)。用于NI SoftMotion函數(shù)模塊的API是非阻塞、異步的API,您可以用來(lái)與您的運(yùn)動(dòng)控制硬件進(jìn)行通信。
下表提供了運(yùn)動(dòng)控制函數(shù)模塊的概述。
選板對(duì)象 選板符號(hào)
描述
直線
使用軸或坐標(biāo)系資源完成直線運(yùn)動(dòng)。直線運(yùn)動(dòng)使用一條或多條軸連接兩點(diǎn)。運(yùn)動(dòng)行為隨著直線運(yùn)動(dòng)模式的設(shè)置而變化。
弧線
完成圓形、圓弧或螺旋線運(yùn)動(dòng)。弧線運(yùn)動(dòng)使用您所指定的半徑生成圓形運(yùn)動(dòng)?;【€運(yùn)動(dòng)的類型隨著圓弧運(yùn)動(dòng)模式的設(shè)置而變化。
曲線
使用軸或坐標(biāo)系資源完成曲線運(yùn)動(dòng)。曲線運(yùn)動(dòng)由軟件插值得到光滑曲線時(shí)所使用的一系列位置來(lái)描述。這些位置存儲(chǔ)在表格中。 運(yùn)動(dòng)中的每個(gè)點(diǎn)以絕對(duì)位置進(jìn)行表示,使用運(yùn)動(dòng)的開始點(diǎn)作為暫時(shí)的“零點(diǎn)”位置。曲線運(yùn)動(dòng)的類型根據(jù)曲線模式的設(shè)置而變化。
參考
完成參考運(yùn)動(dòng),例如在軸資源上定位初始點(diǎn)或極限位置。參考移動(dòng)用來(lái)初始化運(yùn)動(dòng)控制系統(tǒng),建立可重復(fù)的參考位置。移動(dòng)根據(jù)參考移動(dòng)模式的設(shè)置而變化。
捕捉
根據(jù)例如傳感器狀態(tài)等外部輸入記錄編碼器位置。您可以使用采集得到的位置來(lái)完成相對(duì)于采集位置的運(yùn)動(dòng),或是僅僅是在采集事件發(fā)生的時(shí)候記錄編碼器位置。
比較
將電機(jī)與外部活動(dòng)和指定的編碼器位置進(jìn)行同步。當(dāng)達(dá)到指定位置時(shí),能夠得到用戶可配置的脈沖。位置比較操作根據(jù)比較模式的設(shè)置而變化。
調(diào)速
配置指定軸進(jìn)行調(diào)速操作。調(diào)速將從軸的運(yùn)動(dòng)與主軸的運(yùn)動(dòng)進(jìn)行同步,主軸運(yùn)動(dòng)可以是編碼器或是另一個(gè)軸的軌跡。從軸運(yùn)動(dòng)可以相對(duì)于主軸以更高或更低的轉(zhuǎn)速比進(jìn)行。例如,主軸每轉(zhuǎn)一次,從軸可能轉(zhuǎn)動(dòng)兩次。調(diào)速操作根據(jù)調(diào)速模式設(shè)置的變化而變化。
凸輪
為指定軸配置凸輪操作。這些比例由NI SoftMotion自動(dòng)進(jìn)行管理,從而能夠?qū)φ{(diào)速比例進(jìn)行精確切換。凸輪用于從軸速度與主軸速度比不是線性關(guān)系的應(yīng)用中。這個(gè)類型的凸輪操作根據(jù)凸輪模式設(shè)置而變化。
讀取
從軸、坐標(biāo)系、反饋和其他資源中讀取狀態(tài)和數(shù)據(jù)信息。使用可用的讀取方法獲取不同資源的信息。
寫入
向軸、坐標(biāo)系或反饋資源寫入狀態(tài)和數(shù)據(jù)信息。使用可用的寫入方法向不同資源寫入信息。
重置位置
在指定軸或坐標(biāo)系上重置位置。
停止
在軸或坐標(biāo)系上停止當(dāng)前運(yùn)動(dòng)。移動(dòng)行為根據(jù)停止模式的設(shè)置而變化。
在指定軸或坐標(biāo)系資源上開啟或關(guān)閉軸和驅(qū)動(dòng)器。
清除默認(rèn)值
清除NI SoftMotion默認(rèn)值。
以下技巧可能會(huì)在您使用LabVIEW中的NI SoftMotion函數(shù)模塊進(jìn)行編程時(shí)起到幫助:
使用函數(shù)模塊的VI必須存在于LabVIEW項(xiàng)目中。
函數(shù)模塊必須在循環(huán)中運(yùn)行。根據(jù)您應(yīng)用需求的不同,您可以選擇使用等待下一個(gè)整數(shù)倍毫秒函數(shù)進(jìn)行定時(shí)的while循環(huán),或是如果您的應(yīng)用需要函數(shù)模塊以一定掃描周期執(zhí)行,也可以使用與NI掃描引擎同步的定時(shí)循環(huán)。
使用函數(shù)模塊狀態(tài)輸出判斷函數(shù)模塊執(zhí)行的順序,這并不是標(biāo)準(zhǔn)的LabVIEW編程方法。舉例而言,不要將函數(shù)模塊放在條件分支中。
您必須在應(yīng)用循環(huán)外初始化所有的矩陣輸出,以便讓函數(shù)模塊不進(jìn)行內(nèi)存分配。這可以減少系統(tǒng)的漂移和抖動(dòng)。
為了確定函數(shù)模塊執(zhí)行的順序,運(yùn)動(dòng)控制函數(shù)模塊提供了狀態(tài)參數(shù)。下表提供了函數(shù)模塊狀態(tài)參數(shù)行為的簡(jiǎn)介。
執(zhí)行、錯(cuò)誤輸出、完成、中止、忙碌和活動(dòng)參數(shù)根據(jù)以下內(nèi)容執(zhí)行:
輸出狀態(tài) 完成和中止輸出在執(zhí)行的下降沿重置。但是,執(zhí)行的下降沿并不停止或影響實(shí)際函數(shù)模塊的執(zhí)行。必須確保在每個(gè)循環(huán)中對(duì)對(duì)應(yīng)的輸出進(jìn)行配置,如果這些狀態(tài)中的一個(gè)會(huì)發(fā)生——即便執(zhí)行在函數(shù)模塊完成之前被重置。如果函數(shù)模塊實(shí)例在完成之前收到新的執(zhí)行(作為同一實(shí)例下的一系列指令),函數(shù)模塊不會(huì)為函數(shù)模塊的前一執(zhí)行,返回例如完成或中止等任何狀態(tài)輸出。
輸入?yún)?shù) 函數(shù)模塊的輸入?yún)?shù)與執(zhí)行輸入的上升沿一起使用。要修改任何參數(shù),必須修改輸入?yún)?shù)并且重新執(zhí)行函數(shù)模塊。
未連接的輸入?yún)?shù) 如果函數(shù)模塊有未連接的輸入,將使用這個(gè)函數(shù)模塊上一次執(zhí)行時(shí)的參數(shù)值。在函數(shù)模塊的首次執(zhí)行時(shí),使用默認(rèn)值。
符號(hào)規(guī)則 加速、減速、加加速度、減加速度輸入總是正值。目標(biāo)位置和距離可以為正數(shù)也可以為負(fù)數(shù)。除了使用速度方法完成直線運(yùn)動(dòng)之外,速度在所有情況下為正數(shù)。
錯(cuò)誤處理行為 所有函數(shù)模塊都包含錯(cuò)誤輸出簇,對(duì)執(zhí)行函數(shù)模塊中可能發(fā)生的錯(cuò)誤進(jìn)行處理。這些輸出描述如下:
在函數(shù)模塊執(zhí)行中發(fā)生錯(cuò)誤時(shí),狀態(tài)變?yōu)檎?。在錯(cuò)誤發(fā)生之后,狀態(tài)輸出僅在第一個(gè)循環(huán)執(zhí)行中保持真。如果您希望將錯(cuò)誤狀態(tài)保持為真,必須使用移位寄存器將錯(cuò)誤信息傳遞到之后的循環(huán)執(zhí)行中。
代碼是錯(cuò)誤代碼或警告代碼。如果狀態(tài)為真,代碼是非零錯(cuò)誤代碼。如果狀態(tài)為假,代碼為0或警告代碼。
源描述了錯(cuò)誤或警告的來(lái)源,在大多數(shù)情況下,是產(chǎn)生錯(cuò)誤或警告的函數(shù)模塊名稱。
如果在函數(shù)模塊中發(fā)生了錯(cuò)誤,執(zhí)行時(shí)間可能會(huì)增加。
完成輸出行為 完成輸出在指令行為完成的時(shí)候被置位。如果有多個(gè)函數(shù)模塊順序?qū)ν粋€(gè)資源進(jìn)行操作,在一個(gè)資源上的運(yùn)動(dòng)被同一資源上的另一個(gè)運(yùn)動(dòng)中斷而沒有達(dá)到終點(diǎn)時(shí),第一個(gè)函數(shù)模塊的完成并不會(huì)被置位。
中止輸出行為 在一個(gè)指令被另一個(gè)指令中斷時(shí),中止被置位。中止行為與完成行為相似。在中止發(fā)生時(shí),其他輸出信號(hào)被重置。
在您使用另一個(gè)在不同資源上的另一個(gè)函數(shù)來(lái)中斷執(zhí)行時(shí),中止并不返回真。舉例而言,執(zhí)行坐標(biāo)系中一條軸上的直線運(yùn)動(dòng)并不會(huì)中止運(yùn)行中的坐標(biāo)系運(yùn)動(dòng)。實(shí)際上,弧線運(yùn)動(dòng)被設(shè)置為真,并且停止執(zhí)行。
輸入超過(guò)應(yīng)用程序限制 如果一個(gè)函數(shù)模塊的輸入?yún)?shù)違反應(yīng)用程序限制,這個(gè)函數(shù)模塊實(shí)例將會(huì)產(chǎn)生一個(gè)錯(cuò)誤。
忙碌輸出行為 每個(gè)函數(shù)模塊都含有忙碌輸出,表明函數(shù)模塊執(zhí)行還沒有完成。忙碌在執(zhí)行的上升沿被置位,在完成、中止或錯(cuò)誤輸出被設(shè)置的時(shí)候重置。建議不要在忙碌輸出為真的時(shí)候停止應(yīng)用程序,否則軟件可能會(huì)處于未定義的狀態(tài)中。
輸出活動(dòng) 在函數(shù)模塊得到指定資源控制權(quán)、所有屬性被設(shè)置并且函數(shù)模塊開始執(zhí)行時(shí),活動(dòng)輸出被設(shè)置為真。一旦活動(dòng)輸出為真,函數(shù)模塊在下一個(gè)掃描周期生效。
責(zé)任編輯:gt
評(píng)論
查看更多