固高控制卡相關要點分析

要點:

  1. 當windows系統與運動控制卡通訊時,在通訊函數過程中,應避免使用windows的消息機制及窗口操作的所有指令。保證windows系統和運動控制卡通訊的時長足夠短。
  2. 一些需要在窗口提示錯誤的地方,採用異步執行方式,提示錯誤與顯示錯誤異步執行,保證與運動控制卡的通訊時長的穩定性。可將錯誤信息存儲在一個list中,在顯示時,從list中循環讀取所有錯誤。
  3. 在通訊函數調用中,應使用多媒體定時器,而不是使用settimer來定時,因爲settimer的定時精度不夠,而多媒體定時器能保證1-2ms的精度。完全能夠滿足運動控制卡在windows系統下的一般使用要求。從實際的應用來看,將多媒體定時器設置爲10ms,足以保證與控制器的通訊完成,目前項目中最長僅需2.9ms執行完成通訊過程,這樣就有7ms左右的空閒時間存在,故此可利用這7ms的空閒時間爲下面插補數據提供機會。保證插補數據動態插入,同時保證數據交換及時性,也可將定時器設置爲20ms或者更大,根據實際的操作體驗及效果來適當改變定時時長。
  4. 爲了實現插補中實現數控加工大量代碼的,採用動態插入數據的方式,但在插入數據的過程中需要保證windows與運動控制卡的通訊函數停止執行,避免同時操作時可能產生的資源搶佔發生。故此需要在通訊函數的定時中斷中加入一個當前通訊狀態判斷,保證在插入數據的時候,通訊函數已經執行完成。
  5. 動態插入數據採用實時判斷當前剩餘插補段數,當超過100條時,停止執行插補數據的插入,當剩餘插補段數少於50條時,則重新啓動後續插補數據插入工作。
  6. 在每條指令的後面,儘量增加一個返回值判斷,及時提醒與控制卡數據交換過程中的錯誤,幫助儘早準確發現開發過程中可能出現的bug。及時修正一些指令執行過程中的條件及執行順序。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章