概覽
有了來自Nation Instruments的LabVIEW NI SoftMotion模塊,您可以使用LabVIEW項目對您的運動軸設置進行配置和測試,調節您的
伺服電機。它提供了使用基于PLCOpen IEC 1131-3規范的高級函數模塊API的運動輪廓編程的易用性。除了對全新NI C系列驅動器接口的本地支持之外,NI SoftMotion技術還提供了軸界面節點,可以用來添加專用I/O、定制控制算法或是與第三方驅動器的附加通信接口。此外,在結合SolidWorks Premium 3D CAD設計應用程序時,這個技術為
運動控制應用程序和機械設計提供了數字原型開發功能。使用用于SolidWorks的NI SoftMotion,您可以在花費成本構建物理原型系統之前,對在SolidWorks中創建的系統用NI SoftMotion函數模塊開發的實際運動輪廓進行仿真。
使用帶有NI掃描引擎的NI SoftMotion
結合您的硬件使用NI SoftMotion函數模塊或軸界面節點,您必須在LabVIEW項目中創建軸、坐標系和表格。這些項與運動I/O資源相關,在使用NI SoftMotion函數模塊或軸界面節點創建運動控制應用程序時使用。使用軸管理器對話框將您的硬件與NI SoftMotion軸關聯在一起。軸包含軌跡生成器、比例積分微分(PID)控制循環或步進輸出以及監督控制。您可以將NI SoftMotion軸與仿真硬件或實際硬件關聯在一起。伺服軸需要編碼器反饋資源。開環步進軸不需要操作反饋。
您可以根據與NI SoftMotion軸進行關聯的硬件,創建以下類型的軸:
NI 951x軸(掃描界面模式)
仿真軸
固態工作軸
無限制軸
[align=center]

圖1:NI SoftMotion軸管理器對話框[/align]
使用配置坐標空間對話框將軸在坐標系中進行組織。坐標系是軸的邏輯組合,用來作為可以使用坐標系資源的NI SoftMotion函數模塊的輸入。使用坐標系,您可以指定多個軸運動,確保所有的軸在相同的時間開始和結束。這與在同一時刻開始并非坐標系組成部分的獨立軸不同——軸開始運動是同步的,但停止運動卻不是同步的。
[align=center]

圖2:NI SoftMotion配置坐標系空間對話框

圖3:含有完成配置的運動軸與坐標系空間的LabVIEW項目[/align]
所有運動控制I/O和執行信息都被加入全局掃描引擎內存映射,并在每個掃描周期進行更新。在同一個掃描周期中執行的函數模塊在相同的掃描周期進行同步,其中包括線性、停止、調速和凸輪系統。這意味著您可以在同一個掃描周期中開始軸、坐標系、調速操作或是凸輪系統操作。然而,以同步方式開始的軸并不同步地結束。為了同步結束這些運動,您必須在同一時間計算結束所有軸運動的約束條件,或是配置坐標系從而能夠自動計算這些數值。
由于函數模塊執行是在掃描引擎周期內的,因此可能在響應外部事件時或是同步不同軸類型時等,會有較小的延遲。表1定義了最小延遲與最大延遲。
表1:函數模塊執行延遲
使用NI SoftMotion函數模塊
LabVIEW NI SoftMotion模塊提供了函數模塊,用于構建使用函數模塊編程模型的確定性運動控制應用程序。
LabVIEW具有基于IEC 61131-3工業控制系統編程國際標準的函數模塊。這些函數模塊為實時應用而設計,能夠將其參數作為共享變量,用于人機界面(HMI)編程和狀態監視中。您可以利用這些熟悉的工業函數模塊和LabVIEW中的所有VI與函數,開發簡單和復雜的工業測量與控制應用程序。
在Windows平臺下安裝了LabVIEW和LabVIEW實時模塊后,您可以使用LabVIEW函數模塊,它們與LabVIEW實時模塊一起進行安裝。LabVIEW NI SoftMotion安裝附加的函數模塊,提供運動控制函數,并且讓您使用LabVIEW項目來配置并測試您的運動軸設置,調節伺服電機。LabVIEW NI SoftMotion包含在LabVIEW的平臺DVD中。您可以安裝模塊的30天試用版或使用限制功能的免費版模塊。
函數模塊使用LabVIEW編寫,設計用于非阻塞確定性執行的實時應用中,使得它們適用于對時間確定性要求非常嚴格的代碼中。函數模塊的每個實例都有唯一的名稱和可重入執行的內存空間。因此,您可以在應用程序中獨立使用這些函數模塊。舉例而言,您可以使用PID函數模塊的每個實例控制一個獨立的系統。
在應用中使用的函數模塊在LabVIEW項目中可見,并且能夠遠程訪問每個終端中的共享變量。您可以在函數模塊的屬性頁面中配置這些終端和變量。
在默認設置下,終端變量被配置為單線程實時FIFO的共享變量,因此您可以在實時應用中使用,從而避免訪問變量值時的抖動。您可以配置每個終端,從程序框圖的終端中接收數值,或是從對應的共享變量或是常量中遠程接收數值。
您可以將終端變量配置為網絡發布共享變量,為HMI編程和遠程監視提供遠程參數數值訪問。對于HMI編程,您可以在臺式機或工業觸摸屏計算機的LabVIEW應用程序中使用共享變量。NI分布式系統管理器可以用于監視在網絡上的系統和管理發布數據。對于系統管理員,您無需LabVIEW開發環境就可以查看函數模塊參數數值。通過配置函數模塊終端接收變量數值,您還可以通過系統管理器寫入參數數值,舉例而言,您可以遠程調節PID函數模塊。
NI SoftMotion函數模塊還包含其他用于監視和維護每個函數模塊狀態的附加參數。用于NI SoftMotion函數模塊的API是非阻塞、異步的API,您可以用來與您的運動控制硬件進行通信。
下表提供了運動控制函數模塊的概述。

以下技巧可能會在您使用LabVIEW中的NI SoftMotion函數模塊進行編程時起到幫助:
使用函數模塊的VI必須存在于LabVIEW項目中。
函數模塊必須在循環中運行。根據您應用需求的不同,您可以選擇使用等待下一個整數倍毫秒函數進行定時的while循環,或是如果您的應用需要函數模塊以一定掃描周期執行,也可以使用與NI掃描引擎同步的定時循環。
使用函數模塊狀態輸出判斷函數模塊執行的順序,這并不是標準的LabVIEW編程方法。舉例而言,不要將函數模塊放在條件分支中。
您必須在應用循環外初始化所有的矩陣輸出,以便讓函數模塊不進行內存分配。這可以減少系統的漂移和抖動。
為了確定函數模塊執行的順序,運動控制函數模塊提供了狀態參數。下表提供了函數模塊狀態參數行為的簡介。
執行、錯誤輸出、完成、中止、忙碌和活動參數根據以下內容執行: