在 06-17-2014 04:37 AM
Hi All
近期欲使用C#軟體控制PCI7530軸卡,但因為從沒碰過NI系統,所以對於NI程式碼撰寫上有問題請教網路上前輩,
程式流程根據NI提供VB範例程式寫,但在實際執行中,發現程式中err會有問題,範例程式提到判斷err是否等於0,
若為零表沒問題,反之則不等於0,但我在實際執行寫的程式時,err狀態是不等於0,唯一不得其解的是同樣的方
式呼叫函示,範例碼沒問題,反之我自己所寫的程式卻會有這樣的狀況出現,不知各位是否有遇過類似的問題。
err = flex_load_rpsps(boardID, axis, NIMC_ACCELERATION, acceleration, 0xFF);
在 06-17-2014 08:22 PM
在C#中使用FlexMotion,請參考下列連結與範例。
http://digital.ni.com/public.nsf/allkb/67253305A52EFB1986256E94005945D2
To use the NI-Motion DLLs in the .NET languages, you must create a wrapper around the DLL.
http://www.ni.com/example/29956/en/
在 06-17-2014 09:28 PM
Hi Ting1224 你好
可能上篇的問題中沒說的很清楚,首先程式裡面我有把FlexMotion函示庫,加入定義與宣告,
現在的問題點:
1.不知為何我將參數寫入函示,回傳err不等於0的狀態,有檢查過函示中定義的變數也都沒問題
2.延續上個問題,既然回傳狀態不等於0的話,應該是表示寫入參數可能有問題,但為何我實際
用馬達跑,執行flex_start時,馬達居然會動,這真的讓我百思不得其解。
在 06-18-2014 10:18 PM
您前面有提到說跑範例程式不會有問題,但是自己改寫後就有問題的話,
最有可能的原因是API下的順序不對,建議你參考一下範例程式中呼叫API的順序以及參數,
順序或是參數不對的話都有可能會造成Error的發生。
至於你所提到的Error不等於零,但是馬達還是會動,有可能是API回傳的Warning,而不一定是Error,
建議你先把Error Code找出來後到ni.com上面找找看這個Code代表什麼意思,
貼上來這邊後大家也可以協助你看這個Error的意思。
試試看吧