NI產品與技術 討論區

取消
顯示結果 
搜尋替代 
您的意思是: 

使用C#寫入FlexMotion函示庫

Hi All

 

  近期欲使用C#軟體控制PCI7530軸卡,但因為從沒碰過NI系統,所以對於NI程式碼撰寫上有問題請教網路上前輩,

  程式流程根據NI提供VB範例程式寫,但在實際執行中,發現程式中err會有問題,範例程式提到判斷err是否等於0,

  若為零表沒問題,反之則不等於0,但我在實際執行寫的程式時,err狀態是不等於0,唯一不得其解的是同樣的方

  式呼叫函示,範例碼沒問題,反之我自己所寫的程式卻會有這樣的狀況出現,不知各位是否有遇過類似的問題。

 

   err = flex_load_rpsps(boardID, axis, NIMC_ACCELERATION, acceleration, 0xFF);

0 積分
1 條訊息(共 5 條)
6,143 檢視

在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/

 

0 積分
2 條訊息(共 5 條)
6,135 檢視

Hi Ting1224 你好

 

       可能上篇的問題中沒說的很清楚,首先程式裡面我有把FlexMotion函示庫,加入定義與宣告,

       現在的問題點:

   

      1.不知為何我將參數寫入函示,回傳err不等於0的狀態,有檢查過函示中定義的變數也都沒問題

         

      2.延續上個問題,既然回傳狀態不等於0的話,應該是表示寫入參數可能有問題,但為何我實際

         用馬達跑,執行flex_start時,馬達居然會動,這真的讓我百思不得其解。

 

         

0 積分
3 條訊息(共 5 條)
6,130 檢視

您前面有提到說跑範例程式不會有問題,但是自己改寫後就有問題的話,

最有可能的原因是API下的順序不對,建議你參考一下範例程式中呼叫API的順序以及參數,

順序或是參數不對的話都有可能會造成Error的發生。

 

至於你所提到的Error不等於零,但是馬達還是會動,有可能是API回傳的Warning,而不一定是Error,

建議你先把Error Code找出來後到ni.com上面找找看這個Code代表什麼意思,

貼上來這邊後大家也可以協助你看這個Error的意思。

 

試試看吧

0 積分
4 條訊息(共 5 條)
6,110 檢視
0 積分
5 條訊息(共 5 條)
93 檢視